Immutability for getMeters APIs
Change-Id: Iaf908766aa360e84e82306e398fff56c9593d8f1
diff --git a/core/api/src/test/java/org/onosproject/store/service/TestConsistentMap.java b/core/api/src/test/java/org/onosproject/store/service/TestConsistentMap.java
index 84d1734..e0df8c6 100644
--- a/core/api/src/test/java/org/onosproject/store/service/TestConsistentMap.java
+++ b/core/api/src/test/java/org/onosproject/store/service/TestConsistentMap.java
@@ -44,6 +44,8 @@
private final String mapName;
private final AtomicLong counter = new AtomicLong(0);
private final Serializer serializer;
+ private Map<K, V> javaMap;
+
private TestConsistentMap(String mapName, Serializer serializer) {
map = new ConcurrentHashMap<>();
@@ -197,9 +199,7 @@
@Override
public Collection<Versioned<V>> values() {
- return map.values()
- .stream()
- .collect(Collectors.toList());
+ return map.values();
}
@Override
@@ -295,7 +295,12 @@
@Override
public Map<K, V> asJavaMap() {
- return new ConsistentMapBackedJavaMap<>(this);
+ synchronized (this) {
+ if (javaMap == null) {
+ javaMap = new ConsistentMapBackedJavaMap<>(this);
+ }
+ }
+ return javaMap;
}
public static Builder builder() {