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();
+    }
+
 }

Reply via email to