Merge "Add JSONRestconfService impl for the restconf Draft18 impl"
authorTomas Cere <tcere@cisco.com>
Tue, 11 Jul 2017 10:43:11 +0000 (10:43 +0000)
committerGerrit Code Review <gerrit@opendaylight.org>
Tue, 11 Jul 2017 10:43:11 +0000 (10:43 +0000)
88 files changed:
features/netconf-connector/features-netconf-connector/pom.xml
features/netconf-connector/odl-message-bus/pom.xml
features/netconf-connector/odl-netconf-callhome-ssh/pom.xml
features/netconf-connector/odl-netconf-clustered-topology/pom.xml
features/netconf-connector/odl-netconf-connector-all/pom.xml
features/netconf-connector/odl-netconf-connector-ssh/pom.xml
features/netconf-connector/odl-netconf-connector/pom.xml
features/netconf-connector/odl-netconf-console/pom.xml
features/netconf-connector/odl-netconf-topology/pom.xml
features/netconf-connector/pom.xml
features/netconf/features-netconf/pom.xml
features/netconf/odl-aaa-netconf-plugin-no-cluster/pom.xml
features/netconf/odl-aaa-netconf-plugin/pom.xml
features/netconf/odl-config-netconf-connector/pom.xml
features/netconf/odl-netconf-api/pom.xml
features/netconf/odl-netconf-client/pom.xml
features/netconf/odl-netconf-impl/pom.xml
features/netconf/odl-netconf-mapping-api/pom.xml
features/netconf/odl-netconf-mdsal/pom.xml
features/netconf/odl-netconf-monitoring/pom.xml
features/netconf/odl-netconf-netty-util/pom.xml
features/netconf/odl-netconf-notifications-api/pom.xml
features/netconf/odl-netconf-notifications-impl/pom.xml
features/netconf/odl-netconf-ssh/pom.xml
features/netconf/odl-netconf-tcp/pom.xml
features/netconf/odl-netconf-util/pom.xml
features/netconf/pom.xml
features/restconf/features-restconf/pom.xml
features/restconf/odl-mdsal-apidocs/pom.xml
features/restconf/odl-restconf-all/pom.xml
features/restconf/odl-restconf-noauth/pom.xml
features/restconf/odl-restconf/pom.xml
features/restconf/pom.xml
features/yanglib/features-yanglib/pom.xml
features/yanglib/odl-yanglib/pom.xml
features/yanglib/pom.xml
karaf/pom.xml
netconf/aaa-authn-odl-plugin/pom.xml
netconf/config-netconf-connector/pom.xml
netconf/mdsal-netconf-connector/pom.xml
netconf/mdsal-netconf-impl/pom.xml
netconf/mdsal-netconf-monitoring/pom.xml
netconf/mdsal-netconf-notification/pom.xml
netconf/mdsal-netconf-ssh/pom.xml
netconf/mdsal-netconf-tcp/pom.xml
netconf/mdsal-netconf-yang-library/pom.xml
netconf/messagebus-netconf/pom.xml
netconf/netconf-api/pom.xml
netconf/netconf-artifacts/pom.xml
netconf/netconf-auth/pom.xml
netconf/netconf-client/pom.xml
netconf/netconf-client/src/main/yang/odl-netconf-cfg.yang [deleted file]
netconf/netconf-config/pom.xml
netconf/netconf-connector-config/pom.xml
netconf/netconf-console/pom.xml
netconf/netconf-impl/pom.xml
netconf/netconf-mapping-api/pom.xml
netconf/netconf-monitoring/pom.xml
netconf/netconf-netty-util/pom.xml
netconf/netconf-notifications-api/pom.xml
netconf/netconf-notifications-impl/pom.xml
netconf/netconf-ssh/pom.xml
netconf/netconf-ssh/src/main/java/org/opendaylight/netconf/ssh/NetconfNorthboundSshServer.java
netconf/netconf-ssh/src/main/java/org/opendaylight/netconf/ssh/SshProxyServer.java
netconf/netconf-ssh/src/main/java/org/opendaylight/netconf/ssh/osgi/NetconfSSHActivator.java
netconf/netconf-ssh/src/test/java/org/opendaylight/netconf/netty/SSHTest.java
netconf/netconf-ssh/src/test/java/org/opendaylight/netconf/ssh/authentication/SSHServerTest.java
netconf/netconf-tcp/pom.xml
netconf/netconf-topology-config/pom.xml
netconf/netconf-topology-singleton/pom.xml
netconf/netconf-topology/pom.xml
netconf/netconf-util/pom.xml
netconf/pom.xml
netconf/sal-netconf-connector/pom.xml
netconf/sal-netconf-connector/src/main/java/org/opendaylight/controller/config/yang/md/sal/connector/netconf/NetconfConnectorModule.java [deleted file]
netconf/sal-netconf-connector/src/main/java/org/opendaylight/controller/config/yang/md/sal/connector/netconf/NetconfConnectorModuleFactory.java [deleted file]
netconf/sal-netconf-connector/src/main/yang/odl-sal-netconf-connector-cfg.yang [deleted file]
netconf/sal-netconf-connector/src/test/java/org/opendaylight/controller/config/yang/md/sal/connector/netconf/NetconfConnectorModuleTest.java [deleted file]
netconf/tools/netconf-cli/pom.xml
netconf/tools/netconf-testtool/pom.xml
netconf/tools/netconf-testtool/src/main/java/org/opendaylight/netconf/test/tool/NetconfDeviceSimulator.java
pom.xml
restconf/pom.xml
restconf/restconf-artifacts/pom.xml
restconf/sal-rest-connector-config/pom.xml
restconf/sal-rest-docgen-maven/pom.xml
restconf/sal-rest-docgen/pom.xml
restconf/sal-rest-docgen/src/main/java/org/opendaylight/netconf/sal/rest/doc/impl/ModelGenerator.java

index 01ffc85a65c4211133e16c4a211132c1e936ac36..d742b00101b7c787dc0d73b43a988e9c66aa5cd2 100644 (file)
@@ -14,7 +14,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>feature-repo-parent</artifactId>
-    <version>2.0.0</version>
+    <version>2.0.2</version>
     <relativePath/>
   </parent>
 
   <version>1.3.0-SNAPSHOT</version>
   <packaging>feature</packaging>
 
+  <properties>
+    <!-- Skip SFT as some of the features are mutually exclusive, i.e. SFT may fail
+         if certain features are installed together. -->
+    <skip.karaf.featureTest>true</skip.karaf.featureTest>
+  </properties>
+
   <dependencies>
     <dependency>
       <groupId>${project.groupId}</groupId>
@@ -81,4 +87,4 @@
       <classifier>features</classifier>
     </dependency>
   </dependencies>
-</project>
\ No newline at end of file
+</project>
index 691d8dc1dfd2bd557752252903d5262a4248a5a7..5941d6492b5e0a97bab7031993d1594a79bec27a 100644 (file)
@@ -14,7 +14,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>2.0.0</version>
+        <version>2.0.2</version>
         <relativePath/>
     </parent>
 
index 61ebe21f151412fd3ecdf1e19e37e27b63a5de4a..56d5ee7332449675a0035654704c9f484a7c607a 100644 (file)
@@ -14,7 +14,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>2.0.0</version>
+        <version>2.0.2</version>
         <relativePath/>
     </parent>
 
index a3c3769244d67ec22a671f87b9498c51c8e2c6fd..c718b6fed42d9c5cf1a7abaedeecc36b3e4a0faf 100644 (file)
@@ -14,7 +14,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>2.0.0</version>
+        <version>2.0.2</version>
         <relativePath/>
     </parent>
 
index 1a9c77da395948d252297240b27828b543c05d96..0cadb4990cdd8bcc544a622ae716318fce0c617e 100644 (file)
@@ -14,7 +14,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>2.0.0</version>
+        <version>2.0.2</version>
         <relativePath/>
     </parent>
 
index f8c941483f1688a24c74e23987c7dfea75ae2f6a..919bbba37e7a122a1028bb04f4280e083ee7aaac 100644 (file)
@@ -14,7 +14,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>2.0.0</version>
+        <version>2.0.2</version>
         <relativePath/>
     </parent>
 
index dfaa6a7eeeb14112d190f127b2defa8323afebd4..0ebcd45c00fa5982d1e6b2930f458bfc42624d70 100644 (file)
@@ -14,7 +14,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>2.0.0</version>
+        <version>2.0.2</version>
         <relativePath/>
     </parent>
 
index 239b74aad5c360ce16d0dc319a29fdbc23402705..7c6ee7d24863aa1bc66ba459845c2b208c340bb3 100644 (file)
@@ -14,7 +14,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>2.0.0</version>
+        <version>2.0.2</version>
         <relativePath/>
     </parent>
 
index 7604d9056aa2bf994e8473b028c7b82182d07955..3ed7cb4209d680d3332bfc492d5817e1a63b2512 100644 (file)
@@ -14,7 +14,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>2.0.0</version>
+        <version>2.0.2</version>
         <relativePath/>
     </parent>
 
index ae013f4bfe8a89ae58cee09bb18fc5977043081e..aed5088a67e739dd32ff6076fd93c18d36960e5b 100644 (file)
@@ -12,7 +12,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent</artifactId>
-        <version>2.0.0</version>
+        <version>2.0.2</version>
         <relativePath/>
     </parent>
     <groupId>org.opendaylight.netconf</groupId>
index 9b885532611b28c28ab645e6696836ce52027507..75f4ee7cd4d4be5f341da21f130f19c05ce2fa16 100644 (file)
@@ -14,7 +14,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>feature-repo-parent</artifactId>
-    <version>2.0.0</version>
+    <version>2.0.2</version>
     <relativePath/>
   </parent>
 
index 8e340cf96c039c6a77601e88e2692219e92370e5..977d68d7fdddfec0f27259e1cd1d96cba18aeb37 100644 (file)
@@ -14,7 +14,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>2.0.0</version>
+        <version>2.0.2</version>
         <relativePath/>
     </parent>
 
index 2ac85dbf2516a8fbbfbde726f66fc18bedc278eb..287d3b242559232a8830904b2b44c65b2ff43c90 100644 (file)
@@ -14,7 +14,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>2.0.0</version>
+        <version>2.0.2</version>
         <relativePath/>
     </parent>
 
index 5004d1fbb929911fdac4d869cf995e2461c49780..afac26734f5501678f9d162506c50b8d7392991f 100644 (file)
@@ -14,7 +14,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>2.0.0</version>
+        <version>2.0.2</version>
         <relativePath/>
     </parent>
 
index a28c774a0ba82dc687fec801405dac1cf0eab69c..ef902cff502a4bb98cc9b6ac8030e7fd0c44c82b 100644 (file)
@@ -14,7 +14,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>2.0.0</version>
+        <version>2.0.2</version>
         <relativePath/>
     </parent>
 
index 8cc760ca8046301cc5fb49b0e911de8be6aa3f0b..810acef73eba6a63bd7fd61aceb2c52c9a566237 100644 (file)
@@ -14,7 +14,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>2.0.0</version>
+        <version>2.0.2</version>
         <relativePath/>
     </parent>
 
index a8993a228bb02a16f48a0f4fe75398589374d0ee..daccf536e0ec2c60030fa52da12f11dae41e583b 100644 (file)
@@ -14,7 +14,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>2.0.0</version>
+        <version>2.0.2</version>
         <relativePath/>
     </parent>
 
index 796829148103a24a40e33dc91ca4b0451614b6c3..cf437df0b0713e5d40325f6cb555d84532530f70 100644 (file)
@@ -14,7 +14,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>2.0.0</version>
+        <version>2.0.2</version>
         <relativePath/>
     </parent>
 
index 02760b27aa99292d6960fd5d6c2abeb5b3f3e519..01215b583f42d6d1be539b6aadee3943f6324e8b 100644 (file)
@@ -14,7 +14,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>2.0.0</version>
+        <version>2.0.2</version>
         <relativePath/>
     </parent>
 
index 543020d59ceb2b9609b2b18fab6fa338742d427a..fdfd6dfcf73eb08b0210586d3738412bd0e6d155 100644 (file)
@@ -14,7 +14,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>2.0.0</version>
+        <version>2.0.2</version>
         <relativePath/>
     </parent>
 
index 9d537c73b722ac3c76263e57cd361231f3a87ede..3c0b29735d9740faab3c05988420bc2eb8069de9 100644 (file)
@@ -14,7 +14,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>2.0.0</version>
+        <version>2.0.2</version>
         <relativePath/>
     </parent>
 
index 395f7f51d073e51472e2c4b19628c48cecf59396..5320a3c77dce596591867628c9e3f4dfc0175edf 100644 (file)
@@ -14,7 +14,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>2.0.0</version>
+        <version>2.0.2</version>
         <relativePath/>
     </parent>
 
index c7914beece807d06e661333db826e7e16167f8c4..43df81aeed7c5f62739691b68bc0c3e3dde5fa1a 100644 (file)
@@ -14,7 +14,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>2.0.0</version>
+        <version>2.0.2</version>
         <relativePath/>
     </parent>
 
index 341dafcfd7a41e004282f3544722e6343808f8d2..7eb688a9a1ce7c1b7de6671038619c250baa9dd3 100644 (file)
@@ -14,7 +14,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>2.0.0</version>
+        <version>2.0.2</version>
         <relativePath/>
     </parent>
 
index 495e2e9c7570b83a0e3258fb35562c3fd770ccf5..63b13139ef78e60b2f7b2a2508b9466aec180f30 100644 (file)
@@ -14,7 +14,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>2.0.0</version>
+        <version>2.0.2</version>
         <relativePath/>
     </parent>
 
index 0b9dc2db6122029fbe5d0f590762b7ca0991ca16..6ec9dfc8709ff1825623fc4a6f4432efca116caf 100644 (file)
@@ -14,7 +14,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>2.0.0</version>
+        <version>2.0.2</version>
         <relativePath/>
     </parent>
 
index 4289d0775da1fd5a1d13c5de67eec1ecf3d24e58..49b9c5518504a3236e2ace7b5e6cdab3bd9fde0f 100644 (file)
@@ -11,7 +11,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>odlparent-lite</artifactId>
-    <version>2.0.0</version>
+    <version>2.0.2</version>
     <relativePath/>
   </parent>
 
index b7381b2b7935ef5c9961266e1532374f8b9348d3..6713d6097bc1c1fcfc26d799281f77e66167c6f8 100644 (file)
@@ -14,7 +14,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>feature-repo-parent</artifactId>
-    <version>2.0.0</version>
+    <version>2.0.2</version>
     <relativePath/>
   </parent>
 
index 2d72841c16c3fb760d444e110a3f19702e29e2b3..aa616f9be4c0f2ca410fa953264f170b611744a0 100644 (file)
@@ -14,7 +14,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>2.0.0</version>
+        <version>2.0.2</version>
         <relativePath/>
     </parent>
 
index 8471a5cac1a26a469114f17d9ec48d11361d4ba5..a27347498b0974d3294c74bf7b78f2a0e6200b91 100644 (file)
@@ -14,7 +14,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>2.0.0</version>
+        <version>2.0.2</version>
         <relativePath/>
     </parent>
 
index 248e0fdb7e8a987c3e4ad1b4d71e58f8ac2c17c1..85ba13968d14171dcc428699406a1f8e5b4194b8 100644 (file)
@@ -14,7 +14,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>2.0.0</version>
+        <version>2.0.2</version>
         <relativePath/>
     </parent>
 
index a3bc14aa6b274fee3e7f48372d98ecbe722c8595..75918176adf5613d6017653a12468d5b23b2313b 100644 (file)
@@ -14,7 +14,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>2.0.0</version>
+        <version>2.0.2</version>
         <relativePath/>
     </parent>
 
index 347f522bc4dd6656bde6959c9834f928bef0977e..bbfe50adcc1455e537aa75db30dd8110db28d987 100644 (file)
@@ -12,7 +12,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent-lite</artifactId>
-        <version>2.0.0</version>
+        <version>2.0.2</version>
         <relativePath/>
     </parent>
     <artifactId>features-restconf-aggregator</artifactId>
index 2f15bc41c00cf148031f6f2de177ba0b35f025ff..a1ad5d16bd6fe2f681b10385be62ccf81f33a30b 100644 (file)
@@ -15,7 +15,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>feature-repo-parent</artifactId>
-        <version>2.0.0</version>
+        <version>2.0.2</version>
         <relativePath/>
     </parent>
 
index 33458363a4144aae410011d180a98a417b82438b..8827e6879f112efb14169e2ff36970dd707cf089 100644 (file)
@@ -14,7 +14,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>2.0.0</version>
+        <version>2.0.2</version>
         <relativePath/>
     </parent>
 
index 3adc3d450cd505b3d1dd28712820193056316cbf..05c6f0e4b93ee77ed267947edbcc520cfacf39c5 100644 (file)
@@ -11,7 +11,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent-lite</artifactId>
-        <version>2.0.0</version>
+        <version>2.0.2</version>
         <relativePath/>
     </parent>
 
index c835bf1f86eb4f7e7c2d8c8f64de5fba093aa085..fc61081e12544ed433705caa6bbbaba2e2dc386d 100644 (file)
@@ -11,7 +11,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>karaf4-parent</artifactId>
-    <version>2.0.0</version>
+    <version>2.0.2</version>
     <relativePath/>
   </parent>
   <groupId>org.opendaylight.netconf</groupId>
index 474fdc2a2b72ce9dbc1ad6044330134ee2b87e23..265a124027e5bdec2feefebd5ee44fa8436e8bad 100644 (file)
@@ -12,7 +12,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>bundle-parent</artifactId>
-        <version>2.0.0</version>
+        <version>2.0.2</version>
         <relativePath/>
     </parent>
 
index 460d28d0166e6e332c768a2ffb2d04b6464a597f..66edaf3c6ffe19321a15b229aaa5aecee3c77f06 100644 (file)
@@ -12,7 +12,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>bundle-parent</artifactId>
-    <version>2.0.0</version>
+    <version>2.0.2</version>
     <relativePath/>
   </parent>
 
index c9b9e471f6f15544cdb841405aa03c7c08dc5544..6a84259c221646bd389a07b61bfcffdd77a53ba7 100644 (file)
@@ -12,7 +12,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>bundle-parent</artifactId>
-    <version>2.0.0</version>
+    <version>2.0.2</version>
     <relativePath/>
   </parent>
 
index 6604d1e039dd75f7e915d23e573c7b2fe59407c4..44eb9092f33965eaebea923b79e8289670b680c1 100644 (file)
@@ -12,7 +12,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>bundle-parent</artifactId>
-    <version>2.0.0</version>
+    <version>2.0.2</version>
     <relativePath/>
   </parent>
 
index d0acc173f5dbe011cd3535b27054ca520b6a197b..9b170ceb5b969323b9bd1a71d3b8a8fdfc048016 100644 (file)
@@ -11,7 +11,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>bundle-parent</artifactId>
-    <version>2.0.0</version>
+    <version>2.0.2</version>
     <relativePath/>
   </parent>
 
index 6821650c56e250951a761ef4c58fc3949d812cfb..124003e0f702f1b3ff6685a94c4ceba1b425e798 100644 (file)
@@ -11,7 +11,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>bundle-parent</artifactId>
-        <version>2.0.0</version>
+        <version>2.0.2</version>
         <relativePath/>
     </parent>
 
index 5fa24bb544251488d2eda61c058aa00b27ccac57..d4c8673368cd6e98142caed2ad6245bfa7e61027 100644 (file)
@@ -12,7 +12,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>bundle-parent</artifactId>
-    <version>2.0.0</version>
+    <version>2.0.2</version>
     <relativePath/>
   </parent>
 
index bb6779b75b8f5fcf0f9808dbd954d874384322bb..fcfee60d2c3da667cc02872294cc95434e3a2466 100644 (file)
@@ -12,7 +12,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>bundle-parent</artifactId>
-    <version>2.0.0</version>
+    <version>2.0.2</version>
     <relativePath/>
   </parent>
 
index cfefc6d9d815ee0bfde23954ba7e21d27eb45f0d..30cb34fce2364d5e161ac0a3db78fdbb36fc727c 100644 (file)
@@ -12,7 +12,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>bundle-parent</artifactId>
-        <version>2.0.0</version>
+        <version>2.0.2</version>
         <relativePath/>
     </parent>
 
index 09b023b5a1d4a5007a6c72ec702116a2d61dbbaf..341d2c8146683a11d72113685b1f8815922ff214 100644 (file)
@@ -14,7 +14,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>bundle-parent</artifactId>
-        <version>2.0.0</version>
+        <version>2.0.2</version>
         <relativePath/>
     </parent>
 
index f2821827f48eff76dde0ffee22c125e0f6968966..1eb0c49e22c9067c3c6c57e0849701708d76594e 100644 (file)
@@ -12,7 +12,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>bundle-parent</artifactId>
-    <version>2.0.0</version>
+    <version>2.0.2</version>
     <relativePath/>
   </parent>
 
index f3a0c47c5cd98949cf451948e5a1059865b19a2a..683665908eb5e4491c329bcc3d43b4dc7f7ff60d 100644 (file)
@@ -14,7 +14,7 @@
     <parent>
       <groupId>org.opendaylight.odlparent</groupId>
       <artifactId>odlparent-lite</artifactId>
-      <version>2.0.0</version>
+      <version>2.0.2</version>
       <relativePath/>
     </parent>
 
index 5d14571e739b9320a00b7cd83f9e330c2accafe6..bbc5d0360e79bbe2af37a7c6ce487936c660feb9 100644 (file)
@@ -12,7 +12,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>bundle-parent</artifactId>
-        <version>2.0.0</version>
+        <version>2.0.2</version>
         <relativePath/>
     </parent>
 
index 072eeac5b638c931e279caa9a31ad3ba467fd137..7de7fbf6de2f7ff7bd50c2eec83ed9501dcb5f41 100644 (file)
@@ -10,9 +10,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>org.opendaylight.controller</groupId>
-    <artifactId>config-parent</artifactId>
-    <version>0.7.0-SNAPSHOT</version>
+    <groupId>org.opendaylight.odlparent</groupId>
+    <artifactId>bundle-parent</artifactId>
+    <version>2.0.0</version>
     <relativePath/>
   </parent>
 
diff --git a/netconf/netconf-client/src/main/yang/odl-netconf-cfg.yang b/netconf/netconf-client/src/main/yang/odl-netconf-cfg.yang
deleted file mode 100644 (file)
index 21e6242..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-// vi: set smarttab et sw=4 tabstop=4:
-module odl-netconf-cfg {
-
-    yang-version 1;
-    namespace "urn:opendaylight:params:xml:ns:yang:controller:config:netconf";
-    prefix "cfg-net";
-
-    import config { prefix config; revision-date 2013-04-05; }
-
-    description
-        "This module contains the base YANG definitions for
-        netconf related services.
-
-        Copyright (c)2013 Cisco Systems, Inc. All rights reserved.;
-
-        This program and the accompanying materials are made available
-        under the terms of the Eclipse Public License v1.0 which
-        accompanies this distribution, and is available at
-        http://www.eclipse.org/legal/epl-v10.html";
-
-    revision "2014-04-08" {
-        description
-            "Initial revision.";
-    }
-
-    // We keep this as sal-netconf-connector and netconf-topology need it.
-    // Once they will be moved to blueprint, it will be safe to delete all
-    // together the netconf-config-dispatcher bundle.
-    identity netconf-client-dispatcher {
-        base "config:service-type";
-        config:java-class "org.opendaylight.netconf.client.NetconfClientDispatcher";
-        config:disable-osgi-service-registration;
-        status deprecated;
-    }
-}
\ No newline at end of file
index 54be9b255f5c77a0777fe372bf5ff17bb15cdd7c..354e4078c42316f97260bcc878e023cf09fc7d2b 100644 (file)
@@ -12,7 +12,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>bundle-parent</artifactId>
-    <version>2.0.0</version>
+    <version>2.0.2</version>
     <relativePath/>
   </parent>
 
     </dependencies>
   </dependencyManagement>
 
-  <dependencies>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>threadpool-config-impl</artifactId>
-    </dependency>
-  </dependencies>
-
   <build>
     <plugins>
       <plugin>
         <configuration>
           <instructions>
             <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
-            <Embed-Dependency>threadpool-config-impl</Embed-Dependency>
+            <Import-Package>
+              org.opendaylight.controller.config.threadpool.util,
+              org.opendaylight.controller.config.threadpool,
+              *
+            </Import-Package>
           </instructions>
         </configuration>
       </plugin>
index 9c177cfabca968ec1d4d46b5991dfc7f5a0b2ac7..73fe934730797391732bfae412bca0ce0ac5509c 100644 (file)
@@ -13,7 +13,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>bundle-parent</artifactId>
-        <version>2.0.0</version>
+        <version>2.0.2</version>
         <relativePath/>
     </parent>
 
index 8d24a96122ec4b148109a11a8f724a998ac4be7f..2bbc05eed37445cf9c8e24bf23c31525ff2610bf 100644 (file)
@@ -11,7 +11,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html INTERNAL
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>bundle-parent</artifactId>
-    <version>2.0.0</version>
+    <version>2.0.2</version>
     <relativePath/>
   </parent>
 
index 2f91baa60a8e32fac399bb0efa8cbd88bb421982..22f1c5e4835275cbfd33613463085aca998f5991 100644 (file)
@@ -12,7 +12,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>bundle-parent</artifactId>
-    <version>2.0.0</version>
+    <version>2.0.2</version>
     <relativePath/>
   </parent>
 
index 00b6d28ffc10ac0763c2749031ba2b0ebf5b82e6..81d018cfd6bc40bb2ec3644cf134a784315e0e3a 100644 (file)
@@ -12,7 +12,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>bundle-parent</artifactId>
-    <version>2.0.0</version>
+    <version>2.0.2</version>
     <relativePath/>
   </parent>
 
index 2f1be941bf0e6eae51726d5f3336020b5c75577f..21c4a9e4102485f73e6ad7c5909e20875a03de90 100644 (file)
@@ -12,7 +12,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>bundle-parent</artifactId>
-    <version>2.0.0</version>
+    <version>2.0.2</version>
     <relativePath/>
   </parent>
 
index 82d0ee0a1fa974fb865a2f36c0effc6ac0f25cf1..c0338b506144f58e9f53e240ec134e0237c52b6a 100644 (file)
@@ -12,7 +12,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>bundle-parent</artifactId>
-    <version>2.0.0</version>
+    <version>2.0.2</version>
     <relativePath/>
   </parent>
 
index 06a76e71f12e3d2c4f4268e16020e1947529a1a3..f16ebc1abf2ea39c0dea1a6e9a54c53083d940e8 100644 (file)
@@ -15,7 +15,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>bundle-parent</artifactId>
-        <version>2.0.0</version>
+        <version>2.0.2</version>
         <relativePath/>
     </parent>
 
index 4d9e26a0b004043e2c4a69dfb43cbace49bb04ee..1be1d3b3f6bf69cfdfd9554bf0056c64e12b26b0 100644 (file)
@@ -14,7 +14,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>bundle-parent</artifactId>
-        <version>2.0.0</version>
+        <version>2.0.2</version>
         <relativePath/>
     </parent>
 
index 835412f539dbc3f24ee497cd041cf11215c7bb3e..6bdcdded445eb226b29d9512edd8f6b71ea1c090 100644 (file)
@@ -11,7 +11,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>bundle-parent</artifactId>
-    <version>2.0.0</version>
+    <version>2.0.2</version>
     <relativePath/>
   </parent>
 
index f7b6a443d586819943b16c8a8826cdf7ff5c8378..72878b1e6caa13f8cee77235c4cd21783cdcc6c8 100644 (file)
@@ -28,6 +28,10 @@ public class NetconfNorthboundSshServer {
 
     private static final Logger LOG = LoggerFactory.getLogger(NetconfNorthboundSshServer.class);
 
+    private static final String DEFAULT_PRIVATE_KEY_PATH = "./configuration/netconf-mdsal-nb/RSA.pk";
+    private static final String DEFAULT_ALGORITHM = "RSA";
+    private static final int DEFAULT_KEY_SIZE = 4096;
+
     private final ChannelFuture localServer;
     private final SshProxyServer sshProxyServer;
 
@@ -50,7 +54,8 @@ public class NetconfNorthboundSshServer {
         sshProxyServerConfigurationBuilder.setLocalAddress(localAddress);
         sshProxyServerConfigurationBuilder.setAuthenticator(authProvider);
         sshProxyServerConfigurationBuilder.setIdleTimeout(Integer.MAX_VALUE);
-        sshProxyServerConfigurationBuilder.setKeyPairProvider(new PEMGeneratorHostKeyProvider());
+        sshProxyServerConfigurationBuilder.setKeyPairProvider(new PEMGeneratorHostKeyProvider(DEFAULT_PRIVATE_KEY_PATH,
+                DEFAULT_ALGORITHM, DEFAULT_KEY_SIZE));
 
         localServer.addListener(future -> {
             if (future.isDone() && !future.isCancelled()) {
index ab8e22228b63efca2194e2fefdff455b09b98ab1..17af06e796d9eec8ea16fb77d6558c737611a837 100644 (file)
@@ -13,7 +13,6 @@ import io.netty.channel.EventLoopGroup;
 import java.io.IOException;
 import java.nio.channels.AsynchronousChannelGroup;
 import java.util.HashMap;
-import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 import java.util.concurrent.ExecutorService;
@@ -35,9 +34,7 @@ import org.apache.sshd.common.io.nio2.Nio2Acceptor;
 import org.apache.sshd.common.io.nio2.Nio2Connector;
 import org.apache.sshd.common.io.nio2.Nio2ServiceFactoryFactory;
 import org.apache.sshd.common.util.CloseableUtils;
-import org.apache.sshd.server.PasswordAuthenticator;
 import org.apache.sshd.server.ServerFactoryManager;
-import org.apache.sshd.server.session.ServerSession;
 
 /**
  * Proxy SSH server that just delegates decrypted content to a delegate server within same VM.
@@ -67,19 +64,11 @@ public class SshProxyServer implements AutoCloseable {
 
         //remove rc4 ciphers
         final List<NamedFactory<Cipher>> cipherFactories = sshServer.getCipherFactories();
-        for (Iterator<NamedFactory<Cipher>> i = cipherFactories.iterator(); i.hasNext(); ) {
-            final NamedFactory<Cipher> factory = i.next();
-            if (factory.getName().contains(DEFAULT_ARCFOUR128_FACTORY.getName())
-                    || factory.getName().contains(DEFAULT_ARCFOUR256_FACTORY.getName())) {
-                i.remove();
-            }
-        }
-        sshServer.setPasswordAuthenticator(new PasswordAuthenticator() {
-            @Override
-            public boolean authenticate(final String username, final String password, final ServerSession session) {
-                return sshProxyServerConfiguration.getAuthenticator().authenticated(username, password);
-            }
-        });
+        cipherFactories.removeIf(factory -> factory.getName().contains(DEFAULT_ARCFOUR128_FACTORY.getName())
+                || factory.getName().contains(DEFAULT_ARCFOUR256_FACTORY.getName()));
+        sshServer.setPasswordAuthenticator(
+            (username, password, session)
+                -> sshProxyServerConfiguration.getAuthenticator().authenticated(username, password));
 
         sshServer.setKeyPairProvider(sshProxyServerConfiguration.getKeyPairProvider());
 
index f31f7b95b1ed93cb0d81e202ee5b5ab99f5f54da..e498b56e7375e3be20574ee6851c8e0a11970f6a 100644 (file)
@@ -14,7 +14,6 @@ import java.net.InetSocketAddress;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 import java.util.concurrent.ScheduledExecutorService;
-import java.util.concurrent.ThreadFactory;
 import org.apache.sshd.common.util.ThreadUtils;
 import org.apache.sshd.server.keyprovider.PEMGeneratorHostKeyProvider;
 import org.opendaylight.netconf.ssh.SshProxyServer;
@@ -44,12 +43,8 @@ public class NetconfSSHActivator implements BundleActivator {
 
     @Override
     public void start(final BundleContext bundleContext) throws IOException, InvalidSyntaxException {
-        minaTimerExecutor = Executors.newScheduledThreadPool(POOL_SIZE, new ThreadFactory() {
-            @Override
-            public Thread newThread(final Runnable runnable) {
-                return new Thread(runnable, "netconf-ssh-server-mina-timers");
-            }
-        });
+        minaTimerExecutor = Executors.newScheduledThreadPool(POOL_SIZE,
+            runnable -> new Thread(runnable, "netconf-ssh-server-mina-timers"));
         clientGroup = new NioEventLoopGroup();
         nioExecutor = ThreadUtils.newFixedThreadPool("netconf-ssh-server-nio-group", POOL_SIZE);
         server = startSSHServer(bundleContext);
index 3b1a6950280d2722df43f36ff9ca3148b3c3dee9..d9a0756978ecf528f70a449cf8a138c856c208af 100644 (file)
@@ -30,7 +30,6 @@ import org.apache.sshd.server.keyprovider.PEMGeneratorHostKeyProvider;
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
 import org.junit.Test;
-import org.opendaylight.netconf.auth.AuthProvider;
 import org.opendaylight.netconf.netty.EchoClientHandler.State;
 import org.opendaylight.netconf.nettyutil.handler.ssh.authentication.LoginPassword;
 import org.opendaylight.netconf.nettyutil.handler.ssh.client.AsyncSshHandler;
@@ -75,13 +74,9 @@ public class SSHTest {
         final SshProxyServer sshProxyServer = new SshProxyServer(minaTimerEx, nettyGroup, nioExec);
         sshProxyServer.bind(new SshProxyServerConfigurationBuilder()
                 .setBindingAddress(addr).setLocalAddress(NetconfConfiguration.NETCONF_LOCAL_ADDRESS)
-                .setAuthenticator(new AuthProvider() {
-                        @Override
-                        public boolean authenticated(final String username, final String password) {
-                            return true;
-                        }
-                })
-                .setKeyPairProvider(new PEMGeneratorHostKeyProvider(sshKeyPair.toPath().toAbsolutePath().toString()))
+                .setAuthenticator((username, password) -> true)
+                .setKeyPairProvider(new PEMGeneratorHostKeyProvider(sshKeyPair.toPath().toAbsolutePath().toString(),
+                        "RSA", 4096))
                 .setIdleTimeout(Integer.MAX_VALUE).createSshProxyServerConfiguration());
 
         final EchoClientHandler echoClientHandler = connectClient(addr);
index 7af4598997cc6254906f387fa7d809f8c0092ee0..1d31f6b77a8064ad57da00bbf143ae7d35fc7c29 100644 (file)
@@ -30,7 +30,6 @@ import org.junit.Before;
 import org.junit.Test;
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
-import org.opendaylight.netconf.auth.AuthProvider;
 import org.opendaylight.netconf.ssh.SshProxyServer;
 import org.opendaylight.netconf.ssh.SshProxyServerConfigurationBuilder;
 import org.opendaylight.netconf.util.osgi.NetconfConfiguration;
@@ -74,13 +73,9 @@ public class SSHServerTest {
         server = new SshProxyServer(minaTimerEx, clientGroup, nioExec);
         server.bind(new SshProxyServerConfigurationBuilder()
                 .setBindingAddress(addr).setLocalAddress(NetconfConfiguration.NETCONF_LOCAL_ADDRESS)
-                .setAuthenticator(new AuthProvider() {
-                    @Override
-                    public boolean authenticated(final String username, final String password) {
-                        return true;
-                    }
-                })
-                .setKeyPairProvider(new PEMGeneratorHostKeyProvider(sshKeyPair.toPath().toAbsolutePath().toString()))
+                .setAuthenticator((username, password) -> true)
+                .setKeyPairProvider(new PEMGeneratorHostKeyProvider(sshKeyPair.toPath().toAbsolutePath().toString(),
+                        "RSA", 4096))
                 .setIdleTimeout(Integer.MAX_VALUE).createSshProxyServerConfiguration());
         LOG.info("SSH server started on {}", PORT);
     }
index f692e9677a61280ee95440109ba23b670b9a3ea0..73e1b285e68649f780ce77988e50db25388a31f7 100644 (file)
@@ -12,7 +12,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>bundle-parent</artifactId>
-    <version>2.0.0</version>
+    <version>2.0.2</version>
     <relativePath/>
   </parent>
 
index 094de7d9079298091a43e5b86ab65bfcb482e2de..bd063fe2e272ad25c8724958a6876c5358abfb31 100644 (file)
@@ -14,7 +14,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>bundle-parent</artifactId>
-        <version>2.0.0</version>
+        <version>2.0.2</version>
         <relativePath/>
     </parent>
 
index d0397d8463f2bff4e5b7b3c81a07104565a80648..4014443859b3a697654ad6848ae593cf44fd0dcf 100644 (file)
             <groupId>org.opendaylight.controller</groupId>
             <artifactId>sal-clustering-commons</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.opendaylight.controller</groupId>
+            <artifactId>threadpool-config-api</artifactId>
+        </dependency>
         <dependency>
             <groupId>org.opendaylight.mdsal</groupId>
             <artifactId>mdsal-singleton-common-api</artifactId>
index eea834bd9e89b785cb92721f1bb6fe99d4ef3f6b..aa3d9a3d49576699c68901f0c08de77dac904c4e 100644 (file)
@@ -6,7 +6,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>bundle-parent</artifactId>
-        <version>2.0.0</version>
+        <version>2.0.2</version>
         <relativePath/>
     </parent>
 
index b2373fc1e91c91bf3981b028ebfc9b64cc131e86..0dfafb837c2e511bbc84a28e49b0b8f6b02a526e 100644 (file)
@@ -12,7 +12,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>bundle-parent</artifactId>
-    <version>2.0.0</version>
+    <version>2.0.2</version>
     <relativePath/>
   </parent>
 
index 9fc35b7d28075bdccea23d2413d91d17e2c0ffed..2330254ac916e1674c2ff8fcbc3b2dabf63ae8cf 100644 (file)
@@ -13,7 +13,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>odlparent-lite</artifactId>
-    <version>2.0.0</version>
+    <version>2.0.2</version>
     <relativePath/>
   </parent>
 
index fb52fbb0c2c87b800c6d80fa1717a9659fd378e9..87e88e669fbf8561ea20da83eee33b0cef8f51ff 100644 (file)
@@ -9,9 +9,9 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <parent>
-    <groupId>org.opendaylight.controller</groupId>
-    <artifactId>config-parent</artifactId>
-    <version>0.7.0-SNAPSHOT</version>
+    <groupId>org.opendaylight.mdsal</groupId>
+    <artifactId>binding-parent</artifactId>
+    <version>0.11.0-SNAPSHOT</version>
     <relativePath/>
   </parent>
 
 
   <dependencyManagement>
     <dependencies>
+      <dependency>
+        <groupId>org.opendaylight.controller</groupId>
+        <artifactId>mdsal-artifacts</artifactId>
+        <version>1.6.0-SNAPSHOT</version>
+        <type>pom</type>
+        <scope>import</scope>
+      </dependency>
       <dependency>
         <groupId>org.opendaylight.netconf</groupId>
         <artifactId>netconf-artifacts</artifactId>
       <groupId>${project.groupId}</groupId>
       <artifactId>netconf-notifications-api</artifactId>
     </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>netty-config-api</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>netty-threadgroup-config</artifactId>
-    </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal-binding-api</artifactId>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal-binding-config</artifactId>
     </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>threadpool-config-api</artifactId>
-    </dependency>
     <dependency>
       <groupId>org.opendaylight.controller.model</groupId>
       <artifactId>model-inventory</artifactId>
       <groupId>xmlunit</groupId>
       <artifactId>xmlunit</artifactId>
     </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>config-api</artifactId>
-      <scope>provided</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>config-manager</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>config-manager</artifactId>
-      <type>test-jar</type>
-      <scope>test</scope>
-    </dependency>
     <dependency>
       <groupId>${project.groupId}</groupId>
       <artifactId>config-netconf-connector</artifactId>
       <scope>test</scope>
     </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>config-persister-impl</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>config-util</artifactId>
-    </dependency>
     <dependency>
       <groupId>${project.groupId}</groupId>
       <artifactId>netconf-impl</artifactId>
       <type>test-jar</type>
       <scope>test</scope>
     </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>yang-test</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>logback-config</artifactId>
-      <scope>test</scope>
-    </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal-binding-broker-impl</artifactId>
diff --git a/netconf/sal-netconf-connector/src/main/java/org/opendaylight/controller/config/yang/md/sal/connector/netconf/NetconfConnectorModule.java b/netconf/sal-netconf-connector/src/main/java/org/opendaylight/controller/config/yang/md/sal/connector/netconf/NetconfConnectorModule.java
deleted file mode 100644 (file)
index 34f2cbe..0000000
+++ /dev/null
@@ -1,215 +0,0 @@
-/*
- * Copyright (c) 2014 Cisco Systems, Inc. and others.  All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * 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.controller.config.yang.md.sal.connector.netconf;
-
-import static org.opendaylight.controller.config.api.JmxAttributeValidationException.checkCondition;
-import static org.opendaylight.controller.config.api.JmxAttributeValidationException.checkNotNull;
-
-import com.google.common.util.concurrent.CheckedFuture;
-import com.google.common.util.concurrent.FutureCallback;
-import com.google.common.util.concurrent.Futures;
-import javax.annotation.Nullable;
-import org.opendaylight.controller.md.sal.binding.api.DataBroker;
-import org.opendaylight.controller.md.sal.binding.api.WriteTransaction;
-import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
-import org.opendaylight.controller.md.sal.common.api.data.TransactionCommitFailedException;
-import org.opendaylight.controller.sal.binding.api.BindingAwareBroker;
-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;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.netconf.node.credentials.credentials.LoginPasswordBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.netconf.schema.storage.YangLibrary;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.netconf.schema.storage.YangLibraryBuilder;
-import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NetworkTopology;
-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.TopologyId;
-import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.Topology;
-import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.TopologyKey;
-import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node;
-import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.NodeBuilder;
-import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.NodeKey;
-import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Instead of using loopback (controller-config mount point) to create your netconf-connector,
- * you should use the network-topology capability.
- *
- * <p>
- * Follow instructions provided in this
- * <a href="https://wiki.opendaylight.org/view/OpenDaylight_Controller:Config:Examples:Netconf#Spawning_netconf_connectors_via_topology_configuration">wiki</a>.
- *
- * <p>
- * Deprecation notice in Carbon, removal planned for Nitrogen.
- */
-@Deprecated
-public final class NetconfConnectorModule
-        extends org.opendaylight.controller.config.yang.md.sal.connector.netconf.AbstractNetconfConnectorModule
-        implements BindingAwareConsumer {
-    private static final Logger LOG = LoggerFactory.getLogger(NetconfConnectorModule.class);
-
-    private static final InstanceIdentifier<Topology> TOPOLOGY_PATH = InstanceIdentifier.create(NetworkTopology.class)
-            .child(Topology.class, new TopologyKey(new TopologyId("topology-netconf")));
-    private final String instanceName;
-    private InstanceIdentifier<Node> nodePath;
-    private DataBroker dataBroker;
-
-    public NetconfConnectorModule(final org.opendaylight.controller.config.api.ModuleIdentifier identifier,
-                                  final org.opendaylight.controller.config.api.DependencyResolver dependencyResolver) {
-        super(identifier, dependencyResolver);
-        instanceName = identifier.getInstanceName();
-    }
-
-    public NetconfConnectorModule(final org.opendaylight.controller.config.api.ModuleIdentifier identifier,
-                                  final org.opendaylight.controller.config.api.DependencyResolver dependencyResolver,
-                                  final NetconfConnectorModule oldModule, final java.lang.AutoCloseable oldInstance) {
-        super(identifier, dependencyResolver, oldModule, oldInstance);
-        instanceName = identifier.getInstanceName();
-    }
-
-    @Override
-    protected void customValidation() {
-        checkNotNull(getAddress(), addressJmxAttribute);
-        checkCondition(isHostAddressPresent(getAddress()), "Host address not present in " + getAddress(),
-                addressJmxAttribute);
-        checkNotNull(getPort(), portJmxAttribute);
-
-        checkNotNull(getConnectionTimeoutMillis(), connectionTimeoutMillisJmxAttribute);
-        checkCondition(getConnectionTimeoutMillis() > 0, "must be > 0", connectionTimeoutMillisJmxAttribute);
-
-        checkNotNull(getDefaultRequestTimeoutMillis(), defaultRequestTimeoutMillisJmxAttribute);
-        checkCondition(getDefaultRequestTimeoutMillis() > 0, "must be > 0", defaultRequestTimeoutMillisJmxAttribute);
-
-        checkNotNull(getBetweenAttemptsTimeoutMillis(), betweenAttemptsTimeoutMillisJmxAttribute);
-        checkCondition(getBetweenAttemptsTimeoutMillis() > 0, "must be > 0", betweenAttemptsTimeoutMillisJmxAttribute);
-
-        // Check username + password in case of ssh
-        if (!getTcpOnly()) {
-            checkNotNull(getUsername(), usernameJmxAttribute);
-            checkNotNull(getPassword(), passwordJmxAttribute);
-        }
-    }
-
-    private static boolean isHostAddressPresent(final Host address) {
-        return address.getDomainName() != null || address.getIpAddress() != null
-                && (address.getIpAddress().getIpv4Address() != null || address.getIpAddress().getIpv6Address() != null);
-    }
-
-    @Override
-    public java.lang.AutoCloseable createInstance() {
-        getBindingRegistryDependency().registerConsumer(this);
-        return this::deleteNode;
-    }
-
-    @Override
-    public void onSessionInitialized(final BindingAwareBroker.ConsumerContext session) {
-        dataBroker = session.getSALService(DataBroker.class);
-        final WriteTransaction transaction = dataBroker.newWriteOnlyTransaction();
-        final NodeId nodeId = new NodeId(instanceName);
-        final NodeKey nodeKey = new NodeKey(nodeId);
-        final Node node = createNetconfNode(nodeId, nodeKey);
-        nodePath = TOPOLOGY_PATH.child(Node.class, nodeKey);
-        transaction.put(LogicalDatastoreType.CONFIGURATION, nodePath, node);
-        final CheckedFuture<Void, TransactionCommitFailedException> submitFuture = transaction.submit();
-        Futures.addCallback(submitFuture, new FutureCallback<Void>() {
-            @Override
-            public void onSuccess(@Nullable final Void result) {
-                LOG.debug("Node {} was successfully added to the topology", instanceName);
-            }
-
-            @Override
-            public void onFailure(final Throwable throwable) {
-                LOG.error("Node {} creation failed: {}", instanceName, throwable);
-            }
-        });
-    }
-
-    private void deleteNode() {
-        if (dataBroker != null) {
-            final WriteTransaction transaction = dataBroker.newWriteOnlyTransaction();
-            transaction.delete(LogicalDatastoreType.CONFIGURATION, nodePath);
-            final CheckedFuture<Void, TransactionCommitFailedException> submitFuture = transaction.submit();
-            Futures.addCallback(submitFuture, new FutureCallback<Void>() {
-                @Override
-                public void onSuccess(@Nullable final Void result) {
-                    LOG.debug("Node {} was successfully deleted from the topology", instanceName);
-                }
-
-                @Override
-                public void onFailure(final Throwable throwable) {
-                    LOG.error("Node {} deletion failed: {}", instanceName, throwable);
-                }
-            });
-
-        }
-    }
-
-    private Node createNetconfNode(final NodeId nodeId, final NodeKey nodeKey) {
-        final Credentials credentials = new LoginPasswordBuilder()
-                .setUsername(getUsername())
-                .setPassword(getPassword())
-                .build();
-
-        YangModuleCapabilities moduleCapabilities = null;
-        if (getYangModuleCapabilities() != null) {
-            moduleCapabilities = new YangModuleCapabilitiesBuilder()
-                    .setOverride(getYangModuleCapabilities().getOverride())
-                    .setCapability(getYangModuleCapabilities().getCapability())
-                    .build();
-        }
-
-        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()
-                    .setYangLibraryUrl(getYangLibrary().getYangLibraryUrl())
-                    .setUsername(getYangLibrary().getUsername())
-                    .setPassword(getYangLibrary().getPassword())
-                    .build();
-        } else {
-            yangLibrary = null;
-        }
-        final NetconfNode netconfNode = new NetconfNodeBuilder()
-                .setHost(getAddress())
-                .setPort(getPort())
-                .setCredentials(credentials)
-                .setConnectionTimeoutMillis(getConnectionTimeoutMillis())
-                .setDefaultRequestTimeoutMillis(getDefaultRequestTimeoutMillis())
-                .setBetweenAttemptsTimeoutMillis(getBetweenAttemptsTimeoutMillis())
-                .setConcurrentRpcLimit(getConcurrentRpcLimit())
-                .setKeepaliveDelay(getKeepaliveDelay())
-                .setMaxConnectionAttempts(getMaxConnectionAttempts())
-                .setReconnectOnChangedSchema(getReconnectOnChangedSchema())
-                .setSchemaCacheDirectory(getSchemaCacheDirectory())
-                .setSleepFactor(getSleepFactor())
-                .setTcpOnly(getTcpOnly())
-                .setYangModuleCapabilities(moduleCapabilities)
-                .setNonModuleCapabilities(nonModuleCapabilities)
-                .setYangLibrary(yangLibrary)
-                .build();
-        return new NodeBuilder()
-                .setNodeId(nodeId)
-                .setKey(nodeKey)
-                .addAugmentation(NetconfNode.class, netconfNode)
-                .build();
-    }
-}
diff --git a/netconf/sal-netconf-connector/src/main/java/org/opendaylight/controller/config/yang/md/sal/connector/netconf/NetconfConnectorModuleFactory.java b/netconf/sal-netconf-connector/src/main/java/org/opendaylight/controller/config/yang/md/sal/connector/netconf/NetconfConnectorModuleFactory.java
deleted file mode 100644 (file)
index 0e5bb46..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Copyright (c) 2014 Cisco Systems, Inc. and others.  All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * 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.controller.config.yang.md.sal.connector.netconf;
-
-import org.opendaylight.controller.config.api.DependencyResolver;
-import org.opendaylight.controller.config.api.DynamicMBeanWithInstance;
-import org.opendaylight.controller.config.spi.Module;
-import org.osgi.framework.BundleContext;
-
-@Deprecated
-public class NetconfConnectorModuleFactory extends
-        org.opendaylight.controller.config.yang.md.sal.connector.netconf.AbstractNetconfConnectorModuleFactory {
-
-    @Override
-    public Module createModule(final String instanceName, final DependencyResolver dependencyResolver,
-            final DynamicMBeanWithInstance old, final BundleContext bundleContext) throws Exception {
-        final NetconfConnectorModule module =
-                (NetconfConnectorModule) super.createModule(instanceName, dependencyResolver, old, bundleContext);
-        return module;
-    }
-
-    @Override
-    public Module createModule(final String instanceName, final DependencyResolver dependencyResolver,
-                               final BundleContext bundleContext) {
-        final NetconfConnectorModule module =
-                (NetconfConnectorModule) super.createModule(instanceName, dependencyResolver, bundleContext);
-        return module;
-    }
-}
diff --git a/netconf/sal-netconf-connector/src/main/yang/odl-sal-netconf-connector-cfg.yang b/netconf/sal-netconf-connector/src/main/yang/odl-sal-netconf-connector-cfg.yang
deleted file mode 100644 (file)
index ec5f31c..0000000
+++ /dev/null
@@ -1,239 +0,0 @@
-module odl-sal-netconf-connector-cfg {
-    yang-version 1;
-    namespace "urn:opendaylight:params:xml:ns:yang:controller:md:sal:connector:netconf";
-    prefix "sal-netconf";
-
-    import config { prefix config; revision-date 2013-04-05; }
-    import threadpool {prefix th;}
-    import netty {prefix netty;}
-    import opendaylight-md-sal-dom {prefix dom;}
-    import opendaylight-md-sal-binding {prefix md-sal-binding; revision-date 2013-10-28;}
-    import odl-netconf-cfg { prefix cfg-net; revision-date 2014-04-08; }
-    import ietf-inet-types {prefix inet; revision-date "2013-07-15";}
-
-    description
-        "Config definition for Netconf Connector modules";
-
-    revision "2015-08-03" {
-        description
-            "Non-mandatory keepalive executor";
-    }
-
-    revision "2013-10-28" {
-        description
-            "Initial revision";
-    }
-
-    identity sal-netconf-connector {
-        base config:module-type;
-        config:java-name-prefix NetconfConnector;
-        status deprecated;
-    }
-
-    grouping server {
-        leaf address {
-            type string;
-        }
-
-        leaf port {
-            type uint32;
-        }
-    }
-
-    augment "/config:modules/config:module/config:configuration" {
-        status deprecated;
-        case sal-netconf-connector {
-            when "/config:modules/config:module/config:type = 'sal-netconf-connector'";
-
-            leaf address {
-                type inet:host;
-            }
-
-            leaf port {
-                type inet:port-number;
-            }
-
-            leaf tcp-only {
-                type boolean;
-            }
-
-            leaf username {
-                type string;
-            }
-
-            leaf password {
-                type string;
-            }
-
-            leaf concurrent-rpc-limit {
-                type uint16;
-                default 0;
-                description "Limit of concurrent messages that can be send before reply messages are received.
-                             If value less than 1 is provided, no limit will be enforced";
-            }
-
-            leaf schema-cache-directory {
-                type string;
-                default "schema";
-                description "The destination schema repository for yang files relative to the cache directory.  This may be specified per netconf mount
-                             so that the loaded yang files are stored to a distinct directory to avoid potential conflict.";
-            }
-
-            container yang-module-capabilities {
-                leaf override {
-                    type boolean;
-                    default false;
-                    description "Whether to override or merge this list of capabilities with capabilities from device";
-                }
-
-                leaf-list capability {
-                    type string;
-                    description "Set a list of capabilities to override capabilities provided in device's hello message.
-                                 Can be used for devices that do not report any yang modules in their hello message";
-                }
-            }
-
-            container non-module-capabilities {
-                leaf override {
-                    type boolean;
-                    default false;
-                    description "Whether to override or merge this list of non-module based capabilities with non-module
-                                 based capabilities from device";
-                }
-
-                leaf-list capability {
-                    type string;
-                    description "Set a list of non-module based capabilities to override or merge non-module capabilities
-                                 provided in device's hello message. Can be used for devices that do not report or
-                                 incorrectly report non-module based capabilities in their hello message";
-                }
-            }
-
-            leaf reconnect-on-changed-schema {
-                type boolean;
-                default false;
-                description "If true, the connector would auto disconnect/reconnect when schemas are changed in the remote device.
-                             The connector subscribes (right after connect) to base netconf notifications and listens for netconf-capability-change notification";
-            }
-
-            container dom-registry {
-                uses config:service-ref {
-                    refine type {
-                        mandatory false;
-                        config:required-identity dom:dom-broker-osgi-registry;
-                    }
-                }
-            }
-
-            container binding-registry {
-                uses config:service-ref {
-                    refine type {
-                        mandatory true;
-                        config:required-identity md-sal-binding:binding-broker-osgi-registry;
-                    }
-                }
-            }
-
-            container event-executor {
-                uses config:service-ref {
-                    refine type {
-                        mandatory true;
-                        config:required-identity netty:netty-event-executor;
-                    }
-                }
-            }
-
-            container processing-executor {
-                uses config:service-ref {
-                    refine type {
-                        mandatory true;
-                        config:required-identity th:threadpool;
-                    }
-                }
-
-                description "Makes up for flaws in netty threading design";
-            }
-
-            container client-dispatcher {
-                uses config:service-ref {
-                    refine type {
-                        mandatory false;
-                        config:required-identity cfg-net:netconf-client-dispatcher;
-                    }
-                }
-            }
-
-            leaf connection-timeout-millis {
-                description "Specifies timeout in milliseconds after which connection must be established.";
-                type uint32;
-                default 20000;
-            }
-
-            leaf default-request-timeout-millis {
-                description "Timeout for blocking operations within transactions.";
-                type uint32;
-                default 60000;
-            }
-
-            leaf max-connection-attempts {
-                description "Maximum number of connection retries. Non positive value or null is interpreted as infinity.";
-                type uint32;
-                default 0; // retry forever
-            }
-
-            leaf between-attempts-timeout-millis {
-                description "Initial timeout in milliseconds to wait between connection attempts. Will be multiplied by sleep-factor with every additional attempt";
-                type uint16;
-                default 2000;
-            }
-
-            leaf sleep-factor {
-                type decimal64 {
-                    fraction-digits 1;
-                }
-                default 1.5;
-            }
-
-            // Keepalive configuration
-            leaf keepalive-delay {
-                type uint32;
-                default 120;
-                description "Netconf connector sends keepalive RPCs while the session is idle, this delay specifies the delay between keepalive RPC in seconds
-                             If a value less than 1 is provided, no keepalives will be sent";
-            }
-
-            container keepalive-executor {
-                uses config:service-ref {
-                    refine type {
-                        mandatory false;
-                        config:required-identity th:scheduled-threadpool;
-                    }
-                    refine name {
-                        mandatory false;
-                    }
-                }
-
-                description "Dedicated solely to keepalive execution";
-            }
-
-            container yang-library {
-                leaf yang-library-url {
-                    config true;
-                    type inet:uri;
-                    description "Yang library to be plugged as additional source provider into the shared schema repository";
-                }
-
-                // credentials for basic http authentication for get request for yanglib data
-                leaf username {
-                    config true;
-                    type string;
-                }
-
-                leaf password {
-                    config true;
-                    type string;
-                }
-            }
-        }
-    }
-}
diff --git a/netconf/sal-netconf-connector/src/test/java/org/opendaylight/controller/config/yang/md/sal/connector/netconf/NetconfConnectorModuleTest.java b/netconf/sal-netconf-connector/src/test/java/org/opendaylight/controller/config/yang/md/sal/connector/netconf/NetconfConnectorModuleTest.java
deleted file mode 100644 (file)
index 9e918b6..0000000
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * Copyright (c) 2016 Cisco Systems, Inc. and others.  All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * 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.controller.config.yang.md.sal.connector.netconf;
-
-import static org.mockito.Matchers.eq;
-import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
-
-import com.google.common.util.concurrent.Futures;
-import java.lang.reflect.Field;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
-import org.mockito.ArgumentCaptor;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-import org.opendaylight.controller.config.api.DependencyResolver;
-import org.opendaylight.controller.config.api.ModuleIdentifier;
-import org.opendaylight.controller.md.sal.binding.api.DataBroker;
-import org.opendaylight.controller.md.sal.binding.api.WriteTransaction;
-import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
-import org.opendaylight.controller.sal.binding.api.BindingAwareBroker;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.DomainName;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Host;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.PortNumber;
-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.netconf.node.credentials.credentials.LoginPassword;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.netconf.node.credentials.credentials.LoginPasswordBuilder;
-import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NetworkTopology;
-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.TopologyId;
-import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.Topology;
-import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.TopologyKey;
-import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node;
-import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.NodeKey;
-import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-import org.opendaylight.yangtools.yang.binding.KeyedInstanceIdentifier;
-
-public class NetconfConnectorModuleTest {
-
-    private static final String MODULE_NAME = "module-name";
-    private static final Host HOST = new Host(new DomainName("localhost"));
-    private static final PortNumber PORT = new PortNumber(17830);
-    private static final Boolean TCP_ONLY = Boolean.FALSE;
-    private static final LoginPassword LOGIN_PASSWORD = new LoginPasswordBuilder()
-            .setUsername("admin")
-            .setPassword("admin")
-            .build();
-    @Mock
-    private DependencyResolver resolver;
-    @Mock
-    private BindingAwareBroker bindingRegistry;
-    @Mock
-    private BindingAwareBroker.ConsumerContext session;
-    @Mock
-    private DataBroker dataBroker;
-    @Mock
-    private WriteTransaction transaction;
-    private NetconfConnectorModule module;
-
-    @Before
-    public void setUp() throws Exception {
-        MockitoAnnotations.initMocks(this);
-        module = new NetconfConnectorModule(new ModuleIdentifier("factory", MODULE_NAME), resolver);
-        setViaReflection(module, "bindingRegistryDependency", bindingRegistry);
-        setViaReflection(module, "address", HOST);
-        setViaReflection(module, "port", PORT);
-        setViaReflection(module, "tcpOnly", TCP_ONLY);
-        setViaReflection(module, "username", LOGIN_PASSWORD.getUsername());
-        setViaReflection(module, "password", LOGIN_PASSWORD.getPassword());
-        doReturn(dataBroker).when(session).getSALService(DataBroker.class);
-        doReturn(transaction).when(dataBroker).newWriteOnlyTransaction();
-        doReturn(Futures.immediateCheckedFuture(null)).when(transaction).submit();
-        module.customValidation();
-    }
-
-    @Test
-    public void onSessionInitialized() throws Exception {
-        final AutoCloseable instance = module.createInstance();
-        verify(bindingRegistry).registerConsumer(module);
-        final NodeId nodeId = new NodeId(MODULE_NAME);
-        final KeyedInstanceIdentifier<Node, NodeKey> id = InstanceIdentifier.create(NetworkTopology.class)
-                .child(Topology.class, new TopologyKey(new TopologyId("topology-netconf")))
-                .child(Node.class, new NodeKey(nodeId));
-        //when session is initialized, topology node should be created
-        module.onSessionInitialized(session);
-        final ArgumentCaptor<Node> createdNodeCaptor = ArgumentCaptor.forClass(Node.class);
-        verify(transaction).put(eq(LogicalDatastoreType.CONFIGURATION), eq(id), createdNodeCaptor.capture());
-        verifyNode(nodeId, createdNodeCaptor.getValue());
-        //node should be deleted on close
-        instance.close();
-        verify(transaction).delete(LogicalDatastoreType.CONFIGURATION, id);
-        verify(transaction, times(2)).submit();
-    }
-
-    private static void verifyNode(final NodeId nodeId, final Node node) {
-        Assert.assertEquals(nodeId, node.getNodeId());
-        final NetconfNode netconfNode = node.getAugmentation(NetconfNode.class);
-        Assert.assertEquals(HOST, netconfNode.getHost());
-        Assert.assertEquals(PORT, netconfNode.getPort());
-        Assert.assertEquals(LOGIN_PASSWORD, netconfNode.getCredentials());
-        Assert.assertEquals(TCP_ONLY, netconfNode.isTcpOnly());
-    }
-
-    private static void setViaReflection(final Object object, final String fieldName, final Object value) {
-        try {
-            final Field field = AbstractNetconfConnectorModule.class.getDeclaredField(fieldName);
-            field.setAccessible(true);
-            field.set(object, value);
-        } catch (NoSuchFieldException | IllegalAccessException e) {
-            Assert.fail("Failed to set field via reflection: " + fieldName);
-        }
-    }
-
-}
\ No newline at end of file
index dbc8194a66e8551dff9035b6f44bffa526a66b8e..0d855c4ed6c17db0a11f1ff66e0cc207efbdac81 100644 (file)
@@ -12,7 +12,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>odlparent</artifactId>
-    <version>2.0.0</version>
+    <version>2.0.2</version>
     <relativePath/>
   </parent>
 
index 4f87747e56ca9d3d230229526975c8c5e5eb58bd..bd79b357a402ebdb81a00002c2ef672811e0c843 100644 (file)
@@ -14,7 +14,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent</artifactId>
-        <version>2.0.0</version>
+        <version>2.0.2</version>
         <relativePath/>
     </parent>
 
index 6e01531dc775cd5dc2a5b6fb1be1f9b592c7ac9f..53ca53ab70ab4eabfdeeb8011d80e6119c31c87b 100644 (file)
@@ -43,7 +43,6 @@ import org.opendaylight.controller.config.util.capability.Capability;
 import org.opendaylight.controller.config.util.capability.YangModuleCapability;
 import org.opendaylight.netconf.api.monitoring.NetconfMonitoringService;
 import org.opendaylight.netconf.api.xml.XmlNetconfConstants;
-import org.opendaylight.netconf.auth.AuthProvider;
 import org.opendaylight.netconf.impl.NetconfServerDispatcherImpl;
 import org.opendaylight.netconf.impl.NetconfServerSessionNegotiatorFactory;
 import org.opendaylight.netconf.impl.SessionIdProvider;
@@ -263,12 +262,7 @@ public class NetconfDeviceSimulator implements Closeable {
         return new SshProxyServerConfigurationBuilder()
                 .setBindingAddress(bindingAddress)
                 .setLocalAddress(tcpLocalAddress)
-                .setAuthenticator(new AuthProvider() {
-                    @Override
-                    public boolean authenticated(final String username, final String password) {
-                        return true;
-                    }
-                })
+                .setAuthenticator((username, password) -> true)
                 .setKeyPairProvider(keyPairProvider)
                 .setIdleTimeout(Integer.MAX_VALUE)
                 .createSshProxyServerConfiguration();
@@ -277,7 +271,7 @@ public class NetconfDeviceSimulator implements Closeable {
     private PEMGeneratorHostKeyProvider getPemGeneratorHostKeyProvider() {
         try {
             final Path tempFile = Files.createTempFile("tempKeyNetconfTest", "suffix");
-            return new PEMGeneratorHostKeyProvider(tempFile.toAbsolutePath().toString());
+            return new PEMGeneratorHostKeyProvider(tempFile.toAbsolutePath().toString(), "RSA", 4096);
         } catch (final IOException e) {
             LOG.error("Unable to generate PEM key", e);
             throw new RuntimeException(e);
diff --git a/pom.xml b/pom.xml
index 8b0d4e8b6d55344ed1fe7460ed6d367976b43c6d..ea293fce3ffb8e510b565bedcf170f21b3c695f4 100644 (file)
--- a/pom.xml
+++ b/pom.xml
@@ -12,7 +12,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent-lite</artifactId>
-        <version>2.0.0</version>
+        <version>2.0.2</version>
         <relativePath/>
     </parent>
 
index 41e8c67a623d4ce34be6e927f420e5c0a27f1083..12b9479b7e06e21c62874d01536105d801b3abeb 100644 (file)
@@ -12,7 +12,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent-lite</artifactId>
-        <version>2.0.0</version>
+        <version>2.0.2</version>
         <relativePath/>
     </parent>
 
index b7519ecb674320cd7e77934700336cba1c6a3ea8..12a98fcbea11f225fa8cd4647440985de75af349 100644 (file)
@@ -15,7 +15,7 @@
     <parent>
       <groupId>org.opendaylight.odlparent</groupId>
       <artifactId>odlparent-lite</artifactId>
-      <version>2.0.0</version>
+      <version>2.0.2</version>
       <relativePath/>
     </parent>
 
index e91ede353a73cd88e34869028c42532a3074ee60..1348bb983b6100a88a40d4981c2f2352f8470ecf 100644 (file)
@@ -12,7 +12,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>odlparent-lite</artifactId>
-    <version>2.0.0</version>
+    <version>2.0.2</version>
     <relativePath/>
   </parent>
 
index d21a7d252b2db1e6f8dc63bd8bd8a24920c9be78..33a8d20e19e62bf8dd77a6a12f1173e0fc3198fd 100644 (file)
@@ -12,7 +12,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent</artifactId>
-        <version>2.0.0</version>
+        <version>2.0.2</version>
         <relativePath/>
     </parent>
 
index 1037f0f06bd78724c67d6148852509482a5aea55..a123804d27dcbb52ef522b3f1812e11b7e039431 100644 (file)
@@ -11,7 +11,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>bundle-parent</artifactId>
-    <version>2.0.0</version>
+    <version>2.0.2</version>
     <relativePath/>
   </parent>
 
index 5149200a091064f75b2f169527c3ee053c1edbd6..ca6cb577a2542be75448f56926640bcffec8ec16 100644 (file)
@@ -12,7 +12,6 @@ import static org.opendaylight.netconf.sal.rest.doc.util.RestDocgenUtil.resolveN
 import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.node.ArrayNode;
 import com.fasterxml.jackson.databind.node.JsonNodeFactory;
-import com.fasterxml.jackson.databind.node.NullNode;
 import com.fasterxml.jackson.databind.node.ObjectNode;
 import com.fasterxml.jackson.databind.node.TextNode;
 import com.mifmif.common.regex.Generex;
@@ -110,7 +109,8 @@ public class ModelGenerator {
     public ObjectNode convertToJsonSchema(final Module module,
                                           final SchemaContext schemaContext) throws IOException {
         final ObjectNode models = JsonNodeFactory.instance.objectNode();
-        models.put(UNIQUE_EMPTY_IDENTIFIER, NullNode.getInstance());
+        final ObjectNode emptyIdentifier = JsonNodeFactory.instance.objectNode();
+        models.put(UNIQUE_EMPTY_IDENTIFIER, emptyIdentifier);
         topLevelModule = module;
         processModules(module, models, schemaContext);
         processContainersAndLists(module, models, schemaContext);