Repository: nifi
Updated Branches:
  refs/heads/master e741ba1ce -> 6508c191b


NIFI-5343: Fix GetMongo to properly reads charset from FlowFile attributes

Signed-off-by: Pierre Villard <[email protected]>

This closes #2818.


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

Branch: refs/heads/master
Commit: 6508c191bffc855bf9c8d11de06ef1eca3d83d26
Parents: e741ba1
Author: zenfenan <[email protected]>
Authored: Wed Jun 27 15:30:11 2018 +0530
Committer: Pierre Villard <[email protected]>
Committed: Fri Jun 29 14:56:24 2018 +0200

----------------------------------------------------------------------
 .../apache/nifi/processors/mongodb/GetMongo.java  |  4 ++--
 .../nifi/processors/mongodb/GetMongoIT.java       | 18 ++++++++++++++++++
 2 files changed, 20 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/nifi/blob/6508c191/nifi-nar-bundles/nifi-mongodb-bundle/nifi-mongodb-processors/src/main/java/org/apache/nifi/processors/mongodb/GetMongo.java
----------------------------------------------------------------------
diff --git 
a/nifi-nar-bundles/nifi-mongodb-bundle/nifi-mongodb-processors/src/main/java/org/apache/nifi/processors/mongodb/GetMongo.java
 
b/nifi-nar-bundles/nifi-mongodb-bundle/nifi-mongodb-processors/src/main/java/org/apache/nifi/processors/mongodb/GetMongo.java
index 356f3f4..e744577 100644
--- 
a/nifi-nar-bundles/nifi-mongodb-bundle/nifi-mongodb-processors/src/main/java/org/apache/nifi/processors/mongodb/GetMongo.java
+++ 
b/nifi-nar-bundles/nifi-mongodb-bundle/nifi-mongodb-processors/src/main/java/org/apache/nifi/processors/mongodb/GetMongo.java
@@ -281,7 +281,7 @@ public class GetMongo extends AbstractMongoProcessor {
                                     log.debug("Writing batch...");
                                 }
                                 String payload = buildBatch(batch, 
jsonTypeSetting, usePrettyPrint);
-                                writeBatch(payload, null, context, session, 
attributes, REL_SUCCESS);
+                                writeBatch(payload, input, context, session, 
attributes, REL_SUCCESS);
                                 batch = new ArrayList<>();
                             } catch (Exception ex) {
                                 getLogger().error("Error building batch", ex);
@@ -290,7 +290,7 @@ public class GetMongo extends AbstractMongoProcessor {
                     }
                     if (batch.size() > 0) {
                         try {
-                            writeBatch(buildBatch(batch, jsonTypeSetting, 
usePrettyPrint), null, context, session, attributes, REL_SUCCESS);
+                            writeBatch(buildBatch(batch, jsonTypeSetting, 
usePrettyPrint), input, context, session, attributes, REL_SUCCESS);
                         } catch (Exception ex) {
                             getLogger().error("Error sending remainder of 
batch", ex);
                         }

http://git-wip-us.apache.org/repos/asf/nifi/blob/6508c191/nifi-nar-bundles/nifi-mongodb-bundle/nifi-mongodb-processors/src/test/java/org/apache/nifi/processors/mongodb/GetMongoIT.java
----------------------------------------------------------------------
diff --git 
a/nifi-nar-bundles/nifi-mongodb-bundle/nifi-mongodb-processors/src/test/java/org/apache/nifi/processors/mongodb/GetMongoIT.java
 
b/nifi-nar-bundles/nifi-mongodb-bundle/nifi-mongodb-processors/src/test/java/org/apache/nifi/processors/mongodb/GetMongoIT.java
index 4bb0078..2c9b6d2 100644
--- 
a/nifi-nar-bundles/nifi-mongodb-bundle/nifi-mongodb-processors/src/test/java/org/apache/nifi/processors/mongodb/GetMongoIT.java
+++ 
b/nifi-nar-bundles/nifi-mongodb-bundle/nifi-mongodb-processors/src/test/java/org/apache/nifi/processors/mongodb/GetMongoIT.java
@@ -427,6 +427,24 @@ public class GetMongoIT {
         runner.assertTransferCount(GetMongo.REL_ORIGINAL, 0);
         runner.assertTransferCount(GetMongo.REL_SUCCESS, 3);
     }
+
+    @Test
+    public void testReadCharsetWithEL() {
+        String query = "{ \"c\": { \"$gte\": 4 }}";
+        Map<String, String> attrs = new HashMap<>();
+        attrs.put("charset", "UTF-8");
+
+        runner.setProperty(GetMongo.CHARSET, "${charset}");
+        runner.setProperty(GetMongo.BATCH_SIZE, "2");
+        runner.setProperty(GetMongo.RESULTS_PER_FLOWFILE, "2");
+
+        runner.setIncomingConnection(true);
+        runner.enqueue(query, attrs);
+        runner.run(1, true, true);
+        runner.assertTransferCount(GetMongo.REL_FAILURE, 0);
+        runner.assertTransferCount(GetMongo.REL_ORIGINAL, 1);
+        runner.assertTransferCount(GetMongo.REL_SUCCESS, 1);
+    }
     /*
      * End query read behavior tests
      */

Reply via email to