[ONOS-5833] (vCore) Refactor vnet services
to enable event delivery mechanism
Changes
1. Abstact Vnet Listener Manager is added
2. Refactor Vnet services to use it
Change-Id: I178342bfc882c0739f216960358a281903e1385a
diff --git a/incubator/net/src/main/java/org/onosproject/incubator/net/virtual/impl/VirtualNetworkDeviceManager.java b/incubator/net/src/main/java/org/onosproject/incubator/net/virtual/impl/VirtualNetworkDeviceManager.java
index 4b9221e..5f8f433 100644
--- a/incubator/net/src/main/java/org/onosproject/incubator/net/virtual/impl/VirtualNetworkDeviceManager.java
+++ b/incubator/net/src/main/java/org/onosproject/incubator/net/virtual/impl/VirtualNetworkDeviceManager.java
@@ -17,12 +17,11 @@
package org.onosproject.incubator.net.virtual.impl;
import com.google.common.collect.ImmutableList;
-import org.onosproject.event.AbstractListenerManager;
+import org.onosproject.incubator.net.virtual.NetworkId;
import org.onosproject.incubator.net.virtual.VirtualDevice;
-import org.onosproject.incubator.net.virtual.VirtualNetwork;
import org.onosproject.incubator.net.virtual.VirtualNetworkService;
import org.onosproject.incubator.net.virtual.VirtualPort;
-import org.onosproject.incubator.net.virtual.VnetService;
+import org.onosproject.incubator.net.virtual.event.AbstractVirtualListenerManager;
import org.onosproject.net.Device;
import org.onosproject.net.DeviceId;
import org.onosproject.net.MastershipRole;
@@ -43,45 +42,39 @@
* Device service implementation built on the virtual network service.
*/
public class VirtualNetworkDeviceManager
- extends AbstractListenerManager<DeviceEvent, DeviceListener>
- implements DeviceService, VnetService {
+ extends AbstractVirtualListenerManager<DeviceEvent, DeviceListener>
+ implements DeviceService {
- private static final String NETWORK_NULL = "Network ID cannot be null";
private static final String TYPE_NULL = "Type cannot be null";
private static final String DEVICE_NULL = "Device cannot be null";
private static final String PORT_NUMBER_NULL = "PortNumber cannot be null";
- private final VirtualNetwork network;
- private final VirtualNetworkService manager;
-
/**
* Creates a new VirtualNetworkDeviceService object.
*
* @param virtualNetworkManager virtual network manager service
- * @param network virtual network
+ * @param networkId a virtual network identifier
*/
public VirtualNetworkDeviceManager(VirtualNetworkService virtualNetworkManager,
- VirtualNetwork network) {
- checkNotNull(network, NETWORK_NULL);
- this.network = network;
- this.manager = virtualNetworkManager;
+ NetworkId networkId) {
+ super(virtualNetworkManager, networkId);
}
@Override
public int getDeviceCount() {
- return manager.getVirtualDevices(this.network.id()).size();
+ return manager.getVirtualDevices(this.networkId).size();
}
@Override
public Iterable<Device> getDevices() {
return manager.getVirtualDevices(
- this.network.id()).stream().collect(Collectors.toSet());
+ this.networkId).stream().collect(Collectors.toSet());
}
@Override
public Iterable<Device> getDevices(Device.Type type) {
checkNotNull(type, TYPE_NULL);
- return manager.getVirtualDevices(this.network.id())
+ return manager.getVirtualDevices(this.networkId)
.stream()
.filter(device -> type.equals(device.type()))
.collect(Collectors.toSet());
@@ -101,7 +94,7 @@
public Device getDevice(DeviceId deviceId) {
checkNotNull(deviceId, DEVICE_NULL);
Optional<VirtualDevice> foundDevice =
- manager.getVirtualDevices(this.network.id())
+ manager.getVirtualDevices(this.networkId)
.stream()
.filter(device -> deviceId.equals(device.id()))
.findFirst();
@@ -121,7 +114,7 @@
@Override
public List<Port> getPorts(DeviceId deviceId) {
checkNotNull(deviceId, DEVICE_NULL);
- return manager.getVirtualPorts(this.network.id(), deviceId)
+ return manager.getVirtualPorts(this.networkId, deviceId)
.stream()
.collect(Collectors.toList());
}
@@ -163,7 +156,7 @@
checkNotNull(deviceId, DEVICE_NULL);
Optional<VirtualPort> foundPort =
- manager.getVirtualPorts(this.network.id(), deviceId)
+ manager.getVirtualPorts(this.networkId, deviceId)
.stream()
.filter(port -> port.number().equals(portNumber))
.findFirst();
@@ -179,11 +172,6 @@
}
@Override
- public VirtualNetwork network() {
- return network;
- }
-
- @Override
public String localStatus(DeviceId deviceId) {
// TODO not supported at this time
return null;