Disconnect NetconfDeviceCapabilities and NetconfSessionPreferences
[netconf.git] / netconf / sal-netconf-connector / src / main / java / org / opendaylight / netconf / sal / connect / netconf / sal / NetconfDeviceSalFacade.java
index a75775e0292a2511110e9414380ed8e8b07e5b82..2c8548e550855d2d155a4e9e6b42f94283eef5be 100644 (file)
@@ -17,6 +17,7 @@ import org.opendaylight.mdsal.dom.api.DOMNotification;
 import org.opendaylight.mdsal.dom.api.DOMRpcService;
 import org.opendaylight.netconf.dom.api.NetconfDataTreeService;
 import org.opendaylight.netconf.sal.connect.api.RemoteDeviceHandler;
+import org.opendaylight.netconf.sal.connect.netconf.NetconfDeviceSchema;
 import org.opendaylight.netconf.sal.connect.netconf.listener.NetconfDeviceCapabilities;
 import org.opendaylight.netconf.sal.connect.netconf.listener.NetconfSessionPreferences;
 import org.opendaylight.netconf.sal.connect.util.RemoteDeviceId;
@@ -65,27 +66,27 @@ public final class NetconfDeviceSalFacade implements RemoteDeviceHandler, AutoCl
     }
 
     @Override
-    public synchronized void onDeviceConnected(final MountPointContext mountContext,
-                                               final NetconfSessionPreferences netconfSessionPreferences,
-                                               final DOMRpcService deviceRpc, final DOMActionService deviceAction) {
+    public synchronized void onDeviceConnected(final NetconfDeviceSchema deviceSchema,
+            final NetconfSessionPreferences sessionPreferences, final DOMRpcService deviceRpc,
+            final DOMActionService deviceAction) {
+        final MountPointContext mountContext = deviceSchema.mountContext();
         final EffectiveModelContext schemaContext = mountContext.getEffectiveModelContext();
+
         final NetconfDeviceDataBroker netconfDeviceDataBroker =
-                new NetconfDeviceDataBroker(id, mountContext, deviceRpc, netconfSessionPreferences);
+                new NetconfDeviceDataBroker(id, mountContext, deviceRpc, sessionPreferences);
         final NetconfDataTreeService netconfService =
-                AbstractNetconfDataTreeService.of(id, mountContext, deviceRpc, netconfSessionPreferences);
+                AbstractNetconfDataTreeService.of(id, mountContext, deviceRpc, sessionPreferences);
         registerLockListener(netconfDeviceDataBroker, netconfService);
         final NetconfDeviceNotificationService notificationService = new NetconfDeviceNotificationService();
 
-        salProvider.getMountInstance()
-                .onTopologyDeviceConnected(schemaContext, netconfDeviceDataBroker, netconfService,
-                        deviceRpc, notificationService, deviceAction);
-        salProvider.getTopologyDatastoreAdapter()
-                .updateDeviceData(true, netconfSessionPreferences.getNetconfDeviceCapabilities());
+        salProvider.getMountInstance().onTopologyDeviceConnected(schemaContext, netconfDeviceDataBroker, netconfService,
+            deviceRpc, notificationService, deviceAction);
+        salProvider.getTopologyDatastoreAdapter().updateDeviceData(true, deviceSchema.capabilities());
     }
 
     @Override
     public synchronized void onDeviceDisconnected() {
-        salProvider.getTopologyDatastoreAdapter().updateDeviceData(false, new NetconfDeviceCapabilities());
+        salProvider.getTopologyDatastoreAdapter().updateDeviceData(false, NetconfDeviceCapabilities.empty());
         salProvider.getMountInstance().onTopologyDeviceDisconnected();
         closeLockChangeListener();
     }