X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fblueprint%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fblueprint%2Fext%2FActionProviderBean.java;h=70054f86a94549aadde13eb35106146ac459b0e8;hb=refs%2Fchanges%2F66%2F74366%2F5;hp=bbd989b633a00cd36885f2d27dabc4dd6bb36b4c;hpb=88330d2f3ff048ab4e2e6f348ec3ea56e4c02cd4;p=controller.git diff --git a/opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/ActionProviderBean.java b/opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/ActionProviderBean.java index bbd989b633..70054f86a9 100644 --- a/opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/ActionProviderBean.java +++ b/opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/ActionProviderBean.java @@ -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; * *

* 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,21 +63,21 @@ 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; } public void init() { // First resolve the interface class - final Class interfaceClass = getRpcClass(interfaceName); + final Class interfaceClass = getRpcClass(); LOG.debug("{}: resolved interface {} to {}", ACTION_PROVIDER, interfaceName, interfaceClass); @@ -93,7 +93,7 @@ public class ActionProviderBean { if (reg != null) { try { reg.close(); - } catch (Exception e) { + } catch (final Exception e) { LOG.warn("{}: error while unregistering", ACTION_PROVIDER, e); } finally { reg = null; @@ -102,12 +102,12 @@ public class ActionProviderBean { } @SuppressWarnings("unchecked") - private Class getRpcClass(final String interfaceName) { + private Class getRpcClass() { final Class iface; try { iface = bundle.loadClass(interfaceName); - } catch (ClassNotFoundException e) { + } catch (final ClassNotFoundException e) { throw new ComponentDefinitionException(String.format( "The specified \"interface\" for %s \"%s\" does not refer to an available class", interfaceName, ACTION_PROVIDER), e); @@ -129,8 +129,8 @@ public class ActionProviderBean { } final Set rpcs = ImmutableSet.copyOf(Collections2.transform(paths, DOMRpcIdentifier::create)); - reg = rpcProviderService.registerRpcImplementation((rpc, input) -> { - return Futures.immediateFailedCheckedFuture(new DOMRpcImplementationNotAvailableException( + reg = domRpcProvider.registerRpcImplementation((rpc, input) -> { + return FluentFutures.immediateFailedFluentFuture(new DOMRpcImplementationNotAvailableException( "Action %s has no instance matching %s", rpc, input)); }, rpcs); LOG.debug("Registered provider for {}", interfaceName); @@ -143,7 +143,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); } }