Migrate netconf-topology to new transport
[netconf.git] / apps / callhome-provider / src / main / java / org / opendaylight / netconf / callhome / mount / CallHomeTopology.java
index e01f4e8f05427b9130d927ab7c37133f2369ac52..f85a007884bef805b013c9d0d4d2d87ce215e18c 100644 (file)
@@ -7,31 +7,40 @@
  */
 package org.opendaylight.netconf.callhome.mount;
 
+import com.google.common.annotations.VisibleForTesting;
 import io.netty.util.concurrent.EventExecutor;
-import org.opendaylight.aaa.encrypt.AAAEncryptionService;
 import org.opendaylight.controller.config.threadpool.ScheduledThreadPool;
 import org.opendaylight.controller.config.threadpool.ThreadPool;
 import org.opendaylight.mdsal.binding.api.DataBroker;
 import org.opendaylight.mdsal.dom.api.DOMMountPointService;
-import org.opendaylight.netconf.client.NetconfClientDispatcher;
+import org.opendaylight.netconf.client.NetconfClientFactory;
 import org.opendaylight.netconf.client.mdsal.api.BaseNetconfSchemas;
-import org.opendaylight.netconf.client.mdsal.api.CredentialProvider;
 import org.opendaylight.netconf.client.mdsal.api.DeviceActionFactory;
-import org.opendaylight.netconf.client.mdsal.api.KeyStoreProvider;
 import org.opendaylight.netconf.client.mdsal.api.SchemaResourceManager;
 import org.opendaylight.netconf.topology.spi.AbstractNetconfTopology;
+import org.opendaylight.netconf.topology.spi.NetconfClientConfigurationBuilderFactory;
+import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NodeId;
+import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node;
 
 // Non-final for mocking
 public class CallHomeTopology extends AbstractNetconfTopology {
-    public CallHomeTopology(final String topologyId, final NetconfClientDispatcher clientDispatcher,
-            final EventExecutor eventExecutor, final ScheduledThreadPool keepaliveExecutor,
-            final ThreadPool processingExecutor, final SchemaResourceManager schemaRepositoryProvider,
+    public CallHomeTopology(final String topologyId, final NetconfClientFactory clientFactory,
+            final EventExecutor eventExecutor, final ScheduledThreadPool scheduledThreadPool,
+            final ThreadPool processingThreadPool, final SchemaResourceManager schemaRepositoryProvider,
             final DataBroker dataBroker, final DOMMountPointService mountPointService,
-            final AAAEncryptionService encryptionService, final BaseNetconfSchemas baseSchemas,
-            final DeviceActionFactory deviceActionFactory, final CredentialProvider credentialProvider,
-            final KeyStoreProvider keyStoreProvider) {
-        super(topologyId, clientDispatcher, eventExecutor, keepaliveExecutor, processingExecutor,
-            schemaRepositoryProvider, dataBroker, mountPointService, encryptionService, deviceActionFactory,
-            baseSchemas, credentialProvider, keyStoreProvider);
+            final NetconfClientConfigurationBuilderFactory builderFactory, final BaseNetconfSchemas baseSchemas,
+            final DeviceActionFactory deviceActionFactory) {
+        super(topologyId, clientFactory, eventExecutor, scheduledThreadPool, processingThreadPool,
+            schemaRepositoryProvider, dataBroker, mountPointService, builderFactory, deviceActionFactory,
+            baseSchemas);
+    }
+
+    void disconnectNode(final NodeId nodeId) {
+        deleteNode(nodeId);
+    }
+
+    @VisibleForTesting
+    public void connectNode(final Node node) {
+        ensureNode(node);
     }
 }