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 <[email protected]>
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 <[email protected]>
---
.../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());
+ }
}