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"]) + } + } }