fix: (vNet) class load issues for OSGi bundle.
Problem.
1. Inside incubator package, class loader can't search classes defined
in the other bundles such as onos-core
Solution
1. Added a method to return bundle context, and obtain class loader.
Change-Id: If5ee4cb1a5b9ef5ab7d7e3bbc70408ea8257baea
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 c529061..0f47a29 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
@@ -61,7 +61,7 @@
*/
public VirtualNetworkDeviceManager(VirtualNetworkService virtualNetworkManager,
NetworkId networkId) {
- super(virtualNetworkManager, networkId);
+ super(virtualNetworkManager, networkId, DeviceEvent.class);
manager.addListener(virtualNetworkListener);
}
diff --git a/incubator/net/src/main/java/org/onosproject/incubator/net/virtual/impl/VirtualNetworkFlowRuleManager.java b/incubator/net/src/main/java/org/onosproject/incubator/net/virtual/impl/VirtualNetworkFlowRuleManager.java
index f6c6e2b..0cbe131 100644
--- a/incubator/net/src/main/java/org/onosproject/incubator/net/virtual/impl/VirtualNetworkFlowRuleManager.java
+++ b/incubator/net/src/main/java/org/onosproject/incubator/net/virtual/impl/VirtualNetworkFlowRuleManager.java
@@ -112,7 +112,7 @@
*/
public VirtualNetworkFlowRuleManager(VirtualNetworkService virtualNetworkManager,
NetworkId networkId) {
- super(virtualNetworkManager, networkId);
+ super(virtualNetworkManager, networkId, FlowRuleEvent.class);
store = serviceDirectory.get(VirtualNetworkFlowRuleStore.class);
diff --git a/incubator/net/src/main/java/org/onosproject/incubator/net/virtual/impl/VirtualNetworkGroupManager.java b/incubator/net/src/main/java/org/onosproject/incubator/net/virtual/impl/VirtualNetworkGroupManager.java
index fee36bc..02fa2be 100644
--- a/incubator/net/src/main/java/org/onosproject/incubator/net/virtual/impl/VirtualNetworkGroupManager.java
+++ b/incubator/net/src/main/java/org/onosproject/incubator/net/virtual/impl/VirtualNetworkGroupManager.java
@@ -67,7 +67,7 @@
private boolean purgeOnDisconnection = false;
public VirtualNetworkGroupManager(VirtualNetworkService manager, NetworkId networkId) {
- super(manager, networkId);
+ super(manager, networkId, GroupEvent.class);
store = serviceDirectory.get(VirtualNetworkGroupStore.class);
deviceService = manager.get(networkId, DeviceService.class);
diff --git a/incubator/net/src/main/java/org/onosproject/incubator/net/virtual/impl/VirtualNetworkHostManager.java b/incubator/net/src/main/java/org/onosproject/incubator/net/virtual/impl/VirtualNetworkHostManager.java
index 216a76b..35f915b 100644
--- a/incubator/net/src/main/java/org/onosproject/incubator/net/virtual/impl/VirtualNetworkHostManager.java
+++ b/incubator/net/src/main/java/org/onosproject/incubator/net/virtual/impl/VirtualNetworkHostManager.java
@@ -57,7 +57,7 @@
*/
public VirtualNetworkHostManager(VirtualNetworkService virtualNetworkManager,
NetworkId networkId) {
- super(virtualNetworkManager, networkId);
+ super(virtualNetworkManager, networkId, HostEvent.class);
}
diff --git a/incubator/net/src/main/java/org/onosproject/incubator/net/virtual/impl/VirtualNetworkIntentManager.java b/incubator/net/src/main/java/org/onosproject/incubator/net/virtual/impl/VirtualNetworkIntentManager.java
index 4026cb5..41cd952 100644
--- a/incubator/net/src/main/java/org/onosproject/incubator/net/virtual/impl/VirtualNetworkIntentManager.java
+++ b/incubator/net/src/main/java/org/onosproject/incubator/net/virtual/impl/VirtualNetworkIntentManager.java
@@ -75,7 +75,7 @@
public VirtualNetworkIntentManager(VirtualNetworkService virtualNetworkManager,
NetworkId networkId) {
- super(virtualNetworkManager, networkId);
+ super(virtualNetworkManager, networkId, IntentEvent.class);
this.store = serviceDirectory.get(VirtualNetworkStore.class);
this.intentService = serviceDirectory.get(IntentService.class);
diff --git a/incubator/net/src/main/java/org/onosproject/incubator/net/virtual/impl/VirtualNetworkLinkManager.java b/incubator/net/src/main/java/org/onosproject/incubator/net/virtual/impl/VirtualNetworkLinkManager.java
index 3a93e3c..ed18f86 100644
--- a/incubator/net/src/main/java/org/onosproject/incubator/net/virtual/impl/VirtualNetworkLinkManager.java
+++ b/incubator/net/src/main/java/org/onosproject/incubator/net/virtual/impl/VirtualNetworkLinkManager.java
@@ -51,7 +51,7 @@
*/
public VirtualNetworkLinkManager(VirtualNetworkService virtualNetworkManager,
NetworkId networkId) {
- super(virtualNetworkManager, networkId);
+ super(virtualNetworkManager, networkId, LinkEvent.class);
}
@Override
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 11a7990..ff3c696 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
@@ -142,10 +142,10 @@
@Activate
public void activate() {
- store.setDelegate(delegate);
eventDispatcher.addSink(VirtualNetworkEvent.class, listenerRegistry);
eventDispatcher.addSink(VirtualEvent.class,
VirtualListenerRegistryManager.getInstance());
+ store.setDelegate(delegate);
intentService.addListener(intentListener);
appId = coreService.registerApplication(VIRTUAL_NETWORK_APP_ID_STRING);
log.info("Started");
@@ -364,6 +364,7 @@
private final Map<ServiceKey, VnetService> networkServices = Maps.newConcurrentMap();
@Override
+ @SuppressWarnings("unchecked")
public <T> T get(NetworkId networkId, Class<T> serviceClass) {
checkNotNull(networkId, NETWORK_NULL);
ServiceKey serviceKey = networkServiceKey(networkId, serviceClass);
@@ -453,7 +454,7 @@
* @param networkId network identifier
* @param serviceClass service class
*/
- public ServiceKey(NetworkId networkId, Class serviceClass) {
+ ServiceKey(NetworkId networkId, Class serviceClass) {
checkNotNull(networkId, NETWORK_NULL);
this.networkId = networkId;
diff --git a/incubator/net/src/main/java/org/onosproject/incubator/net/virtual/impl/VirtualNetworkTopologyManager.java b/incubator/net/src/main/java/org/onosproject/incubator/net/virtual/impl/VirtualNetworkTopologyManager.java
index c55829d..c056b25 100644
--- a/incubator/net/src/main/java/org/onosproject/incubator/net/virtual/impl/VirtualNetworkTopologyManager.java
+++ b/incubator/net/src/main/java/org/onosproject/incubator/net/virtual/impl/VirtualNetworkTopologyManager.java
@@ -68,7 +68,7 @@
*/
public VirtualNetworkTopologyManager(VirtualNetworkService virtualNetworkManager,
NetworkId networkId) {
- super(virtualNetworkManager, networkId);
+ super(virtualNetworkManager, networkId, TopologyEvent.class);
}
@Override