You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by pv...@apache.org on 2018/11/08 08:27:41 UTC

nifi git commit: NIFI-5798: Fixed bug in FlattenJson that was escaping text as Java instead of escaping as JSON

Repository: nifi
Updated Branches:
  refs/heads/master 13232c741 -> 3ba0c0ca8


NIFI-5798: Fixed bug in FlattenJson that was escaping text as Java instead of escaping as JSON

Signed-off-by: Pierre Villard <pi...@gmail.com>

This closes #3138.


Project: http://git-wip-us.apache.org/repos/asf/nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/nifi/commit/3ba0c0ca
Tree: http://git-wip-us.apache.org/repos/asf/nifi/tree/3ba0c0ca
Diff: http://git-wip-us.apache.org/repos/asf/nifi/diff/3ba0c0ca

Branch: refs/heads/master
Commit: 3ba0c0ca82b6bf2eb7d855e2b9025a7a9ccb324c
Parents: 13232c7
Author: Mark Payne <ma...@hotmail.com>
Authored: Wed Nov 7 09:08:54 2018 -0500
Committer: Pierre Villard <pi...@gmail.com>
Committed: Thu Nov 8 09:27:30 2018 +0100

----------------------------------------------------------------------
 .../apache/nifi/processors/standard/FlattenJson.java    |  2 +-
 .../nifi/processors/standard/TestFlattenJson.groovy     | 12 ++++++++++++
 2 files changed, 13 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/nifi/blob/3ba0c0ca/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/FlattenJson.java
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/FlattenJson.java b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/FlattenJson.java
index ecc9a64..69b85b3 100644
--- a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/FlattenJson.java
+++ b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/FlattenJson.java
@@ -162,7 +162,7 @@ public class FlattenJson extends AbstractProcessor {
             final String flattened = new JsonFlattener(raw)
                     .withFlattenMode(flattenMode)
                     .withSeparator(separator.charAt(0))
-                    .withStringEscapePolicy(() -> StringEscapeUtils.ESCAPE_JAVA)
+                    .withStringEscapePolicy(() -> StringEscapeUtils.ESCAPE_JSON)
                     .flatten();
 
             flowFile = session.write(flowFile, os -> os.write(flattened.getBytes()));

http://git-wip-us.apache.org/repos/asf/nifi/blob/3ba0c0ca/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/groovy/org/apache/nifi/processors/standard/TestFlattenJson.groovy
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/groovy/org/apache/nifi/processors/standard/TestFlattenJson.groovy b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/groovy/org/apache/nifi/processors/standard/TestFlattenJson.groovy
index 8eda11e..24604a2 100644
--- a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/groovy/org/apache/nifi/processors/standard/TestFlattenJson.groovy
+++ b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/groovy/org/apache/nifi/processors/standard/TestFlattenJson.groovy
@@ -191,4 +191,16 @@ class TestFlattenJson {
             Assert.assertEquals("Separator not applied.", "http://localhost/value1", parsed["first.second.third[0]"])
         }
     }
+
+    @Test
+    void testEscapeForJson() {
+        def testRunner = TestRunners.newTestRunner(FlattenJson.class)
+        def json = prettyPrint(toJson([ name: "José"
+        ]))
+
+        testRunner.setProperty(FlattenJson.FLATTEN_MODE, FlattenJson.FLATTEN_MODE_NORMAL)
+        baseTest(testRunner, json,1) { parsed ->
+            Assert.assertEquals("Separator not applied.", "José", parsed["name"])
+        }
+    }
 }