CAMEL-9202: Fixed an issue in flatpack. Thanks to Mykhailo Vlakh for the patch.
Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/9d4f7abb Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/9d4f7abb Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/9d4f7abb Branch: refs/heads/camel-2.16.x Commit: 9d4f7abb6460921d6288c5b88ab32986b952a583 Parents: 0c8d4e8 Author: Claus Ibsen <davscl...@apache.org> Authored: Thu Nov 26 13:20:26 2015 +0100 Committer: Claus Ibsen <davscl...@apache.org> Committed: Thu Nov 26 13:21:00 2015 +0100 ---------------------------------------------------------------------- .../component/flatpack/FlatpackEndpoint.java | 34 +++++++++++--------- 1 file changed, 19 insertions(+), 15 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/9d4f7abb/components/camel-flatpack/src/main/java/org/apache/camel/component/flatpack/FlatpackEndpoint.java ---------------------------------------------------------------------- diff --git a/components/camel-flatpack/src/main/java/org/apache/camel/component/flatpack/FlatpackEndpoint.java b/components/camel-flatpack/src/main/java/org/apache/camel/component/flatpack/FlatpackEndpoint.java index 58c3604..e6c9111 100644 --- a/components/camel-flatpack/src/main/java/org/apache/camel/component/flatpack/FlatpackEndpoint.java +++ b/components/camel-flatpack/src/main/java/org/apache/camel/component/flatpack/FlatpackEndpoint.java @@ -46,14 +46,14 @@ import org.apache.camel.util.ResourceHelper; /** * Processing fixed width or delimited files or messages using the FlatPack library. * - * @version + * @version */ @UriEndpoint(scheme = "flatpack", title = "Flatpack", syntax = "flatpack:type:resourceUri", consumerClass = FlatpackConsumer.class, label = "transformation") public class FlatpackEndpoint extends DefaultPollingEndpoint { private LoadBalancer loadBalancer = new RoundRobinLoadBalancer(); private ParserFactory parserFactory = DefaultParserFactory.getInstance(); - + @UriPath @Metadata(required = "true") private FlatpackType type; @UriPath @Metadata(required = "true") @@ -121,11 +121,11 @@ public class FlatpackEndpoint extends DefaultPollingEndpoint { InputStream is = ResourceHelper.resolveMandatoryResourceAsInputStream(getCamelContext().getClassResolver(), resourceUri); InputStreamReader reader = new InputStreamReader(is); Parser parser = getParserFactory().newFixedLengthParser(reader, bodyReader); - if (allowShortLines) { + if (isAllowShortLines()) { parser.setHandlingShortLines(true); parser.setIgnoreParseWarnings(true); } - if (ignoreExtraColumns) { + if (isIgnoreExtraColumns()) { parser.setIgnoreExtraColumns(true); parser.setIgnoreParseWarnings(true); } @@ -134,22 +134,26 @@ public class FlatpackEndpoint extends DefaultPollingEndpoint { public Parser createDelimitedParser(Exchange exchange) throws InvalidPayloadException, IOException { Reader bodyReader = exchange.getIn().getMandatoryBody(Reader.class); + + Parser parser; if (ObjectHelper.isEmpty(getResourceUri())) { - return getParserFactory().newDelimitedParser(bodyReader, delimiter, textQualifier); + parser = getParserFactory().newDelimitedParser(bodyReader, delimiter, textQualifier); } else { InputStream is = ResourceHelper.resolveMandatoryResourceAsInputStream(getCamelContext().getClassResolver(), resourceUri); InputStreamReader reader = new InputStreamReader(is, IOHelper.getCharsetName(exchange)); - Parser parser = getParserFactory().newDelimitedParser(reader, bodyReader, delimiter, textQualifier, ignoreFirstRecord); - if (isAllowShortLines()) { - parser.setHandlingShortLines(true); - parser.setIgnoreParseWarnings(true); - } - if (isIgnoreExtraColumns()) { - parser.setIgnoreExtraColumns(true); - parser.setIgnoreParseWarnings(true); - } - return parser; + parser = getParserFactory().newDelimitedParser(reader, bodyReader, delimiter, textQualifier, ignoreFirstRecord); } + + if (isAllowShortLines()) { + parser.setHandlingShortLines(true); + parser.setIgnoreParseWarnings(true); + } + if (isIgnoreExtraColumns()) { + parser.setIgnoreExtraColumns(true); + parser.setIgnoreParseWarnings(true); + } + + return parser; }