Hide CallHomeMountSessionManager 79/104279/6
authorRobert Varga <robert.varga@pantheon.tech>
Mon, 6 Feb 2023 16:29:46 +0000 (17:29 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Tue, 7 Feb 2023 09:44:27 +0000 (10:44 +0100)
This is an implementation detail not used anywhere, hide it and document
that it is non-final (as is CallHomeMountDispatcher) for testing
purposes.

Change-Id: Ibe8c662aab5b45a4f696719928c04fe2166f5077
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
apps/callhome-provider/src/main/java/org/opendaylight/netconf/callhome/mount/CallHomeMountDispatcher.java
apps/callhome-provider/src/main/java/org/opendaylight/netconf/callhome/mount/CallHomeMountSessionManager.java
apps/callhome-provider/src/test/java/org/opendaylight/netconf/callhome/mount/CallHomeMountDispatcherTest.java

index 80c8f1353d377e85e88fc0f8dc866da60d2541c6..06962d21006d273fb396ceac649f6d4f921299ec 100644 (file)
@@ -9,6 +9,7 @@ package org.opendaylight.netconf.callhome.mount;
 
 import static java.util.Objects.requireNonNull;
 
+import com.google.common.annotations.VisibleForTesting;
 import io.netty.util.concurrent.EventExecutor;
 import io.netty.util.concurrent.FailedFuture;
 import io.netty.util.concurrent.Future;
@@ -35,16 +36,16 @@ import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+// Non-final for testing
 public class CallHomeMountDispatcher implements NetconfClientDispatcher, CallHomeNetconfSubsystemListener {
-
     private static final Logger LOG = LoggerFactory.getLogger(CallHomeMountDispatcher.class);
 
+    private final CallHomeMountSessionManager sessionManager = new CallHomeMountSessionManager();
     private final String topologyId;
     private final EventExecutor eventExecutor;
     private final ScheduledThreadPool keepaliveExecutor;
     private final ThreadPool processingExecutor;
     private final SchemaResourceManager schemaRepositoryProvider;
-    private final CallHomeMountSessionManager sessionManager;
     private final DataBroker dataBroker;
     private final DOMMountPointService mountService;
     private final AAAEncryptionService encryptionService;
@@ -81,7 +82,6 @@ public class CallHomeMountDispatcher implements NetconfClientDispatcher, CallHom
         this.processingExecutor = processingExecutor;
         this.schemaRepositoryProvider = schemaRepositoryProvider;
         this.deviceActionFactory = deviceActionFactory;
-        this.sessionManager = new CallHomeMountSessionManager();
         this.baseSchemas = requireNonNull(baseSchemas);
         this.dataBroker = dataBroker;
         this.mountService = mountService;
@@ -100,23 +100,16 @@ public class CallHomeMountDispatcher implements NetconfClientDispatcher, CallHom
 
     private Future<NetconfClientSession> activateChannel(final NetconfClientConfiguration conf) {
         final InetSocketAddress remoteAddr = conf.getAddress();
-        final CallHomeMountSessionContext context = getSessionManager().getByAddress(remoteAddr);
+        final CallHomeMountSessionContext context = sessionManager().getByAddress(remoteAddr);
         LOG.info("Activating NETCONF channel for ip {} device context {}", remoteAddr, context);
         return context == null ? new FailedFuture<>(eventExecutor, new NullPointerException())
             : context.activateNetconfChannel(conf.getSessionListener());
     }
 
-    void createTopology() {
-        this.topology = new CallHomeTopology(topologyId, this, eventExecutor, keepaliveExecutor, processingExecutor,
-                schemaRepositoryProvider, dataBroker, mountService, encryptionService, baseSchemas,
-                deviceActionFactory);
-    }
-
     @Override
     public void onNetconfSubsystemOpened(final CallHomeProtocolSessionContext session,
                                          final CallHomeChannelActivator activator) {
-        final CallHomeMountSessionContext deviceContext =
-                getSessionManager().createSession(session, activator, onCloseHandler);
+        final var deviceContext = sessionManager().createSession(session, activator, onCloseHandler);
         if (deviceContext != null) {
             final NodeId nodeId = deviceContext.getId();
             final Node configNode = deviceContext.getConfigNode();
@@ -125,7 +118,15 @@ public class CallHomeMountDispatcher implements NetconfClientDispatcher, CallHom
         }
     }
 
-    public CallHomeMountSessionManager getSessionManager() {
+    @VisibleForTesting
+    void createTopology() {
+        topology = new CallHomeTopology(topologyId, this, eventExecutor, keepaliveExecutor, processingExecutor,
+                schemaRepositoryProvider, dataBroker, mountService, encryptionService, baseSchemas,
+                deviceActionFactory);
+    }
+
+    @VisibleForTesting
+    CallHomeMountSessionManager sessionManager() {
         return sessionManager;
     }
 }
index 497640016868742d4c8b5d1e824be96e4f4446b8..ac4ebcffe7c271ef49b2c5f5144b8397ea4f50cd 100644 (file)
@@ -19,7 +19,8 @@ import org.opendaylight.netconf.callhome.protocol.CallHomeProtocolSessionContext
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-public class CallHomeMountSessionManager implements CallHomeMountSessionContext.CloseCallback {
+// Non-final for testing
+class CallHomeMountSessionManager implements CallHomeMountSessionContext.CloseCallback {
     private static final Logger LOG = LoggerFactory.getLogger(CallHomeMountSessionManager.class);
 
     private final ConcurrentMap<SocketAddress, CallHomeMountSessionContext> contextByAddress =
index cbdf09b3044e2ba5a3d2e00a5b4e4b41ff04af9a..bfca5556a4b5931a57d7b36dd3a3756fc376222e 100644 (file)
@@ -76,13 +76,13 @@ public class CallHomeMountDispatcherTest {
                 mockProcessingExecutor, mockSchemaRepoProvider, mockBaseSchemas, mockDataBroker, mockMount,
                 mockEncryptionService) {
             @Override
-            public CallHomeMountSessionManager getSessionManager() {
+            CallHomeMountSessionManager sessionManager() {
                 return mockSessMgr;
             }
 
             @Override
             void createTopology() {
-                this.topology = mockTopology;
+                topology = mockTopology;
             }
         };
     }