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 <pierre.villard...@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 <marka...@hotmail.com>
Authored: Wed Nov 7 09:08:54 2018 -0500
Committer: Pierre Villard <pierre.villard...@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"])
+        }
+    }
 }

Reply via email to