Simplify code using Java 8 features
[controller.git] / opendaylight / blueprint / src / main / java / org / opendaylight / controller / blueprint / ext / ActionProviderBean.java
index 8c5b2b29b0d945ac63d2178b73ab058d2c86be52..af943f91dec4c763e3a4dd132c235cbfa69d4c72 100644 (file)
@@ -9,16 +9,16 @@ package org.opendaylight.controller.blueprint.ext;
 
 import com.google.common.collect.Collections2;
 import com.google.common.collect.ImmutableSet;
-import com.google.common.util.concurrent.Futures;
 import java.util.Collection;
 import java.util.Set;
-import org.opendaylight.controller.md.sal.dom.api.DOMRpcIdentifier;
-import org.opendaylight.controller.md.sal.dom.api.DOMRpcImplementationNotAvailableException;
-import org.opendaylight.controller.md.sal.dom.api.DOMRpcProviderService;
-import org.opendaylight.controller.md.sal.dom.broker.spi.rpc.RpcRoutingStrategy;
-import org.opendaylight.controller.sal.binding.api.RpcProviderRegistry;
-import org.opendaylight.controller.sal.core.api.model.SchemaService;
+import org.opendaylight.mdsal.binding.api.RpcProviderService;
+import org.opendaylight.mdsal.dom.api.DOMRpcIdentifier;
+import org.opendaylight.mdsal.dom.api.DOMRpcImplementationNotAvailableException;
+import org.opendaylight.mdsal.dom.api.DOMRpcProviderService;
+import org.opendaylight.mdsal.dom.api.DOMSchemaService;
+import org.opendaylight.mdsal.dom.spi.RpcRoutingStrategy;
 import org.opendaylight.yangtools.concepts.Registration;
+import org.opendaylight.yangtools.util.concurrent.FluentFutures;
 import org.opendaylight.yangtools.yang.binding.RpcService;
 import org.opendaylight.yangtools.yang.model.api.SchemaPath;
 import org.osgi.framework.Bundle;
@@ -32,7 +32,7 @@ import org.slf4j.LoggerFactory;
  *
  * <p>
  * This bean has two distinct facets:
- * - if a reference bean is provided, it registers it with {@link RpcProviderRegistry}
+ * - if a reference bean is provided, it registers it with {@link RpcProviderService}
  * - if a reference bean is not provided, it registers the corresponding no-op implementation with
  *   {@link DOMRpcProviderService} for all action (Routed RPC) elements in the provided interface
  *
@@ -43,9 +43,9 @@ public class ActionProviderBean {
 
     private static final Logger LOG = LoggerFactory.getLogger(ActionProviderBean.class);
 
-    private DOMRpcProviderService rpcProviderService;
-    private RpcProviderRegistry rpcRegistry;
-    private SchemaService schemaService;
+    private DOMRpcProviderService domRpcProvider;
+    private RpcProviderService bindingRpcProvider;
+    private DOMSchemaService schemaService;
     private RpcService implementation;
     private String interfaceName;
     private Registration reg;
@@ -63,15 +63,15 @@ public class ActionProviderBean {
         this.implementation = implementation;
     }
 
-    public void setRpcProviderService(final DOMRpcProviderService rpcProviderService) {
-        this.rpcProviderService = rpcProviderService;
+    public void setDomRpcProvider(final DOMRpcProviderService rpcProviderService) {
+        this.domRpcProvider = rpcProviderService;
     }
 
-    public void setRpcRegistry(final RpcProviderRegistry rpcRegistry) {
-        this.rpcRegistry = rpcRegistry;
+    public void setBindingRpcProvider(final RpcProviderService rpcProvider) {
+        this.bindingRpcProvider = rpcProvider;
     }
 
-    public void setSchemaService(final SchemaService schemaService) {
+    public void setSchemaService(final DOMSchemaService schemaService) {
         this.schemaService = schemaService;
     }
 
@@ -129,10 +129,9 @@ public class ActionProviderBean {
         }
 
         final Set<DOMRpcIdentifier> rpcs = ImmutableSet.copyOf(Collections2.transform(paths, DOMRpcIdentifier::create));
-        reg = rpcProviderService.registerRpcImplementation((rpc, input) -> {
-            return Futures.immediateFailedCheckedFuture(new DOMRpcImplementationNotAvailableException(
-                "Action %s has no instance matching %s", rpc, input));
-        }, rpcs);
+        reg = domRpcProvider.registerRpcImplementation(
+            (rpc, input) -> FluentFutures.immediateFailedFluentFuture(new DOMRpcImplementationNotAvailableException(
+                "Action %s has no instance matching %s", rpc, input)), rpcs);
         LOG.debug("Registered provider for {}", interfaceName);
     }
 
@@ -143,7 +142,7 @@ public class ActionProviderBean {
                 interfaceName, ACTION_PROVIDER, implementation.getClass()));
         }
 
-        reg = rpcRegistry.addRpcImplementation(interfaceClass, implementation);
+        reg = bindingRpcProvider.registerRpcImplementation(interfaceClass, implementation);
         LOG.debug("Registered implementation {} for {}", implementation, interfaceName);
     }
 }