1. nexthopMgr intg with MdSalUtil & IdMgr
[vpnservice.git] / nexthopmgr / nexthopmgr-impl / src / main / java / org / opendaylight / vpnservice / nexthopmgr / NexthopmgrProvider.java
index 23397f76178690e18ae11b4711e61a88298526c3..57b7a766746b63f4fa92f96a3d7479a0e4d62a35 100644 (file)
@@ -10,27 +10,51 @@ package org.opendaylight.vpnservice.nexthopmgr;
 import org.opendaylight.controller.md.sal.binding.api.DataBroker;
 import org.opendaylight.controller.sal.binding.api.BindingAwareBroker.ProviderContext;
 import org.opendaylight.controller.sal.binding.api.BindingAwareProvider;
+import org.opendaylight.vpnservice.nexthopmgr.NexthopManager;
+import org.opendaylight.vpnservice.interfacemgr.interfaces.IInterfaceManager;
+import org.opendaylight.vpnservice.mdsalutil.interfaces.IMdsalApiManager;
+import org.opendaylight.idmanager.IdManager;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-public class NexthopmgrProvider implements BindingAwareProvider, 
-                                                                                                               AutoCloseable {
+public class NexthopmgrProvider implements BindingAwareProvider, AutoCloseable {
 
     private static final Logger LOG = LoggerFactory.getLogger(NexthopmgrProvider.class);
-  //  private nexthopmgr nhManager;
+    private VpnInterfaceChangeListener vpnIfListener;
+    private OdlInterfaceChangeListener odlIfListener;
+    private NexthopManager nhManager;
+    private IMdsalApiManager mdsalManager;
+    private IInterfaceManager interfaceManager;
+    private IdManager idManager;
 
     @Override
     public void onSessionInitiated(ProviderContext session) {
-        final  DataBroker dataBroker = session.getSALService(DataBroker.class);
-   //     nhManager = new nexthopManager(dataBroker);
-               LOG.info("NexthopmgrProvider Session Initiated");
+        final  DataBroker dbx = session.getSALService(DataBroker.class);
+        nhManager = new NexthopManager(dbx);
+        vpnIfListener = new VpnInterfaceChangeListener(dbx, nhManager);
+        odlIfListener = new OdlInterfaceChangeListener(dbx, nhManager, interfaceManager);
+        idManager = new IdManager(dbx);
+        nhManager.setMdsalManager(mdsalManager);
+        nhManager.setInterfaceManager(interfaceManager);
+        nhManager.setIdManager(idManager);
+        LOG.info("NexthopmgrProvider Session Initiated");
+    }
+
+    public void setMdsalManager(IMdsalApiManager mdsalManager) {
+        this.mdsalManager = mdsalManager;
+    }
+
+    public void setInterfaceManager(IInterfaceManager interfaceManager) {
+        this.interfaceManager = interfaceManager;
     }
 
     @Override
     public void close() throws Exception {
-               //nhManager.close();
-               LOG.info("NexthopmgrProvider Closed");
+        vpnIfListener.close();
+        odlIfListener.close();
+        nhManager.close();
+        LOG.info("NexthopmgrProvider Closed");
     }
 
 }