[ONOS-6473] Refactor getPhysicalDevices method in VirtualNetworkService

Change-Id: I3f4549f3ea630283d72a1df1e59f24f33df1b672
diff --git a/incubator/net/src/main/java/org/onosproject/incubator/net/virtual/impl/VirtualNetworkManager.java b/incubator/net/src/main/java/org/onosproject/incubator/net/virtual/impl/VirtualNetworkManager.java
index d57801b..69f849e 100644
--- a/incubator/net/src/main/java/org/onosproject/incubator/net/virtual/impl/VirtualNetworkManager.java
+++ b/incubator/net/src/main/java/org/onosproject/incubator/net/virtual/impl/VirtualNetworkManager.java
@@ -15,8 +15,8 @@
  */
 package org.onosproject.incubator.net.virtual.impl;
 
+import com.google.common.collect.ImmutableSet;
 import com.google.common.collect.Maps;
-import com.google.common.collect.Sets;
 import org.apache.felix.scr.annotations.Activate;
 import org.apache.felix.scr.annotations.Component;
 import org.apache.felix.scr.annotations.Deactivate;
@@ -72,6 +72,7 @@
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import java.util.HashSet;
 import java.util.Map;
 import java.util.Objects;
 import java.util.Set;
@@ -354,13 +355,11 @@
     }
 
     @Override
-    public Set<DeviceId> getPhysicalDevices(NetworkId networkId,
-                                             VirtualDevice virtualDevice) {
+    public Set<DeviceId> getPhysicalDevices(NetworkId networkId, DeviceId deviceId) {
         checkNotNull(networkId, "Network ID cannot be null");
-        checkNotNull(virtualDevice, "Virtual device cannot be null");
-        Set<VirtualPort> virtualPortSet =
-                getVirtualPorts(networkId, virtualDevice.id());
-        Set<DeviceId> physicalDeviceSet = Sets.newConcurrentHashSet();
+        checkNotNull(deviceId, "Virtual device ID cannot be null");
+        Set<VirtualPort> virtualPortSet = getVirtualPorts(networkId, deviceId);
+        Set<DeviceId> physicalDeviceSet = new HashSet<>();
 
         virtualPortSet.forEach(virtualPort -> {
             if (virtualPort.realizedBy() != null) {
@@ -368,7 +367,7 @@
             }
         });
 
-        return physicalDeviceSet;
+        return ImmutableSet.copyOf(physicalDeviceSet);
     }
 
     private final Map<ServiceKey, VnetService> networkServices = Maps.newConcurrentMap();
diff --git a/incubator/net/src/test/java/org/onosproject/incubator/net/virtual/impl/VirtualNetworkManagerTest.java b/incubator/net/src/test/java/org/onosproject/incubator/net/virtual/impl/VirtualNetworkManagerTest.java
index 9d4086e..250dc84f 100644
--- a/incubator/net/src/test/java/org/onosproject/incubator/net/virtual/impl/VirtualNetworkManagerTest.java
+++ b/incubator/net/src/test/java/org/onosproject/incubator/net/virtual/impl/VirtualNetworkManagerTest.java
@@ -378,32 +378,28 @@
 
         Set<DeviceId> physicalDeviceSet;
         Set<DeviceId> testSet = new HashSet<>();
-        physicalDeviceSet = manager.getPhysicalDevices(virtualNetwork1.id(), vDevice1InVnet1);
+        physicalDeviceSet = manager.getPhysicalDevices(virtualNetwork1.id(), vDevice1InVnet1.id());
         testSet.add(PHYDID1);
         testSet.add(PHYDID2);
         assertEquals("The physical devices 1 did not match", testSet, physicalDeviceSet);
-        physicalDeviceSet.clear();
         testSet.clear();
 
-        physicalDeviceSet = manager.getPhysicalDevices(virtualNetwork1.id(), vDevice2InVnet1);
+        physicalDeviceSet = manager.getPhysicalDevices(virtualNetwork1.id(), vDevice2InVnet1.id());
         testSet.add(PHYDID3);
         testSet.add(PHYDID4);
         assertEquals("The physical devices 2 did not match", testSet, physicalDeviceSet);
-        physicalDeviceSet.clear();
         testSet.clear();
 
-        physicalDeviceSet = manager.getPhysicalDevices(virtualNetwork2.id(), vDevice1InVnet2);
+        physicalDeviceSet = manager.getPhysicalDevices(virtualNetwork2.id(), vDevice1InVnet2.id());
         testSet.add(PHYDID1);
         testSet.add(PHYDID2);
         assertEquals("The physical devices 1 did not match", testSet, physicalDeviceSet);
-        physicalDeviceSet.clear();
         testSet.clear();
 
-        physicalDeviceSet = manager.getPhysicalDevices(virtualNetwork2.id(), vDevice2InVnet2);
+        physicalDeviceSet = manager.getPhysicalDevices(virtualNetwork2.id(), vDevice2InVnet2.id());
         testSet.add(PHYDID3);
         testSet.add(PHYDID4);
         assertEquals("The physical devices 2 did not match", testSet, physicalDeviceSet);
-        physicalDeviceSet.clear();
         testSet.clear();
     }