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/api/src/test/java/org/onosproject/incubator/net/virtual/event/AbstractVirtualListenerManagerTest.java b/incubator/api/src/test/java/org/onosproject/incubator/net/virtual/event/AbstractVirtualListenerManagerTest.java
index 23934b5..6614941 100644
--- a/incubator/api/src/test/java/org/onosproject/incubator/net/virtual/event/AbstractVirtualListenerManagerTest.java
+++ b/incubator/api/src/test/java/org/onosproject/incubator/net/virtual/event/AbstractVirtualListenerManagerTest.java
@@ -38,6 +38,7 @@
import org.onosproject.incubator.net.virtual.VirtualNetworkService;
import org.onosproject.incubator.net.virtual.VirtualPort;
import org.onosproject.net.DeviceId;
+import org.osgi.framework.BundleContext;
import java.util.ArrayList;
import java.util.List;
@@ -52,24 +53,22 @@
*/
public class AbstractVirtualListenerManagerTest {
- private VirtualNetworkService manager;
-
- TestEventDispatcher dispatcher = new TestEventDispatcher();
- VirtualListenerRegistryManager listenerRegistryManager =
+ private TestEventDispatcher dispatcher = new TestEventDispatcher();
+ private VirtualListenerRegistryManager listenerRegistryManager =
VirtualListenerRegistryManager.getInstance();
- PrickleManager prickleManager;
- PrickleListener prickleListener;
+ private PrickleManager prickleManager;
+ private PrickleListener prickleListener;
- GooManager gooManager;
- GooListener gooListener;
+ private GooManager gooManager;
+ private GooListener gooListener;
- BarManager barManager;
- BarListener barListener;
+ private BarManager barManager;
+ private BarListener barListener;
@Before
public void setUp() {
- manager = new TestVirtualNetworkManager();
+ VirtualNetworkService manager = new TestVirtualNetworkManager();
dispatcher.addSink(VirtualEvent.class, listenerRegistryManager);
@@ -153,25 +152,25 @@
private enum Type { FOO }
private static class Thing extends AbstractEvent<Type, String> {
- protected Thing(String subject) {
+ private Thing(String subject) {
super(Type.FOO, subject);
}
}
private static class Prickle extends Thing {
- protected Prickle(String subject) {
+ private Prickle(String subject) {
super(subject);
}
}
private static class Goo extends Thing {
- protected Goo(String subject) {
+ private Goo(String subject) {
super(subject);
}
}
private static class Bar extends Thing {
- protected Bar(String subject) {
+ private Bar(String subject) {
super(subject);
}
}
@@ -198,19 +197,19 @@
private class PrickleManager extends AbstractVirtualListenerManager<Prickle, PrickleListener> {
public PrickleManager(VirtualNetworkService service, NetworkId networkId) {
- super(service, networkId);
+ super(service, networkId, Prickle.class);
}
}
private class GooManager extends AbstractVirtualListenerManager<Goo, GooListener> {
public GooManager(VirtualNetworkService service, NetworkId networkId) {
- super(service, networkId);
+ super(service, networkId, Goo.class);
}
}
private class BarManager extends AbstractVirtualListenerManager<Bar, BarListener> {
public BarManager(VirtualNetworkService service, NetworkId networkId) {
- super(service, networkId);
+ super(service, networkId, Bar.class);
}
}