X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fblueprint%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fblueprint%2Fext%2FRpcImplementationBean.java;h=94d5b3b22f33ad2175823b2326aaaf6130b8a189;hb=7ce039b3e55d153fc75bc88198c49536ab83befc;hp=b81f833b12873dded8a0bc01fb7a620bd03a94b7;hpb=d98d5bca742bfdff6c23e27aca21da04b15c33dd;p=controller.git diff --git a/opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/RpcImplementationBean.java b/opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/RpcImplementationBean.java index b81f833b12..94d5b3b22f 100644 --- a/opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/RpcImplementationBean.java +++ b/opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/RpcImplementationBean.java @@ -11,8 +11,8 @@ import com.google.common.base.Strings; import java.util.ArrayList; import java.util.Collections; import java.util.List; -import org.opendaylight.controller.sal.binding.api.BindingAwareBroker.RpcRegistration; -import org.opendaylight.controller.sal.binding.api.RpcProviderRegistry; +import org.opendaylight.mdsal.binding.api.RpcProviderService; +import org.opendaylight.yangtools.concepts.ObjectRegistration; import org.opendaylight.yangtools.yang.binding.RpcService; import org.osgi.framework.Bundle; import org.osgi.service.blueprint.container.ComponentDefinitionException; @@ -29,28 +29,29 @@ public class RpcImplementationBean { private static final Logger LOG = LoggerFactory.getLogger(RpcImplementationBean.class); static final String RPC_IMPLEMENTATION = "rpc-implementation"; - private RpcProviderRegistry rpcRegistry; + private RpcProviderService rpcProvider; private Bundle bundle; private String interfaceName; private RpcService implementation; - private final List> rpcRegistrations = new ArrayList<>();; + private final List> rpcRegistrations = new ArrayList<>(); - public void setRpcRegistry(RpcProviderRegistry rpcRegistry) { - this.rpcRegistry = rpcRegistry; + public void setRpcProvider(final RpcProviderService rpcProvider) { + this.rpcProvider = rpcProvider; } - public void setBundle(Bundle bundle) { + public void setBundle(final Bundle bundle) { this.bundle = bundle; } - public void setInterfaceName(String interfaceName) { + public void setInterfaceName(final String interfaceName) { this.interfaceName = interfaceName; } - public void setImplementation(RpcService implementation) { + public void setImplementation(final RpcService implementation) { this.implementation = implementation; } + @SuppressWarnings("checkstyle:IllegalCatch") public void init() { try { List> rpcInterfaces = getImplementedRpcServiceInterfaces(interfaceName, @@ -59,30 +60,31 @@ public class RpcImplementationBean { LOG.debug("{}: init - adding implementation {} for RpcService interface(s) {}", bundle.getSymbolicName(), implementation, rpcInterfaces); - for(Class rpcInterface: rpcInterfaces) { - rpcRegistrations.add(rpcRegistry.addRpcImplementation(rpcInterface, implementation)); + for (Class rpcInterface : rpcInterfaces) { + rpcRegistrations.add(rpcProvider.registerRpcImplementation(rpcInterface, implementation)); } - } catch(ComponentDefinitionException e) { + } catch (final ComponentDefinitionException e) { throw e; - } catch(Exception e) { + } catch (final Exception e) { throw new ComponentDefinitionException(String.format( "Error processing \"%s\" for %s", RPC_IMPLEMENTATION, implementation.getClass()), e); } } public void destroy() { - for(RpcRegistration reg: rpcRegistrations) { + for (ObjectRegistration reg: rpcRegistrations) { reg.close(); } } @SuppressWarnings("unchecked") - static List> getImplementedRpcServiceInterfaces(String interfaceName, - Class implementationClass, Bundle bundle, String logName) throws ClassNotFoundException { - if(!Strings.isNullOrEmpty(interfaceName)) { + static List> getImplementedRpcServiceInterfaces(final String interfaceName, + final Class implementationClass, final Bundle bundle, final String logName) + throws ClassNotFoundException { + if (!Strings.isNullOrEmpty(interfaceName)) { Class rpcInterface = bundle.loadClass(interfaceName); - if(!rpcInterface.isAssignableFrom(implementationClass)) { + if (!rpcInterface.isAssignableFrom(implementationClass)) { throw new ComponentDefinitionException(String.format( "The specified \"interface\" %s for \"%s\" is not implemented by RpcService \"ref\" %s", interfaceName, logName, implementationClass)); @@ -92,13 +94,13 @@ public class RpcImplementationBean { } List> rpcInterfaces = new ArrayList<>(); - for(Class intface: implementationClass.getInterfaces()) { - if(RpcService.class.isAssignableFrom(intface)) { + for (Class intface : implementationClass.getInterfaces()) { + if (RpcService.class.isAssignableFrom(intface)) { rpcInterfaces.add((Class) intface); } } - if(rpcInterfaces.isEmpty()) { + if (rpcInterfaces.isEmpty()) { throw new ComponentDefinitionException(String.format( "The \"ref\" instance %s for \"%s\" does not implemented any RpcService interfaces", implementationClass, logName));