Disconnect NetconfDeviceCapabilities and NetconfSessionPreferences
[netconf.git] / netconf / sal-netconf-connector / src / main / java / org / opendaylight / netconf / sal / connect / netconf / sal / NetconfDeviceTopologyAdapter.java
index 0b6ec1ebe0017d19db835579c2e873ef3502a4fd..72a431ec465fed712371c5e8c84d3a46d9677ff1 100644 (file)
@@ -69,30 +69,21 @@ public final class NetconfDeviceTopologyAdapter implements TransactionChainListe
         commitTransaction(writeTx, "init");
     }
 
-    public void updateDeviceData(final ConnectionStatus connectionStatus,
-            final NetconfDeviceCapabilities capabilities, final LogicalDatastoreType dsType, final NetconfNode node) {
-        NetconfNode data;
-        if (node != null && dsType == LogicalDatastoreType.CONFIGURATION) {
-            data = node;
-        } else {
-            data = newNetconfNodeBuilder(connectionStatus, capabilities).build();
-        }
-
+    public void updateDeviceData(final boolean up, final NetconfDeviceCapabilities capabilities) {
         final WriteTransaction writeTx = txChain.newWriteOnlyTransaction();
         LOG.trace("{}: Update device state transaction {} merging operational data started.",
                 id, writeTx.getIdentifier());
-        writeTx.mergeParentStructurePut(dsType, id.getTopologyBindingPath().augmentation(NetconfNode.class), data);
+
+        // FIXME: this needs to be tied together with node's operational existence
+        writeTx.mergeParentStructurePut(LogicalDatastoreType.OPERATIONAL,
+            id.getTopologyBindingPath().augmentation(NetconfNode.class),
+            newNetconfNodeBuilder(up, capabilities).build());
         LOG.trace("{}: Update device state transaction {} merging operational data ended.",
                 id, writeTx.getIdentifier());
 
         commitTransaction(writeTx, "update");
     }
 
-    public void updateDeviceData(final boolean up, final NetconfDeviceCapabilities capabilities) {
-        updateDeviceData(up ? ConnectionStatus.Connected : ConnectionStatus.Connecting, capabilities,
-                LogicalDatastoreType.OPERATIONAL, null);
-    }
-
     public void updateClusteredDeviceData(final boolean up, final String masterAddress,
                                           final NetconfDeviceCapabilities capabilities) {
         final WriteTransaction writeTx = txChain.newWriteOnlyTransaction();
@@ -100,7 +91,7 @@ public final class NetconfDeviceTopologyAdapter implements TransactionChainListe
                 id, writeTx.getIdentifier());
         writeTx.mergeParentStructurePut(LogicalDatastoreType.OPERATIONAL,
             id.getTopologyBindingPath().augmentation(NetconfNode.class),
-            newNetconfNodeBuilder(up ? ConnectionStatus.Connected : ConnectionStatus.Connecting, capabilities)
+            newNetconfNodeBuilder(up, capabilities)
                 .setClusteredConnectionStatus(new ClusteredConnectionStatusBuilder()
                     .setNetconfMasterNode(masterAddress)
                     .build())
@@ -149,20 +140,19 @@ public final class NetconfDeviceTopologyAdapter implements TransactionChainListe
         commitTransaction(writeTx, "update-failed-device");
     }
 
-    private NetconfNodeBuilder newNetconfNodeBuilder(final ConnectionStatus connectionStatus,
-            final NetconfDeviceCapabilities capabilities) {
+    private NetconfNodeBuilder newNetconfNodeBuilder(final boolean up, final NetconfDeviceCapabilities capabilities) {
         return new NetconfNodeBuilder()
             .setHost(id.getHost())
             .setPort(new PortNumber(Uint16.valueOf(id.getAddress().getPort())))
-            .setConnectionStatus(connectionStatus)
+            .setConnectionStatus(up ? ConnectionStatus.Connected : ConnectionStatus.Connecting)
             .setAvailableCapabilities(new AvailableCapabilitiesBuilder()
                 .setAvailableCapability(ImmutableList.<AvailableCapability>builder()
-                    .addAll(capabilities.getNonModuleBasedCapabilities())
-                    .addAll(capabilities.getResolvedCapabilities())
+                    .addAll(capabilities.nonModuleBasedCapabilities())
+                    .addAll(capabilities.resolvedCapabilities())
                     .build())
                 .build())
             .setUnavailableCapabilities(new UnavailableCapabilitiesBuilder()
-                .setUnavailableCapability(capabilities.getUnresolvedCapabilites().entrySet().stream()
+                .setUnavailableCapability(capabilities.unresolvedCapabilites().entrySet().stream()
                     .map(unresolved -> new UnavailableCapabilityBuilder()
                         // FIXME: better conversion than 'toString' ?
                         .setCapability(unresolved.getKey().toString())