*/
package org.opendaylight.controller.md.sal.binding.impl;
-import com.google.common.base.Preconditions;
+import static com.google.common.base.Preconditions.checkArgument;
+
import com.google.common.cache.CacheBuilder;
import com.google.common.cache.CacheLoader;
import com.google.common.cache.LoadingCache;
import org.opendaylight.controller.md.sal.dom.api.DOMRpcService;
import org.opendaylight.controller.md.sal.dom.api.DOMService;
import org.opendaylight.controller.sal.binding.api.RpcConsumerRegistry;
+import org.opendaylight.mdsal.binding.spec.reflect.BindingReflections;
import org.opendaylight.yangtools.yang.binding.RpcService;
-import org.opendaylight.yangtools.yang.binding.util.BindingReflections;
+@Deprecated
public class BindingDOMRpcServiceAdapter implements RpcConsumerRegistry {
- protected static final Factory<RpcConsumerRegistry> BUILDER_FACTORY = new Factory<RpcConsumerRegistry>() {
-
- @Override
- public BindingDOMAdapterBuilder<RpcConsumerRegistry> newBuilder() {
- return new Builder();
- }
-
- };
+ protected static final Factory<RpcConsumerRegistry> BUILDER_FACTORY = Builder::new;
private final LoadingCache<Class<? extends RpcService>, RpcServiceAdapter> proxies = CacheBuilder.newBuilder()
.weakKeys()
.build(new CacheLoader<Class<? extends RpcService>, RpcServiceAdapter>() {
@Override
- public RpcServiceAdapter load(final Class<? extends RpcService> key) throws Exception {
- return createProxy(key);
+ public RpcServiceAdapter load(final Class<? extends RpcService> key) {
+ checkArgument(BindingReflections.isBindingClass(key));
+ checkArgument(key.isInterface(), "Supplied RPC service type must be interface.");
+ return new RpcServiceAdapter(key, codec, domService);
}
});
private final BindingToNormalizedNodeCodec codec;
public BindingDOMRpcServiceAdapter(final DOMRpcService domService, final BindingToNormalizedNodeCodec codec) {
- super();
this.domService = domService;
this.codec = codec;
}
+ @SuppressWarnings("unchecked")
@Override
public <T extends RpcService> T getRpcService(final Class<T> rpcService) {
- Preconditions.checkArgument(rpcService != null, "Rpc Service needs to be specied.");
- @SuppressWarnings("unchecked")
- final
- T proxy = (T) proxies.getUnchecked(rpcService).getProxy();
- return proxy;
- }
-
- private RpcServiceAdapter createProxy(final Class<? extends RpcService> key) {
- Preconditions.checkArgument(BindingReflections.isBindingClass(key));
- Preconditions.checkArgument(key.isInterface(), "Supplied RPC service type must be interface.");
- return new RpcServiceAdapter(key, codec, domService);
+ checkArgument(rpcService != null, "Rpc Service needs to be specied.");
+ return (T) proxies.getUnchecked(rpcService).getProxy();
}
private static final class Builder extends BindingDOMAdapterBuilder<RpcConsumerRegistry> {
public Set<? extends Class<? extends DOMService>> getRequiredDelegates() {
return ImmutableSet.of(DOMRpcService.class);
}
-
}
-
}