RpcRegistration and RpcResult for IdManager.
[vpnservice.git] / idmanager / idmanager-impl / src / main / java / org / opendaylight / idmanager / IdManagerServiceProvider.java
index f94d59f123330e0422949a433b539f9714abf219..ab016b1ef26322334da7a603544b827eba04fde6 100644 (file)
@@ -9,9 +9,12 @@
 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.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -21,21 +24,35 @@ public class IdManagerServiceProvider implements BindingAwareProvider,
 
         private static final Logger LOG = LoggerFactory.getLogger(IdManagerServiceProvider.class);
         private IdManager idManager;
+        private RpcProviderRegistry rpcProviderRegistry;
+
+    public RpcProviderRegistry getRpcProviderRegistry() {
+        return rpcProviderRegistry;
+    }
+
+    public void setRpcProviderRegistry(RpcProviderRegistry rpcProviderRegistry) {
+        this.rpcProviderRegistry = rpcProviderRegistry;
+    }
 
         @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);
-            }
+    public void onSessionInitiated(ProviderContext session){
+        LOG.info("IDManagerserviceProvider Session Initiated");
+        try {
+            final  DataBroker dataBroker = session.getSALService(DataBroker.class);
+            idManager = new IdManager(dataBroker);
+            final BindingAwareBroker.RpcRegistration<IdManagerService> rpcRegistration = getRpcProviderRegistry().addRpcImplementation(IdManagerService.class, idManager);
+        } catch (Exception e) {
+            LOG.error("Error initializing services", e);
         }
+    }
 
-        @Override
-        public void close() throws Exception {
-            idManager.close();
+    public IdManagerServiceProvider(RpcProviderRegistry rpcRegistry) {
+        this.rpcProviderRegistry = rpcRegistry;
+    }
+
+    @Override
+    public void close() throws Exception {
+        idManager.close();
         }
     }