You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by ma...@apache.org on 2017/12/13 21:06:51 UTC

nifi git commit: NIFI-4644 Fixed LookupService API to allow for more than String/String lookup pairs. This closes #2304.

Repository: nifi
Updated Branches:
  refs/heads/master bfe92b900 -> d7347a2dc


NIFI-4644 Fixed LookupService API to allow for more than String/String lookup pairs. This closes #2304.


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

Branch: refs/heads/master
Commit: d7347a2dc3f73e76d03b9b3ef95015dd539e16ac
Parents: bfe92b9
Author: Mike Thomsen <mi...@gmail.com>
Authored: Tue Nov 28 10:32:11 2017 -0500
Committer: Mark Payne <ma...@hotmail.com>
Committed: Wed Dec 13 16:04:23 2017 -0500

----------------------------------------------------------------------
 .../nifi/lookup/script/ScriptedLookupService.java     |  2 +-
 .../apache/nifi/processors/standard/LookupRecord.java |  5 +++--
 .../nifi/processors/standard/TestLookupAttribute.java |  2 +-
 .../nifi/processors/standard/TestLookupRecord.java    | 12 ++++++------
 .../nifi/hbase/HBase_1_1_2_RecordLookupService.java   |  8 ++++++--
 .../apache/nifi/hbase/TestRecordLookupProcessor.java  |  2 +-
 .../java/org/apache/nifi/lookup/LookupService.java    |  2 +-
 .../org/apache/nifi/lookup/RecordLookupService.java   | 14 --------------
 .../org/apache/nifi/lookup/StringLookupService.java   | 14 --------------
 .../apache/nifi/lookup/CSVRecordLookupService.java    |  4 ++--
 .../nifi/lookup/SimpleCsvFileLookupService.java       |  4 ++--
 .../nifi/lookup/SimpleKeyValueLookupService.java      |  4 ++--
 .../CommonsConfigurationLookupService.java            |  4 ++--
 .../apache/nifi/lookup/maxmind/IPLookupService.java   |  9 +++++----
 .../org/apache/nifi/mongodb/MongoDBLookupService.java |  2 +-
 .../apache/nifi/mongodb/TestMongoDBLookupService.java |  6 +++---
 16 files changed, 36 insertions(+), 58 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/nifi/blob/d7347a2d/nifi-nar-bundles/nifi-scripting-bundle/nifi-scripting-processors/src/main/java/org/apache/nifi/lookup/script/ScriptedLookupService.java
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-scripting-bundle/nifi-scripting-processors/src/main/java/org/apache/nifi/lookup/script/ScriptedLookupService.java b/nifi-nar-bundles/nifi-scripting-bundle/nifi-scripting-processors/src/main/java/org/apache/nifi/lookup/script/ScriptedLookupService.java
index ca79ba9..64fa4ec 100644
--- a/nifi-nar-bundles/nifi-scripting-bundle/nifi-scripting-processors/src/main/java/org/apache/nifi/lookup/script/ScriptedLookupService.java
+++ b/nifi-nar-bundles/nifi-scripting-bundle/nifi-scripting-processors/src/main/java/org/apache/nifi/lookup/script/ScriptedLookupService.java
@@ -66,7 +66,7 @@ public class ScriptedLookupService extends AbstractScriptedControllerService imp
     private volatile File kerberosServiceKeytab = null;
 
     @Override
-    public Optional<Object> lookup(Map<String, String> coordinates) throws LookupFailureException {
+    public Optional<Object> lookup(Map<String, Object> coordinates) throws LookupFailureException {
         // Delegate the lookup() call to the scripted LookupService
         return lookupService.get().lookup(coordinates);
     }

http://git-wip-us.apache.org/repos/asf/nifi/blob/d7347a2d/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/LookupRecord.java
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/LookupRecord.java b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/LookupRecord.java
index 286f7ee..6d7db86 100644
--- a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/LookupRecord.java
+++ b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/LookupRecord.java
@@ -259,7 +259,7 @@ public class LookupRecord extends AbstractRouteRecord<Tuple<Map<String, RecordPa
         final Tuple<Map<String, RecordPath>, RecordPath> flowFileContext) {
 
         final Map<String, RecordPath> recordPaths = flowFileContext.getKey();
-        final Map<String, String> lookupCoordinates = new HashMap<>(recordPaths.size());
+        final Map<String, Object> lookupCoordinates = new HashMap<>(recordPaths.size());
 
         for (final Map.Entry<String, RecordPath> entry : recordPaths.entrySet()) {
             final String coordinateKey = entry.getKey();
@@ -284,7 +284,8 @@ public class LookupRecord extends AbstractRouteRecord<Tuple<Map<String, RecordPa
             }
 
             final FieldValue fieldValue = lookupFieldValues.get(0);
-            final String coordinateValue = DataTypeUtils.toString(fieldValue.getValue(), (String) null);
+            final Object coordinateValue = (fieldValue.getValue() instanceof Number || fieldValue.getValue() instanceof Boolean)
+                    ? fieldValue.getValue() : DataTypeUtils.toString(fieldValue.getValue(), (String) null);
             lookupCoordinates.put(coordinateKey, coordinateValue);
         }
 

http://git-wip-us.apache.org/repos/asf/nifi/blob/d7347a2d/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestLookupAttribute.java
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestLookupAttribute.java b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestLookupAttribute.java
index ce568ab..1cf41b8 100644
--- a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestLookupAttribute.java
+++ b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestLookupAttribute.java
@@ -142,7 +142,7 @@ public class TestLookupAttribute {
 
     private static class InvalidLookupService extends AbstractControllerService implements StringLookupService {
       @Override
-      public Optional<String> lookup(Map<String, String> coordinates) {
+      public Optional<String> lookup(Map<String, Object> coordinates) {
           return Optional.empty();
       }
 

http://git-wip-us.apache.org/repos/asf/nifi/blob/d7347a2d/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestLookupRecord.java
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestLookupRecord.java b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestLookupRecord.java
index 29966e7..8cdce71 100644
--- a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestLookupRecord.java
+++ b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestLookupRecord.java
@@ -383,12 +383,12 @@ public class TestLookupRecord {
         }
 
         @Override
-        public Optional<String> lookup(final Map<String, String> coordinates) {
-            if (coordinates == null) {
+        public Optional<String> lookup(final Map<String, Object> coordinates) {
+            if (coordinates == null || coordinates.get("lookup") == null) {
                 return Optional.empty();
             }
 
-            final String key = coordinates.get("lookup");
+            final String key = (String)coordinates.get("lookup");
             if (key == null) {
                 return Optional.empty();
             }
@@ -415,12 +415,12 @@ public class TestLookupRecord {
         }
 
         @Override
-        public Optional<Record> lookup(final Map<String, String> coordinates) {
-            if (coordinates == null) {
+        public Optional<Record> lookup(final Map<String, Object> coordinates) {
+            if (coordinates == null || coordinates.get("lookup") == null) {
                 return Optional.empty();
             }
 
-            final String key = coordinates.get("lookup");
+            final String key = (String)coordinates.get("lookup");
             if (key == null) {
                 return Optional.empty();
             }

http://git-wip-us.apache.org/repos/asf/nifi/blob/d7347a2d/nifi-nar-bundles/nifi-standard-services/nifi-hbase_1_1_2-client-service-bundle/nifi-hbase_1_1_2-client-service/src/main/java/org/apache/nifi/hbase/HBase_1_1_2_RecordLookupService.java
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-standard-services/nifi-hbase_1_1_2-client-service-bundle/nifi-hbase_1_1_2-client-service/src/main/java/org/apache/nifi/hbase/HBase_1_1_2_RecordLookupService.java b/nifi-nar-bundles/nifi-standard-services/nifi-hbase_1_1_2-client-service-bundle/nifi-hbase_1_1_2-client-service/src/main/java/org/apache/nifi/hbase/HBase_1_1_2_RecordLookupService.java
index 20dc0d4..ddaa765 100644
--- a/nifi-nar-bundles/nifi-standard-services/nifi-hbase_1_1_2-client-service-bundle/nifi-hbase_1_1_2-client-service/src/main/java/org/apache/nifi/hbase/HBase_1_1_2_RecordLookupService.java
+++ b/nifi-nar-bundles/nifi-standard-services/nifi-hbase_1_1_2-client-service-bundle/nifi-hbase_1_1_2-client-service/src/main/java/org/apache/nifi/hbase/HBase_1_1_2_RecordLookupService.java
@@ -114,8 +114,12 @@ public class HBase_1_1_2_RecordLookupService extends AbstractControllerService i
     }
 
     @Override
-    public Optional<Record> lookup(Map<String, String> coordinates) throws LookupFailureException {
-        final String rowKey = coordinates.get(ROW_KEY_KEY);
+    public Optional<Record> lookup(Map<String, Object> coordinates) throws LookupFailureException {
+        if (coordinates.get(ROW_KEY_KEY) == null) {
+            return Optional.empty();
+        }
+
+        final String rowKey = coordinates.get(ROW_KEY_KEY).toString();
         if (StringUtils.isBlank(rowKey)) {
             return Optional.empty();
         }

http://git-wip-us.apache.org/repos/asf/nifi/blob/d7347a2d/nifi-nar-bundles/nifi-standard-services/nifi-hbase_1_1_2-client-service-bundle/nifi-hbase_1_1_2-client-service/src/test/java/org/apache/nifi/hbase/TestRecordLookupProcessor.java
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-standard-services/nifi-hbase_1_1_2-client-service-bundle/nifi-hbase_1_1_2-client-service/src/test/java/org/apache/nifi/hbase/TestRecordLookupProcessor.java b/nifi-nar-bundles/nifi-standard-services/nifi-hbase_1_1_2-client-service-bundle/nifi-hbase_1_1_2-client-service/src/test/java/org/apache/nifi/hbase/TestRecordLookupProcessor.java
index d3df016..76184c7 100644
--- a/nifi-nar-bundles/nifi-standard-services/nifi-hbase_1_1_2-client-service-bundle/nifi-hbase_1_1_2-client-service/src/test/java/org/apache/nifi/hbase/TestRecordLookupProcessor.java
+++ b/nifi-nar-bundles/nifi-standard-services/nifi-hbase_1_1_2-client-service-bundle/nifi-hbase_1_1_2-client-service/src/test/java/org/apache/nifi/hbase/TestRecordLookupProcessor.java
@@ -88,7 +88,7 @@ public class TestRecordLookupProcessor extends AbstractProcessor {
 
         final String rowKey = context.getProperty(HBASE_ROW).getValue();
 
-        final Map<String,String> coordinates = new HashMap<>();
+        final Map<String,Object> coordinates = new HashMap<>();
         coordinates.put(HBase_1_1_2_RecordLookupService.ROW_KEY_KEY, rowKey);
 
         final LookupService<Record> lookupService = context.getProperty(HBASE_LOOKUP_SERVICE).asControllerService(LookupService.class);

http://git-wip-us.apache.org/repos/asf/nifi/blob/d7347a2d/nifi-nar-bundles/nifi-standard-services/nifi-lookup-service-api/src/main/java/org/apache/nifi/lookup/LookupService.java
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-standard-services/nifi-lookup-service-api/src/main/java/org/apache/nifi/lookup/LookupService.java b/nifi-nar-bundles/nifi-standard-services/nifi-lookup-service-api/src/main/java/org/apache/nifi/lookup/LookupService.java
index 48ec173..a1f904d 100644
--- a/nifi-nar-bundles/nifi-standard-services/nifi-lookup-service-api/src/main/java/org/apache/nifi/lookup/LookupService.java
+++ b/nifi-nar-bundles/nifi-standard-services/nifi-lookup-service-api/src/main/java/org/apache/nifi/lookup/LookupService.java
@@ -33,7 +33,7 @@ public interface LookupService<T> extends ControllerService {
      *
      * @throws LookupFailureException if unable to lookup a value for the given coordinates
      */
-    Optional<T> lookup(Map<String, String> coordinates) throws LookupFailureException;
+    Optional<T> lookup(Map<String, Object> coordinates) throws LookupFailureException;
 
     /**
      * @return the Class that represents the type of value that will be returned by {@link #lookup(Map)}

http://git-wip-us.apache.org/repos/asf/nifi/blob/d7347a2d/nifi-nar-bundles/nifi-standard-services/nifi-lookup-service-api/src/main/java/org/apache/nifi/lookup/RecordLookupService.java
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-standard-services/nifi-lookup-service-api/src/main/java/org/apache/nifi/lookup/RecordLookupService.java b/nifi-nar-bundles/nifi-standard-services/nifi-lookup-service-api/src/main/java/org/apache/nifi/lookup/RecordLookupService.java
index aefb880..4d8d8c0 100644
--- a/nifi-nar-bundles/nifi-standard-services/nifi-lookup-service-api/src/main/java/org/apache/nifi/lookup/RecordLookupService.java
+++ b/nifi-nar-bundles/nifi-standard-services/nifi-lookup-service-api/src/main/java/org/apache/nifi/lookup/RecordLookupService.java
@@ -17,24 +17,10 @@
 
 package org.apache.nifi.lookup;
 
-import java.util.Map;
-import java.util.Optional;
-
 import org.apache.nifi.serialization.record.Record;
 
 public interface RecordLookupService extends LookupService<Record> {
 
-    /**
-     * Returns an Optional Record that corresponds to the given coordinates
-     *
-     * @param coordinates the coordinates to lookup
-     * @return an Optional Record that corresponds to the given coordinates
-     *
-     * @throws LookupFailureException if unable to lookup a value for the given coordinates
-     */
-    @Override
-    Optional<Record> lookup(Map<String, String> coordinates) throws LookupFailureException;
-
     @Override
     default Class<?> getValueType() {
         return Record.class;

http://git-wip-us.apache.org/repos/asf/nifi/blob/d7347a2d/nifi-nar-bundles/nifi-standard-services/nifi-lookup-service-api/src/main/java/org/apache/nifi/lookup/StringLookupService.java
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-standard-services/nifi-lookup-service-api/src/main/java/org/apache/nifi/lookup/StringLookupService.java b/nifi-nar-bundles/nifi-standard-services/nifi-lookup-service-api/src/main/java/org/apache/nifi/lookup/StringLookupService.java
index 216dd5a..0acbedc 100644
--- a/nifi-nar-bundles/nifi-standard-services/nifi-lookup-service-api/src/main/java/org/apache/nifi/lookup/StringLookupService.java
+++ b/nifi-nar-bundles/nifi-standard-services/nifi-lookup-service-api/src/main/java/org/apache/nifi/lookup/StringLookupService.java
@@ -17,22 +17,8 @@
 
 package org.apache.nifi.lookup;
 
-import java.util.Map;
-import java.util.Optional;
-
 public interface StringLookupService extends LookupService<String> {
 
-    /**
-     * Returns an Optional value that corresponds to the given coordinates
-     *
-     * @param coordinates the coordinates to lookup
-     * @return an Optional String that represents the value for the given coordinates
-     *
-     * @throws LookupFailureException if unable to lookup a value for the given key
-     */
-    @Override
-    Optional<String> lookup(Map<String, String> coordinates) throws LookupFailureException;
-
     @Override
     default Class<?> getValueType() {
         return String.class;

http://git-wip-us.apache.org/repos/asf/nifi/blob/d7347a2d/nifi-nar-bundles/nifi-standard-services/nifi-lookup-services-bundle/nifi-lookup-services/src/main/java/org/apache/nifi/lookup/CSVRecordLookupService.java
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-standard-services/nifi-lookup-services-bundle/nifi-lookup-services/src/main/java/org/apache/nifi/lookup/CSVRecordLookupService.java b/nifi-nar-bundles/nifi-standard-services/nifi-lookup-services-bundle/nifi-lookup-services/src/main/java/org/apache/nifi/lookup/CSVRecordLookupService.java
index b526e25..793ed54 100644
--- a/nifi-nar-bundles/nifi-standard-services/nifi-lookup-services-bundle/nifi-lookup-services/src/main/java/org/apache/nifi/lookup/CSVRecordLookupService.java
+++ b/nifi-nar-bundles/nifi-standard-services/nifi-lookup-services-bundle/nifi-lookup-services/src/main/java/org/apache/nifi/lookup/CSVRecordLookupService.java
@@ -206,12 +206,12 @@ public class CSVRecordLookupService extends AbstractControllerService implements
     }
 
     @Override
-    public Optional<Record> lookup(final Map<String, String> coordinates) throws LookupFailureException {
+    public Optional<Record> lookup(final Map<String, Object> coordinates) throws LookupFailureException {
         if (coordinates == null) {
             return Optional.empty();
         }
 
-        final String key = coordinates.get(KEY);
+        final String key = (String)coordinates.get(KEY);
         if (StringUtils.isBlank(key)) {
             return Optional.empty();
         }

http://git-wip-us.apache.org/repos/asf/nifi/blob/d7347a2d/nifi-nar-bundles/nifi-standard-services/nifi-lookup-services-bundle/nifi-lookup-services/src/main/java/org/apache/nifi/lookup/SimpleCsvFileLookupService.java
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-standard-services/nifi-lookup-services-bundle/nifi-lookup-services/src/main/java/org/apache/nifi/lookup/SimpleCsvFileLookupService.java b/nifi-nar-bundles/nifi-standard-services/nifi-lookup-services-bundle/nifi-lookup-services/src/main/java/org/apache/nifi/lookup/SimpleCsvFileLookupService.java
index ae304a9..878cbe8 100644
--- a/nifi-nar-bundles/nifi-standard-services/nifi-lookup-services-bundle/nifi-lookup-services/src/main/java/org/apache/nifi/lookup/SimpleCsvFileLookupService.java
+++ b/nifi-nar-bundles/nifi-standard-services/nifi-lookup-services-bundle/nifi-lookup-services/src/main/java/org/apache/nifi/lookup/SimpleCsvFileLookupService.java
@@ -194,12 +194,12 @@ public class SimpleCsvFileLookupService extends AbstractControllerService implem
     }
 
     @Override
-    public Optional<String> lookup(final Map<String, String> coordinates) throws LookupFailureException {
+    public Optional<String> lookup(final Map<String, Object> coordinates) throws LookupFailureException {
         if (coordinates == null) {
             return Optional.empty();
         }
 
-        final String key = coordinates.get(KEY);
+        final String key = coordinates.get(KEY).toString();
         if (StringUtils.isBlank(key)) {
             return Optional.empty();
         }

http://git-wip-us.apache.org/repos/asf/nifi/blob/d7347a2d/nifi-nar-bundles/nifi-standard-services/nifi-lookup-services-bundle/nifi-lookup-services/src/main/java/org/apache/nifi/lookup/SimpleKeyValueLookupService.java
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-standard-services/nifi-lookup-services-bundle/nifi-lookup-services/src/main/java/org/apache/nifi/lookup/SimpleKeyValueLookupService.java b/nifi-nar-bundles/nifi-standard-services/nifi-lookup-services-bundle/nifi-lookup-services/src/main/java/org/apache/nifi/lookup/SimpleKeyValueLookupService.java
index 445d83c..ec9371d 100644
--- a/nifi-nar-bundles/nifi-standard-services/nifi-lookup-services-bundle/nifi-lookup-services/src/main/java/org/apache/nifi/lookup/SimpleKeyValueLookupService.java
+++ b/nifi-nar-bundles/nifi-standard-services/nifi-lookup-services-bundle/nifi-lookup-services/src/main/java/org/apache/nifi/lookup/SimpleKeyValueLookupService.java
@@ -58,12 +58,12 @@ public class SimpleKeyValueLookupService extends AbstractControllerService imple
     }
 
     @Override
-    public Optional<String> lookup(final Map<String, String> coordinates) {
+    public Optional<String> lookup(final Map<String, Object> coordinates) {
         if (coordinates == null) {
             return Optional.empty();
         }
 
-        final String key = coordinates.get(KEY);
+        final String key = coordinates.get(KEY).toString();
         if (key == null) {
             return Optional.empty();
         }

http://git-wip-us.apache.org/repos/asf/nifi/blob/d7347a2d/nifi-nar-bundles/nifi-standard-services/nifi-lookup-services-bundle/nifi-lookup-services/src/main/java/org/apache/nifi/lookup/configuration2/CommonsConfigurationLookupService.java
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-standard-services/nifi-lookup-services-bundle/nifi-lookup-services/src/main/java/org/apache/nifi/lookup/configuration2/CommonsConfigurationLookupService.java b/nifi-nar-bundles/nifi-standard-services/nifi-lookup-services-bundle/nifi-lookup-services/src/main/java/org/apache/nifi/lookup/configuration2/CommonsConfigurationLookupService.java
index ef1a73f..9248132 100644
--- a/nifi-nar-bundles/nifi-standard-services/nifi-lookup-services-bundle/nifi-lookup-services/src/main/java/org/apache/nifi/lookup/configuration2/CommonsConfigurationLookupService.java
+++ b/nifi-nar-bundles/nifi-standard-services/nifi-lookup-services-bundle/nifi-lookup-services/src/main/java/org/apache/nifi/lookup/configuration2/CommonsConfigurationLookupService.java
@@ -122,12 +122,12 @@ public abstract class CommonsConfigurationLookupService<T extends FileBasedConfi
     }
 
     @Override
-    public Optional<String> lookup(final Map<String, String> coordinates) throws LookupFailureException {
+    public Optional<String> lookup(final Map<String, Object> coordinates) throws LookupFailureException {
         if (coordinates == null) {
             return Optional.empty();
         }
 
-        final String key = coordinates.get(KEY);
+        final String key = coordinates.get(KEY).toString();
         if (StringUtils.isBlank(key)) {
             return Optional.empty();
         }

http://git-wip-us.apache.org/repos/asf/nifi/blob/d7347a2d/nifi-nar-bundles/nifi-standard-services/nifi-lookup-services-bundle/nifi-lookup-services/src/main/java/org/apache/nifi/lookup/maxmind/IPLookupService.java
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-standard-services/nifi-lookup-services-bundle/nifi-lookup-services/src/main/java/org/apache/nifi/lookup/maxmind/IPLookupService.java b/nifi-nar-bundles/nifi-standard-services/nifi-lookup-services-bundle/nifi-lookup-services/src/main/java/org/apache/nifi/lookup/maxmind/IPLookupService.java
index 58c868f..5661b94 100644
--- a/nifi-nar-bundles/nifi-standard-services/nifi-lookup-services-bundle/nifi-lookup-services/src/main/java/org/apache/nifi/lookup/maxmind/IPLookupService.java
+++ b/nifi-nar-bundles/nifi-standard-services/nifi-lookup-services-bundle/nifi-lookup-services/src/main/java/org/apache/nifi/lookup/maxmind/IPLookupService.java
@@ -189,7 +189,7 @@ public class IPLookupService extends AbstractControllerService implements Record
     }
 
     @Override
-    public Optional<Record> lookup(final Map<String, String> coordinates) throws LookupFailureException {
+    public Optional<Record> lookup(final Map<String, Object> coordinates) throws LookupFailureException {
         if (coordinates == null) {
             return Optional.empty();
         }
@@ -237,12 +237,13 @@ public class IPLookupService extends AbstractControllerService implements Record
         }
     }
 
-    private Optional<Record> doLookup(final DatabaseReader databaseReader, final Map<String, String> coordinates) throws LookupFailureException, InvalidDatabaseException {
-        final String ipAddress = coordinates.get(IP_KEY);
-        if (ipAddress == null) {
+    private Optional<Record> doLookup(final DatabaseReader databaseReader, final Map<String, Object> coordinates) throws LookupFailureException, InvalidDatabaseException {
+        if (coordinates.get(IP_KEY) == null) {
             return Optional.empty();
         }
 
+        final String ipAddress = coordinates.get(IP_KEY).toString();
+
         final InetAddress inetAddress;
         try {
             inetAddress = InetAddress.getByName(ipAddress);

http://git-wip-us.apache.org/repos/asf/nifi/blob/d7347a2d/nifi-nar-bundles/nifi-standard-services/nifi-mongodb-services-bundle/nifi-mongodb-services/src/main/java/org/apache/nifi/mongodb/MongoDBLookupService.java
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-standard-services/nifi-mongodb-services-bundle/nifi-mongodb-services/src/main/java/org/apache/nifi/mongodb/MongoDBLookupService.java b/nifi-nar-bundles/nifi-standard-services/nifi-mongodb-services-bundle/nifi-mongodb-services/src/main/java/org/apache/nifi/mongodb/MongoDBLookupService.java
index f852744..a816ca0 100644
--- a/nifi-nar-bundles/nifi-standard-services/nifi-mongodb-services-bundle/nifi-mongodb-services/src/main/java/org/apache/nifi/mongodb/MongoDBLookupService.java
+++ b/nifi-nar-bundles/nifi-standard-services/nifi-mongodb-services-bundle/nifi-mongodb-services/src/main/java/org/apache/nifi/mongodb/MongoDBLookupService.java
@@ -74,7 +74,7 @@ public class MongoDBLookupService extends MongoDBControllerService implements Lo
     }
 
     @Override
-    public Optional<Object> lookup(Map<String, String> coordinates) throws LookupFailureException {
+    public Optional<Object> lookup(Map<String, Object> coordinates) throws LookupFailureException {
         Map<String, Object> clean = new HashMap<>();
         clean.putAll(coordinates);
         Document query = new Document(clean);

http://git-wip-us.apache.org/repos/asf/nifi/blob/d7347a2d/nifi-nar-bundles/nifi-standard-services/nifi-mongodb-services-bundle/nifi-mongodb-services/src/test/java/org/apache/nifi/mongodb/TestMongoDBLookupService.java
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-standard-services/nifi-mongodb-services-bundle/nifi-mongodb-services/src/test/java/org/apache/nifi/mongodb/TestMongoDBLookupService.java b/nifi-nar-bundles/nifi-standard-services/nifi-mongodb-services-bundle/nifi-mongodb-services/src/test/java/org/apache/nifi/mongodb/TestMongoDBLookupService.java
index ff220ae..16beefe 100644
--- a/nifi-nar-bundles/nifi-standard-services/nifi-mongodb-services-bundle/nifi-mongodb-services/src/test/java/org/apache/nifi/mongodb/TestMongoDBLookupService.java
+++ b/nifi-nar-bundles/nifi-standard-services/nifi-mongodb-services-bundle/nifi-mongodb-services/src/test/java/org/apache/nifi/mongodb/TestMongoDBLookupService.java
@@ -71,7 +71,7 @@ public class TestMongoDBLookupService {
         Document document = service.convertJson("{ \"uuid\": \"x-y-z\", \"message\": \"Hello, world\" }");
         service.insert(document);
 
-        Map<String, String> criteria = new HashMap<>();
+        Map<String, Object> criteria = new HashMap<>();
         criteria.put("uuid", "x-y-z");
         Optional result = service.lookup(criteria);
 
@@ -99,7 +99,7 @@ public class TestMongoDBLookupService {
         Document document = service.convertJson("{ \"uuid\": \"x-y-z\", \"message\": \"Hello, world\" }");
         service.insert(document);
 
-        Map<String, String> criteria = new HashMap<>();
+        Map<String, Object> criteria = new HashMap<>();
         criteria.put("uuid", "x-y-z");
         Optional result = service.lookup(criteria);
 
@@ -129,7 +129,7 @@ public class TestMongoDBLookupService {
         Document document = service.convertJson("{ \"uuid\": \"x-y-z\", \"message\": \"Hello, world\" }");
         service.insert(document);
 
-        Map<String, String> criteria = new HashMap<>();
+        Map<String, Object> criteria = new HashMap<>();
         criteria.put("uuid", "x-y-z");
 
         boolean error = false;