Specialize RemoteDeviceHandler to NetconfSessionPreferences
[netconf.git] / netconf / callhome-provider / src / main / java / org / opendaylight / netconf / callhome / mount / CallHomeTopology.java
index 60ac1ff6a03eed74442a291068d27658c6112aac..a13d756cd45d8ebb999273114eae784be19294e1 100644 (file)
@@ -5,35 +5,49 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-
 package org.opendaylight.netconf.callhome.mount;
 
 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.controller.md.sal.binding.api.DataBroker;
-import org.opendaylight.controller.md.sal.dom.api.DOMMountPointService;
+import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.dom.api.DOMMountPointService;
 import org.opendaylight.netconf.client.NetconfClientDispatcher;
+import org.opendaylight.netconf.sal.connect.api.DeviceActionFactory;
 import org.opendaylight.netconf.sal.connect.api.RemoteDeviceHandler;
-import org.opendaylight.netconf.sal.connect.netconf.listener.NetconfSessionPreferences;
+import org.opendaylight.netconf.sal.connect.api.SchemaResourceManager;
 import org.opendaylight.netconf.sal.connect.netconf.sal.NetconfDeviceSalFacade;
+import org.opendaylight.netconf.sal.connect.netconf.schema.mapping.BaseNetconfSchemas;
 import org.opendaylight.netconf.sal.connect.util.RemoteDeviceId;
-import org.opendaylight.netconf.topology.api.SchemaRepositoryProvider;
 
 public class CallHomeTopology extends BaseCallHomeTopology {
 
     public CallHomeTopology(final String topologyId, final NetconfClientDispatcher clientDispatcher,
-            final EventExecutor eventExecutor, final ScheduledThreadPool keepaliveExecutor,
-            final ThreadPool processingExecutor, final SchemaRepositoryProvider schemaRepositoryProvider,
+            final EventExecutor eventExecutor,
+            final ScheduledThreadPool keepaliveExecutor, final ThreadPool processingExecutor,
+            final SchemaResourceManager schemaRepositoryProvider,
             final DataBroker dataBroker, final DOMMountPointService mountPointService,
-            final AAAEncryptionService encryptionService) {
-        super(topologyId, clientDispatcher, eventExecutor, keepaliveExecutor, processingExecutor,
-                schemaRepositoryProvider, dataBroker, mountPointService, encryptionService);
+            final AAAEncryptionService encryptionService, final BaseNetconfSchemas baseSchemas) {
+        this(topologyId, clientDispatcher, eventExecutor,
+                keepaliveExecutor, processingExecutor, schemaRepositoryProvider,
+                dataBroker, mountPointService, encryptionService, baseSchemas, null);
+    }
+
+    public CallHomeTopology(final String topologyId, final NetconfClientDispatcher clientDispatcher,
+                            final EventExecutor eventExecutor,
+                            final ScheduledThreadPool keepaliveExecutor, final ThreadPool processingExecutor,
+                            final SchemaResourceManager schemaRepositoryProvider,
+                            final DataBroker dataBroker, final DOMMountPointService mountPointService,
+                            final AAAEncryptionService encryptionService, final BaseNetconfSchemas baseSchemas,
+                            final DeviceActionFactory deviceActionFactory) {
+        super(topologyId, clientDispatcher, eventExecutor,
+                keepaliveExecutor, processingExecutor, schemaRepositoryProvider,
+                dataBroker, mountPointService, encryptionService, deviceActionFactory, baseSchemas);
     }
 
     @Override
-    protected RemoteDeviceHandler<NetconfSessionPreferences> createSalFacade(final RemoteDeviceId id) {
-        return new NetconfDeviceSalFacade(id, mountPointService, dataBroker);
+    protected RemoteDeviceHandler createSalFacade(final RemoteDeviceId id) {
+        return new NetconfDeviceSalFacade(id, mountPointService, dataBroker, topologyId);
     }
 }