* @param serviceInterface the interface of the RPC Service. Typically this is an interface
* generated from a YANG model.
* @return the proxy for the requested RPC service. This method never returns null.
+ * @deprecated Use {@link #getRpc(Class)} instead.
*/
+ @Deprecated(since = "11.0.0", forRemoval = true)
<S extends RpcService> @NonNull S getRpcService(@NonNull Class<S> serviceInterface);
/**
* @param implementation implementation object
* @return An {@link ObjectRegistration} controlling unregistration
* @throws NullPointerException if any argument is {@code null}
+ * @deprecated Use {@link #registerRpcImplementation(Rpc)} or
+ * {@link #registerRpcImplementations(ClassToInstanceMap)} instead.
*/
+ @Deprecated(since = "11.0.0", forRemoval = true)
<R extends RpcService, I extends R> @NonNull ObjectRegistration<I> registerRpcImplementation(Class<R> type,
I implementation);
* @param paths Datastore paths to service
* @return An {@link ObjectRegistration} controlling unregistration
* @throws NullPointerException if any argument is {@code null}
+ * @deprecated Use {@link #registerRpcImplementation(Rpc, Set)} or
+ * {@link #registerRpcImplementations(ClassToInstanceMap, Set)} instead.
*/
+ @Deprecated(since = "11.0.0", forRemoval = true)
<R extends RpcService, I extends R> @NonNull ObjectRegistration<I> registerRpcImplementation(Class<R> type,
I implementation, Set<InstanceIdentifier<?>> paths);
import org.opendaylight.yangtools.concepts.AbstractObjectRegistration;
import org.opendaylight.yangtools.yang.binding.RpcService;
+@Deprecated(since = "11.0.0", forRemoval = true)
class BindingDOMRpcAdapterRegistration<T extends RpcService> extends AbstractObjectRegistration<T> {
-
private final DOMRpcImplementationRegistration<?> reg;
BindingDOMRpcAdapterRegistration(T instance, DOMRpcImplementationRegistration<?> reg) {
}
@Override
+ @Deprecated
public <R extends RpcService, I extends R> ObjectRegistration<I> registerRpcImplementation(final Class<R> type,
final I implementation) {
return register(currentSerializer(), type, implementation, GLOBAL);
}
@Override
+ @Deprecated
public <R extends RpcService, I extends R> ObjectRegistration<I> registerRpcImplementation(final Class<R> type,
final I implementation, final Set<InstanceIdentifier<?>> paths) {
final var serializer = currentSerializer();
return getDelegate().registerRpcImplementations(builder.build());
}
+ @Deprecated
private <S extends RpcService, T extends S> ObjectRegistration<T> register(
final CurrentAdapterSerializer serializer, final Class<S> type, final T implementation,
final Collection<YangInstanceIdentifier> rpcContextPaths) {
}
@Override
+ @Deprecated
public <T extends RpcService> T getRpcService(final Class<T> rpcService) {
return rpcService.cast(getAdapter(requireNonNull(rpcService)).facade());
}
import org.opendaylight.yangtools.concepts.AbstractObjectRegistration;
import org.opendaylight.yangtools.yang.binding.RpcService;
+@Deprecated(since = "11.0.0", forRemoval = true)
class BindingRpcAdapterRegistration<T extends RpcService> extends AbstractObjectRegistration<T> {
-
private final DOMRpcImplementationRegistration<?> reg;
BindingRpcAdapterRegistration(T instance, DOMRpcImplementationRegistration<?> reg) {
return Map.entry(stack, lastNamespace);
}
+ @Deprecated(since = "11.0.0", forRemoval = true)
// FIXME: This should be probably part of Binding Runtime context
ImmutableBiMap<Method, QName> getRpcMethodToQName(final Class<? extends RpcService> key) {
final Module module = getModule(key);
+ "full BindingRuntimeContext available in trace log", modeledClass, moduleName));
}
+ @Deprecated(since = "11.0.0", forRemoval = true)
private Method findRpcMethod(final Class<? extends RpcService> key, final RpcDefinition rpcDef)
throws NoSuchMethodException {
final var rpcName = rpcDef.getQName();
import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode;
import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier.Absolute;
+@Deprecated(since = "11.0.0", forRemoval = true)
final class LegacyDOMRpcImplementationAdapter extends AbstractDOMRpcImplementationAdapter {
private static final Cache<Class<?>, RpcServiceInvoker> SERVICE_INVOKERS = CacheBuilder.newBuilder().weakKeys()
.build();
import org.opendaylight.yangtools.yang.binding.RpcService;
import org.opendaylight.yangtools.yang.model.api.stmt.RpcEffectiveStatement;
+@Deprecated
final class RpcServiceAdapter extends AbstractRpcAdapter {
private final ImmutableMap<Method, RpcInvocationStrategy> rpcNames;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+@Deprecated(since = "11.0.0", forRemoval = true)
abstract class AbstractMappedRpcInvoker<T> extends RpcServiceInvoker {
private static final Logger LOG = LoggerFactory.getLogger(AbstractMappedRpcInvoker.class);
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.common.QNameModule;
+@Deprecated(since = "11.0.0", forRemoval = true)
final class LocalNameRpcServiceInvoker extends AbstractMappedRpcInvoker<String> {
private final QNameModule module;
import java.util.Map;
import org.opendaylight.yangtools.yang.common.QName;
+@Deprecated(since = "11.0.0", forRemoval = true)
final class QNameRpcServiceInvoker extends AbstractMappedRpcInvoker<QName> {
private QNameRpcServiceInvoker(final Map<QName, Method> qnameToMethod) {
super(qnameToMethod);
import org.opendaylight.yangtools.yang.binding.RpcService;
import org.opendaylight.yangtools.yang.common.RpcResult;
+@Deprecated(since = "11.0.0", forRemoval = true)
final class RpcMethodInvoker {
private static final MethodType INVOCATION_SIGNATURE = MethodType.methodType(ListenableFuture.class,
RpcService.class, DataObject.class);
* RPC Service invoker provides common invocation interface for any subtype of {@link RpcService} via
* {@link #invokeRpc(RpcService, QName, DataObject)} method.
*/
+@Deprecated(since = "11.0.0", forRemoval = true)
public abstract class RpcServiceInvoker {
private static final Logger LOG = LoggerFactory.getLogger(RpcServiceInvoker.class);
}
@Override
+ @Deprecated
public <T extends RpcService> T getRpcService(final Class<T> serviceInterface) {
return delegate().getRpcService(serviceInterface);
}
}
@Override
+ @Deprecated
public <R extends RpcService, I extends R> ObjectRegistration<I> registerRpcImplementation(final Class<R> type,
final I implementation) {
return delegate().registerRpcImplementation(type, implementation);
}
@Override
+ @Deprecated
public <R extends RpcService, I extends R> ObjectRegistration<I> registerRpcImplementation(final Class<R> type,
final I implementation, final Set<InstanceIdentifier<?>> paths) {
return delegate().registerRpcImplementation(type, implementation, paths);
import org.opendaylight.mdsal.dom.api.DOMRpcImplementationRegistration;
import org.opendaylight.yangtools.yang.binding.RpcService;
+@Deprecated(since = "11.0.0", forRemoval = true)
public class BindingDOMRpcAdapterRegistrationTest {
-
@Test
public void removeRegistration() {
final DOMRpcImplementationRegistration<?> registration = mock(DOMRpcImplementationRegistration.class);
import org.opendaylight.mdsal.dom.api.DOMRpcImplementationRegistration;
import org.opendaylight.yangtools.yang.binding.RpcService;
+@Deprecated(since = "11.0.0", forRemoval = true)
public class BindingRpcAdapterRegistrationTest {
@Test
public void removeRegistrationTest() throws Exception {
import org.opendaylight.yangtools.yang.common.QNameModule;
import org.opendaylight.yangtools.yang.common.XMLNamespace;
+@Deprecated(since = "11.0.0", forRemoval = true)
+
public class LegacyDOMRpcImplementationAdapterTest {
@Test
public void basicTest() throws Exception {
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.md.sal.test.rpc.routing.rev140701.RoutedSimpleRouteInputBuilder;
import org.opendaylight.yangtools.yang.binding.RpcService;
+@Deprecated(since = "11.0.0", forRemoval = true)
public class RpcServiceAdapterTest {
@SuppressWarnings("checkstyle:IllegalThrows")
import org.opendaylight.yangtools.yang.binding.RpcService;
import org.opendaylight.yangtools.yang.common.QName;
+@Deprecated(since = "11.0.0", forRemoval = true)
public class AbstractMappedRpcInvokerTest {
@Test
public void invokeRpcTest() throws Exception {
import org.opendaylight.yangtools.yang.common.Revision;
import org.opendaylight.yangtools.yang.common.XMLNamespace;
+@Deprecated(since = "11.0.0", forRemoval = true)
public class LocalNameRpcServiceInvokerTest {
private static RpcServiceInvoker rpcServiceInvoker;
import org.opendaylight.yangtools.yang.binding.RpcService;
import org.opendaylight.yangtools.yang.common.QName;
+@Deprecated(since = "11.0.0", forRemoval = true)
public class QNameRpcServiceInvokerTest {
-
@Test
public void instanceForTest() throws Exception {
assertNotNull(QNameRpcServiceInvoker.instanceFor(ImmutableMap.of()));
import org.opendaylight.yangtools.yang.binding.DataObject;
import org.opendaylight.yangtools.yang.binding.RpcService;
+@Deprecated(since = "11.0.0", forRemoval = true)
public class RpcMethodInvokerTest {
private static final TestImplClassWithInput TEST_IMPL_CLASS = new TestImplClassWithInput();
import org.opendaylight.yangtools.yang.common.Revision;
import org.opendaylight.yangtools.yang.common.XMLNamespace;
+@Deprecated(since = "11.0.0", forRemoval = true)
public class RpcServiceInvokerTest {
@Test
public void fromTest() throws Exception {
* Aggregate service for top-level {@code rpc} statements for a particular module.
*/
// FIXME: eventually remove this generator
+@Deprecated(since = "11.0.0", forRemoval = true)
final class RpcServiceGenerator extends AbstractImplicitGenerator {
private static final JavaTypeName CHECK_RETURN_VALUE_ANNOTATION =
// Do not refer to annotation class, as it may not be available at runtime
public static final ConcreteType QNAME = typeForClass(QName.class);
public static final ConcreteType RPC_INPUT = typeForClass(RpcInput.class);
public static final ConcreteType RPC_OUTPUT = typeForClass(RpcOutput.class);
+ @Deprecated(since = "11.0.0", forRemoval = true)
public static final ConcreteType RPC_SERVICE = typeForClass(RpcService.class);
public static final ConcreteType SCALAR_TYPE_OBJECT = typeForClass(ScalarTypeObject.class);
public static final ConcreteType BITS_TYPE_OBJECT = typeForClass(BitsTypeObject.class);
"record");
public static final @NonNull String DATA_ROOT_SUFFIX = "Data";
+ @Deprecated(since = "11.0.0", forRemoval = true)
public static final @NonNull String RPC_SERVICE_SUFFIX = "Service";
@Deprecated(since = "10.0.3", forRemoval = true)
public static final @NonNull String NOTIFICATION_LISTENER_SUFFIX = "Listener";
/**
* Marker interface for tagging generated YANG Modules.
*/
+@Deprecated(since = "11.0.0", forRemoval = true)
public interface RpcService {
}