BUG 3510: Disable Node events in fibmanager
[vpnservice.git] / fibmanager / fibmanager-impl / src / main / java / org / opendaylight / vpnservice / fibmanager / FibManagerProvider.java
index cb2da5e2b8d4efe83391f4207e10ce8bf7adc95a..ef16ec09ba6ba3ea580c328c1145afbe9e091c97 100644 (file)
@@ -7,21 +7,26 @@
  */
 package org.opendaylight.vpnservice.fibmanager;
 
+import java.math.BigInteger;
 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.fibmanager.api.IFibManager;
+import org.opendaylight.vpnmanager.api.IVpnManager;
 import org.opendaylight.vpnservice.mdsalutil.interfaces.IMdsalApiManager;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.vpnservice.l3nexthop.rev150409.L3nexthopService;
 import org.opendaylight.yangtools.yang.binding.RpcService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-public class FibManagerProvider implements BindingAwareProvider, AutoCloseable {
+public class FibManagerProvider implements BindingAwareProvider, IFibManager, AutoCloseable {
 
   private static final Logger LOG = LoggerFactory.getLogger(FibManagerProvider.class);
 
   private FibManager fibManager;
   private IMdsalApiManager mdsalManager;
+  private IVpnManager vpnmanager;
+  //private FibNodeCapableListener fibNcListener;
 
   @Override
   public void onSessionInitiated(ProviderContext session) {
@@ -31,6 +36,8 @@ public class FibManagerProvider implements BindingAwareProvider, AutoCloseable {
       final RpcService nexthopService = session.getRpcService(L3nexthopService.class);
       fibManager = new FibManager(dataBroker, nexthopService);
       fibManager.setMdsalManager(mdsalManager);
+      fibManager.setVpnmanager(vpnmanager);
+      //fibNcListener = new FibNodeCapableListener(dataBroker, fibManager);
     } catch (Exception e) {
       LOG.error("Error initializing services", e);
     }
@@ -40,9 +47,25 @@ public class FibManagerProvider implements BindingAwareProvider, AutoCloseable {
   public void close() throws Exception {
     LOG.info("FibManagerProvider Closed");
     fibManager.close();
+    //fibNcListener.close();
   }
 
   public void setMdsalManager(IMdsalApiManager mdsalManager) {
     this.mdsalManager = mdsalManager;
   }
-}
\ No newline at end of file
+
+  public void setVpnmanager(IVpnManager vpnmanager) {
+    this.vpnmanager = vpnmanager;
+    vpnmanager.setFibService(this);
+  }
+
+  @Override
+  public void populateFibOnNewDpn(BigInteger dpnId, long vpnId, String rd) {
+    fibManager.populateFibOnNewDpn(dpnId, vpnId, rd);
+  }
+
+  @Override
+  public void cleanUpDpnForVpn(BigInteger dpnId, long vpnId, String rd) {
+    fibManager.cleanUpDpnForVpn(dpnId, vpnId, rd);
+  }
+}