Adding IdManager/LockManager and related Changes
[vpnservice.git] / idmanager / idmanager-impl / src / main / java / org / opendaylight / idmanager / IdManagerServiceProvider.java
index f94d59f123330e0422949a433b539f9714abf219..b027da1cda4348e3422b046e8b43cba5b1ebcd2a 100644 (file)
@@ -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<IdManagerService> 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();
         }
     }