Modernize netconf-topology 08/110808/3
authorRobert Varga <robert.varga@pantheon.tech>
Sun, 17 Mar 2024 08:54:34 +0000 (09:54 +0100)
committerRobert Varga <nite@hq.sk>
Sun, 17 Mar 2024 10:28:19 +0000 (10:28 +0000)
We have a better way of registering RPCs, use that instead of
ClassToInstanceMap. Also migrate an ImmutableNodes reference.

Change-Id: Ifac89c697e6a984af2f1edd240194cb55bf3b695
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
apps/netconf-topology-singleton/src/test/java/org/opendaylight/netconf/topology/singleton/impl/MountPointEndToEndTest.java
apps/netconf-topology-singleton/src/test/java/org/opendaylight/netconf/topology/singleton/impl/NetconfTopologyManagerTest.java
apps/netconf-topology/src/main/java/org/opendaylight/netconf/topology/spi/NetconfTopologyRPCProvider.java
apps/netconf-topology/src/test/java/org/opendaylight/netconf/topology/spi/NetconfDeficeTopologyAdapterIntegrationTest.java
apps/netconf-topology/src/test/java/org/opendaylight/netconf/topology/spi/NetconfTopologyRPCProviderTest.java

index c9bedbef0472e46fca88e911d69dec8445f93cba..a7edfc37001c83ee804dcc20cac98ea4d8fdafc5 100644 (file)
@@ -25,7 +25,6 @@ import static org.mockito.Mockito.verify;
 import akka.actor.ActorSystem;
 import akka.testkit.javadsl.TestKit;
 import akka.util.Timeout;
-import com.google.common.collect.ClassToInstanceMap;
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableMap;
 import com.google.common.util.concurrent.FluentFuture;
@@ -132,6 +131,7 @@ import org.opendaylight.yangtools.util.concurrent.FluentFutures;
 import org.opendaylight.yangtools.yang.binding.DataObject;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.opendaylight.yangtools.yang.binding.KeyedInstanceIdentifier;
+import org.opendaylight.yangtools.yang.binding.Rpc;
 import org.opendaylight.yangtools.yang.binding.YangModuleInfo;
 import org.opendaylight.yangtools.yang.common.Empty;
 import org.opendaylight.yangtools.yang.common.ErrorTag;
@@ -271,7 +271,7 @@ public class MountPointEndToEndTest extends AbstractBaseSchemasTest {
         builderFactory = new NetconfClientConfigurationBuilderFactoryImpl(mockEncryptionService, credentialProvider,
             sslHandlerFactoryProvider);
 
-        doReturn(mockRpcReg).when(mockRpcProviderService).registerRpcImplementations(any(ClassToInstanceMap.class));
+        doReturn(mockRpcReg).when(mockRpcProviderService).registerRpcImplementations(any(Rpc[].class));
 
         setupMaster();
 
index 38e1e32c45270599df86a45b698fb86fe4769ba2..dea757272741c3faa628e8b48c2843a644b9df46 100644 (file)
@@ -25,7 +25,6 @@ import static org.opendaylight.mdsal.binding.api.DataObjectModification.Modifica
 
 import akka.actor.ActorSystem;
 import akka.util.Timeout;
-import com.google.common.collect.ClassToInstanceMap;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -76,6 +75,7 @@ import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.
 import org.opendaylight.yangtools.concepts.Registration;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.opendaylight.yangtools.yang.binding.KeyStep;
+import org.opendaylight.yangtools.yang.binding.Rpc;
 import org.opendaylight.yangtools.yang.binding.YangModuleInfo;
 import org.opendaylight.yangtools.yang.common.Uint16;
 import org.opendaylight.yangtools.yang.parser.impl.DefaultYangParserFactory;
@@ -134,7 +134,7 @@ public class NetconfTopologyManagerTest extends AbstractBaseSchemasTest {
 
         doNothing().when(mockListenerReg).close();
         doReturn(mockListenerReg).when(dataBroker).registerTreeChangeListener(any(), any());
-        doReturn(mockRpcReg).when(rpcProviderService).registerRpcImplementations(any(ClassToInstanceMap.class));
+        doReturn(mockRpcReg).when(rpcProviderService).registerRpcImplementations(any(Rpc[].class));
 
         netconfTopologyManager = new NetconfTopologyManager(BASE_SCHEMAS, dataBroker, clusterSingletonServiceProvider,
                 timer, schemaAssembler, actorSystem, clientFactory, mountPointService, encryptionService,
index a750dd115d6d04e1e0bfeda7839bcfed7327277f..d01a029d2eaafaf13c677b6133034bab68e8beb7 100644 (file)
@@ -10,7 +10,6 @@ package org.opendaylight.netconf.topology.spi;
 import static java.util.Objects.requireNonNull;
 
 import com.google.common.annotations.VisibleForTesting;
-import com.google.common.collect.ImmutableClassToInstanceMap;
 import com.google.common.util.concurrent.FutureCallback;
 import com.google.common.util.concurrent.ListenableFuture;
 import com.google.common.util.concurrent.MoreExecutors;
@@ -56,7 +55,6 @@ import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.NodeKey;
 import org.opendaylight.yangtools.concepts.Registration;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-import org.opendaylight.yangtools.yang.binding.Rpc;
 import org.opendaylight.yangtools.yang.common.RpcResult;
 import org.opendaylight.yangtools.yang.common.RpcResultBuilder;
 import org.slf4j.Logger;
@@ -79,10 +77,9 @@ public final class NetconfTopologyRPCProvider implements AutoCloseable {
         topologyPath = InstanceIdentifier.builder(NetworkTopology.class)
             .child(Topology.class, new TopologyKey(new TopologyId(topologyId)))
             .build();
-        reg = rpcProviderService.registerRpcImplementations(ImmutableClassToInstanceMap.<Rpc<?, ?>>builder()
-            .put(CreateDevice.class, this::createDevice)
-            .put(DeleteDevice.class, this::deleteDevice)
-            .build());
+        reg = rpcProviderService.registerRpcImplementations(
+            (CreateDevice) this::createDevice,
+            (DeleteDevice) this::deleteDevice);
     }
 
     protected @NonNull InstanceIdentifier<Topology> topologyPath() {
index 0b3e3df49f35cb7af7d1ef1da2a80e0ff2de78f1..5e062f7d5aef3cc0c6b9cf8c0511da5e2b76555c 100644 (file)
@@ -42,7 +42,7 @@ import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.common.Uint32;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
-import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes;
+import org.opendaylight.yangtools.yang.data.spi.node.ImmutableNodes;
 
 // FIXME: base on AbstractDataBrokerTest test?
 public class NetconfDeficeTopologyAdapterIntegrationTest {
index 8bc628a7313436096017843c18e5fbee847e4912..b70a176d3fa2aef36dcaaf2460e33c84f70c8208 100644 (file)
@@ -14,7 +14,6 @@ import static org.junit.jupiter.api.Assertions.assertInstanceOf;
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.doReturn;
 
-import com.google.common.collect.ClassToInstanceMap;
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -40,6 +39,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev23
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev231121.rpc.credentials.rpc.credentials.login.pw.unencrypted.LoginPasswordUnencryptedBuilder;
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NodeId;
 import org.opendaylight.yangtools.concepts.Registration;
+import org.opendaylight.yangtools.yang.binding.Rpc;
 import org.opendaylight.yangtools.yang.common.Uint16;
 
 @RunWith(MockitoJUnitRunner.StrictStubs.class)
@@ -63,7 +63,7 @@ public class NetconfTopologyRPCProviderTest {
     @Before
     public void setUp() throws Exception {
         doReturn(ENC_PWD.getBytes()).when(encryptionService).encrypt(TEST_PWD.getBytes());
-        doReturn(rpcReg).when(rpcProviderService).registerRpcImplementations(any(ClassToInstanceMap.class));
+        doReturn(rpcReg).when(rpcProviderService).registerRpcImplementations(any(Rpc[].class));
         rpcProvider = new NetconfTopologyRPCProvider(rpcProviderService, dataBroker, encryptionService, TOPOLOGY_ID);
     }