Repository: nifi Updated Branches: refs/heads/master 27afd2e0c -> 37e9c5efc
NIFI-3556 Fixed ValidateCsv schema parsing Fixed schema parsing on comma boundaries. This closes #1570. Signed-off-by: James Wing <[email protected]> Project: http://git-wip-us.apache.org/repos/asf/nifi/repo Commit: http://git-wip-us.apache.org/repos/asf/nifi/commit/37e9c5ef Tree: http://git-wip-us.apache.org/repos/asf/nifi/tree/37e9c5ef Diff: http://git-wip-us.apache.org/repos/asf/nifi/diff/37e9c5ef Branch: refs/heads/master Commit: 37e9c5efc7b4f1d88cc6a59fb81da301c74b6e1c Parents: 27afd2e Author: Pierre Villard <[email protected]> Authored: Tue Mar 7 19:48:00 2017 +0100 Committer: James Wing <[email protected]> Committed: Wed Mar 8 14:57:33 2017 -0800 ---------------------------------------------------------------------- .../java/org/apache/nifi/processors/standard/ValidateCsv.java | 4 +++- .../org/apache/nifi/processors/standard/TestValidateCsv.java | 7 +++++++ 2 files changed, 10 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/nifi/blob/37e9c5ef/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/ValidateCsv.java ---------------------------------------------------------------------- diff --git a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/ValidateCsv.java b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/ValidateCsv.java index 44bb35d..43d3ef9 100644 --- a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/ValidateCsv.java +++ b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/ValidateCsv.java @@ -250,15 +250,17 @@ public class ValidateCsv extends AbstractProcessor { private String setProcessor(String remaining, List<CellProcessor> processorsList) { StringBuffer buffer = new StringBuffer(); + String inputString = remaining; int i = 0; int opening = 0; int closing = 0; - while(buffer.length() != remaining.length()) { + while(buffer.length() != inputString.length()) { char c = remaining.charAt(i); i++; if(opening == 0 && c == ',') { if(i == 1) { + inputString = inputString.substring(1); continue; } break; http://git-wip-us.apache.org/repos/asf/nifi/blob/37e9c5ef/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestValidateCsv.java ---------------------------------------------------------------------- diff --git a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestValidateCsv.java b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestValidateCsv.java index 09a83f2..c2d4d3f 100644 --- a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestValidateCsv.java +++ b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestValidateCsv.java @@ -271,4 +271,11 @@ public class TestValidateCsv { runner.assertNotValid(); } + @Test + public void testParseSchemaCommaBoundary() { + final TestRunner runner = TestRunners.newTestRunner(new ValidateCsv()); + runner.setProperty(ValidateCsv.SCHEMA, "Null(),Null"); + runner.assertValid(); + } + }
