Fixed to return immutable set

Change-Id: I3081b1a2fb44d2202dc7b9f9bf603db10ee0783e
diff --git a/src/main/java/org/opencord/cordvtn/impl/CordVtnManager.java b/src/main/java/org/opencord/cordvtn/impl/CordVtnManager.java
index bd17814..f325143 100644
--- a/src/main/java/org/opencord/cordvtn/impl/CordVtnManager.java
+++ b/src/main/java/org/opencord/cordvtn/impl/CordVtnManager.java
@@ -56,10 +56,10 @@
 import org.openstack4j.model.network.Subnet;
 import org.slf4j.Logger;
 
-import java.util.HashSet;
 import java.util.Objects;
 import java.util.Optional;
 import java.util.Set;
+import java.util.stream.Collectors;
 
 import static com.google.common.base.Preconditions.checkNotNull;
 import static org.slf4j.LoggerFactory.getLogger;
@@ -350,8 +350,10 @@
 
     @Override
     public Set<VtnNetwork> vtnNetworks() {
-        // TODO implement
-        return ImmutableSet.of();
+        Set<VtnNetwork> vtnNetworks = networks().stream()
+                .map(net -> vtnNetwork(NetworkId.of(net.getId())))
+                .collect(Collectors.toSet());
+        return ImmutableSet.copyOf(vtnNetworks);
     }
 
     @Override
@@ -377,8 +379,10 @@
 
     @Override
     public Set<VtnPort> vtnPorts() {
-        // TODO implement
-        return ImmutableSet.of();
+        Set<VtnPort> vtnPorts = ports().stream()
+                .map(port -> vtnPort(PortId.of(port.getId())))
+                .collect(Collectors.toSet());
+        return ImmutableSet.copyOf(vtnPorts);
     }
 
     @Override
@@ -389,7 +393,7 @@
 
     @Override
     public Set<ServiceNetwork> serviceNetworks() {
-        return new HashSet<>(store.vtnNetworks());
+        return ImmutableSet.copyOf(store.vtnNetworks());
     }
 
     @Override
@@ -400,7 +404,7 @@
 
     @Override
     public Set<ServicePort> servicePorts() {
-        return new HashSet<>(store.vtnPorts());
+        return ImmutableSet.copyOf(store.vtnPorts());
     }
 
     @Override
@@ -411,7 +415,7 @@
 
     @Override
     public Set<Network> networks() {
-        return store.networks();
+        return ImmutableSet.copyOf(store.networks());
     }
 
     @Override
@@ -422,7 +426,7 @@
 
     @Override
     public Set<Port> ports() {
-        return store.ports();
+        return ImmutableSet.copyOf(store.ports());
     }
 
     @Override
@@ -433,7 +437,7 @@
 
     @Override
     public Set<Subnet> subnets() {
-        return store.subnets();
+        return ImmutableSet.copyOf(store.subnets());
     }
 
     private void syncNetwork() {
diff --git a/src/main/java/org/opencord/cordvtn/impl/DistributedCordVtnStore.java b/src/main/java/org/opencord/cordvtn/impl/DistributedCordVtnStore.java
index 9b4b215..e4176e5 100644
--- a/src/main/java/org/opencord/cordvtn/impl/DistributedCordVtnStore.java
+++ b/src/main/java/org/opencord/cordvtn/impl/DistributedCordVtnStore.java
@@ -244,8 +244,10 @@
 
     @Override
     public Set<VtnNetwork> vtnNetworks() {
-        return vtnNetworkStore.values().stream().map(Versioned::value)
+        Set<VtnNetwork> vtnNetworks = vtnNetworkStore.values().stream()
+                .map(Versioned::value)
                 .collect(Collectors.toSet());
+        return ImmutableSet.copyOf(vtnNetworks);
     }
 
     @Override
@@ -279,8 +281,10 @@
 
     @Override
     public Set<VtnPort> vtnPorts() {
-        return vtnPortStore.values().stream().map(Versioned::value)
+        Set<VtnPort> vtnPorts = vtnPortStore.values().stream()
+                .map(Versioned::value)
                 .collect(Collectors.toSet());
+        return ImmutableSet.copyOf(vtnPorts);
     }
 
     @Override
@@ -314,8 +318,10 @@
 
     @Override
     public Set<Network> networks() {
-        return networkStore.values().stream().map(Versioned::value)
+        Set<Network> networks = networkStore.values().stream()
+                .map(Versioned::value)
                 .collect(Collectors.toSet());
+        return ImmutableSet.copyOf(networks);
     }
 
     @Override
@@ -349,8 +355,10 @@
 
     @Override
     public Set<Port> ports() {
-        return portStore.values().stream().map(Versioned::value)
+        Set<Port> ports = portStore.values().stream()
+                .map(Versioned::value)
                 .collect(Collectors.toSet());
+        return ImmutableSet.copyOf(ports);
     }
 
     @Override
@@ -384,13 +392,17 @@
 
     @Override
     public Set<Subnet> subnets() {
-        return subnetStore.values().stream().map(Versioned::value)
+        Set<Subnet> subnets = subnetStore.values().stream()
+                .map(Versioned::value)
                 .collect(Collectors.toSet());
+        return ImmutableSet.copyOf(subnets);
     }
 
     private Set<VtnNetwork> getSubscribers(NetworkId netId) {
-        return vtnNetworks().stream().filter(net -> net.isProvider(netId))
+        Set<VtnNetwork> subscribers = vtnNetworks().stream()
+                .filter(net -> net.isProvider(netId))
                 .collect(Collectors.toSet());
+        return ImmutableSet.copyOf(subscribers);
     }
 
     private boolean equalNetworks(Network netA, Network netB) {