Augment provider service to process batch mapping query
Change-Id: Id44e4ad23f4cfbb56da4d52e1beb8cd0d3ca2b20
diff --git a/apps/mappingmanagement/mgr/src/main/java/org/onosproject/mapping/impl/MappingManager.java b/apps/mappingmanagement/mgr/src/main/java/org/onosproject/mapping/impl/MappingManager.java
index b6e01c8..4283c78 100755
--- a/apps/mappingmanagement/mgr/src/main/java/org/onosproject/mapping/impl/MappingManager.java
+++ b/apps/mappingmanagement/mgr/src/main/java/org/onosproject/mapping/impl/MappingManager.java
@@ -15,7 +15,9 @@
*/
package org.onosproject.mapping.impl;
+import com.google.common.collect.ImmutableList;
import com.google.common.collect.Iterables;
+import com.google.common.collect.Lists;
import com.google.common.collect.Sets;
import org.apache.felix.scr.annotations.Activate;
import org.apache.felix.scr.annotations.Component;
@@ -44,6 +46,7 @@
import org.onosproject.net.provider.AbstractProviderService;
import org.slf4j.Logger;
+import java.util.List;
import java.util.Set;
import static org.slf4j.LoggerFactory.getLogger;
@@ -190,5 +193,17 @@
public MappingValue mappingQueried(MappingKey mappingKey) {
return getMappingValueByMappingKey(mappingKey);
}
+
+ @Override
+ public List<MappingValue> mappingQueried(List<MappingKey> mappingKeys) {
+ List<MappingValue> values = Lists.newArrayList();
+ mappingKeys.forEach(key -> {
+ MappingValue value = getMappingValueByMappingKey(key);
+ if (value != null) {
+ values.add(value);
+ }
+ });
+ return ImmutableList.copyOf(values);
+ }
}
}