[ONOS-5267] Initial implementation of MapResolver

Change-Id: I1438b0cc71b8fcb88064830d890ffc38ff9abd42
diff --git a/protocols/lisp/ctl/src/main/java/org/onosproject/lisp/ctl/LispEidRlocMap.java b/protocols/lisp/ctl/src/main/java/org/onosproject/lisp/ctl/LispEidRlocMap.java
index d85ff97..0593366 100644
--- a/protocols/lisp/ctl/src/main/java/org/onosproject/lisp/ctl/LispEidRlocMap.java
+++ b/protocols/lisp/ctl/src/main/java/org/onosproject/lisp/ctl/LispEidRlocMap.java
@@ -15,11 +15,14 @@
  */
 package org.onosproject.lisp.ctl;
 
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
 import org.onosproject.lisp.msg.protocols.LispEidRecord;
 import org.onosproject.lisp.msg.protocols.LispMapRecord;
 import org.onosproject.lisp.msg.types.LispAfiAddress;
 
+import java.util.List;
 import java.util.Optional;
 import java.util.concurrent.ConcurrentMap;
 
@@ -69,6 +72,23 @@
     }
 
     /**
+     * Obtains a collection of EID-RLOC mapping records with given EID records.
+     *
+     * @param eids endpoint identifier records
+     * @return a collection of EID-RLOC mapping records
+     */
+    public List<LispMapRecord> getMapRecordByEidRecords(List<LispEidRecord> eids) {
+        List<LispMapRecord> mapRecords = Lists.newArrayList();
+        eids.forEach(eidRecord -> {
+            LispMapRecord mapRecord = getMapRecordByEidRecord(eidRecord);
+            if (mapRecord != null) {
+                mapRecords.add(mapRecord);
+            }
+        });
+        return ImmutableList.copyOf(mapRecords);
+    }
+
+    /**
      * Obtains an EID-RLOC mapping record with given EID address.
      *
      * @param address endpoint identifier address