X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=idmanager%2Fidmanager-impl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fidmanager%2FIdManagerServiceProvider.java;h=b027da1cda4348e3422b046e8b43cba5b1ebcd2a;hb=refs%2Fchanges%2F93%2F30693%2F3;hp=f94d59f123330e0422949a433b539f9714abf219;hpb=5c869fd83384560ccef9d1c87e44abab9732d4a0;p=vpnservice.git diff --git a/idmanager/idmanager-impl/src/main/java/org/opendaylight/idmanager/IdManagerServiceProvider.java b/idmanager/idmanager-impl/src/main/java/org/opendaylight/idmanager/IdManagerServiceProvider.java index f94d59f1..b027da1c 100644 --- a/idmanager/idmanager-impl/src/main/java/org/opendaylight/idmanager/IdManagerServiceProvider.java +++ b/idmanager/idmanager-impl/src/main/java/org/opendaylight/idmanager/IdManagerServiceProvider.java @@ -9,9 +9,13 @@ package org.opendaylight.idmanager; import org.opendaylight.controller.md.sal.binding.api.DataBroker; +import org.opendaylight.controller.sal.binding.api.BindingAwareBroker; import org.opendaylight.controller.sal.binding.api.BindingAwareBroker.ProviderContext; import org.opendaylight.controller.sal.binding.api.BindingAwareProvider; +import org.opendaylight.controller.sal.binding.api.RpcProviderRegistry; +import org.opendaylight.yang.gen.v1.urn.opendaylight.vpnservice.idmanager.rev150403.IdManagerService; +import org.opendaylight.yang.gen.v1.urn.opendaylight.vpnservice.lockmanager.rev150819.LockManagerService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -19,23 +23,43 @@ import org.slf4j.LoggerFactory; public class IdManagerServiceProvider implements BindingAwareProvider, AutoCloseable { - private static final Logger LOG = LoggerFactory.getLogger(IdManagerServiceProvider.class); - private IdManager idManager; - - @Override - public void onSessionInitiated(ProviderContext session){ - LOG.info("IDManagerserviceProvider Session Initiated"); - try { - final DataBroker dataBroker = session.getSALService(DataBroker.class); - idManager = new IdManager(dataBroker); - } catch (Exception e) { - LOG.error("Error initializing services", e); - } + private static final Logger LOG = LoggerFactory.getLogger(IdManagerServiceProvider.class); + private IdManager idManager; + private RpcProviderRegistry rpcProviderRegistry; + private LockManagerService lockManager; + + public RpcProviderRegistry getRpcProviderRegistry() { + return rpcProviderRegistry; + } + + public void setRpcProviderRegistry(RpcProviderRegistry rpcProviderRegistry) { + this.rpcProviderRegistry = rpcProviderRegistry; + } + + public void setLockManager(LockManagerService lockManager) { + this.lockManager = lockManager; + } + + @Override + public void onSessionInitiated(ProviderContext session){ + LOG.info("IDManagerserviceProvider Session Initiated"); + try { + final DataBroker dataBroker = session.getSALService(DataBroker.class); + idManager = new IdManager(dataBroker); + idManager.setLockManager(lockManager); + final BindingAwareBroker.RpcRegistration rpcRegistration = getRpcProviderRegistry().addRpcImplementation(IdManagerService.class, idManager); + } catch (Exception e) { + LOG.error("Error initializing services", e); } + } + + public IdManagerServiceProvider(RpcProviderRegistry rpcRegistry) { + this.rpcProviderRegistry = rpcRegistry; + } - @Override - public void close() throws Exception { - idManager.close(); + @Override + public void close() throws Exception { + idManager.close(); } }