You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by mt...@apache.org on 2020/03/18 22:37:15 UTC
[nifi] branch master updated: NIFI-6293
This is an automated email from the ASF dual-hosted git repository.
mthomsen pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nifi.git
The following commit(s) were added to refs/heads/master by this push:
new 943de31 NIFI-6293
943de31 is described below
commit 943de310ad5b5fa6c128882da84c88621abd69b3
Author: Eduardo Fontes <ed...@gmail.com>
AuthorDate: Fri Feb 21 13:35:33 2020 -0300
NIFI-6293
Add support to Mongo Extended JSON v2
Add org.json lib
Replace evil json
Replace evil json for alternative
Include testExtendedJsonSupport
Style adjustment
Remove unecessary new JSON parser
Fix query in testExtendedJsonSupport
Parse with Jackson and BSON
Back to default MONGO_URI
This closes #4068
Signed-off-by: Mike Thomsen <mt...@apache.org>
---
.../processors/mongodb/RunMongoAggregation.java | 7 +++---
.../processors/mongodb/RunMongoAggregationIT.java | 27 ++++++++++++++++++++++
2 files changed, 31 insertions(+), 3 deletions(-)
diff --git a/nifi-nar-bundles/nifi-mongodb-bundle/nifi-mongodb-processors/src/main/java/org/apache/nifi/processors/mongodb/RunMongoAggregation.java b/nifi-nar-bundles/nifi-mongodb-bundle/nifi-mongodb-processors/src/main/java/org/apache/nifi/processors/mongodb/RunMongoAggregation.java
index 3352ab0..0c3bb762 100644
--- a/nifi-nar-bundles/nifi-mongodb-bundle/nifi-mongodb-processors/src/main/java/org/apache/nifi/processors/mongodb/RunMongoAggregation.java
+++ b/nifi-nar-bundles/nifi-mongodb-bundle/nifi-mongodb-processors/src/main/java/org/apache/nifi/processors/mongodb/RunMongoAggregation.java
@@ -75,9 +75,10 @@ public class RunMongoAggregation extends AbstractMongoProcessor {
List<Bson> result = new ArrayList<>();
ObjectMapper mapper = new ObjectMapper();
- List<Map> values = mapper.readValue(query, List.class);
- for (Map<?, ?> val : values) {
- result.add(new BasicDBObject(val));
+ List<Map> querySteps = mapper.readValue(query, List.class);
+ for (Map<?, ?> queryStep : querySteps) {
+ BasicDBObject bson = BasicDBObject.parse(mapper.writeValueAsString(queryStep));
+ result.add(bson);
}
return result;
diff --git a/nifi-nar-bundles/nifi-mongodb-bundle/nifi-mongodb-processors/src/test/java/org/apache/nifi/processors/mongodb/RunMongoAggregationIT.java b/nifi-nar-bundles/nifi-mongodb-bundle/nifi-mongodb-processors/src/test/java/org/apache/nifi/processors/mongodb/RunMongoAggregationIT.java
index c74692c..23ac4f0 100644
--- a/nifi-nar-bundles/nifi-mongodb-bundle/nifi-mongodb-processors/src/test/java/org/apache/nifi/processors/mongodb/RunMongoAggregationIT.java
+++ b/nifi-nar-bundles/nifi-mongodb-bundle/nifi-mongodb-processors/src/test/java/org/apache/nifi/processors/mongodb/RunMongoAggregationIT.java
@@ -236,4 +236,31 @@ public class RunMongoAggregationIT {
runner.run();
runner.assertTransferCount(RunMongoAggregation.REL_RESULTS, 9);
}
+
+ @Test
+ public void testExtendedJsonSupport() throws Exception {
+ String pattern = "yyyy-MM-dd'T'HH:mm:ss.SSS";
+ SimpleDateFormat simpleDateFormat = new SimpleDateFormat(pattern);
+ final String queryInput = "[\n" +
+ " {\n" +
+ " \"$match\": {\n" +
+ " \"date\": { \"$gte\": { \"$date\": \"2019-01-01T00:00:00Z\" }, \"$lte\": { \"$date\": \"" + simpleDateFormat.format(now.getTime()) + "\" } }\n" +
+ " }\n" +
+ " },\n" +
+ " {\n" +
+ " \"$group\": {\n" +
+ " \"_id\": \"$val\",\n" +
+ " \"doc_count\": {\n" +
+ " \"$sum\": 1\n" +
+ " }\n" +
+ " }\n" +
+ " }\n" +
+ "]\n";
+
+ runner.setProperty(RunMongoAggregation.QUERY, queryInput);
+ runner.enqueue("test");
+ runner.run(1, true, true);
+
+ runner.assertTransferCount(RunMongoAggregation.REL_RESULTS, mappings.size());
+ }
}