Support for a java.util.Map implementation backed by ConsistentMap
Change-Id: I73240b69d0913f7534bd4006411ab217a40b254c
diff --git a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultConsistentMap.java b/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultConsistentMap.java
index d6a657c..6f7b548 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultConsistentMap.java
+++ b/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultConsistentMap.java
@@ -17,6 +17,7 @@
package org.onosproject.store.consistent.impl;
import java.util.Collection;
+import java.util.Map;
import java.util.Map.Entry;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutionException;
@@ -44,6 +45,7 @@
private static final int OPERATION_TIMEOUT_MILLIS = 5000;
private final DefaultAsyncConsistentMap<K, V> asyncMap;
+ private Map<K, V> javaMap;
public String name() {
return asyncMap.name();
@@ -189,4 +191,14 @@
public void removeListener(MapEventListener<K, V> listener) {
asyncMap.addListener(listener);
}
+
+ @Override
+ public Map<K, V> asJavaMap() {
+ synchronized (this) {
+ if (javaMap == null) {
+ javaMap = new ConsistentMapBackedJavaMap<>(this);
+ }
+ }
+ return javaMap;
+ }
}
\ No newline at end of file