Bug-6346: Allow over-ride of non-module capabilities
[netconf.git] / netconf / sal-netconf-connector / src / main / java / org / opendaylight / controller / config / yang / md / sal / connector / netconf / NetconfConnectorModule.java
index 990b54e43dfc966fc3f08b4aa521c83783983e41..f2f748b3cf6ef14ffaa3dde82aea9b51bc7d4f3d 100644 (file)
@@ -23,6 +23,8 @@ import org.opendaylight.controller.sal.binding.api.BindingAwareConsumer;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Host;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.NetconfNode;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.NetconfNodeBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.netconf.node.connection.parameters.NonModuleCapabilities;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.netconf.node.connection.parameters.NonModuleCapabilitiesBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.netconf.node.connection.parameters.YangModuleCapabilities;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.netconf.node.connection.parameters.YangModuleCapabilitiesBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.netconf.node.credentials.Credentials;
@@ -149,15 +151,23 @@ public final class NetconfConnectorModule extends org.opendaylight.controller.co
                 .setUsername(getUsername())
                 .setPassword(getPassword())
                 .build();
-        final YangModuleCapabilities capabilities;
+
+        YangModuleCapabilities moduleCapabilities = null;
         if (getYangModuleCapabilities() != null) {
-            capabilities = new YangModuleCapabilitiesBuilder()
+            moduleCapabilities = new YangModuleCapabilitiesBuilder()
                     .setOverride(getYangModuleCapabilities().getOverride())
                     .setCapability(getYangModuleCapabilities().getCapability())
                     .build();
-        } else {
-            capabilities = null;
         }
+
+        NonModuleCapabilities nonModuleCapabilities = null;
+        if(getNonModuleCapabilities() != null) {
+            nonModuleCapabilities = new NonModuleCapabilitiesBuilder()
+                    .setOverride(getNonModuleCapabilities().getOverride())
+                    .setCapability(getNonModuleCapabilities().getCapability())
+                    .build();
+        }
+
         final YangLibrary yangLibrary;
         if (getYangLibrary() != null) {
             yangLibrary = new YangLibraryBuilder()
@@ -182,7 +192,8 @@ public final class NetconfConnectorModule extends org.opendaylight.controller.co
                 .setSchemaCacheDirectory(getSchemaCacheDirectory())
                 .setSleepFactor(getSleepFactor())
                 .setTcpOnly(getTcpOnly())
-                .setYangModuleCapabilities(capabilities)
+                .setYangModuleCapabilities(moduleCapabilities)
+                .setNonModuleCapabilities(nonModuleCapabilities)
                 .setYangLibrary(yangLibrary)
                 .build();
         return new NodeBuilder()