Use config instead of Activator for netvirt and netvirt-providers
[ovsdb.git] / openstack / net-virt / src / main / java / org / opendaylight / ovsdb / openstack / netvirt / RouterHandler.java
index 4cd01bbe93c05ae2e7eaa9fadce0d9993ddec2e7..0b50cfed4bc076bd3831dcde92df428f22da5ba2 100644 (file)
@@ -13,8 +13,12 @@ import org.opendaylight.neutron.spi.INeutronRouterAware;
 import org.opendaylight.neutron.spi.NeutronRouter;
 import org.opendaylight.neutron.spi.NeutronRouter_Interface;
 import org.opendaylight.ovsdb.openstack.netvirt.api.Action;
+import org.opendaylight.ovsdb.openstack.netvirt.api.EventDispatcher;
 import org.opendaylight.ovsdb.openstack.netvirt.impl.NeutronL3Adapter;
 
+import org.opendaylight.ovsdb.utils.servicehelper.ServiceHelper;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.ServiceReference;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -23,16 +27,12 @@ import java.net.HttpURLConnection;
 /**
  * Handle requests for Neutron Router.
  */
-public class RouterHandler extends AbstractHandler
-        implements INeutronRouterAware {
-
-    /**
-     * Logger instance.
-     */
+public class RouterHandler extends AbstractHandler implements INeutronRouterAware, ConfigInterface {
     static final Logger logger = LoggerFactory.getLogger(RouterHandler.class);
 
     // The implementation for each of these services is resolved by the OSGi Service Manager
     private volatile NeutronL3Adapter neutronL3Adapter;
+    private volatile EventDispatcher eventDispatcher;
 
     /**
      * Services provide this interface method to indicate if the specified router can be created
@@ -218,4 +218,18 @@ public class RouterHandler extends AbstractHandler
                 break;
         }
     }
+
+    @Override
+    public void setDependencies(BundleContext bundleContext, ServiceReference serviceReference) {
+        neutronL3Adapter =
+                (NeutronL3Adapter) ServiceHelper.getGlobalInstance(NeutronL3Adapter.class, this);
+        eventDispatcher =
+                (EventDispatcher) ServiceHelper.getGlobalInstance(EventDispatcher.class, this);
+        eventDispatcher.eventHandlerAdded(
+                bundleContext.getServiceReference(INeutronRouterAware.class.getName()), this);
+        super.setDispatcher(eventDispatcher);
+    }
+
+    @Override
+    public void setDependencies(Object impl) {}
 }