X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=nexthopmgr%2Fnexthopmgr-impl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fvpnservice%2Fnexthopmgr%2FNexthopmgrProvider.java;h=2e1456622e0494d19ff069a05af40e0b824873a9;hb=e9a2b2e3bf4040777e366eaa08159d782d69acde;hp=23397f76178690e18ae11b4711e61a88298526c3;hpb=2bfbbe0cf9942ff975dc82fc298c603fd9cef6a6;p=vpnservice.git diff --git a/nexthopmgr/nexthopmgr-impl/src/main/java/org/opendaylight/vpnservice/nexthopmgr/NexthopmgrProvider.java b/nexthopmgr/nexthopmgr-impl/src/main/java/org/opendaylight/vpnservice/nexthopmgr/NexthopmgrProvider.java index 23397f76..2e145662 100644 --- a/nexthopmgr/nexthopmgr-impl/src/main/java/org/opendaylight/vpnservice/nexthopmgr/NexthopmgrProvider.java +++ b/nexthopmgr/nexthopmgr-impl/src/main/java/org/opendaylight/vpnservice/nexthopmgr/NexthopmgrProvider.java @@ -10,27 +10,52 @@ 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); + nhManager.createNexthopPointerPool(); + 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"); } }