You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by ze...@apache.org on 2018/07/26 18:04:33 UTC
nifi git commit: NIFI-5440 Added db and collection attributes to
GetMongo output.
Repository: nifi
Updated Branches:
refs/heads/master 610cbb66b -> b1f78d58a
NIFI-5440 Added db and collection attributes to GetMongo output.
This closes #2906
Signed-off-by: zenfenan <ze...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/nifi/commit/b1f78d58
Tree: http://git-wip-us.apache.org/repos/asf/nifi/tree/b1f78d58
Diff: http://git-wip-us.apache.org/repos/asf/nifi/diff/b1f78d58
Branch: refs/heads/master
Commit: b1f78d58a6f5250b4f4e6873b03459a8e987407a
Parents: 610cbb6
Author: Mike Thomsen <mi...@gmail.com>
Authored: Wed Jul 18 10:13:16 2018 -0400
Committer: zenfenan <si...@gmail.com>
Committed: Thu Jul 26 23:34:12 2018 +0530
----------------------------------------------------------------------
.../apache/nifi/processors/mongodb/GetMongo.java | 14 +++++++++++++-
.../apache/nifi/processors/mongodb/GetMongoIT.java | 16 ++++++++++++++++
2 files changed, 29 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/nifi/blob/b1f78d58/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 19fe82b..cf9e3d7 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
@@ -25,6 +25,8 @@ import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoCursor;
import org.apache.nifi.annotation.behavior.InputRequirement;
import org.apache.nifi.annotation.behavior.InputRequirement.Requirement;
+import org.apache.nifi.annotation.behavior.WritesAttribute;
+import org.apache.nifi.annotation.behavior.WritesAttributes;
import org.apache.nifi.annotation.documentation.CapabilityDescription;
import org.apache.nifi.annotation.documentation.Tags;
import org.apache.nifi.components.AllowableValue;
@@ -56,8 +58,14 @@ import java.util.Set;
@Tags({ "mongodb", "read", "get" })
@InputRequirement(Requirement.INPUT_ALLOWED)
-@CapabilityDescription("Creates FlowFiles from documents in MongoDB")
+@CapabilityDescription("Creates FlowFiles from documents in MongoDB loaded by a user-specified query.")
+@WritesAttributes({
+ @WritesAttribute(attribute = GetMongo.DB_NAME, description = "The database where the results came from."),
+ @WritesAttribute(attribute = GetMongo.COL_NAME, description = "The collection where the results came from.")
+})
public class GetMongo extends AbstractMongoProcessor {
+ static final String DB_NAME = "mongo.database.name";
+ static final String COL_NAME = "mongo.collection.name";
static final Relationship REL_SUCCESS = new Relationship.Builder().name("success").description("All files are routed to success").build();
static final Relationship REL_FAILURE = new Relationship.Builder()
@@ -253,6 +261,10 @@ public class GetMongo extends AbstractMongoProcessor {
try {
final MongoCollection<Document> collection = getCollection(context, input);
+
+ attributes.put(DB_NAME, collection.getNamespace().getDatabaseName());
+ attributes.put(COL_NAME, collection.getNamespace().getCollectionName());
+
final FindIterable<Document> it = query != null ? collection.find(query) : collection.find();
if (projection != null) {
it.projection(projection);
http://git-wip-us.apache.org/repos/asf/nifi/blob/b1f78d58/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 3418444..aaf6fa3 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
@@ -529,4 +529,20 @@ public class GetMongoIT {
}
}
+
+ @Test
+ public void testDBAttributes() {
+ runner.enqueue("{}");
+ runner.run();
+ runner.assertTransferCount(GetMongo.REL_SUCCESS, 3);
+ List<MockFlowFile> ffs = runner.getFlowFilesForRelationship(GetMongo.REL_SUCCESS);
+ for (MockFlowFile ff : ffs) {
+ String db = ff.getAttribute(GetMongo.DB_NAME);
+ String col = ff.getAttribute(GetMongo.COL_NAME);
+ Assert.assertNotNull(db);
+ Assert.assertNotNull(col);
+ Assert.assertEquals(DB_NAME, db);
+ Assert.assertEquals(COLLECTION_NAME, col);
+ }
+ }
}