Do not use RpcService in provider
[controller.git] / opendaylight / md-sal / samples / clustering-test-app / provider / src / main / java / org / opendaylight / controller / clustering / it / provider / BasicRpcTestProvider.java
index a3bf8c20b209be7bdf9ccf4129c904a39da2636f..4db911851596e66020db376bc1117ce1b7fee285 100644 (file)
@@ -16,13 +16,9 @@ import org.opendaylight.mdsal.binding.api.RpcProviderService;
 import org.opendaylight.mdsal.singleton.common.api.ClusterSingletonService;
 import org.opendaylight.mdsal.singleton.common.api.ClusterSingletonServiceProvider;
 import org.opendaylight.mdsal.singleton.common.api.ServiceGroupIdentifier;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.controller.basic.rpc.test.rev160120.BasicGlobalInput;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.controller.basic.rpc.test.rev160120.BasicGlobalOutput;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.controller.basic.rpc.test.rev160120.BasicGlobal;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.controller.basic.rpc.test.rev160120.BasicGlobalOutputBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.controller.basic.rpc.test.rev160120.BasicRpcTestService;
-import org.opendaylight.yangtools.concepts.ObjectRegistration;
 import org.opendaylight.yangtools.concepts.Registration;
-import org.opendaylight.yangtools.yang.common.RpcResult;
 import org.opendaylight.yangtools.yang.common.RpcResultBuilder;
 import org.osgi.service.component.annotations.Activate;
 import org.osgi.service.component.annotations.Component;
@@ -33,14 +29,14 @@ import org.slf4j.LoggerFactory;
 
 @Singleton
 @Component(service = { })
-public final class BasicRpcTestProvider implements ClusterSingletonService, BasicRpcTestService {
+public final class BasicRpcTestProvider implements ClusterSingletonService {
     private static final Logger LOG = LoggerFactory.getLogger(BasicRpcTestProvider.class);
     private static final ServiceGroupIdentifier IDENTIFIER = ServiceGroupIdentifier.create("Basic-rpc-test");
 
     private final RpcProviderService rpcProviderRegistry;
     private final Registration singletonRegistration;
 
-    private ObjectRegistration<?> rpcRegistration = null;
+    private Registration rpcRegistration = null;
 
     @Inject
     @Activate
@@ -59,7 +55,10 @@ public final class BasicRpcTestProvider implements ClusterSingletonService, Basi
     @Override
     public void instantiateServiceInstance() {
         LOG.info("Basic testing rpc registered as global");
-        rpcRegistration = rpcProviderRegistry.registerRpcImplementation(BasicRpcTestService.class, this);
+        rpcRegistration = rpcProviderRegistry.registerRpcImplementation((BasicGlobal) input -> {
+            LOG.info("Basic test global rpc invoked");
+            return RpcResultBuilder.success(new BasicGlobalOutputBuilder().build()).buildFuture();
+        });
     }
 
     @Override
@@ -74,11 +73,4 @@ public final class BasicRpcTestProvider implements ClusterSingletonService, Basi
     public ServiceGroupIdentifier getIdentifier() {
         return IDENTIFIER;
     }
-
-    @Override
-    public ListenableFuture<RpcResult<BasicGlobalOutput>> basicGlobal(final BasicGlobalInput input) {
-        LOG.info("Basic test global rpc invoked");
-
-        return Futures.immediateFuture(RpcResultBuilder.success(new BasicGlobalOutputBuilder().build()).build());
-    }
 }