You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2020/02/03 09:01:23 UTC

[camel] branch master updated: Fixed univocity dataformat configurer.

This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/master by this push:
     new 5f195f0  Fixed univocity dataformat configurer.
5f195f0 is described below

commit 5f195f03e510cf08accdb356118db0b464104464
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Mon Feb 3 10:00:51 2020 +0100

    Fixed univocity dataformat configurer.
---
 .../UniVocityFixedWidthDataFormatReifier.java      | 22 ++++++++++------------
 1 file changed, 10 insertions(+), 12 deletions(-)

diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/dataformat/UniVocityFixedWidthDataFormatReifier.java b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/dataformat/UniVocityFixedWidthDataFormatReifier.java
index 6893e25..6d2b4ad 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/dataformat/UniVocityFixedWidthDataFormatReifier.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/dataformat/UniVocityFixedWidthDataFormatReifier.java
@@ -16,12 +16,11 @@
  */
 package org.apache.camel.reifier.dataformat;
 
-import java.util.List;
 import java.util.Map;
-import java.util.stream.Collectors;
 
 import org.apache.camel.model.DataFormatDefinition;
 import org.apache.camel.model.dataformat.UniVocityFixedWidthDataFormat;
+import org.apache.camel.model.dataformat.UniVocityHeader;
 
 public class UniVocityFixedWidthDataFormatReifier extends UniVocityAbstractDataFormatReifier<UniVocityFixedWidthDataFormat> {
 
@@ -38,17 +37,16 @@ public class UniVocityFixedWidthDataFormatReifier extends UniVocityAbstractDataF
         properties.put("padding", definition.getPadding());
     }
 
-    private List<String> getFieldLengths() {
+    private int[] getFieldLengths() {
         if (definition.getHeaders() != null) {
-            return definition.getHeaders().stream()
-                    .map(header -> {
-                        String length = header.getLength();
-                        if (length == null) {
-                            throw new IllegalArgumentException("The length of all headers must be defined.");
-                        }
-                        return length;
-                    })
-                    .collect(Collectors.toList());
+            int i = 0;
+            int[] arr = new int[definition.getHeaders().size()];
+            for (UniVocityHeader header : definition.getHeaders()) {
+                String len = header.getLength();
+                int num = Integer.parseInt(len);
+                arr[i++] = num;
+            }
+            return arr;
         } else {
             return null;
         }