Bump upstream versions 30/101630/7
authorRobert Varga <robert.varga@pantheon.tech>
Mon, 27 Jun 2022 09:13:41 +0000 (11:13 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Mon, 4 Jul 2022 20:19:36 +0000 (22:19 +0200)
Adopt:
- odlparent-11.0.0
- infrautils-4.0.0
- yangtools-9.0.0
- mdsal-10.0.0
- controller-6.0.0
- aaa-0.16.0-SNAPSHOT

Change-Id: I2541823f98942f6cf03331416a57777539dfb9f8
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
110 files changed:
artifacts/pom.xml
features/netconf-connector/features-netconf-connector/pom.xml
features/netconf-connector/odl-netconf-connector/src/main/feature/feature.xml
features/netconf-connector/pom.xml
features/netconf/features-netconf-testing/pom.xml
features/netconf/features-netconf/pom.xml
features/netconf/odl-aaa-netconf-plugin-no-cluster/src/main/feature/feature.xml
features/netconf/odl-aaa-netconf-plugin/src/main/feature/feature.xml
features/netconf/odl-netconf-api/src/main/feature/feature.xml
features/netconf/odl-netconf-client/src/main/feature/feature.xml
features/netconf/odl-netconf-impl/src/main/feature/feature.xml
features/netconf/odl-netconf-netty-util/src/main/feature/feature.xml
features/netconf/odl-netconf-notifications-impl/src/main/feature/feature.xml
features/netconf/odl-netconf-util/src/main/feature/feature.xml
features/netconf/pom.xml
features/parent/pom.xml
features/pom.xml
features/restconf/features-restconf/pom.xml
features/restconf/odl-mdsal-apidocs/src/main/feature/feature.xml
features/restconf/odl-restconf-common/src/main/feature/feature.xml
features/restconf/odl-restconf-nb-rfc8040/src/main/feature/feature.xml
features/restconf/pom.xml
features/yanglib/features-yanglib/pom.xml
features/yanglib/odl-yanglib/src/main/feature/feature.xml
features/yanglib/pom.xml
karaf-static/pom.xml
karaf/pom.xml
netconf/callhome-provider/src/main/java/org/opendaylight/netconf/callhome/mount/IetfZeroTouchCallHomeServerProvider.java
netconf/callhome-provider/src/test/java/org/opendaylight/netconf/callhome/mount/ContextKeyTest.java
netconf/mdsal-netconf-connector/src/main/java/org/opendaylight/netconf/mdsal/connector/CurrentSchemaContext.java
netconf/mdsal-netconf-connector/src/main/java/org/opendaylight/netconf/mdsal/connector/MdsalNetconfOperationServiceFactory.java
netconf/mdsal-netconf-connector/src/main/java/org/opendaylight/netconf/mdsal/connector/ops/CopyConfig.java
netconf/mdsal-netconf-connector/src/main/java/org/opendaylight/netconf/mdsal/connector/ops/RuntimeRpc.java
netconf/mdsal-netconf-connector/src/main/java/org/opendaylight/netconf/mdsal/connector/ops/get/AbstractGet.java
netconf/mdsal-netconf-connector/src/main/java/org/opendaylight/netconf/mdsal/connector/ops/get/FilterContentValidator.java
netconf/mdsal-netconf-notification/src/test/java/org/opendaylight/netconf/mdsal/notification/impl/NetconfNotificationManagerTest.java
netconf/mdsal-netconf-notification/src/test/java/org/opendaylight/netconf/mdsal/notification/impl/SessionNotificationProducerTest.java
netconf/mdsal-netconf-notification/src/test/java/org/opendaylight/netconf/mdsal/notification/impl/ops/NotificationsTransformUtilTest.java
netconf/mdsal-netconf-ssh/src/main/java/org/opendaylight/netconf/ssh/NetconfNorthboundSshServer.java
netconf/mdsal-netconf-tcp/src/main/java/org/opendaylight/netconf/tcp/NetconfNorthboundTcpServer.java
netconf/mdsal-netconf-yang-library/pom.xml
netconf/mdsal-netconf-yang-library/src/main/java/org/opendaylight/netconf/mdsal/yang/library/YangLibraryWriter.java
netconf/mdsal-netconf-yang-library/src/test/java/org/opendaylight/netconf/mdsal/yang/library/ModulesStateTest.java
netconf/mdsal-netconf-yang-library/src/test/java/org/opendaylight/netconf/mdsal/yang/library/YangLibraryTest.java
netconf/models/ietf-netconf-nmda/src/main/java/org/opendaylight/yang/gen/v1/urn/ietf/params/xml/ns/yang/ietf/netconf/nmda/rev190107/GetDataInputMaxDepthBuilder.java
netconf/models/pom.xml
netconf/netconf-config/pom.xml
netconf/netconf-console/src/test/java/org/opendaylight/netconf/console/impl/NetconfCommandsImplTest.java
netconf/netconf-impl/src/main/java/org/opendaylight/netconf/impl/NetconfServerSession.java
netconf/netconf-impl/src/main/java/org/opendaylight/netconf/impl/osgi/NetconfCapabilityMonitoringService.java
netconf/netconf-impl/src/test/java/org/opendaylight/netconf/impl/NetconfServerSessionTest.java
netconf/netconf-impl/src/test/java/org/opendaylight/netconf/impl/osgi/NetconfSessionMonitoringServiceTest.java
netconf/netconf-netty-util/src/main/java/org/opendaylight/netconf/nettyutil/AbstractNetconfSession.java
netconf/netconf-topology-impl/src/main/java/org/opendaylight/netconf/topology/impl/NetconfConnectorFactoryImpl.java
netconf/netconf-topology-singleton/src/main/java/org/opendaylight/netconf/topology/singleton/impl/MasterSalFacade.java
netconf/netconf-topology-singleton/src/test/java/org/opendaylight/netconf/topology/singleton/impl/MountPointEndToEndTest.java
netconf/netconf-topology-singleton/src/test/java/org/opendaylight/netconf/topology/singleton/impl/NetconfNodeActorTest.java
netconf/netconf-topology-singleton/src/test/java/org/opendaylight/netconf/topology/singleton/impl/NetconfNodeManagerTest.java
netconf/pom.xml
netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/DeviceSources.java
netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/LibraryModulesSchemas.java
netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/NetconfDevice.java
netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/NetconfStateSchemas.java
netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/sal/NetconfDeviceNotificationService.java
netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/schema/NetconfRemoteSchemaYangSourceProvider.java
netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/schema/mapping/BaseNetconfSchemas.java
netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/util/RemoteDeviceId.java
netconf/sal-netconf-connector/src/test/java/org/opendaylight/netconf/sal/connect/netconf/LibraryModulesSchemasTest.java
netconf/sal-netconf-connector/src/test/java/org/opendaylight/netconf/sal/connect/netconf/NetconfDeviceTest.java
netconf/sal-netconf-connector/src/test/java/org/opendaylight/netconf/sal/connect/netconf/schema/NetconfRemoteSchemaYangSourceProviderTest.java
netconf/sal-netconf-connector/src/test/java/org/opendaylight/netconf/sal/connect/netconf/schema/YangLibrarySchemaYangSourceProviderTest.java
netconf/shaded-exificient-jar/pom.xml
netconf/shaded-exificient/pom.xml
netconf/shaded-sshd-jar/pom.xml
netconf/shaded-sshd/pom.xml
netconf/tools/netconf-test-perf/pom.xml
netconf/tools/netconf-testtool/pom.xml
netconf/tools/netconf-testtool/src/main/java/org/opendaylight/netconf/test/tool/DummyMonitoringService.java
netconf/tools/netconf-testtool/src/main/java/org/opendaylight/netconf/test/tool/Execution.java
netconf/tools/netconf-testtool/src/main/java/org/opendaylight/netconf/test/tool/Main.java
netconf/tools/netconf-testtool/src/main/java/org/opendaylight/netconf/test/tool/NetconfDeviceSimulator.java
netconf/tools/netconf-testtool/src/main/java/org/opendaylight/netconf/test/tool/PayloadCreator.java
netconf/tools/netconf-testtool/src/main/java/org/opendaylight/netconf/test/tool/ScaleUtil.java
netconf/tools/netconf-testtool/src/main/java/org/opendaylight/netconf/test/tool/client/stress/AsyncExecutionStrategy.java
netconf/tools/netconf-testtool/src/main/java/org/opendaylight/netconf/test/tool/client/stress/StressClient.java
netconf/tools/netconf-testtool/src/main/java/org/opendaylight/netconf/test/tool/client/stress/StressClientCallable.java
netconf/tools/netconf-testtool/src/main/java/org/opendaylight/netconf/test/tool/client/stress/SyncExecutionStrategy.java
netconf/tools/netconf-testtool/src/main/java/org/opendaylight/netconf/test/tool/monitoring/JaxBSerializer.java
netconf/tools/netconf-testtool/src/main/java/org/opendaylight/netconf/test/tool/monitoring/MonitoringSchema.java
netconf/tools/netconf-testtool/src/main/java/org/opendaylight/netconf/test/tool/monitoring/MonitoringSession.java
netconf/tools/netconf-testtool/src/main/java/org/opendaylight/netconf/test/tool/schemacache/SchemaSourceCache.java
netconf/tools/pom.xml
netconf/yanglib/src/main/java/org/opendaylight/yanglib/impl/WebInitializer.java
netconf/yanglib/src/main/java/org/opendaylight/yanglib/impl/YangLibProvider.java
netconf/yanglib/src/test/java/org/opendaylight/yanglib/impl/YangLibProviderTest.java
parent/pom.xml
pom.xml
restconf/pom.xml
restconf/restconf-common/pom.xml
restconf/restconf-common/src/main/java/org/opendaylight/restconf/common/util/AbstractOperationsModule.java
restconf/restconf-models/pom.xml
restconf/restconf-nb-rfc8040/pom.xml
restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/handlers/SchemaContextHandler.java
restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/jersey/providers/YangSchemaExportBodyWriter.java
restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/jersey/providers/patch/JsonPatchBodyReader.java
restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/rests/services/impl/CreateStreamUtil.java
restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/web/WebInitializer.java
restconf/sal-rest-connector-config/pom.xml
restconf/sal-rest-docgen/src/main/java/org/opendaylight/netconf/sal/rest/doc/jaxrs/WebInitializer.java
restconf/wadl-generator/src/main/java/org/opendaylight/netconf/restconf/wadl/generator/WadlTemplate.java

index 579479d0b9213ac8c907f9eeae51a6b08fc0dfd2..40735ecaa706dacf25f089fa368ef673f2d89532 100644 (file)
@@ -14,7 +14,7 @@
     <parent>
       <groupId>org.opendaylight.odlparent</groupId>
       <artifactId>odlparent-lite</artifactId>
-      <version>10.0.2</version>
+      <version>11.0.0</version>
       <relativePath/>
     </parent>
 
index b53e335e827e36d41d38b3b0f99090aebff81240..d27446cfbb2491b70e33e23cf027911c2d61f3f0 100644 (file)
@@ -12,7 +12,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>feature-repo-parent</artifactId>
-    <version>10.0.2</version>
+    <version>11.0.0</version>
     <relativePath/>
   </parent>
 
index f565b54ce21fd4b4543a82f6857aed71633d7d4c..9a0862db59b129ec344b598aab1713722a1f2fac 100644 (file)
@@ -8,8 +8,8 @@
   -->
 <features xmlns="http://karaf.apache.org/xmlns/features/v1.4.0" name="odl-netconf-${project.version}">
     <feature name="odl-netconf-connector" version="${project.version}">
-        <feature version="[9,10)">odl-mdsal-model-draft-clemm-netmod-yang-network-topo-01-minimal</feature>
-        <feature version="[5,6)">odl-mdsal-broker</feature>
-        <feature version="[0.15,1)">odl-aaa-encryption-service</feature>
+        <feature version="[10,11)">odl-mdsal-model-draft-clemm-netmod-yang-network-topo-01-minimal</feature>
+        <feature version="[6,7)">odl-mdsal-broker</feature>
+        <feature version="[0.16,1)">odl-aaa-encryption-service</feature>
     </feature>
 </features>
index 578dcdfa6eb4548807927df23b4a60c389b8b00d..532f3808c7d3d97ac49421e9d5dd72a4d3399e3b 100644 (file)
@@ -11,7 +11,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent-lite</artifactId>
-        <version>10.0.2</version>
+        <version>11.0.0</version>
         <relativePath/>
     </parent>
 
index 1e578fd7de5f1e1522bafc54c2093a8835157bb6..9a29a1f95723c01cdbec58abdf21541658994f04 100644 (file)
@@ -12,7 +12,7 @@
   <parent>
       <groupId>org.opendaylight.odlparent</groupId>
       <artifactId>feature-repo-parent</artifactId>
-      <version>10.0.2</version>
+      <version>11.0.0</version>
       <relativePath/>
   </parent>
 
index afe5dac501ca0249520f4935c914548696c615fa..42bb4e00151e80588dba1824f2fcb4a1482d630d 100644 (file)
@@ -12,7 +12,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>feature-repo-parent</artifactId>
-    <version>10.0.2</version>
+    <version>11.0.0</version>
     <relativePath/>
   </parent>
 
index d7d146821bfa90fdae9b3cf7e2e649aa7ae29fb3..9345a76b88dab3d676af27f111f5f2262115b5ec 100644 (file)
@@ -7,6 +7,6 @@
  -->
 <features xmlns="http://karaf.apache.org/xmlns/features/v1.4.0" name="odl-aaa-netconf-plugin-no-cluster">
     <feature name="odl-aaa-netconf-plugin-no-cluster">
-        <feature version="[0.15,1)">odl-aaa-shiro</feature>
+        <feature version="[0.16,1)">odl-aaa-shiro</feature>
     </feature>
 </features>
index bcc78644b46d8615f5dae2b565b919edc5ee0c09..cd3ca70937fa54393ee009b81af2f8ad4a9ec960 100644 (file)
@@ -7,6 +7,6 @@
  -->
 <features xmlns="http://karaf.apache.org/xmlns/features/v1.4.0" name="odl-aaa-netconf-plugin">
     <feature name="odl-aaa-netconf-plugin">
-        <feature version="[0.15,1)">odl-aaa-shiro</feature>
+        <feature version="[0.16,1)">odl-aaa-shiro</feature>
     </feature>
 </features>
index 8123c421da9554008d8143fe559cd3a68df4531a..786b687a70f08c4b165c71c83f2fbda039d8a61c 100644 (file)
@@ -8,9 +8,9 @@
   -->
 <features xmlns="http://karaf.apache.org/xmlns/features/v1.4.0" name="odl-netconf-${project.version}">
     <feature name="odl-netconf-api" version="${project.version}">
-        <feature version="[10,11)">odl-netty-4</feature>
-        <feature version="[8,9)">odl-yangtools-parser-api</feature>
-        <feature version="[9,10)">odl-mdsal-model-rfc8525</feature>
-        <feature version="[9,10)">odl-mdsal-model-rfc8342</feature>
+        <feature version="[11,12)">odl-netty-4</feature>
+        <feature version="[9,10)">odl-yangtools-parser-api</feature>
+        <feature version="[10,11)">odl-mdsal-model-rfc8525</feature>
+        <feature version="[10,11)">odl-mdsal-model-rfc8342</feature>
     </feature>
 </features>
index 24626f7747f7c05b157a13e8c2ca72526116420f..cc61a746a286f4076ad94fddb6a0b60106b4da6f 100644 (file)
@@ -8,6 +8,6 @@
   -->
 <features xmlns="http://karaf.apache.org/xmlns/features/v1.4.0" name="odl-netconf-client-${project.version}">
     <feature name="odl-netconf-client" version="${project.version}">
-        <feature version="[5,6)">odl-controller-exp-netty-config</feature>
+        <feature version="[6,7)">odl-controller-exp-netty-config</feature>
     </feature>
 </features>
index 079d313ac3f1ff04fc92709433791bcbe530309b..6879fa02cfbdef3272d40703a6610e3e08028976 100644 (file)
@@ -8,6 +8,6 @@
   -->
 <features xmlns="http://karaf.apache.org/xmlns/features/v1.4.0" name="odl-netconf-impl-${project.version}">
     <feature name="odl-netconf-impl" version="${project.version}">
-        <feature version="[5,6)">odl-controller-exp-netty-config</feature>
+        <feature version="[6,7)">odl-controller-exp-netty-config</feature>
     </feature>
 </features>
index 820474f2d369f4d2961afe51add2ae94970eb078..eaaeaddbda580df46bb0e54d8ce7f615b7987bf5 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <features xmlns="http://karaf.apache.org/xmlns/features/v1.2.0" name="odl-netconf-netty-util-${project.version}">
     <feature name="odl-netconf-netty-util" version="${project.version}">
-        <feature version="[10,11)">odl-netty-4</feature>
-        <feature version="[0.15,1)">odl-aaa-encryption-service</feature>
+        <feature version="[11,12)">odl-netty-4</feature>
+        <feature version="[0.16,1)">odl-aaa-encryption-service</feature>
     </feature>
 </features>
index f1c196c69c36b9051404f9bae65286111ae413ce..1cfadb90f3fb79eef2c6520b869e78a0554a311b 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <features xmlns="http://karaf.apache.org/xmlns/features/v1.2.0" name="odl-netconf-notifications-impl-${project.version}">
     <feature name="odl-netconf-notifications-impl" version="${project.version}">
-        <feature version="[9,10)">odl-mdsal-binding-runtime</feature>
+        <feature version="[10,11)">odl-mdsal-binding-runtime</feature>
     </feature>
 </features>
index dbd89fba65eb7941724a6ace7b18b847f4fd4e0c..1360892d2a24385e47da5df412bd5c2c9ca36ff0 100644 (file)
@@ -11,6 +11,6 @@
         <configfile finalname="etc/netconf.cfg">
             mvn:org.opendaylight.netconf/netconf-util/${project.version}/cfg/config
         </configfile>
-        <feature version="[8,9)">odl-yangtools-codec</feature>
+        <feature version="[9,10)">odl-yangtools-codec</feature>
     </feature>
 </features>
index 80bcb12bc0b89c84c0804b3310fd654dd3789d8b..a2afd4c9e8743147c43e014ef579432e4daf8d0e 100644 (file)
@@ -11,7 +11,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>odlparent-lite</artifactId>
-    <version>10.0.2</version>
+    <version>11.0.0</version>
     <relativePath/>
   </parent>
 
index 391b70663d1b0d2c1879174f42a8233515c5eab9..3bee6d6ba860ec3287f2b82b67e1ea4c78e42036 100644 (file)
@@ -12,7 +12,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>10.0.2</version>
+        <version>11.0.0</version>
         <relativePath/>
     </parent>
 
index c187a773485aeff88eb0c27dd41bdcfddcfc079f..93d56dfbab0406b7af923078b8b32c3b8333ebd5 100644 (file)
@@ -11,7 +11,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>odlparent-lite</artifactId>
-    <version>10.0.2</version>
+    <version>11.0.0</version>
     <relativePath/>
   </parent>
 
index f00e3f7304c2efd86328d432a83ab37dd5bdcf1a..67d09380b8bb2aefc33fc94aed7b5f2c5935504a 100644 (file)
@@ -12,7 +12,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>feature-repo-parent</artifactId>
-    <version>10.0.2</version>
+    <version>11.0.0</version>
     <relativePath/>
   </parent>
 
index 8ecc61262b2e6125af3c4c05d004a1714e8c045d..decd7c3c9bc5ef2a36094e2655e44b99103b1cec 100644 (file)
@@ -8,6 +8,6 @@
   -->
 <features xmlns="http://karaf.apache.org/xmlns/features/v1.4.0" name="odl-netconf-${project.version}">
     <feature name="odl-mdsal-apidocs" version="${project.version}">
-        <feature version="[10,11)">odl-jackson-2.13</feature>
+        <feature version="[11,12)">odl-jackson-2.13</feature>
     </feature>
 </features>
index db2a6470feaa92dfb41260c5748e88384172151f..db506a9076312aad7c1de80f516c0890245844d4 100644 (file)
@@ -8,11 +8,11 @@
   -->
 <features xmlns="http://karaf.apache.org/xmlns/features/v1.4.0" name="odl-netconf-${project.version}">
     <feature name="odl-restconf-common" version="${project.version}">
-        <feature version="[10,11)">odl-karaf-feat-jetty</feature>
-        <feature version="[8,9)">odl-yangtools-export</feature>
-        <feature version="[9,10)">odl-mdsal-model-rfc8040</feature>
-        <feature version="[9,10)">odl-mdsal-model-rfc8525</feature>
-        <feature version="[5,6)">odl-mdsal-broker</feature>
-        <feature version="[0.15,1)">odl-aaa-shiro</feature>
+        <feature version="[11,12)">odl-karaf-feat-jetty</feature>
+        <feature version="[9,10)">odl-yangtools-export</feature>
+        <feature version="[10,11)">odl-mdsal-model-rfc8040</feature>
+        <feature version="[10,11)">odl-mdsal-model-rfc8525</feature>
+        <feature version="[6,7)">odl-mdsal-broker</feature>
+        <feature version="[0.16,1)">odl-aaa-shiro</feature>
     </feature>
 </features>
index 6cf0fa9d65ac021c951a7d72fa3aac147bff713f..0eb58dd191c7a98d433eb0a3f2fd5a477a091ee9 100644 (file)
@@ -8,8 +8,8 @@
   -->
 <features xmlns="http://karaf.apache.org/xmlns/features/v1.4.0" name="odl-restconf-nb-rfc8040-${project.version}">
     <feature name="odl-restconf-nb-rfc8040" version="${project.version}">
-        <feature version="[9,10)">odl-mdsal-model-rfc8072</feature>
-        <feature version="[5,6)">odl-controller-exp-netty-config</feature>
+        <feature version="[10,11)">odl-mdsal-model-rfc8072</feature>
+        <feature version="[6,7)">odl-controller-exp-netty-config</feature>
         <configfile finalname="etc/org.opendaylight.restconf.nb.rfc8040.cfg">
             mvn:org.opendaylight.netconf/restconf-nb-rfc8040/${project.version}/cfg/config
         </configfile>
index 64eba9444f4ee12009253237d15f9daf7a90b07f..6227c4002dbbcea3d26988cb32573c71b031688c 100644 (file)
@@ -11,7 +11,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent-lite</artifactId>
-        <version>10.0.2</version>
+        <version>11.0.0</version>
         <relativePath/>
     </parent>
 
index aa7b33ffee612906de385a11e421cf0dfede13f9..709b15d170cea02dc08d96da3ce9cfe9d6497b98 100644 (file)
@@ -13,7 +13,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>feature-repo-parent</artifactId>
-        <version>10.0.2</version>
+        <version>11.0.0</version>
         <relativePath/>
     </parent>
 
index 246a253956c19d0b61115cb99c26a8fdc57685c6..48b5b3f8d7a6378f42dd784809601a743efb817a 100644 (file)
@@ -8,7 +8,7 @@
   -->
 <features xmlns="http://karaf.apache.org/xmlns/features/v1.4.0" name="odl-netconf-${project.version}">
     <feature name="odl-yanglib" version="${project.version}">
-        <feature version="[10,11)">odl-karaf-feat-jetty</feature>
-        <feature version="[9,10)">odl-mdsal-model-rfc8525</feature>
+        <feature version="[11,12)">odl-karaf-feat-jetty</feature>
+        <feature version="[10,11)">odl-mdsal-model-rfc8525</feature>
     </feature>
 </features>
index 0fec13b615c70f6b2d8b0008058f6d3e1f47f9d6..17d87220de7d9c719d23c75e63bb70ebb71c4bc7 100644 (file)
@@ -11,7 +11,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent-lite</artifactId>
-        <version>10.0.2</version>
+        <version>11.0.0</version>
         <relativePath/>
     </parent>
 
index 1e10f203a8180f2a1953d8add0ba41d44f25a5a7..3953862e6b9c2b3bf23ce503b0bc13bcd2acd798 100644 (file)
@@ -11,7 +11,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>karaf-dist-static</artifactId>
-        <version>10.0.2</version>
+        <version>11.0.0</version>
         <relativePath/>
     </parent>
 
index aa62a6c37defea5a87e5b2a4ebd5877e5257fb21..f0de601be3400ae755e0771f0a7df11ae0186875 100644 (file)
@@ -11,7 +11,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>karaf4-parent</artifactId>
-    <version>10.0.2</version>
+    <version>11.0.0</version>
     <relativePath/>
   </parent>
   <groupId>org.opendaylight.netconf</groupId>
@@ -24,7 +24,7 @@
       <dependency>
         <groupId>org.opendaylight.controller</groupId>
         <artifactId>controller-artifacts</artifactId>
-        <version>5.0.4</version>
+        <version>6.0.0</version>
         <type>pom</type>
         <scope>import</scope>
       </dependency>
@@ -40,7 +40,7 @@
       <dependency>
         <groupId>org.opendaylight.infrautils</groupId>
         <artifactId>infrautils-artifacts</artifactId>
-        <version>3.0.1</version>
+        <version>4.0.0</version>
         <type>pom</type>
         <scope>import</scope>
       </dependency>
index d8a2c36e4fba2d282704e49443e99e9d0d88c6c6..1bf3100a60072d3935d35fd915dbd9764b6ffeba 100644 (file)
@@ -15,8 +15,8 @@ import io.netty.channel.nio.NioEventLoopGroup;
 import java.io.IOException;
 import java.net.InetSocketAddress;
 import java.util.Collection;
-import java.util.Collections;
 import java.util.HashSet;
+import java.util.Map;
 import java.util.Optional;
 import java.util.Set;
 import java.util.concurrent.ExecutionException;
@@ -74,8 +74,8 @@ public class IetfZeroTouchCallHomeServerProvider implements AutoCloseable, DataT
             final CallHomeMountDispatcher mountDispacher) {
         this.dataBroker = dataBroker;
         this.mountDispacher = mountDispacher;
-        this.authProvider = new CallHomeAuthProviderImpl(dataBroker);
-        this.statusReporter = new CallhomeStatusReporter(dataBroker);
+        authProvider = new CallHomeAuthProviderImpl(dataBroker);
+        statusReporter = new CallhomeStatusReporter(dataBroker);
     }
 
     public void init() {
@@ -108,7 +108,7 @@ public class IetfZeroTouchCallHomeServerProvider implements AutoCloseable, DataT
 
     private void initializeServer() throws IOException {
         LOG.info("Initializing Call Home server instance");
-        CallHomeAuthorizationProvider provider = this.getCallHomeAuthorization();
+        CallHomeAuthorizationProvider provider = getCallHomeAuthorization();
         NetconfCallHomeServerBuilder builder = new NetconfCallHomeServerBuilder(provider, mountDispacher,
                                                                                 statusReporter);
         if (port > 0) {
@@ -124,8 +124,8 @@ public class IetfZeroTouchCallHomeServerProvider implements AutoCloseable, DataT
     @VisibleForTesting
     void assertValid(final Object obj, final String description) {
         if (obj == null) {
-            throw new RuntimeException(
-                    String.format("Failed to find %s in IetfZeroTouchCallHomeProvider.initialize()", description));
+            throw new IllegalStateException(
+                "Failed to find " + description + " in IetfZeroTouchCallHomeProvider.initialize()");
         }
     }
 
@@ -135,7 +135,7 @@ public class IetfZeroTouchCallHomeServerProvider implements AutoCloseable, DataT
         statusReporter.close();
 
         // FIXME unbind the server
-        if (this.listenerReg != null) {
+        if (listenerReg != null) {
             listenerReg.close();
         }
         if (server != null) {
@@ -208,7 +208,7 @@ public class IetfZeroTouchCallHomeServerProvider implements AutoCloseable, DataT
 
     private static Collection<Device> getReadDevices(final ListenableFuture<Optional<AllowedDevices>> devicesFuture)
             throws InterruptedException, ExecutionException {
-        return devicesFuture.get().map(AllowedDevices::nonnullDevice).orElse(Collections.emptyMap()).values();
+        return devicesFuture.get().map(AllowedDevices::nonnullDevice).orElse(Map.of()).values();
     }
 
     private void readAndUpdateStatus(final Device cfgDevice) throws InterruptedException, ExecutionException {
index 09fc7e1ab405317f4dee96eec4f73dfe32ca173a..ca863ebd502318a2983db3fc363d8e93cb57c8a6 100644 (file)
@@ -5,7 +5,6 @@
  * 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 static org.junit.Assert.assertFalse;
@@ -24,7 +23,7 @@ import org.junit.Test;
 import org.opendaylight.netconf.client.NetconfClientSession;
 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.IpAddress;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddressBuilder;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address;
 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.yangtools.yang.common.Uint16;
@@ -46,8 +45,8 @@ public class ContextKeyTest {
 
     @Before
     public void setup() {
-        address1 = IpAddressBuilder.getDefaultInstance("1.2.3.4");
-        address2 = IpAddressBuilder.getDefaultInstance("5.6.7.8");
+        address1 = new IpAddress(new Ipv4Address("1.2.3.4"));
+        address2 = new IpAddress(new Ipv4Address("5.6.7.8"));
 
         port1 = new PortNumber(Uint16.valueOf(123));
         port2 = new PortNumber(Uint16.valueOf(456));
index d20a9032251863e132deaa79d6c58d330d303fdf..c46dfb51d90b6bcf0b5c899e35ad7df74999a896 100644 (file)
@@ -17,7 +17,7 @@ import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.mdsal.dom.api.DOMSchemaService;
 import org.opendaylight.netconf.api.capability.Capability;
 import org.opendaylight.netconf.api.monitoring.CapabilityListener;
-import org.opendaylight.yangtools.concepts.ListenerRegistration;
+import org.opendaylight.yangtools.concepts.Registration;
 import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext;
 import org.opendaylight.yangtools.yang.model.api.EffectiveModelContextListener;
 import org.opendaylight.yangtools.yang.model.repo.api.YangTextSchemaSource;
@@ -27,10 +27,11 @@ import org.opendaylight.yangtools.yang.model.repo.spi.SchemaSourceProvider;
 @SuppressWarnings("checkstyle:FinalClass")
 public class CurrentSchemaContext implements EffectiveModelContextListener, AutoCloseable {
     private final AtomicReference<EffectiveModelContext> currentContext = new AtomicReference<>();
-    private ListenerRegistration<?> schemaContextListenerListenerRegistration;
     private final Set<CapabilityListener> listeners1 = Collections.synchronizedSet(new HashSet<>());
     private final SchemaSourceProvider<YangTextSchemaSource> rootSchemaSourceProvider;
 
+    private Registration schemaContextListenerListenerRegistration;
+
     private CurrentSchemaContext(final SchemaSourceProvider<YangTextSchemaSource> rootSchemaSourceProvider) {
         this.rootSchemaSourceProvider = rootSchemaSourceProvider;
     }
@@ -39,13 +40,12 @@ public class CurrentSchemaContext implements EffectiveModelContextListener, Auto
     public static CurrentSchemaContext create(final DOMSchemaService schemaService,
                          final SchemaSourceProvider<YangTextSchemaSource> rootSchemaSourceProvider) {
         var context = new CurrentSchemaContext(rootSchemaSourceProvider);
-        final ListenerRegistration<EffectiveModelContextListener> registration =
-                schemaService.registerSchemaContextListener(context);
+        final Registration registration = schemaService.registerSchemaContextListener(context);
         context.setRegistration(registration);
         return context;
     }
 
-    private void setRegistration(ListenerRegistration<EffectiveModelContextListener> registration) {
+    private void setRegistration(final Registration registration) {
         schemaContextListenerListenerRegistration = registration;
     }
 
index 61e571fe54bde918e0fae5633e9c2dcb29bc7054..d8b5ad86d30be2e5644421ae9774ff3f6d41c8b4 100644 (file)
@@ -30,11 +30,11 @@ import org.opendaylight.netconf.api.capability.YangModuleCapability;
 import org.opendaylight.netconf.api.monitoring.CapabilityListener;
 import org.opendaylight.netconf.mapping.api.NetconfOperationServiceFactory;
 import org.opendaylight.netconf.mapping.api.NetconfOperationServiceFactoryListener;
+import org.opendaylight.yangtools.yang.common.Revision;
 import org.opendaylight.yangtools.yang.model.api.Module;
 import org.opendaylight.yangtools.yang.model.api.ModuleLike;
 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
 import org.opendaylight.yangtools.yang.model.api.Submodule;
-import org.opendaylight.yangtools.yang.model.repo.api.RevisionSourceIdentifier;
 import org.opendaylight.yangtools.yang.model.repo.api.SourceIdentifier;
 import org.opendaylight.yangtools.yang.model.repo.api.YangTextSchemaSource;
 import org.opendaylight.yangtools.yang.model.repo.spi.SchemaSourceProvider;
@@ -63,9 +63,9 @@ public final class MdsalNetconfOperationServiceFactory implements NetconfOperati
         this.dataBroker = dataBroker;
         this.rpcService = rpcService;
 
-        this.rootSchemaSourceProviderDependency = schemaService.getExtensions()
+        rootSchemaSourceProviderDependency = schemaService.getExtensions()
                 .getInstance(DOMYangTextSourceProvider.class);
-        this.currentSchemaContext = CurrentSchemaContext.create(requireNonNull(schemaService),
+        currentSchemaContext = CurrentSchemaContext.create(requireNonNull(schemaService),
                 rootSchemaSourceProviderDependency);
         this.netconfOperationServiceFactoryListener = netconfOperationServiceFactoryListener;
     }
@@ -135,8 +135,8 @@ public final class MdsalNetconfOperationServiceFactory implements NetconfOperati
 
     private static Optional<YangModuleCapability> moduleToCapability(final ModuleLike module,
             final SchemaSourceProvider<YangTextSchemaSource> rootSchemaSourceProviderDependency) {
-        final SourceIdentifier moduleSourceIdentifier = RevisionSourceIdentifier.create(module.getName(),
-                module.getRevision());
+        final SourceIdentifier moduleSourceIdentifier = new SourceIdentifier(module.getName(),
+                module.getRevision().map(Revision::toString).orElse(null));
 
         InputStream sourceStream = null;
         String source;
index f4b0ec29350ad6136d1416265038666a6deec3fe..501116572e387a4aacba1e3f62b9b6d0996822d5 100644 (file)
@@ -202,7 +202,8 @@ public final class CopyConfig extends AbstractEdit {
             nnWriter.flush();
             xmlWriter.flush();
         } catch (XMLStreamException | IOException e) {
-            throw new RuntimeException(e);
+            // FIXME: throw DocumentedException
+            throw new IllegalStateException(e);
         }
         return result.getNode();
     }
index 5a80e167bc0ec8cf8d1b208c1f81e9051b8d4780..cfa079b08b0ea6026d510e9b81aaf0f5d721a2f4 100644 (file)
@@ -216,6 +216,7 @@ public class RuntimeRpc extends AbstractSingletonNetconfOperation {
             nnStreamWriter.close();
             xmlWriter.close();
         } catch (IOException | XMLStreamException e) {
+            // FIXME: throw DocumentedException
             LOG.warn("Error while closing streams", e);
         }
 
@@ -226,7 +227,7 @@ public class RuntimeRpc extends AbstractSingletonNetconfOperation {
         try {
             return XML_OUTPUT_FACTORY.createXMLStreamWriter(result);
         } catch (final XMLStreamException e) {
-            throw new RuntimeException(e);
+            throw new IllegalStateException(e);
         }
     }
 
@@ -237,7 +238,8 @@ public class RuntimeRpc extends AbstractSingletonNetconfOperation {
             nnWriter.flush();
             xmlWriter.flush();
         } catch (XMLStreamException | IOException e) {
-            throw new RuntimeException(e);
+            // FIXME: throw DocumentedException
+            throw new IllegalStateException(e);
         }
     }
 
index c3bc2765c9c3900b30ac82dc3d53d83226c892cb..0d243f67ceb6d28392f3d6f5c44875b6d79fff40 100644 (file)
@@ -73,7 +73,8 @@ abstract class AbstractGet extends AbstractSingletonNetconfOperation {
                 write(nnStreamWriter, currentContext, dataRoot.coerceParent(), data);
             }
         } catch (IOException e) {
-            throw new RuntimeException(e);
+            // FIXME: throw DocumentedException
+            throw new IllegalStateException(e);
         }
 
         return result.getNode();
@@ -104,7 +105,8 @@ abstract class AbstractGet extends AbstractSingletonNetconfOperation {
         try {
             return XML_OUTPUT_FACTORY.createXMLStreamWriter(result);
         } catch (final XMLStreamException e) {
-            throw new RuntimeException(e);
+            // FIXME: throw DocumentedException
+            throw new IllegalStateException(e);
         }
     }
 
index 03f1ace3d700f3ab30f1a31c4e3baec30c37cf0a..61a2a10825c71597b801490456af9fe91d9315de 100644 (file)
@@ -74,7 +74,8 @@ public class FilterContentValidator {
         try {
             namespace = XMLNamespace.of(filterContent.getNamespace());
         } catch (final IllegalArgumentException e) {
-            throw new RuntimeException("Wrong namespace in element + " + filterContent.toString(), e);
+            // FIXME: throw DocumentedException
+            throw new IllegalArgumentException("Wrong namespace in element + " + filterContent.toString(), e);
         }
 
         try {
@@ -123,8 +124,7 @@ public class FilterContentValidator {
      */
     private FilterTree validateNode(final XmlElement element, final DataSchemaNode parentNodeSchema,
                                     final FilterTree tree) throws ValidationException {
-        final List<XmlElement> childElements = element.getChildElements();
-        for (final XmlElement childElement : childElements) {
+        for (final XmlElement childElement : element.getChildElements()) {
             try {
                 final Deque<DataSchemaNode> path = findSchemaNodeByNameAndNamespace(parentNodeSchema,
                         childElement.getName(), XMLNamespace.of(childElement.getNamespace()));
@@ -138,7 +138,7 @@ public class FilterContentValidator {
                 final DataSchemaNode childSchema = path.getLast();
                 validateNode(childElement, childSchema, subtree);
             } catch (IllegalArgumentException | MissingNameSpaceException e) {
-                throw new RuntimeException("Wrong namespace in element + " + childElement.toString(), e);
+                throw new IllegalArgumentException("Wrong namespace in element + " + childElement.toString(), e);
             }
         }
         return tree;
index 5fbc48a9196a4b9d73e823347fbaf1c296edd154..0b93fd944c6ae8bb69d0ae74ed7e3037ea30a90f 100644 (file)
@@ -28,7 +28,7 @@ import org.junit.Assert;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.junit.MockitoJUnitRunner;
-import org.opendaylight.mdsal.binding.dom.codec.impl.DefaultBindingDOMCodecFactory;
+import org.opendaylight.mdsal.binding.dom.codec.impl.di.DefaultBindingDOMCodecFactory;
 import org.opendaylight.mdsal.binding.generator.impl.DefaultBindingRuntimeGenerator;
 import org.opendaylight.netconf.api.xml.XmlUtil;
 import org.opendaylight.netconf.mdsal.notification.impl.ops.NotificationsTransformUtil;
index dc18c6ad5c9c62f707f8c1ede6c8641a94f7231c..17eb4be0c6ff0c19f987c8c280f0b306e5e9b5ed 100644 (file)
@@ -30,7 +30,9 @@ import org.opendaylight.mdsal.binding.api.DataTreeIdentifier;
 import org.opendaylight.mdsal.binding.api.DataTreeModification;
 import org.opendaylight.netconf.notifications.BaseNotificationPublisherRegistration;
 import org.opendaylight.netconf.notifications.NetconfNotificationCollector;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.HostBuilder;
+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.IpAddress;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.netconf.monitoring.rev101004.netconf.state.sessions.Session;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.netconf.monitoring.rev101004.netconf.state.sessions.SessionBuilder;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.netconf.notifications.rev120206.NetconfSessionEnd;
@@ -119,7 +121,7 @@ public class SessionNotificationProducerTest {
     private static Session createSessionWithInRpcCount(final Uint32 id, final Uint32 inRpc) {
         return new SessionBuilder()
                 .setSessionId(id)
-                .setSourceHost(HostBuilder.getDefaultInstance("0.0.0.0"))
+                .setSourceHost(new Host(new IpAddress(new Ipv4Address("0.0.0.0"))))
                 .setUsername("user")
                 .setInRpcs(new ZeroBasedCounter32(inRpc))
                 .build();
index db4c9873f00d76a55e5cd546b4c416933d26ebf9..6f0e58dfde857124453788737f1323598c5f520e 100644 (file)
@@ -18,7 +18,7 @@ import org.custommonkey.xmlunit.XMLUnit;
 import org.custommonkey.xmlunit.examples.RecursiveElementNameAndTextQualifier;
 import org.junit.BeforeClass;
 import org.junit.Test;
-import org.opendaylight.mdsal.binding.dom.codec.impl.DefaultBindingDOMCodecFactory;
+import org.opendaylight.mdsal.binding.dom.codec.impl.di.DefaultBindingDOMCodecFactory;
 import org.opendaylight.mdsal.binding.generator.impl.DefaultBindingRuntimeGenerator;
 import org.opendaylight.netconf.api.xml.XmlUtil;
 import org.opendaylight.netconf.notifications.NetconfNotification;
index 915cd93c0ef66f50fcacf34e0c349ba2c3c8f95f..b0c73e013f4f825620595ae972402b64c39a57b6 100644 (file)
@@ -20,7 +20,6 @@ import org.opendaylight.netconf.auth.AuthProvider;
 import org.opendaylight.netconf.shaded.sshd.server.keyprovider.SimpleGeneratorHostKeyProvider;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IetfInetUtil;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddressBuilder;
 import org.osgi.framework.ServiceReference;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -64,17 +63,17 @@ public class NetconfNorthboundSshServer {
                     sshProxyServer.bind(sshProxyServerConfigurationBuilder.createSshProxyServerConfiguration());
                     LOG.info("Netconf SSH endpoint started successfully at {}", bindingAddress);
                 } catch (final IOException e) {
-                    throw new RuntimeException("Unable to start SSH netconf server", e);
+                    throw new IllegalStateException("Unable to start SSH netconf server", e);
                 }
             } else {
                 LOG.warn("Unable to start SSH netconf server at {}", bindingAddress, future.cause());
-                throw new RuntimeException("Unable to start SSH netconf server", future.cause());
+                throw new IllegalStateException("Unable to start SSH netconf server", future.cause());
             }
         });
     }
 
     private static InetSocketAddress getInetAddress(final String bindingAddress, final String portNumber) {
-        IpAddress ipAddress = IpAddressBuilder.getDefaultInstance(bindingAddress);
+        final IpAddress ipAddress = IetfInetUtil.ipAddressFor(bindingAddress);
         final InetAddress inetAd = IetfInetUtil.INSTANCE.inetAddressFor(ipAddress);
         return new InetSocketAddress(inetAd, Integer.parseInt(portNumber));
     }
index f3200c9b3ae5df43110eed896c17da77553b6358..423e65e14e5eb7ec988672c8269e7e84a03dbd3e 100644 (file)
@@ -13,7 +13,6 @@ import java.net.InetSocketAddress;
 import org.opendaylight.netconf.api.NetconfServerDispatcher;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IetfInetUtil;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddressBuilder;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -21,7 +20,6 @@ import org.slf4j.LoggerFactory;
  * Create an MD-SAL NETCONF server using TCP.
  */
 public class NetconfNorthboundTcpServer implements AutoCloseable {
-
     private static final Logger LOG = LoggerFactory.getLogger(NetconfNorthboundTcpServer.class);
 
     private final ChannelFuture tcpServer;
@@ -35,13 +33,13 @@ public class NetconfNorthboundTcpServer implements AutoCloseable {
                 LOG.info("Netconf TCP endpoint started successfully at {}", inetAddress);
             } else {
                 LOG.warn("Unable to start TCP netconf server at {}", inetAddress, future.cause());
-                throw new RuntimeException("Unable to start TCP netconf server", future.cause());
+                throw new IllegalStateException("Unable to start TCP netconf server", future.cause());
             }
         });
     }
 
     private static InetSocketAddress getInetAddress(final String bindingAddress, final String portNumber) {
-        final IpAddress ipAddress = IpAddressBuilder.getDefaultInstance(bindingAddress);
+        final IpAddress ipAddress = IetfInetUtil.ipAddressFor(bindingAddress);
         final InetAddress inetAd = IetfInetUtil.INSTANCE.inetAddressFor(ipAddress);
         return new InetSocketAddress(inetAd, Integer.parseInt(portNumber));
     }
index 74c54d81f2694bc1d5329d74b2bd6979cb340d12..0d4e8b85830b95364fe4df5de4ef7f4f70985088 100644 (file)
@@ -51,8 +51,8 @@
             <optional>true</optional>
         </dependency>
         <dependency>
-            <groupId>javax.annotation</groupId>
-            <artifactId>javax.annotation-api</artifactId>
+            <groupId>jakarta.annotation</groupId>
+            <artifactId>jakarta.annotation-api</artifactId>
             <optional>true</optional>
         </dependency>
 
index 44bcfad37447d7fa429c3f3cc09a8b7fda71c418..e30d4072159ed5280f132d8f0b679f657a341ec4 100644 (file)
@@ -27,19 +27,19 @@ import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.mdsal.dom.api.DOMSchemaService;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.datastores.rev180214.Operational;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Uri;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.library.rev190104.LegacyRevisionUtils;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.library.rev190104.ModulesState;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.library.rev190104.ModulesStateBuilder;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.library.rev190104.RevisionUtils;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.library.rev190104.YangLibrary;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.library.rev190104.YangLibraryBuilder;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.library.rev190104.module.list.CommonLeafsRevisionBuilder;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.library.rev190104.module.list.Module.ConformanceType;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.library.rev190104.module.set.parameters.ImportOnlyModuleRevisionBuilder;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.library.rev190104.module.set.parameters.module.SubmoduleBuilder;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.library.rev190104.yang.library.parameters.DatastoreBuilder;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.library.rev190104.yang.library.parameters.ModuleSetBuilder;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.library.rev190104.yang.library.parameters.SchemaBuilder;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.YangIdentifier;
-import org.opendaylight.yangtools.concepts.ListenerRegistration;
+import org.opendaylight.yangtools.concepts.Registration;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.opendaylight.yangtools.yang.binding.util.BindingMap;
 import org.opendaylight.yangtools.yang.common.Revision;
@@ -76,7 +76,7 @@ public final class YangLibraryWriter implements EffectiveModelContextListener, A
     @GuardedBy("this")
     private long moduleSetId;
     @GuardedBy("this")
-    private ListenerRegistration<?> reg;
+    private Registration reg;
 
     @Inject
     @Activate
@@ -167,8 +167,8 @@ public final class YangLibraryWriter implements EffectiveModelContextListener, A
                 final var submoduleMap = module.getSubmodules().stream()
                     .map(subModule -> new SubmoduleBuilder()
                         .setName(new YangIdentifier(subModule.getName()))
-                        .setRevision(ImportOnlyModuleRevisionBuilder.fromYangCommon(subModule.getQNameModule()
-                            .getRevision()).getRevisionIdentifier())
+                        .setRevision(RevisionUtils.fromYangCommon(subModule.getQNameModule().getRevision())
+                            .getRevisionIdentifier())
                         .build())
                     .collect(BindingMap.toMap());
 
@@ -177,7 +177,7 @@ public final class YangLibraryWriter implements EffectiveModelContextListener, A
                     .setName(new YangIdentifier(module.getName() + "_"
                         // FIXME: 'orElse' seems to be wrong here
                         + module.getRevision().map(Revision::toString).orElse(null)))
-                    .setRevision(ImportOnlyModuleRevisionBuilder.fromYangCommon(module.getQNameModule().getRevision())
+                    .setRevision(RevisionUtils.fromYangCommon(module.getQNameModule().getRevision())
                         .getRevisionIdentifier())
                     .setNamespace(new Uri(module.getNamespace().toString()))
                     .setFeature(extractFeatures(module))
@@ -198,7 +198,7 @@ public final class YangLibraryWriter implements EffectiveModelContextListener, A
                 .setModuleSet(Set.of(MODULE_SET_NAME))
                 .build()))
             .setDatastore(BindingMap.of(new DatastoreBuilder()
-                .setName(Operational.class)
+                .setName(Operational.VALUE)
                 .setSchema(SCHEMA_NAME)
                 .build()))
             .setContentId(String.valueOf(moduleSetId))
@@ -214,7 +214,7 @@ public final class YangLibraryWriter implements EffectiveModelContextListener, A
                     .map(subModule -> new org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.library
                         .rev190104.module.list.module.SubmoduleBuilder()
                         .setName(new YangIdentifier(subModule.getName()))
-                        .setRevision(CommonLeafsRevisionBuilder.fromYangCommon(subModule.getQNameModule()
+                        .setRevision(LegacyRevisionUtils.fromYangCommon(subModule.getQNameModule()
                             .getRevision()))
                         .build())
                     .collect(BindingMap.toMap());
@@ -222,7 +222,7 @@ public final class YangLibraryWriter implements EffectiveModelContextListener, A
                 return new org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.library
                     .rev190104.module.list.ModuleBuilder()
                     .setName(new YangIdentifier(module.getName()))
-                    .setRevision(CommonLeafsRevisionBuilder.fromYangCommon(module.getQNameModule().getRevision()))
+                    .setRevision(LegacyRevisionUtils.fromYangCommon(module.getQNameModule().getRevision()))
                     .setNamespace(new Uri(module.getNamespace().toString()))
                     // FIXME: Conformance type is always set to Implement value, but it should it really be like this?
                     .setConformanceType(ConformanceType.Implement)
index e8868e7fd859b27cf0808d9c6e2948d7ee1de5b4..1bdf65b1c77abc07b674edcc6fb26e90fef30e7e 100644 (file)
@@ -12,11 +12,11 @@ import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.junit.MockitoJUnitRunner;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Uri;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.library.rev190104.LegacyRevisionUtils;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.library.rev190104.ModulesState;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.library.rev190104.ModulesStateBuilder;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.library.rev190104.RevisionIdentifier;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.library.rev190104.module.list.CommonLeafs.Revision;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.library.rev190104.module.list.CommonLeafsRevisionBuilder;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.library.rev190104.module.list.Module;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.library.rev190104.module.list.ModuleBuilder;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.library.rev190104.module.list.module.SubmoduleBuilder;
@@ -36,7 +36,7 @@ public class ModulesStateTest extends AbstractYangLibraryWriterTest {
                 .setRevision(new Revision(new RevisionIdentifier("2013-07-22")))
                 .setSubmodule(BindingMap.of(new SubmoduleBuilder()
                     .setName(new YangIdentifier("test-submodule"))
-                    .setRevision(CommonLeafsRevisionBuilder.emptyRevision())
+                    .setRevision(LegacyRevisionUtils.emptyRevision())
                     .build()))
                 .setConformanceType(Module.ConformanceType.Implement)
                 .setFeature(Set.of())
index df6f80dd003c8dbfc66651cdf8019c87a2321d85..b73f488dafdfbc75b85e7417d721558ab6dcf9eb 100644 (file)
@@ -15,9 +15,9 @@ import org.mockito.junit.MockitoJUnitRunner;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.datastores.rev180214.Operational;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Uri;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.library.rev190104.RevisionIdentifier;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.library.rev190104.RevisionUtils;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.library.rev190104.YangLibrary;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.library.rev190104.YangLibraryBuilder;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.library.rev190104.module.set.parameters.ImportOnlyModuleRevisionBuilder;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.library.rev190104.module.set.parameters.Module;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.library.rev190104.module.set.parameters.ModuleBuilder;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.library.rev190104.module.set.parameters.module.Submodule;
@@ -42,7 +42,7 @@ public class YangLibraryTest extends AbstractYangLibraryWriterTest {
     private static YangLibrary createTestModuleSet() {
         Submodule sub = new SubmoduleBuilder()
                 .setName(new YangIdentifier("test-submodule"))
-                .setRevision(ImportOnlyModuleRevisionBuilder.emptyRevision().getRevisionIdentifier())
+                .setRevision(RevisionUtils.emptyRevision().getRevisionIdentifier())
                 .build();
 
         Module modules = new ModuleBuilder().setName(new YangIdentifier("test-module_2013-07-22"))
@@ -68,7 +68,7 @@ public class YangLibraryTest extends AbstractYangLibraryWriterTest {
                 .setModuleSet(Set.of(modulesSet.getName()))
                 .build();
 
-        Datastore datastore = new DatastoreBuilder().setName(Operational.class)
+        Datastore datastore = new DatastoreBuilder().setName(Operational.VALUE)
                 .setSchema(schema.getName())
                 .build();
 
index eb680186053164a3cc9af2741e1a931453a31357..f385f69f5ebc0e801f68647c2b371b1e5780b477 100644 (file)
@@ -7,7 +7,6 @@
  */
 package org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.netconf.nmda.rev190107;
 
-import java.util.Optional;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.netconf.nmda.rev190107.GetDataInput.MaxDepth;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.netconf.nmda.rev190107.GetDataInput.MaxDepth.Enumeration;
 import org.opendaylight.yangtools.yang.common.Uint16;
@@ -21,9 +20,9 @@ public final class GetDataInputMaxDepthBuilder {
     }
 
     public static MaxDepth getDefaultInstance(final String defaultValue) {
-        final Optional<Enumeration> optEnum = Enumeration.forName(defaultValue);
-        if (optEnum.isPresent()) {
-            return new MaxDepth(optEnum.get());
+        final var optEnum = Enumeration.forName(defaultValue);
+        if (optEnum != null) {
+            return new MaxDepth(optEnum);
         }
         // FIXME: consider being stricter about number formats here
         return new MaxDepth(Uint16.valueOf(defaultValue));
index 417c7d535ff3a05f114295d42c27a5e326f53f98..f181b27a36b438a88ea5d52fa4d7f82ca1021e55 100644 (file)
@@ -12,7 +12,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>odlparent-lite</artifactId>
-    <version>10.0.2</version>
+    <version>11.0.0</version>
     <relativePath/>
   </parent>
 
index 6a7b8e6b641d5243dd52aaf8774ad64d9d0b7790..5f0e879791adf06b82d3d4d5b1010ba3b0c972cb 100644 (file)
@@ -12,7 +12,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>bundle-parent</artifactId>
-    <version>10.0.2</version>
+    <version>11.0.0</version>
     <relativePath/>
   </parent>
 
index 90a3924cf459dbef6e69bc9f9b67194aedd169d1..6ace0f7216e2e0f7b565d66822dc7e4ff3e07ca2 100644 (file)
@@ -37,7 +37,8 @@ import org.opendaylight.netconf.console.utils.NetconfConsoleConstants;
 import org.opendaylight.netconf.console.utils.NetconfConsoleUtils;
 import org.opendaylight.netconf.console.utils.NetconfIidFactory;
 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.HostBuilder;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address;
 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.NetconfNodeBuilder;
@@ -126,7 +127,8 @@ public class NetconfCommandsImplTest {
     @Test
     public void testConnectDisconnectDevice() throws InterruptedException, TimeoutException, ExecutionException {
         final NetconfNode netconfNode = new NetconfNodeBuilder()
-                .setPort(new PortNumber(Uint16.valueOf(7777))).setHost(HostBuilder.getDefaultInstance("10.10.1.1"))
+                .setPort(new PortNumber(Uint16.valueOf(7777)))
+                .setHost(new Host(new IpAddress(new Ipv4Address("10.10.1.1"))))
                 .build();
 
         createTopology(LogicalDatastoreType.CONFIGURATION);
@@ -217,7 +219,7 @@ public class NetconfCommandsImplTest {
     private static Node getNetconfNode(final String nodeIdent, final String ip, final int portNumber,
             final NetconfNodeConnectionStatus.ConnectionStatus cs, final String notificationCapabilityPrefix) {
 
-        final Host host = HostBuilder.getDefaultInstance(ip);
+        final Host host = new Host(new IpAddress(new Ipv4Address(ip)));
         final PortNumber port = new PortNumber(Uint16.valueOf(portNumber));
 
         final List<AvailableCapability> avCapList = new ArrayList<>();
index df7dcd1900763f243227cb3a19242ada030f8c70..19601fcdca2be75f467c55c2039b8328bd4bb87f 100644 (file)
@@ -82,7 +82,7 @@ public final class NetconfServerSession extends AbstractNetconfSession<NetconfSe
     @Override
     protected void sessionUp() {
         checkState(loginTime == null, "Session is already up");
-        this.loginTime = Instant.now().atZone(ZoneId.systemDefault());
+        loginTime = Instant.now().atZone(ZoneId.systemDefault());
         super.sessionUp();
     }
 
@@ -91,7 +91,7 @@ public final class NetconfServerSession extends AbstractNetconfSession<NetconfSe
      * Suitable for close rpc that needs to send ok response before the session is closed.
      */
     public void delayedClose() {
-        this.delayedClose = true;
+        delayedClose = true;
     }
 
     @Override
@@ -149,15 +149,12 @@ public final class NetconfServerSession extends AbstractNetconfSession<NetconfSe
                 .build();
     }
 
-    private static Class<? extends Transport> getTransportForString(final String transport) {
-        switch (transport) {
-            case "ssh":
-                return NetconfSsh.class;
-            case "tcp":
-                return NetconfTcp.class;
-            default:
-                throw new IllegalArgumentException("Unknown transport type " + transport);
-        }
+    private static Transport getTransportForString(final String transport) {
+        return switch (transport) {
+            case "ssh" -> NetconfSsh.VALUE;
+            case "tcp" -> NetconfTcp.VALUE;
+            default -> throw new IllegalArgumentException("Unknown transport type " + transport);
+        };
     }
 
     @Override
index 11f1521c93060733e923659c7c404266bb4e9c73..5cc087248a331deb0e61a8b87f84ab5c05e16118 100644 (file)
@@ -12,6 +12,7 @@ import static org.opendaylight.netconf.api.xml.XmlNetconfConstants.URN_IETF_PARA
 import static org.opendaylight.netconf.api.xml.XmlNetconfConstants.URN_IETF_PARAMS_NETCONF_CAPABILITY_URL_1_0;
 
 import com.google.common.base.Function;
+import com.google.common.base.Throwables;
 import com.google.common.collect.Collections2;
 import com.google.common.collect.ImmutableSet;
 import com.google.common.collect.Maps;
@@ -67,9 +68,8 @@ final class NetconfCapabilityMonitoringService implements CapabilityListener, Au
     synchronized Schemas getSchemas() {
         try {
             return transformSchemas(netconfOperationProvider.getCapabilities());
-        } catch (final RuntimeException e) {
-            throw e;
         } catch (final Exception e) {
+            Throwables.throwIfUnchecked(e);
             throw new IllegalStateException("Exception while closing", e);
         }
     }
@@ -142,11 +142,11 @@ final class NetconfCapabilityMonitoringService implements CapabilityListener, Au
         final Map<SchemaKey, Schema> schemas = Maps.newHashMapWithExpectedSize(caps.size());
         for (final Capability cap : caps) {
             if (isValidModuleCapability(cap)) {
-                final SchemaKey key = new SchemaKey(Yang.class, cap.getModuleName().get(),
+                final SchemaKey key = new SchemaKey(Yang.VALUE, cap.getModuleName().orElseThrow(),
                     cap.getRevision().orElse(""));
                 schemas.put(key, new SchemaBuilder()
                     .withKey(key)
-                    .setNamespace(new Uri(cap.getModuleNamespace().get()))
+                    .setNamespace(new Uri(cap.getModuleNamespace().orElseThrow()))
                     .setLocation(transformLocations(cap.getLocation()))
                     .build());
             }
index ab8904f9fa0dae5ed736394bbb3cd5cff128a7f5..9609dde637035e50bac99e12767bcffaaf4ee4dd 100644 (file)
@@ -104,9 +104,9 @@ public class NetconfServerSessionTest {
     @Test
     public void testOnIncommingRpcSuccess() throws Exception {
         session.sessionUp();
-        final Session managementSession = this.session.toManagementSession();
-        this.session.onIncommingRpcSuccess();
-        final Session afterRpcSuccess = this.session.toManagementSession();
+        final Session managementSession = session.toManagementSession();
+        session.onIncommingRpcSuccess();
+        final Session afterRpcSuccess = session.toManagementSession();
         assertEquals(managementSession.getInRpcs().getValue().toJava() + 1,
                 afterRpcSuccess.getInRpcs().getValue().longValue());
     }
@@ -114,9 +114,9 @@ public class NetconfServerSessionTest {
     @Test
     public void testOnIncommingRpcFail() throws Exception {
         session.sessionUp();
-        final Session managementSession = this.session.toManagementSession();
-        this.session.onIncommingRpcFail();
-        final Session afterRpcSuccess = this.session.toManagementSession();
+        final Session managementSession = session.toManagementSession();
+        session.onIncommingRpcFail();
+        final Session afterRpcSuccess = session.toManagementSession();
         assertEquals(managementSession.getInBadRpcs().getValue().toJava() + 1,
                 afterRpcSuccess.getInBadRpcs().getValue().longValue());
     }
@@ -124,9 +124,9 @@ public class NetconfServerSessionTest {
     @Test
     public void testOnOutgoingRpcError() throws Exception {
         session.sessionUp();
-        final Session managementSession = this.session.toManagementSession();
-        this.session.onOutgoingRpcError();
-        final Session afterRpcSuccess = this.session.toManagementSession();
+        final Session managementSession = session.toManagementSession();
+        session.onOutgoingRpcError();
+        final Session afterRpcSuccess = session.toManagementSession();
         assertEquals(managementSession.getOutRpcErrors().getValue().toJava() + 1,
                 afterRpcSuccess.getOutRpcErrors().getValue().longValue());
     }
@@ -140,9 +140,9 @@ public class NetconfServerSessionTest {
         tcpSession.sessionUp();
         final Session managementSession = tcpSession.toManagementSession();
         assertEquals(HOST, managementSession.getSourceHost().getIpAddress().getIpv4Address().getValue());
-        assertEquals(managementSession.getUsername(), USER);
-        assertEquals(managementSession.getSessionId().toString(), SESSION_ID);
-        assertEquals(managementSession.getTransport(), NetconfTcp.class);
+        assertEquals(USER, managementSession.getUsername());
+        assertEquals(SESSION_ID, managementSession.getSessionId().toString());
+        assertEquals(NetconfTcp.VALUE, managementSession.getTransport());
     }
 
     @Test(expected = IllegalArgumentException.class)
@@ -165,9 +165,9 @@ public class NetconfServerSessionTest {
         tcpSession.sessionUp();
         final Session managementSession = tcpSession.toManagementSession();
         assertEquals("::1", managementSession.getSourceHost().getIpAddress().getIpv6Address().getValue());
-        assertEquals(managementSession.getUsername(), USER);
-        assertEquals(managementSession.getSessionId().toString(), SESSION_ID);
-        assertEquals(managementSession.getTransport(), NetconfSsh.class);
+        assertEquals(USER, managementSession.getUsername());
+        assertEquals(SESSION_ID, managementSession.getSessionId().toString());
+        assertEquals(NetconfSsh.VALUE, managementSession.getTransport());
     }
 
     @Test
index dcb4654c78a235da32606d92f4d8b4f8eba438bc..3064b0649a84639e31b74536588e4578d837b5bd 100644 (file)
@@ -36,7 +36,9 @@ import org.opendaylight.netconf.api.monitoring.NetconfManagementSession;
 import org.opendaylight.netconf.api.monitoring.NetconfMonitoringService;
 import org.opendaylight.netconf.api.monitoring.SessionEvent;
 import org.opendaylight.netconf.notifications.BaseNotificationPublisherRegistration;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.HostBuilder;
+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.IpAddress;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.netconf.monitoring.rev101004.netconf.state.sessions.Session;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.netconf.monitoring.rev101004.netconf.state.sessions.SessionBuilder;
 import org.opendaylight.yangtools.yang.common.Uint32;
@@ -46,12 +48,12 @@ public class NetconfSessionMonitoringServiceTest {
 
     private static final Session SESSION_1 = new SessionBuilder()
             .setSessionId(Uint32.valueOf(1))
-            .setSourceHost(HostBuilder.getDefaultInstance("0.0.0.0"))
+            .setSourceHost(new Host(new IpAddress(new Ipv4Address("0.0.0.0"))))
             .setUsername("admin")
             .build();
     private static final Session SESSION_2 = new SessionBuilder()
             .setSessionId(Uint32.valueOf(2))
-            .setSourceHost(HostBuilder.getDefaultInstance("0.0.0.0"))
+            .setSourceHost(new Host(new IpAddress(new Ipv4Address("0.0.0.0"))))
             .setUsername("admin")
             .build();
 
index d8c0697ae55f4773fe3328fc89a61df05cd2ecac..2c328df37e5b89bc37acf005e7a4ea3a70a0d354 100644 (file)
@@ -176,7 +176,7 @@ public abstract class AbstractNetconfSession<S extends NetconfSession, L extends
             // channel handler of reconnect promise
             super.channelInactive(ctx);
         } catch (final Exception e) {
-            throw new RuntimeException("Failed to delegate channel inactive event on channel " + ctx.channel(), e);
+            throw new IllegalStateException("Failed to delegate channel inactive event on channel " + ctx.channel(), e);
         }
     }
 
index c4b60b29fc47c2724eeea559b0430516b3cf7c59..958437d7fbb6cd00cac4ed8fb3acea579608b481 100644 (file)
@@ -14,7 +14,11 @@ import org.opendaylight.mdsal.binding.api.WriteTransaction;
 import org.opendaylight.mdsal.common.api.CommitInfo;
 import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.netconf.topology.api.NetconfConnectorFactory;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.HostBuilder;
+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.IpAddress;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Address;
 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.NetconfNodeBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.netconf.node.credentials.credentials.LoginPwBuilder;
@@ -36,7 +40,6 @@ import org.slf4j.LoggerFactory;
  * Created by adetalhouet on 2016-11-03.
  */
 public class NetconfConnectorFactoryImpl implements NetconfConnectorFactory {
-
     private static final Logger LOG = LoggerFactory.getLogger(NetconfConnectorFactoryImpl.class);
 
     private static final InstanceIdentifier<Topology> TOPOLOGY_PATH = InstanceIdentifier.create(NetworkTopology.class)
@@ -56,7 +59,7 @@ public class NetconfConnectorFactoryImpl implements NetconfConnectorFactory {
         final Node node =  new NodeBuilder()
                 .withKey(nodeKey)
                 .addAugmentation(new NetconfNodeBuilder()
-                    .setHost(HostBuilder.getDefaultInstance(address))
+                    .setHost(createHost(address))
                     .setPort(new PortNumber(Uint16.valueOf(port)))
                     .setCredentials(new LoginPwBuilder()
                         .setLoginPassword(new LoginPasswordBuilder()
@@ -85,4 +88,18 @@ public class NetconfConnectorFactoryImpl implements NetconfConnectorFactory {
         }, MoreExecutors.directExecutor());
         return node;
     }
-}
\ No newline at end of file
+
+    private static Host createHost(final String host) {
+        try {
+            return new Host(new IpAddress(new Ipv4Address(host)));
+        } catch (IllegalArgumentException e) {
+            LOG.debug("Cannot interpret {} as an Ipv4Address", host, e);
+        }
+        try {
+            return new Host(new IpAddress(new Ipv6Address(host)));
+        } catch (IllegalArgumentException e) {
+            LOG.debug("Cannot interpret {} as an Ipv6Address", host, e);
+        }
+        return new Host(new DomainName(host));
+    }
+}
index 44727a0c6ee4c801a47be4c07905e6001bc94262..9c7780ac2bbf26a605290b5e55e53e1c4d324649 100644 (file)
@@ -16,7 +16,6 @@ import akka.dispatch.OnComplete;
 import akka.pattern.Patterns;
 import akka.util.Timeout;
 import java.util.List;
-import java.util.stream.Collectors;
 import org.opendaylight.mdsal.binding.api.DataBroker;
 import org.opendaylight.mdsal.dom.api.DOMActionService;
 import org.opendaylight.mdsal.dom.api.DOMDataBroker;
@@ -34,7 +33,6 @@ import org.opendaylight.netconf.sal.connect.netconf.sal.NetconfDeviceSalProvider
 import org.opendaylight.netconf.sal.connect.util.RemoteDeviceId;
 import org.opendaylight.netconf.topology.singleton.messages.CreateInitialMasterActorData;
 import org.opendaylight.yangtools.rfc8528.data.api.MountPointContext;
-import org.opendaylight.yangtools.yang.model.repo.api.RevisionSourceIdentifier;
 import org.opendaylight.yangtools.yang.model.repo.api.SourceIdentifier;
 import org.opendaylight.yangtools.yang.model.util.SchemaContextUtil;
 import org.slf4j.Logger;
@@ -65,7 +63,7 @@ class MasterSalFacade implements AutoCloseable, RemoteDeviceHandler<NetconfSessi
                     final DOMMountPointService mountService,
                     final DataBroker dataBroker) {
         this.id = id;
-        this.salProvider = new NetconfDeviceSalProvider(id, mountService, dataBroker);
+        salProvider = new NetconfDeviceSalProvider(id, mountService, dataBroker);
         this.actorSystem = actorSystem;
         this.masterActorRef = masterActorRef;
         this.actorResponseWaitTime = actorResponseWaitTime;
@@ -75,7 +73,7 @@ class MasterSalFacade implements AutoCloseable, RemoteDeviceHandler<NetconfSessi
     public void onDeviceConnected(final MountPointContext mountContext,
                                   final NetconfSessionPreferences sessionPreferences,
                                   final DOMRpcService domRpcService, final DOMActionService domActionService) {
-        this.deviceAction = domActionService;
+        deviceAction = domActionService;
         LOG.debug("{}: YANG 1.1 actions are supported in clustered netconf topology, "
             + "DOMActionService exposed for the device", id);
         onDeviceConnected(mountContext, sessionPreferences, domRpcService);
@@ -85,9 +83,9 @@ class MasterSalFacade implements AutoCloseable, RemoteDeviceHandler<NetconfSessi
     public void onDeviceConnected(final MountPointContext mountContext,
                                   final NetconfSessionPreferences sessionPreferences,
                                   final DOMRpcService domRpcService) {
-        this.currentMountContext = mountContext;
-        this.netconfSessionPreferences = sessionPreferences;
-        this.deviceRpc = domRpcService;
+        currentMountContext = mountContext;
+        netconfSessionPreferences = sessionPreferences;
+        deviceRpc = domRpcService;
 
         LOG.info("Device {} connected - registering master mount point", id);
 
@@ -159,10 +157,8 @@ class MasterSalFacade implements AutoCloseable, RemoteDeviceHandler<NetconfSessi
     }
 
     private Future<Object> sendInitialDataToActor() {
-        final List<SourceIdentifier> sourceIdentifiers = SchemaContextUtil.getConstituentModuleIdentifiers(
-            currentMountContext.getEffectiveModelContext()).stream()
-                .map(mi -> RevisionSourceIdentifier.create(mi.getName(), mi.getRevision()))
-                .collect(Collectors.toList());
+        final List<SourceIdentifier> sourceIdentifiers = List.copyOf(SchemaContextUtil.getConstituentModuleIdentifiers(
+            currentMountContext.getEffectiveModelContext()));
 
         LOG.debug("{}: Sending CreateInitialMasterActorData with sourceIdentifiers {} to {}", id, sourceIdentifiers,
             masterActorRef);
index 8d8ea115370aa870212830269312a2475474493f..44fcf748e1db5fe84ed5516e21b2bf663407491d 100644 (file)
@@ -142,6 +142,7 @@ import org.opendaylight.yangtools.yang.binding.YangModuleInfo;
 import org.opendaylight.yangtools.yang.common.ErrorTag;
 import org.opendaylight.yangtools.yang.common.ErrorType;
 import org.opendaylight.yangtools.yang.common.QName;
+import org.opendaylight.yangtools.yang.common.Revision;
 import org.opendaylight.yangtools.yang.common.RpcError;
 import org.opendaylight.yangtools.yang.common.RpcResultBuilder;
 import org.opendaylight.yangtools.yang.common.Uint16;
@@ -156,7 +157,7 @@ import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes;
 import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext;
 import org.opendaylight.yangtools.yang.model.api.Module;
 import org.opendaylight.yangtools.yang.model.api.RpcDefinition;
-import org.opendaylight.yangtools.yang.model.repo.api.RevisionSourceIdentifier;
+import org.opendaylight.yangtools.yang.model.repo.api.SourceIdentifier;
 import org.opendaylight.yangtools.yang.model.repo.api.YangTextSchemaSource;
 import org.opendaylight.yangtools.yang.model.repo.spi.PotentialSchemaSource;
 import org.opendaylight.yangtools.yang.parser.impl.DefaultYangParserFactory;
@@ -286,8 +287,9 @@ public class MountPointEndToEndTest extends AbstractBaseSchemasTest {
         resources.getSchemaRegistry().registerSchemaSource(
             id -> Futures.immediateFuture(YangTextSchemaSource.delegateForByteSource(id,
                     topModuleInfo.getYangTextByteSource())),
-            PotentialSchemaSource.create(RevisionSourceIdentifier.create(TOP_MODULE_NAME,
-                    topModuleInfo.getName().getRevision()), YangTextSchemaSource.class, 1));
+            PotentialSchemaSource.create(new SourceIdentifier(TOP_MODULE_NAME,
+                    topModuleInfo.getName().getRevision().map(Revision::toString).orElse(null)),
+                YangTextSchemaSource.class, 1));
 
         masterNetconfTopologyManager = new NetconfTopologyManager(BASE_SCHEMAS, masterDataBroker,
                 mockRpcProviderRegistry, mockActionProviderRegistry, masterClusterSingletonServiceProvider,
@@ -737,7 +739,7 @@ public class MountPointEndToEndTest extends AbstractBaseSchemasTest {
         }
 
         void init(final FluentFuture<DOMRpcResult> retFuture) {
-            this.returnFuture = retFuture;
+            returnFuture = retFuture;
             rpcInvokedFuture = SettableFuture.create();
         }
 
index c6b995d59d615fb9cc87526464aec3660d669188..8952dfd449692d16c1e17303329e2f3500061167 100644 (file)
@@ -44,7 +44,6 @@ import akka.testkit.TestActorRef;
 import akka.testkit.javadsl.TestKit;
 import akka.util.Timeout;
 import com.google.common.collect.ImmutableList;
-import com.google.common.collect.Lists;
 import com.google.common.io.ByteSource;
 import com.google.common.net.InetAddresses;
 import com.google.common.util.concurrent.FluentFuture;
@@ -118,7 +117,6 @@ import org.opendaylight.yangtools.yang.model.api.SchemaContext;
 import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier.Absolute;
 import org.opendaylight.yangtools.yang.model.repo.api.EffectiveModelContextFactory;
 import org.opendaylight.yangtools.yang.model.repo.api.MissingSchemaSourceException;
-import org.opendaylight.yangtools.yang.model.repo.api.RevisionSourceIdentifier;
 import org.opendaylight.yangtools.yang.model.repo.api.SchemaRepository;
 import org.opendaylight.yangtools.yang.model.repo.api.SchemaResolutionException;
 import org.opendaylight.yangtools.yang.model.repo.api.SourceIdentifier;
@@ -135,8 +133,8 @@ import scala.concurrent.Future;
 public class NetconfNodeActorTest extends AbstractBaseSchemasTest {
 
     private static final Timeout TIMEOUT = Timeout.create(Duration.ofSeconds(5));
-    private static final RevisionSourceIdentifier SOURCE_IDENTIFIER1 = RevisionSourceIdentifier.create("yang1");
-    private static final RevisionSourceIdentifier SOURCE_IDENTIFIER2 = RevisionSourceIdentifier.create("yang2");
+    private static final SourceIdentifier SOURCE_IDENTIFIER1 = new SourceIdentifier("yang1");
+    private static final SourceIdentifier SOURCE_IDENTIFIER2 = new SourceIdentifier("yang2");
 
     private ActorSystem system = ActorSystem.create();
     private final TestKit testKit = new TestKit(system);
@@ -256,7 +254,7 @@ public class NetconfNodeActorTest extends AbstractBaseSchemasTest {
 
         // Now initialize - master should send the RegisterMountPoint message.
 
-        List<SourceIdentifier> sourceIdentifiers = Lists.newArrayList(RevisionSourceIdentifier.create("testID"));
+        List<SourceIdentifier> sourceIdentifiers = List.of(new SourceIdentifier("testID"));
         initializeMaster(sourceIdentifiers);
 
         masterRef.tell(new AskForMasterMountPoint(kit.getRef()), kit.getRef());
@@ -430,7 +428,7 @@ public class NetconfNodeActorTest extends AbstractBaseSchemasTest {
         final Props props = NetconfNodeActor.props(setup, remoteDeviceId, TIMEOUT, mockMountPointService);
         ActorRef actor = TestActorRef.create(system, props, "master_messages_2");
 
-        final SourceIdentifier sourceIdentifier = RevisionSourceIdentifier.create("testID");
+        final SourceIdentifier sourceIdentifier = new SourceIdentifier("testID");
 
         final ProxyYangTextSourceProvider proxyYangProvider =
                 new ProxyYangTextSourceProvider(actor, system.dispatcher(), TIMEOUT);
@@ -442,7 +440,7 @@ public class NetconfNodeActorTest extends AbstractBaseSchemasTest {
 
     @Test
     public void testYangTextSchemaSourceRequest() throws Exception {
-        final SourceIdentifier sourceIdentifier = RevisionSourceIdentifier.create("testID");
+        final SourceIdentifier sourceIdentifier = new SourceIdentifier("testID");
 
         final ProxyYangTextSourceProvider proxyYangProvider =
                 new ProxyYangTextSourceProvider(masterRef, system.dispatcher(), TIMEOUT);
@@ -481,10 +479,7 @@ public class NetconfNodeActorTest extends AbstractBaseSchemasTest {
     @Test
     public void testSlaveInvokeRpc() throws Exception {
 
-        final List<SourceIdentifier> sourceIdentifiers =
-                Lists.newArrayList(RevisionSourceIdentifier.create("testID"));
-
-        initializeMaster(sourceIdentifiers);
+        initializeMaster(List.of(new SourceIdentifier("testID")));
         registerSlaveMountPoint();
 
         ArgumentCaptor<DOMRpcService> domRPCServiceCaptor = ArgumentCaptor.forClass(DOMRpcService.class);
@@ -551,9 +546,7 @@ public class NetconfNodeActorTest extends AbstractBaseSchemasTest {
 
     @Test
     public void testSlaveInvokeAction() throws Exception {
-        final List<SourceIdentifier> sourceIdentifiers = Lists
-            .newArrayList(RevisionSourceIdentifier.create("testActionID"));
-        initializeMaster(sourceIdentifiers);
+        initializeMaster(List.of(new SourceIdentifier("testActionID")));
         registerSlaveMountPoint();
 
         ArgumentCaptor<DOMActionService> domActionServiceCaptor = ArgumentCaptor.forClass(DOMActionService.class);
index 114402dc0e1529f3521ef6ced3d50ca91110a1f3..071e4a594f497ed15b7f8375a0fdeeaf51605591 100644 (file)
@@ -29,13 +29,11 @@ import akka.dispatch.Dispatchers;
 import akka.testkit.TestActorRef;
 import akka.testkit.javadsl.TestKit;
 import akka.util.Timeout;
-import com.google.common.collect.ImmutableList;
 import com.google.common.collect.Iterables;
 import com.google.common.io.ByteSource;
 import com.google.common.util.concurrent.Futures;
 import com.typesafe.config.ConfigFactory;
 import java.net.InetSocketAddress;
-import java.util.Collections;
 import java.util.List;
 import java.util.Map;
 import java.util.concurrent.CompletableFuture;
@@ -88,7 +86,6 @@ import org.opendaylight.yangtools.concepts.ObjectRegistration;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.opendaylight.yangtools.yang.common.Uint16;
 import org.opendaylight.yangtools.yang.model.repo.api.EffectiveModelContextFactory;
-import org.opendaylight.yangtools.yang.model.repo.api.RevisionSourceIdentifier;
 import org.opendaylight.yangtools.yang.model.repo.api.SourceIdentifier;
 import org.opendaylight.yangtools.yang.model.repo.api.YangTextSchemaSource;
 import org.opendaylight.yangtools.yang.model.repo.spi.PotentialSchemaSource;
@@ -104,8 +101,7 @@ import org.opendaylight.yangtools.yang.parser.rfc7950.repo.TextToIRTransformer;
 public class NetconfNodeManagerTest extends AbstractBaseSchemasTest {
     private static final String ACTOR_SYSTEM_NAME = "test";
     private static final RemoteDeviceId DEVICE_ID = new RemoteDeviceId("device", new InetSocketAddress(65535));
-    private static final List<SourceIdentifier> SOURCE_IDENTIFIERS =
-            ImmutableList.of(RevisionSourceIdentifier.create("testID"));
+    private static final List<SourceIdentifier> SOURCE_IDENTIFIERS = List.of(new SourceIdentifier("testID"));
 
     @Mock
     private DOMMountPointService mockMountPointService;
@@ -156,16 +152,16 @@ public class NetconfNodeManagerTest extends AbstractBaseSchemasTest {
         masterSchemaRepository.registerSchemaSourceListener(
                 TextToIRTransformer.create(masterSchemaRepository, masterSchemaRepository));
 
-        String yangTemplate =
-                  "module ID {"
-                + "  namespace \"ID\";"
-                + "  prefix ID;"
-                + "}";
+        final String yangTemplate = """
+            module ID {\
+              namespace "ID";\
+              prefix ID;\
+            }""";
 
         SOURCE_IDENTIFIERS.stream().map(
             sourceId -> masterSchemaRepository.registerSchemaSource(
                 id -> Futures.immediateFuture(YangTextSchemaSource.delegateForByteSource(id,
-                        ByteSource.wrap(yangTemplate.replaceAll("ID", id.getName()).getBytes(UTF_8)))),
+                        ByteSource.wrap(yangTemplate.replaceAll("ID", id.name().getLocalName()).getBytes(UTF_8)))),
                 PotentialSchemaSource.create(sourceId, YangTextSchemaSource.class, 1)))
         .collect(Collectors.toList());
 
@@ -227,7 +223,7 @@ public class NetconfNodeManagerTest extends AbstractBaseSchemasTest {
         doReturn(WRITE).when(mockDataObjModification).getModificationType();
         doReturn(node).when(mockDataObjModification).getDataAfter();
 
-        netconfNodeManager.onDataTreeChanged(Collections.singletonList(
+        netconfNodeManager.onDataTreeChanged(List.of(
                 new NetconfTopologyManagerTest.CustomTreeModification(DataTreeIdentifier.create(
                         LogicalDatastoreType.OPERATIONAL, nodeListPath), mockDataObjModification)));
 
@@ -241,7 +237,7 @@ public class NetconfNodeManagerTest extends AbstractBaseSchemasTest {
 
         doReturn(DELETE).when(mockDataObjModification).getModificationType();
 
-        netconfNodeManager.onDataTreeChanged(Collections.singletonList(
+        netconfNodeManager.onDataTreeChanged(List.of(
                 new NetconfTopologyManagerTest.CustomTreeModification(DataTreeIdentifier.create(
                         LogicalDatastoreType.OPERATIONAL, nodeListPath), mockDataObjModification)));
 
@@ -255,7 +251,7 @@ public class NetconfNodeManagerTest extends AbstractBaseSchemasTest {
         doReturn(null).when(mockDataObjModification).getDataBefore();
         doReturn(node).when(mockDataObjModification).getDataAfter();
 
-        netconfNodeManager.onDataTreeChanged(Collections.singletonList(
+        netconfNodeManager.onDataTreeChanged(List.of(
                 new NetconfTopologyManagerTest.CustomTreeModification(DataTreeIdentifier.create(
                         LogicalDatastoreType.OPERATIONAL, nodeListPath), mockDataObjModification)));
 
@@ -268,7 +264,7 @@ public class NetconfNodeManagerTest extends AbstractBaseSchemasTest {
 
         doReturn(node).when(mockDataObjModification).getDataBefore();
 
-        netconfNodeManager.onDataTreeChanged(Collections.singletonList(
+        netconfNodeManager.onDataTreeChanged(List.of(
                 new NetconfTopologyManagerTest.CustomTreeModification(DataTreeIdentifier.create(
                         LogicalDatastoreType.OPERATIONAL, nodeListPath), mockDataObjModification)));
 
@@ -291,7 +287,7 @@ public class NetconfNodeManagerTest extends AbstractBaseSchemasTest {
         doReturn(node).when(mockDataObjModification).getDataBefore();
         doReturn(updatedNode).when(mockDataObjModification).getDataAfter();
 
-        netconfNodeManager.onDataTreeChanged(Collections.singletonList(
+        netconfNodeManager.onDataTreeChanged(List.of(
                 new NetconfTopologyManagerTest.CustomTreeModification(DataTreeIdentifier.create(
                         LogicalDatastoreType.OPERATIONAL, nodeListPath), mockDataObjModification)));
 
@@ -321,7 +317,7 @@ public class NetconfNodeManagerTest extends AbstractBaseSchemasTest {
 
         // First try the registration where the perceived master hasn't been initialized as the master.
 
-        netconfNodeManager.onDataTreeChanged(Collections.singletonList(
+        netconfNodeManager.onDataTreeChanged(List.of(
                 new NetconfTopologyManagerTest.CustomTreeModification(DataTreeIdentifier.create(
                         LogicalDatastoreType.OPERATIONAL, nodeListPath), mockDataObjModification)));
 
@@ -336,7 +332,7 @@ public class NetconfNodeManagerTest extends AbstractBaseSchemasTest {
         testMasterActorRef.underlyingActor().messagesToDrop.put(YangTextSchemaSourceRequest.class,
                 yangTextSchemaSourceRequestFuture);
 
-        netconfNodeManager.onDataTreeChanged(Collections.singletonList(
+        netconfNodeManager.onDataTreeChanged(List.of(
                 new NetconfTopologyManagerTest.CustomTreeModification(DataTreeIdentifier.create(
                         LogicalDatastoreType.OPERATIONAL, nodeListPath), mockDataObjModification)));
 
@@ -352,7 +348,7 @@ public class NetconfNodeManagerTest extends AbstractBaseSchemasTest {
         testMasterActorRef.underlyingActor().messagesToDrop.put(AskForMasterMountPoint.class,
                 askForMasterMountPointFuture);
 
-        netconfNodeManager.onDataTreeChanged(Collections.singletonList(
+        netconfNodeManager.onDataTreeChanged(List.of(
                 new NetconfTopologyManagerTest.CustomTreeModification(DataTreeIdentifier.create(
                         LogicalDatastoreType.OPERATIONAL, nodeListPath), mockDataObjModification)));
 
index c5ee48fd1f4f770d423cdf524da3f8fff53e3693..04b2635af52d45a738ba3407fbac6064abb92f2f 100644 (file)
@@ -13,7 +13,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>odlparent-lite</artifactId>
-    <version>10.0.2</version>
+    <version>11.0.0</version>
     <relativePath/>
   </parent>
 
index 132468f1b6d899fafa54836daafe0b5d3476685d..1c771cf346e3da7e12ecb535cc43808dc303ec3f 100644 (file)
@@ -13,7 +13,7 @@ import com.google.common.collect.Collections2;
 import java.util.Collection;
 import java.util.Set;
 import org.opendaylight.yangtools.yang.common.QName;
-import org.opendaylight.yangtools.yang.model.repo.api.RevisionSourceIdentifier;
+import org.opendaylight.yangtools.yang.common.Revision;
 import org.opendaylight.yangtools.yang.model.repo.api.SourceIdentifier;
 import org.opendaylight.yangtools.yang.model.repo.api.YangTextSchemaSource;
 import org.opendaylight.yangtools.yang.model.repo.spi.SchemaSourceProvider;
@@ -54,6 +54,6 @@ final class DeviceSources {
     }
 
     private static SourceIdentifier toSourceId(final QName input) {
-        return RevisionSourceIdentifier.create(input.getLocalName(), input.getRevision());
+        return new SourceIdentifier(input.getLocalName(), input.getRevision().map(Revision::toString).orElse(null));
     }
 }
\ No newline at end of file
index fcdf01a6928d052239b42d9dd83c1d70daf6afc5..c7b7fc2f13c82526d431982815ff3c560f61a6f3 100644 (file)
@@ -72,7 +72,6 @@ import org.opendaylight.yangtools.yang.data.impl.schema.Builders;
 import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNormalizedNodeStreamWriter;
 import org.opendaylight.yangtools.yang.data.impl.schema.NormalizedNodeResult;
 import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext;
-import org.opendaylight.yangtools.yang.model.repo.api.RevisionSourceIdentifier;
 import org.opendaylight.yangtools.yang.model.repo.api.SourceIdentifier;
 import org.opendaylight.yangtools.yang.model.util.SchemaInferenceStack;
 import org.opendaylight.yangtools.yang.model.util.SchemaInferenceStack.Inference;
@@ -127,8 +126,8 @@ public final class LibraryModulesSchemas implements NetconfDeviceSchemas {
     public Map<SourceIdentifier, URL> getAvailableModels() {
         final Map<SourceIdentifier, URL> result = new HashMap<>();
         for (final Entry<QName, URL> entry : availableModels.entrySet()) {
-            final SourceIdentifier sId = RevisionSourceIdentifier.create(entry.getKey().getLocalName(),
-                entry.getKey().getRevision());
+            final SourceIdentifier sId = new SourceIdentifier(entry.getKey().getLocalName(),
+                entry.getKey().getRevision().map(Revision::toString).orElse(null));
             result.put(sId, entry.getValue());
         }
 
@@ -169,7 +168,7 @@ public final class LibraryModulesSchemas implements NetconfDeviceSchemas {
                     deviceRpc.invokeRpc(NETCONF_GET_QNAME, GET_MODULES_STATE_MODULE_LIST_RPC).get();
         } catch (final InterruptedException e) {
             Thread.currentThread().interrupt();
-            throw new RuntimeException(deviceId + ": Interrupted while waiting for response to "
+            throw new IllegalStateException(deviceId + ": Interrupted while waiting for response to "
                     + MODULES_STATE_MODULE_LIST, e);
         } catch (final ExecutionException e) {
             LOG.warn("{}: Unable to detect available schemas, get to {} failed", deviceId,
index 31d2961d12fe2be3fe4d44d4e1630b36e815442d..4ffafe55b29528219898f0c3ba2df8847f40d803 100644 (file)
@@ -28,6 +28,7 @@ import java.util.Collection;
 import java.util.Collections;
 import java.util.LinkedList;
 import java.util.List;
+import java.util.Objects;
 import java.util.Optional;
 import java.util.Set;
 import java.util.concurrent.ExecutionException;
@@ -140,13 +141,13 @@ public class NetconfDevice
         this.node = node;
         this.eventExecutor = eventExecutor;
         this.nodeOptional = nodeOptional;
-        this.schemaRegistry = schemaResourcesDTO.getSchemaRegistry();
-        this.schemaRepository = schemaResourcesDTO.getSchemaRepository();
-        this.schemaContextFactory = schemaResourcesDTO.getSchemaContextFactory();
+        schemaRegistry = schemaResourcesDTO.getSchemaRegistry();
+        schemaRepository = schemaResourcesDTO.getSchemaRepository();
+        schemaContextFactory = schemaResourcesDTO.getSchemaContextFactory();
         this.salFacade = salFacade;
-        this.stateSchemasResolver = schemaResourcesDTO.getStateSchemasResolver();
-        this.processingExecutor = requireNonNull(globalProcessingExecutor);
-        this.notificationHandler = new NotificationHandler(salFacade, id);
+        stateSchemasResolver = schemaResourcesDTO.getStateSchemasResolver();
+        processingExecutor = requireNonNull(globalProcessingExecutor);
+        notificationHandler = new NotificationHandler(salFacade, id);
     }
 
     @Override
@@ -253,14 +254,14 @@ public class NetconfDevice
         //NetconfDevice.SchemaSetup can complete after NetconfDeviceCommunicator was closed. In that case do nothing,
         //since salFacade.onDeviceDisconnected was already called.
         if (connected) {
-            this.messageTransformer = new NetconfMessageTransformer(result, true,
+            messageTransformer = new NetconfMessageTransformer(result, true,
                 resolveBaseSchema(remoteSessionCapabilities.isNotificationsSupported()));
 
             // salFacade.onDeviceConnected has to be called before the notification handler is initialized
-            this.salFacade.onDeviceConnected(result, remoteSessionCapabilities, deviceRpc,
-                    this.deviceActionFactory == null ? null : this.deviceActionFactory.createDeviceAction(
-                            this.messageTransformer, listener, result.getEffectiveModelContext()));
-            this.notificationHandler.onRemoteSchemaUp(this.messageTransformer);
+            salFacade.onDeviceConnected(result, remoteSessionCapabilities, deviceRpc,
+                    deviceActionFactory == null ? null : deviceActionFactory.createDeviceAction(
+                            messageTransformer, listener, result.getEffectiveModelContext()));
+            notificationHandler.onRemoteSchemaUp(messageTransformer);
 
             LOG.info("{}: Netconf connector initialized successfully", id);
         } else {
@@ -388,7 +389,7 @@ public class NetconfDevice
             this.schemaRegistry = requireNonNull(schemaRegistry);
             this.schemaRepository = requireNonNull(schemaRepository);
             this.schemaContextFactory = requireNonNull(schemaContextFactory);
-            this.stateSchemasResolver = requireNonNull(deviceSchemasResolver);
+            stateSchemasResolver = requireNonNull(deviceSchemasResolver);
         }
 
         public SchemaSourceRegistry getSchemaRegistry() {
@@ -436,7 +437,7 @@ public class NetconfDevice
         SchemaSetup(final DeviceSources deviceSources, final NetconfSessionPreferences remoteSessionCapabilities) {
             this.deviceSources = deviceSources;
             this.remoteSessionCapabilities = remoteSessionCapabilities;
-            this.capabilities = remoteSessionCapabilities.getNetconfDeviceCapabilities();
+            capabilities = remoteSessionCapabilities.getNetconfDeviceCapabilities();
 
             // If device supports notifications and does not contain necessary modules, add them automatically
             if (remoteSessionCapabilities.containsNonModuleCapability(
@@ -591,11 +592,11 @@ public class NetconfDevice
         private QName getQNameFromSourceIdentifier(final SourceIdentifier identifier) {
             // Required sources are all required and provided merged in DeviceSourcesResolver
             for (final QName qname : deviceSources.getRequiredSourcesQName()) {
-                if (!qname.getLocalName().equals(identifier.getName())) {
+                if (!qname.getLocalName().equals(identifier.name().getLocalName())) {
                     continue;
                 }
 
-                if (identifier.getRevision().equals(qname.getRevision())) {
+                if (Objects.equals(identifier.revision(), qname.getRevision().orElse(null))) {
                     return qname;
                 }
             }
index 7baf4c371f72ee4d04ea9f6d9e6dc6b499d9bde1..c94ecb424fb7f5db755f9c61600d960b51ab0d07 100644 (file)
@@ -130,7 +130,7 @@ public final class NetconfStateSchemas implements NetconfDeviceSchemas {
             schemasNodeResult = deviceRpc.invokeRpc(NETCONF_GET_QNAME, GET_SCHEMAS_RPC).get();
         } catch (final InterruptedException e) {
             Thread.currentThread().interrupt();
-            throw new RuntimeException(id
+            throw new IllegalStateException(id
                     + ": Interrupted while waiting for response to " + STATE_SCHEMAS_IDENTIFIER, e);
         } catch (final ExecutionException e) {
             LOG.warn("{}: Unable to detect available schemas, get to {} failed", id, STATE_SCHEMAS_IDENTIFIER, e);
index c55643e6255c31b05cbc848bb2d6290462982d7a..799bb63ab9d5f7380b3569bdfbd14c6c06e50814 100644 (file)
@@ -11,11 +11,13 @@ import com.google.common.collect.HashMultimap;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Multimap;
 import java.util.Collection;
+import java.util.Map;
 import org.opendaylight.mdsal.dom.api.DOMNotification;
 import org.opendaylight.mdsal.dom.api.DOMNotificationListener;
 import org.opendaylight.mdsal.dom.api.DOMNotificationService;
 import org.opendaylight.yangtools.concepts.AbstractListenerRegistration;
 import org.opendaylight.yangtools.concepts.ListenerRegistration;
+import org.opendaylight.yangtools.concepts.Registration;
 import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier.Absolute;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -62,4 +64,11 @@ public class NetconfDeviceNotificationService implements DOMNotificationService
             final T listener, final Absolute... types) {
         return registerNotificationListener(listener, Lists.newArrayList(types));
     }
+
+    @Override
+    public synchronized Registration registerNotificationListeners(
+            final Map<Absolute, DOMNotificationListener> typeToListener) {
+        // FIXME: implement this
+        throw new UnsupportedOperationException();
+    }
 }
index 94af0ce5878daf0bcc002bb923a96eac576d30f0..e567d9d62460843011b4c3906c4dfc5782615324 100644 (file)
@@ -98,9 +98,9 @@ public final class NetconfRemoteSchemaYangSourceProvider implements SchemaSource
 
     @Override
     public ListenableFuture<YangTextSchemaSource> getSource(final SourceIdentifier sourceIdentifier) {
-        final String moduleName = sourceIdentifier.getName();
+        final String moduleName = sourceIdentifier.name().getLocalName();
 
-        final Optional<String> revision = sourceIdentifier.getRevision().map(Revision::toString);
+        final Optional<String> revision = Optional.ofNullable(sourceIdentifier.revision()).map(Revision::toString);
         final ContainerNode getSchemaRequest = createGetSchemaRequest(moduleName, revision);
         LOG.trace("{}: Loading YANG schema source for {}:{}", id, moduleName, revision);
         return Futures.transform(
index 666d529af81ed3c173a7df9a31ff4ebf8f4bab8f..632fe93fddd087ec640488f1d427221dd08cba7d 100644 (file)
@@ -9,11 +9,11 @@ package org.opendaylight.netconf.sal.connect.netconf.schema.mapping;
 
 import com.google.common.annotations.Beta;
 import org.eclipse.jdt.annotation.NonNullByDefault;
-import org.opendaylight.yangtools.concepts.Immutable;
 
 @Beta
 @NonNullByDefault
-public interface BaseNetconfSchemas extends Immutable {
+// FIXME: implements Immutable once we do not use Blueprint, or ARIES-2078 is fixed
+public interface BaseNetconfSchemas {
 
     BaseSchema getBaseSchema();
 
index 39b4f9bf9ca1bd388ac6b2ac24aedac99710b5de..3693441209e29b3c7f75ae87afb68b67dd5e18eb 100644 (file)
@@ -11,8 +11,9 @@ import static java.util.Objects.requireNonNull;
 
 import java.net.InetSocketAddress;
 import java.util.Objects;
+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.HostBuilder;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IetfInetUtil;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.network.topology.topology.topology.types.TopologyNetconf;
 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;
@@ -48,20 +49,21 @@ public final class RemoteDeviceId {
 
     private RemoteDeviceId(final String name) {
         this.name = requireNonNull(name);
-        this.topologyPath = DEFAULT_TOPOLOGY_NODE
-                .node(NodeIdentifierWithPredicates.of(Node.QNAME, NODE_ID_QNAME, name));
-        this.key = new NodeKey(new NodeId(name));
-        this.topologyBindingPath = DEFAULT_TOPOLOGY_IID.child(Node.class, key);
+        topologyPath = DEFAULT_TOPOLOGY_NODE.node(NodeIdentifierWithPredicates.of(Node.QNAME, NODE_ID_QNAME, name));
+        key = new NodeKey(new NodeId(name));
+        topologyBindingPath = DEFAULT_TOPOLOGY_IID.child(Node.class, key);
     }
 
     public RemoteDeviceId(final String name, final InetSocketAddress address) {
         this(name);
         this.address = address;
-        this.host = buildHost();
+        host = buildHost();
     }
 
     private Host buildHost() {
-        return HostBuilder.getDefaultInstance(address.getHostString());
+        final var addr = address.getAddress();
+        return addr != null ? new Host(IetfInetUtil.INSTANCE.ipAddressFor(addr))
+            : new Host(new DomainName(address.getHostString()));
     }
 
     public String getName() {
@@ -95,14 +97,8 @@ public final class RemoteDeviceId {
 
     @Override
     public boolean equals(final Object obj) {
-        if (this == obj) {
-            return true;
-        }
-        if (!(obj instanceof RemoteDeviceId)) {
-            return false;
-        }
-        final RemoteDeviceId that = (RemoteDeviceId) obj;
-        return name.equals(that.name) && topologyBindingPath.equals(that.topologyBindingPath);
+        return this == obj || obj instanceof RemoteDeviceId other
+            && name.equals(other.name) && topologyBindingPath.equals(other.topologyBindingPath);
     }
 
     @Override
index a8c233ecff66de0f155e47a9c8a4df5912ea7453..81a3c99f1ec0a96f69e445ed18d311121b6c66f1 100644 (file)
@@ -17,8 +17,6 @@ import java.net.URL;
 import java.util.Collections;
 import java.util.Map;
 import org.junit.Test;
-import org.opendaylight.yangtools.yang.common.Revision;
-import org.opendaylight.yangtools.yang.model.repo.api.RevisionSourceIdentifier;
 import org.opendaylight.yangtools.yang.model.repo.api.SourceIdentifier;
 
 public class LibraryModulesSchemasTest {
@@ -42,22 +40,17 @@ public class LibraryModulesSchemasTest {
         final Map<SourceIdentifier, URL> resolvedModulesSchema = libraryModulesSchemas.getAvailableModels();
         assertThat(resolvedModulesSchema.size(), is(3));
 
-        assertTrue(resolvedModulesSchema.containsKey(RevisionSourceIdentifier.create("module-with-revision",
-                Revision.of("2014-04-08"))));
-        assertThat(resolvedModulesSchema.get(
-                RevisionSourceIdentifier.create("module-with-revision", Revision.of("2014-04-08"))),
+        assertTrue(resolvedModulesSchema.containsKey(new SourceIdentifier("module-with-revision", "2014-04-08")));
+        assertThat(resolvedModulesSchema.get(new SourceIdentifier("module-with-revision", "2014-04-08")),
                 is(new URL("http://localhost:8181/yanglib/schemas/module-with-revision/2014-04-08")));
 
         assertTrue(resolvedModulesSchema.containsKey(
-                RevisionSourceIdentifier.create("another-module-with-revision", Revision.of("2013-10-21"))));
-        assertThat(resolvedModulesSchema.get(
-                RevisionSourceIdentifier.create("another-module-with-revision", Revision.of("2013-10-21"))),
+                new SourceIdentifier("another-module-with-revision", "2013-10-21")));
+        assertThat(resolvedModulesSchema.get(new SourceIdentifier("another-module-with-revision", "2013-10-21")),
                 is(new URL("http://localhost:8181/yanglib/schemas/another-module-with-revision/2013-10-21")));
 
-        assertTrue(resolvedModulesSchema.containsKey(
-                RevisionSourceIdentifier.create("module-without-revision")));
-        assertThat(resolvedModulesSchema.get(
-                RevisionSourceIdentifier.create("module-without-revision")),
+        assertTrue(resolvedModulesSchema.containsKey(new SourceIdentifier("module-without-revision")));
+        assertThat(resolvedModulesSchema.get(new SourceIdentifier("module-without-revision")),
                 is(new URL("http://localhost:8181/yanglib/schemas/module-without-revision/")));
     }
 
@@ -69,11 +62,11 @@ public class LibraryModulesSchemasTest {
         final Map<SourceIdentifier, URL> resolvedModulesSchema = libraryModulesSchemas.getAvailableModels();
         assertThat(resolvedModulesSchema.size(), is(1));
 
-        assertFalse(resolvedModulesSchema.containsKey(RevisionSourceIdentifier.create("module-with-bad-url")));
+        assertFalse(resolvedModulesSchema.containsKey(new SourceIdentifier("module-with-bad-url")));
         //See BUG 8071 https://bugs.opendaylight.org/show_bug.cgi?id=8071
         //assertFalse(resolvedModulesSchema.containsKey(
         //        RevisionSourceIdentifier.create("module-with-bad-revision", "bad-revision")));
-        assertTrue(resolvedModulesSchema.containsKey(RevisionSourceIdentifier.create("good-ol-module")));
+        assertTrue(resolvedModulesSchema.containsKey(new SourceIdentifier("good-ol-module")));
     }
 
     @Test
index fca46b3943e328fb91f9d5269d749da4c532b478..656b6697873b03d7bb4bf06aae7d1aa93c7174c4 100644 (file)
@@ -65,14 +65,12 @@ import org.opendaylight.netconf.sal.connect.util.RemoteDeviceId;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.netconf.node.connection.status.available.capabilities.AvailableCapability;
 import org.opendaylight.yangtools.rfc8528.data.api.MountPointContext;
 import org.opendaylight.yangtools.yang.common.QName;
-import org.opendaylight.yangtools.yang.common.Revision;
 import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode;
 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
 import org.opendaylight.yangtools.yang.model.api.Module;
 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
 import org.opendaylight.yangtools.yang.model.repo.api.EffectiveModelContextFactory;
 import org.opendaylight.yangtools.yang.model.repo.api.MissingSchemaSourceException;
-import org.opendaylight.yangtools.yang.model.repo.api.RevisionSourceIdentifier;
 import org.opendaylight.yangtools.yang.model.repo.api.SchemaRepository;
 import org.opendaylight.yangtools.yang.model.repo.api.SchemaResolutionException;
 import org.opendaylight.yangtools.yang.model.repo.api.SchemaSourceRepresentation;
@@ -103,13 +101,11 @@ public class NetconfDeviceTest extends AbstractTestModelTest {
     public static final String TEST_NAMESPACE = "test:namespace";
     public static final String TEST_MODULE = "test-module";
     public static final String TEST_REVISION = "2013-07-22";
-    public static final SourceIdentifier TEST_SID =
-            RevisionSourceIdentifier.create(TEST_MODULE, Revision.of(TEST_REVISION));
+    public static final SourceIdentifier TEST_SID = new SourceIdentifier(TEST_MODULE, TEST_REVISION);
     public static final String TEST_CAPABILITY =
             TEST_NAMESPACE + "?module=" + TEST_MODULE + "&amp;revision=" + TEST_REVISION;
 
-    public static final SourceIdentifier TEST_SID2 =
-            RevisionSourceIdentifier.create(TEST_MODULE + "2", Revision.of(TEST_REVISION));
+    public static final SourceIdentifier TEST_SID2 = new SourceIdentifier(TEST_MODULE + "2", TEST_REVISION);
     public static final String TEST_CAPABILITY2 =
             TEST_NAMESPACE + "?module=" + TEST_MODULE + "2" + "&amp;revision=" + TEST_REVISION;
 
index ee0f78aac6cb2b8b3d80e16677485c6b6e5b6e85..3a178a446ed2d87f2fac20ade27d0422cadc9c30 100644 (file)
@@ -14,6 +14,7 @@ import static org.mockito.Mockito.verify;
 
 import com.google.common.util.concurrent.FluentFuture;
 import java.net.InetSocketAddress;
+import java.util.Optional;
 import java.util.Set;
 import javax.xml.parsers.ParserConfigurationException;
 import javax.xml.transform.dom.DOMSource;
@@ -30,12 +31,10 @@ import org.opendaylight.netconf.sal.connect.util.RemoteDeviceId;
 import org.opendaylight.yangtools.util.concurrent.FluentFutures;
 import org.opendaylight.yangtools.util.xml.UntrustedXML;
 import org.opendaylight.yangtools.yang.common.QName;
-import org.opendaylight.yangtools.yang.common.Revision;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
 import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode;
 import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableAnyXmlNodeBuilder;
 import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableContainerNodeBuilder;
-import org.opendaylight.yangtools.yang.model.repo.api.RevisionSourceIdentifier;
 import org.opendaylight.yangtools.yang.model.repo.api.SourceIdentifier;
 import org.opendaylight.yangtools.yang.model.repo.api.YangTextSchemaSource;
 import org.w3c.dom.Document;
@@ -61,13 +60,11 @@ public class NetconfRemoteSchemaYangSourceProviderTest {
 
     @Test
     public void testGetSource() throws Exception {
-        final SourceIdentifier identifier = RevisionSourceIdentifier.create("test", Revision.of("2016-02-08"));
+        final SourceIdentifier identifier = new SourceIdentifier("test", "2016-02-08");
         final YangTextSchemaSource source = provider.getSource(identifier).get();
         assertEquals(identifier, source.getIdentifier());
         verify(service).invokeRpc(NetconfMessageTransformUtil.GET_SCHEMA_QNAME,
-                NetconfRemoteSchemaYangSourceProvider.createGetSchemaRequest(identifier.getName(),
-                    identifier.getRevision().map(Revision::toString))
-        );
+                NetconfRemoteSchemaYangSourceProvider.createGetSchemaRequest("test", Optional.of("2016-02-08")));
     }
 
     private static ContainerNode getNode() throws ParserConfigurationException {
index 1634c1db44867420540cf1e744eb95c61b1ab1d3..ef0ba925255d99f4d00b2938ff6cd98a157735e1 100644 (file)
@@ -19,12 +19,10 @@ import java.net.URL;
 import java.nio.charset.StandardCharsets;
 import java.util.Collections;
 import java.util.Map;
-import java.util.Optional;
 import java.util.concurrent.ExecutionException;
 import org.junit.Before;
 import org.junit.Test;
 import org.opendaylight.netconf.sal.connect.util.RemoteDeviceId;
-import org.opendaylight.yangtools.yang.model.repo.api.RevisionSourceIdentifier;
 import org.opendaylight.yangtools.yang.model.repo.api.SchemaSourceException;
 import org.opendaylight.yangtools.yang.model.repo.api.SourceIdentifier;
 import org.opendaylight.yangtools.yang.model.repo.api.YangTextSchemaSource;
@@ -36,7 +34,7 @@ public class YangLibrarySchemaYangSourceProviderTest {
     @Before
     public void setUp() throws Exception {
         final URL url = getClass().getResource("/schemas/config-test-rpc.yang");
-        workingSid = RevisionSourceIdentifier.create("abc", Optional.empty());
+        workingSid = new SourceIdentifier("abc");
         final Map<SourceIdentifier, URL> sourceIdentifierURLMap = Collections.singletonMap(workingSid, url);
         final RemoteDeviceId id = new RemoteDeviceId("id", new InetSocketAddress("localhost", 22));
         yangLibrarySchemaYangSourceProvider = new YangLibrarySchemaYangSourceProvider(id, sourceIdentifierURLMap);
@@ -65,8 +63,8 @@ public class YangLibrarySchemaYangSourceProviderTest {
     }
 
     @Test
-    public void testGetSourceNotAvailable() throws Exception {
+    public void testGetSourceNotAvailable() {
         assertThrows(IllegalArgumentException.class,
-            () -> yangLibrarySchemaYangSourceProvider.getSource(RevisionSourceIdentifier.create("aaaaa")));
+            () -> yangLibrarySchemaYangSourceProvider.getSource(new SourceIdentifier("aaaaa")));
     }
 }
index c1bd09aca07aab116ac0aaadfc080df45a56d5a3..c58d46f77fb4b47e683eb297509a64be65056a21 100644 (file)
@@ -12,7 +12,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent</artifactId>
-        <version>10.0.2</version>
+        <version>11.0.0</version>
         <relativePath/>
     </parent>
 
index 248cbb197ae1c286bbdba801e1242da3670c1e01..fb09ce29587fc9e6c1f55c893539293905447712 100644 (file)
@@ -12,7 +12,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>bundle-parent</artifactId>
-        <version>10.0.2</version>
+        <version>11.0.0</version>
         <relativePath/>
     </parent>
 
index 598b908d9248a90887674e473f604743f7565c07..b2aca15098232852291d3f748b0ea0ccdff3a23c 100644 (file)
@@ -13,7 +13,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent</artifactId>
-        <version>10.0.2</version>
+        <version>11.0.0</version>
         <relativePath/>
     </parent>
 
index f7233cab0052d22ebf2ecab9d7f7ec98dd556927..495893b7e62902043b1c0cf3a1cc97f74bfc3924 100644 (file)
@@ -13,7 +13,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>bundle-parent</artifactId>
-        <version>10.0.2</version>
+        <version>11.0.0</version>
         <relativePath/>
     </parent>
 
index 768f7a16d4bac4792da9fede86a8043556bb2f4f..ca0609235f466e0ddf8984d78f40492a6114d229 100644 (file)
@@ -49,8 +49,8 @@
             <optional>true</optional>
         </dependency>
         <dependency>
-            <groupId>javax.annotation</groupId>
-            <artifactId>javax.annotation-api</artifactId>
+            <groupId>jakarta.annotation</groupId>
+            <artifactId>jakarta.annotation-api</artifactId>
             <scope>provided</scope>
             <optional>true</optional>
         </dependency>
index a6e455a997a86dbaf17e297b23a98fdf880849aa..36ae46df4aa562cbe19d3e24c9d1d7edcb7db4fd 100644 (file)
@@ -35,7 +35,6 @@
         <dependency>
             <groupId>net.sourceforge.argparse4j</groupId>
             <artifactId>argparse4j</artifactId>
-            <version>0.9.0</version>
         </dependency>
         <dependency>
             <groupId>ch.qos.logback</groupId>
         <dependency>
             <groupId>org.apache.karaf.features</groupId>
             <artifactId>org.apache.karaf.features.core</artifactId>
-            <version>${karaf.version}</version>
         </dependency>
         <dependency>
             <groupId>org.xmlunit</groupId>
index b4d71cf6903d9bc15bd3113f42436fe0ff9bf81e..d3b185d2451b9dce70391bd76b0a494abfb457ae 100644 (file)
@@ -46,10 +46,10 @@ public class DummyMonitoringService implements NetconfMonitoringService {
     private static final Function<Capability, Schema> CAPABILITY_SCHEMA_FUNCTION = capability -> new SchemaBuilder()
             .setIdentifier(capability.getModuleName().get())
             .setNamespace(new Uri(capability.getModuleNamespace().get()))
-            .setFormat(Yang.class)
+            .setFormat(Yang.VALUE)
             .setVersion(capability.getRevision().orElse(""))
             .setLocation(Set.of(new Location(Enumeration.NETCONF)))
-            .withKey(new SchemaKey(Yang.class, capability.getModuleName().get(),
+            .withKey(new SchemaKey(Yang.VALUE, capability.getModuleName().get(),
                 capability.getRevision().orElse("")))
             .build();
 
index 75aefea37f79d34a4e2371c50812233f3e223d78..a13ad5290623860bb53497c753366b4e7b0907d4 100644 (file)
@@ -68,9 +68,9 @@ final class Execution implements Callable<Void> {
     public Void call() {
         final List<HttpRequest> requests = prepareRequests();
         if (isAsync) {
-            this.sendAsync(requests);
+            sendAsync(requests);
         } else {
-            this.sendSync(requests);
+            sendSync(requests);
         }
         return null;
     }
@@ -101,7 +101,7 @@ final class Execution implements Callable<Void> {
         }
         LOG.info("Requests sent, waiting for responses");
         try {
-            semaphore.acquire(this.throttle);
+            semaphore.acquire(throttle);
         } catch (final InterruptedException e) {
             LOG.warn("Semaphore acquire interrupted");
         }
@@ -119,7 +119,7 @@ final class Execution implements Callable<Void> {
                 }
             } catch (final InterruptedException | IOException e) {
                 LOG.error("Failed to execute request: {}", request, e);
-                throw new RuntimeException("Failed to execute request", e);
+                throw new IllegalStateException("Failed to execute request", e);
             }
         }
         LOG.info("End sending sync requests");
index b5984a65fa9709e1bb39e58bc2236631ca122e66..89a03dbab05331947b7d01d009e368422b7967ff 100644 (file)
@@ -85,7 +85,7 @@ public final class Main {
             try {
                 netconfDeviceSimulator.wait();
             } catch (final InterruptedException e) {
-                throw new RuntimeException(e);
+                throw new IllegalStateException("Interrupted while waiting", e);
             }
         }
     }
index ca7208953e7c0554c62e54010ee85a2ac1b3ba59..c776114b72d6aa30eb3df6dcf6e5962f67122642 100644 (file)
@@ -60,7 +60,6 @@ import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext;
 import org.opendaylight.yangtools.yang.model.api.Module;
 import org.opendaylight.yangtools.yang.model.api.ModuleLike;
 import org.opendaylight.yangtools.yang.model.api.Submodule;
-import org.opendaylight.yangtools.yang.model.repo.api.RevisionSourceIdentifier;
 import org.opendaylight.yangtools.yang.model.repo.api.SchemaSourceRepresentation;
 import org.opendaylight.yangtools.yang.model.repo.api.SourceIdentifier;
 import org.opendaylight.yangtools.yang.model.repo.api.YangTextSchemaSource;
@@ -95,8 +94,7 @@ public class NetconfDeviceSimulator implements Closeable {
         hashedWheelTimer = new HashedWheelTimer();
         minaTimerExecutor = Executors.newScheduledThreadPool(configuration.getThreadPoolSize(),
                 new ThreadFactoryBuilder().setNameFormat("netconf-ssh-server-mina-timers-%d").build());
-        nioExecutor = ThreadUtils
-                .newFixedThreadPool("netconf-ssh-server-nio-group", configuration.getThreadPoolSize());
+        nioExecutor = ThreadUtils.newFixedThreadPool("netconf-ssh-server-nio-group", configuration.getThreadPoolSize());
     }
 
     private NetconfServerDispatcherImpl createDispatcher(final Set<Capability> capabilities,
@@ -232,7 +230,7 @@ public class NetconfDeviceSimulator implements Closeable {
                 try {
                     server.get();
                 } catch (final InterruptedException e) {
-                    throw new RuntimeException(e);
+                    throw new IllegalStateException("Interrupted while waiting for server", e);
                 } catch (final ExecutionException e) {
                     LOG.warn("Cannot start ssh simulated device on {}, skipping", address, e);
                     continue;
@@ -247,7 +245,7 @@ public class NetconfDeviceSimulator implements Closeable {
                 try {
                     server.get();
                 } catch (final InterruptedException e) {
-                    throw new RuntimeException(e);
+                    throw new IllegalStateException("Interrupted while waiting for server", e);
                 } catch (final ExecutionException e) {
                     LOG.warn("Cannot start tcp simulated device on {}, skipping", address, e);
                     continue;
@@ -321,8 +319,7 @@ public class NetconfDeviceSimulator implements Closeable {
         }
 
         configuration.getDefaultYangResources().forEach(r -> {
-            final SourceIdentifier sourceIdentifier = RevisionSourceIdentifier.create(r.getModuleName(),
-                Revision.ofNullable(r.getRevision()));
+            final SourceIdentifier sourceIdentifier = new SourceIdentifier(r.getModuleName(), r.getRevision());
             registerSource(consumer, r.getResourcePath(), sourceIdentifier);
         });
 
@@ -331,8 +328,8 @@ public class NetconfDeviceSimulator implements Closeable {
             schemaContext = consumer.createEffectiveModelContextFactory()
                     .createEffectiveModelContext(loadedSources).get();
         } catch (final InterruptedException | ExecutionException e) {
-            throw new RuntimeException("Cannot parse schema context. "
-                    + "Please read stack trace and check YANG files in schema directory.", e);
+            throw new IllegalStateException(
+                "Cannot parse schema context. Please read stack trace and check YANG files in schema directory.", e);
         }
 
         final Set<Capability> capabilities = new HashSet<>();
@@ -348,16 +345,16 @@ public class NetconfDeviceSimulator implements Closeable {
 
     private static void addModuleCapability(final SharedSchemaRepository consumer, final Set<Capability> capabilities,
                                             final ModuleLike module) {
-        final SourceIdentifier moduleSourceIdentifier = RevisionSourceIdentifier.create(module.getName(),
-            module.getRevision());
+        final SourceIdentifier moduleSourceIdentifier = new SourceIdentifier(module.getName(),
+            module.getRevision().map(Revision::toString).orElse(null));
         try {
             final String moduleContent = new String(
                 consumer.getSchemaSource(moduleSourceIdentifier, YangTextSchemaSource.class).get().read());
             capabilities.add(new YangModuleCapability(module, moduleContent));
             //IOException would be thrown in creating SchemaContext already
         } catch (final ExecutionException | InterruptedException | IOException e) {
-            throw new RuntimeException("Cannot retrieve schema source for module "
-                + moduleSourceIdentifier.toString() + " from schema repository", e);
+            throw new IllegalStateException(
+                "Cannot retrieve schema source for module " + moduleSourceIdentifier + " from schema repository", e);
         }
     }
 
@@ -373,7 +370,7 @@ public class NetconfDeviceSimulator implements Closeable {
         try {
             return new InetSocketAddress(Inet4Address.getByName(ip), port);
         } catch (final UnknownHostException e) {
-            throw new RuntimeException(e);
+            throw new IllegalArgumentException("Cannot resolve address " + ip, e);
         }
     }
 
index 9bca8bba77cd784e54775b11239c479f024f2549..49166e97f5413558bafb687151a0c4da17321007 100644 (file)
@@ -7,9 +7,6 @@
  */
 package org.opendaylight.netconf.test.tool;
 
-import static org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier;
-import static org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifierWithPredicates;
-
 import com.google.common.collect.ImmutableList;
 import com.google.gson.stream.JsonWriter;
 import java.io.IOException;
@@ -24,6 +21,8 @@ import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.common.Uint16;
+import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier;
+import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifierWithPredicates;
 import org.opendaylight.yangtools.yang.data.api.schema.ChoiceNode;
 import org.opendaylight.yangtools.yang.data.api.schema.LeafNode;
 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
@@ -91,7 +90,7 @@ final class PayloadCreator {
             nodeWriter.write(node);
         } catch (final IOException e) {
             LOG.error("Failed to serialize node: {} to JSON", node, e);
-            throw new RuntimeException("Failed to serialize node to JSON", e);
+            throw new IllegalStateException("Failed to serialize node to JSON", e);
         }
         return writer.toString();
     }
index 3b4f522f68b738f6973c3d7d4d32185279a51f3e..9e838bf3674078c79985989b860bd9438653e262 100644 (file)
@@ -9,6 +9,7 @@ package org.opendaylight.netconf.test.tool;
 
 import ch.qos.logback.classic.Level;
 import com.google.common.base.Stopwatch;
+import com.google.common.base.Throwables;
 import com.google.common.io.CharStreams;
 import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
 import java.io.BufferedReader;
@@ -125,7 +126,7 @@ public final class ScaleUtil {
                 SEMAPHORE.acquire();
                 root.warn("semaphore released");
             } catch (InterruptedException e) {
-                throw new RuntimeException(e);
+                throw new IllegalStateException("Interrupted while waiting for semaphore", e);
             }
 
             timeoutGuardFuture.cancel(false);
@@ -176,10 +177,8 @@ public final class ScaleUtil {
             for (File f : files) {
                 if (f.isDirectory()) {
                     deleteFolder(f);
-                } else {
-                    if (!f.delete()) {
-                        root.warn("Failed to delete {}", f);
-                    }
+                } else if (!f.delete()) {
+                    root.warn("Failed to delete {}", f);
                 }
             }
         }
@@ -191,7 +190,7 @@ public final class ScaleUtil {
     private static void waitNetconfTopologyReady(final TesttoolParameters params) {
         root.info("Wait for Netconf topology to be accessible via Restconf");
         HttpResponse<String> response = requestNetconfTopology(params);
-        while (response == null || (response.statusCode() != 200 && response.statusCode() != 204)) {
+        while (response == null || response.statusCode() != 200 && response.statusCode() != 204) {
             if (response == null) {
                 root.warn("Failed to get response from controller, going to sleep...");
             } else {
@@ -199,10 +198,10 @@ public final class ScaleUtil {
             }
             try {
                 Thread.sleep(1000L);
-                response = requestNetconfTopology(params);
             } catch (InterruptedException e) {
-                throw new RuntimeException(e);
+                throw new IllegalStateException("Sleep interrupted", e);
             }
+            response = requestNetconfTopology(params);
         }
         root.info("Returned status code {}, Netconf topology is accessible", response.statusCode());
     }
@@ -230,7 +229,7 @@ public final class ScaleUtil {
             root.warn(e.getMessage());
             return null;
         } catch (InterruptedException e) {
-            throw new RuntimeException(e);
+            throw new IllegalStateException("Interrupted while waiting for response", e);
         }
     }
 
@@ -305,7 +304,6 @@ public final class ScaleUtil {
         }
     }
 
-    @SuppressWarnings("checkstyle:illegalCatch")
     public static class LoggingWrapperExecutor extends ScheduledThreadPoolExecutor {
         public LoggingWrapperExecutor(final int corePoolSize) {
             super(corePoolSize);
@@ -324,15 +322,16 @@ public final class ScaleUtil {
             }
 
             @Override
+            @SuppressWarnings("checkstyle:illegalCatch")
             public T call() {
                 try {
                     return theCallable.call();
                 } catch (Exception e) {
                     // log
                     root.warn("error in executing: " + theCallable + ". It will no longer be run!", e);
-
+                    Throwables.throwIfUnchecked(e);
                     // rethrow so that the executor can do it's thing
-                    throw new RuntimeException(e);
+                    throw new IllegalStateException(e);
                 }
             }
         }
index 5cfebdcdc8e9deb3f36ce651923b6663e47cbeac..be48d1cd8e1bfaa5bd9f91c8135ffb39c6e90d81 100644 (file)
@@ -68,9 +68,9 @@ class AsyncExecutionStrategy extends AbstractExecutionStrategy {
                     LOG.warn("Request failed {}", netconfMessageRpcResult);
                 }
             } catch (final InterruptedException e) {
-                throw new RuntimeException(e);
+                throw new IllegalStateException(e);
             } catch (final ExecutionException | TimeoutException e) {
-                throw new RuntimeException("Request not finished", e);
+                throw new IllegalStateException("Request not finished", e);
             }
         }
 
index 6d02ba259a94585aa3c4fdedcfc763ce522f8967..967f8ae34fae80049d162345fade07989b442159 100644 (file)
@@ -174,12 +174,12 @@ public final class StressClient {
                 try {
                     future.get(4L, TimeUnit.MINUTES);
                 } catch (ExecutionException | TimeoutException e) {
-                    throw new RuntimeException(e);
+                    throw new IllegalStateException(e);
                 }
             }
             executorService.shutdownNow();
         } catch (final InterruptedException e) {
-            throw new RuntimeException("Unable to execute requests", e);
+            throw new IllegalStateException("Unable to execute requests", e);
         }
         started.stop();
 
@@ -238,12 +238,10 @@ public final class StressClient {
             } else {
                 netconfClientDispatcher = ConfigurableClientDispatcher.createChunkedExi(nioGroup, nioGroup, timer);
             }
+        } else if (params.legacyFraming) {
+            netconfClientDispatcher = ConfigurableClientDispatcher.createLegacy(nioGroup, nioGroup, timer);
         } else {
-            if (params.legacyFraming) {
-                netconfClientDispatcher = ConfigurableClientDispatcher.createLegacy(nioGroup, nioGroup, timer);
-            } else {
-                netconfClientDispatcher = ConfigurableClientDispatcher.createChunked(nioGroup, nioGroup, timer);
-            }
+            netconfClientDispatcher = ConfigurableClientDispatcher.createChunked(nioGroup, nioGroup, timer);
         }
         return netconfClientDispatcher;
     }
index d808f2bf5d6802ec7f5d63ec85f4c80d1508bf99..62733ba81656ca6d182c42c7c0b244975364a0c5 100644 (file)
@@ -5,7 +5,6 @@
  * 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.test.tool.client.stress;
 
 import io.netty.util.concurrent.GlobalEventExecutor;
@@ -43,17 +42,17 @@ public class StressClientCallable implements Callable<Boolean> {
                                 final NetconfClientDispatcherImpl netconfClientDispatcher,
                                 final List<NetconfMessage> preparedMessages) {
         this.params = params;
-        this.sessionListener = getSessionListener(params.getInetAddress(), params.concurrentMessageLimit);
+        sessionListener = getSessionListener(params.getInetAddress(), params.concurrentMessageLimit);
         this.netconfClientDispatcher = netconfClientDispatcher;
-        cfg = getNetconfClientConfiguration(this.params, this.sessionListener);
+        cfg = getNetconfClientConfiguration(this.params, sessionListener);
 
         LOG.info("Connecting to netconf server {}:{}", params.ip, params.port);
         try {
             netconfClientSession = netconfClientDispatcher.createClient(cfg).get();
         } catch (final InterruptedException e) {
-            throw new RuntimeException(e);
+            throw new IllegalStateException(e);
         } catch (final ExecutionException e) {
-            throw new RuntimeException("Unable to connect", e);
+            throw new IllegalStateException("Unable to connect", e);
         }
         executionStrategy = getExecutionStrategy(params, preparedMessages, sessionListener);
     }
@@ -89,7 +88,7 @@ public class StressClientCallable implements Callable<Boolean> {
         netconfClientConfigurationBuilder.withSessionListener(sessionListener);
         netconfClientConfigurationBuilder.withAddress(params.getInetAddress());
         if (params.tcpHeader != null) {
-            final String header = params.tcpHeader.replaceAll("\"", "").trim() + "\n";
+            final String header = params.tcpHeader.replace("\"", "").trim() + "\n";
             netconfClientConfigurationBuilder.withAdditionalHeader(
                 new NetconfHelloMessageAdditionalHeader(null, null, null, null, null) {
                     @Override
index 087eeb0937766ae4c2f7862d7d5f88e3a70f2423..e33ad5ec661e29ec0952f64c7c9b005cc6e55237 100644 (file)
@@ -78,9 +78,9 @@ class SyncExecutionStrategy extends AbstractExecutionStrategy {
             }
 
         } catch (final InterruptedException e) {
-            throw new RuntimeException(e);
+            throw new IllegalStateException(e);
         } catch (final ExecutionException | TimeoutException e) {
-            throw new RuntimeException("Request not finished", e);
+            throw new IllegalStateException("Request not finished", e);
         }
     }
 }
index 736633b6b54d1e436c91b095f53a6ab99d58934d..8cd629ce869b1b47183e60ee2f416fb60dcfcbae 100644 (file)
@@ -35,7 +35,7 @@ public class JaxBSerializer {
             res = new DOMResult();
             marshaller.marshal(monitoringModel, res);
         } catch (final JAXBException e) {
-            throw new RuntimeException("Unable to serialize netconf state " + monitoringModel, e);
+            throw new IllegalStateException("Unable to serialize netconf state " + monitoringModel, e);
         }
         return ((Document) res.getNode()).getDocumentElement();
     }
index 32ef6ae3c98f9f143a434956fa5c8558419a38be..25fbd77c816e031fad79830200307826dd67ccf7 100644 (file)
@@ -5,10 +5,10 @@
  * 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.test.tool.monitoring;
 
-import com.google.common.base.Preconditions;
+import static com.google.common.base.Preconditions.checkState;
+
 import com.google.common.collect.Collections2;
 import java.util.Collection;
 import javax.xml.bind.annotation.XmlElement;
@@ -45,8 +45,8 @@ final class MonitoringSchema {
 
     @XmlElement(name = "format")
     public String getFormat() {
-        Preconditions.checkState(schema.getFormat() == Yang.class, "Only yang format permitted, but was %s",
-                schema.getFormat());
+        final var format = schema.getFormat();
+        checkState(Yang.VALUE.equals(format), "Only yang format permitted, but was %s", format);
         return "yang";
     }
 }
\ No newline at end of file
index 94d46c18cc676a586e1579f923848713aa1a5354..30c1efbc1e0c1d1a5e2ca84c773673dcefa6f48d 100644 (file)
@@ -10,6 +10,7 @@ package org.opendaylight.netconf.test.tool.monitoring;
 import com.google.common.base.Joiner;
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlTransient;
+import org.opendaylight.mdsal.binding.spec.naming.BindingMapping;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.netconf.monitoring.extension.rev131210.Session1;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.netconf.monitoring.rev101004.netconf.state.sessions.Session;
@@ -74,7 +75,8 @@ final class MonitoringSession {
     @XmlElement(name = "transport")
     public String getTransport() {
         try {
-            final QName qualifiedName = (QName) managementSession.getTransport().getField("QNAME").get(null);
+            final QName qualifiedName = (QName) managementSession.getTransport().implementedInterface()
+                .getField(BindingMapping.QNAME_STATIC_FIELD_NAME).get(null);
             // Add extension prefix if transport type is from extension yang module
             if (qualifiedName.getNamespace().toString().equals(MonitoringConstants.EXTENSION_NAMESPACE)) {
                 return Joiner.on(':').join(MonitoringConstants.EXTENSION_NAMESPACE_PREFIX,
index 2dd3882c91184a54e479fee1242196d9d4c1a07c..7e8c8523143ea204fcf0282a4e33481a51d562af 100644 (file)
@@ -15,8 +15,9 @@ import java.util.Map;
 import java.util.Set;
 import java.util.stream.Collectors;
 import org.opendaylight.yangtools.yang.binding.YangModuleInfo;
+import org.opendaylight.yangtools.yang.common.QName;
+import org.opendaylight.yangtools.yang.common.Revision;
 import org.opendaylight.yangtools.yang.model.repo.api.MissingSchemaSourceException;
-import org.opendaylight.yangtools.yang.model.repo.api.RevisionSourceIdentifier;
 import org.opendaylight.yangtools.yang.model.repo.api.SchemaSourceRepresentation;
 import org.opendaylight.yangtools.yang.model.repo.api.SourceIdentifier;
 import org.opendaylight.yangtools.yang.model.repo.api.YangTextSchemaSource;
@@ -59,9 +60,9 @@ public final class SchemaSourceCache<T extends SchemaSourceRepresentation> exten
         // creation of source identifiers for all yang module info
         cachedSchemas = allModulesInfo.stream()
                 .map(yangModuleInfo -> {
-                    final RevisionSourceIdentifier revisionSourceIdentifier = RevisionSourceIdentifier.create(
-                            yangModuleInfo.getName().getLocalName(),
-                            yangModuleInfo.getName().getRevision());
+                    final QName name = yangModuleInfo.getName();
+                    final SourceIdentifier revisionSourceIdentifier = new SourceIdentifier(
+                            name.getLocalName(), name.getRevision().map(Revision::toString).orElse(null));
                     return new AbstractMap.SimpleEntry<>(revisionSourceIdentifier, yangModuleInfo);
                 })
                 .collect(Collectors.toMap(AbstractMap.SimpleEntry::getKey, AbstractMap.SimpleEntry::getValue));
index c4fcb17757a1a54d110447183934134244070d93..add5859ff76ee525299919c5b52085e638ca2ebe 100644 (file)
@@ -12,7 +12,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>odlparent-lite</artifactId>
-    <version>10.0.2</version>
+    <version>11.0.0</version>
     <relativePath/>
   </parent>
 
index 87fe75cd491eeec9bb2564b367a153603aaa4ed9..de50df1f6d999d51e66cb23258b78bc8e09aa335 100644 (file)
@@ -12,10 +12,10 @@ import javax.ws.rs.core.Application;
 import org.opendaylight.aaa.web.ServletDetails;
 import org.opendaylight.aaa.web.WebContext;
 import org.opendaylight.aaa.web.WebContextBuilder;
-import org.opendaylight.aaa.web.WebContextRegistration;
 import org.opendaylight.aaa.web.WebContextSecurer;
 import org.opendaylight.aaa.web.WebServer;
 import org.opendaylight.aaa.web.servlet.ServletSupport;
+import org.opendaylight.yangtools.concepts.Registration;
 
 /**
  * Initializes the wep app.
@@ -23,7 +23,7 @@ import org.opendaylight.aaa.web.servlet.ServletSupport;
  * @author Thomas Pantelis
  */
 public class WebInitializer {
-    private final WebContextRegistration registration;
+    private final Registration registration;
 
     public WebInitializer(WebServer webServer,  WebContextSecurer webContextSecurer, ServletSupport servletSupport,
             Application webApp) throws ServletException {
index e523dd81d60be4d218c071aaddfca4a1329b98bb..f3064675331c8274a1c2b6002b495ef5876035a2 100644 (file)
@@ -22,15 +22,16 @@ import java.io.IOException;
 import java.nio.charset.Charset;
 import java.util.HashMap;
 import java.util.Map;
+import java.util.Optional;
 import java.util.concurrent.ExecutionException;
 import org.opendaylight.mdsal.binding.api.DataBroker;
 import org.opendaylight.mdsal.binding.api.WriteTransaction;
 import org.opendaylight.mdsal.common.api.CommitInfo;
 import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Uri;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.library.rev190104.LegacyRevisionUtils;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.library.rev190104.ModulesState;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.library.rev190104.ModulesStateBuilder;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.library.rev190104.module.list.CommonLeafsRevisionBuilder;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.library.rev190104.module.list.Module;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.library.rev190104.module.list.ModuleBuilder;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.library.rev190104.module.list.ModuleKey;
@@ -38,8 +39,6 @@ import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.yanglib.impl.rev141210.YanglibConfig;
 import org.opendaylight.yanglib.api.YangLibService;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-import org.opendaylight.yangtools.yang.common.Revision;
-import org.opendaylight.yangtools.yang.model.repo.api.RevisionSourceIdentifier;
 import org.opendaylight.yangtools.yang.model.repo.api.SchemaSourceRepresentation;
 import org.opendaylight.yangtools.yang.model.repo.api.SourceIdentifier;
 import org.opendaylight.yangtools.yang.model.repo.api.YangTextSchemaSource;
@@ -112,12 +111,13 @@ public class YangLibProvider implements AutoCloseable, SchemaSourceListener, Yan
         final Map<ModuleKey, Module> newModules = new HashMap<>();
 
         for (PotentialSchemaSource<?> potentialYangSource : Iterables.filter(sources, YANG_SCHEMA_SOURCE)) {
-            final YangIdentifier moduleName = new YangIdentifier(potentialYangSource.getSourceIdentifier().getName());
+            final YangIdentifier moduleName =
+                new YangIdentifier(potentialYangSource.getSourceIdentifier().name().getLocalName());
 
             final Module newModule = new ModuleBuilder()
                     .setName(moduleName)
-                    .setRevision(CommonLeafsRevisionBuilder.fromYangCommon(
-                        potentialYangSource.getSourceIdentifier().getRevision()))
+                    .setRevision(LegacyRevisionUtils.fromYangCommon(
+                        Optional.ofNullable(potentialYangSource.getSourceIdentifier().revision())))
                     .setSchema(getUrlForModule(potentialYangSource.getSourceIdentifier()))
                     .build();
 
@@ -156,8 +156,8 @@ public class YangLibProvider implements AutoCloseable, SchemaSourceListener, Yan
 
         WriteTransaction tx = dataBroker.newWriteOnlyTransaction();
         tx.delete(LogicalDatastoreType.OPERATIONAL, InstanceIdentifier.create(ModulesState.class)
-            .child(Module.class, new ModuleKey(new YangIdentifier(source.getSourceIdentifier().getName()),
-                CommonLeafsRevisionBuilder.fromYangCommon(source.getSourceIdentifier().getRevision()))));
+            .child(Module.class, new ModuleKey(new YangIdentifier(source.getSourceIdentifier().name().getLocalName()),
+                LegacyRevisionUtils.fromYangCommon(Optional.ofNullable(source.getSourceIdentifier().revision())))));
 
         tx.commit().addCallback(new FutureCallback<CommitInfo>() {
             @Override
@@ -175,8 +175,7 @@ public class YangLibProvider implements AutoCloseable, SchemaSourceListener, Yan
     @Override
     public String getSchema(final String name, final String revision) {
         LOG.debug("Attempting load for schema source {}:{}", name, revision);
-        final SourceIdentifier sourceId = RevisionSourceIdentifier.create(name,
-            revision.isEmpty() ? null : Revision.of(revision));
+        final SourceIdentifier sourceId = new SourceIdentifier(name, revision.isEmpty() ? null : revision);
 
         final ListenableFuture<YangTextSchemaSource> sourceFuture = schemaRepository.getSchemaSource(sourceId,
             YangTextSchemaSource.class);
@@ -191,10 +190,11 @@ public class YangLibProvider implements AutoCloseable, SchemaSourceListener, Yan
 
     private Uri getUrlForModule(final SourceIdentifier sourceIdentifier) {
         return new Uri("http://" + yanglibConfig.getBindingAddr() + ':' + yanglibConfig.getBindingPort()
-                + "/yanglib/schemas/" + sourceIdentifier.getName() + '/' + revString(sourceIdentifier));
+                + "/yanglib/schemas/" + sourceIdentifier.name().getLocalName() + '/' + revString(sourceIdentifier));
     }
 
     private static String revString(final SourceIdentifier id) {
-        return id.getRevision().map(Revision::toString).orElse("");
+        final var rev = id.revision();
+        return rev != null ? rev.toString() : "";
     }
 }
index 1b1adfe581e65e9bc771997fc9af942505c06a52..3dea2863013cf0062faa2361093483683c2c0bad 100644 (file)
@@ -38,11 +38,11 @@ import org.opendaylight.mdsal.binding.api.DataBroker;
 import org.opendaylight.mdsal.binding.api.WriteTransaction;
 import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Uri;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.library.rev190104.LegacyRevisionUtils;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.library.rev190104.ModulesState;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.library.rev190104.ModulesStateBuilder;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.library.rev190104.RevisionIdentifier;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.library.rev190104.module.list.CommonLeafs.Revision;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.library.rev190104.module.list.CommonLeafsRevisionBuilder;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.library.rev190104.module.list.Module;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.library.rev190104.module.list.ModuleBuilder;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.library.rev190104.module.list.ModuleKey;
@@ -51,7 +51,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controll
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.yanglib.impl.rev141210.YanglibConfigBuilder;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.opendaylight.yangtools.yang.common.Uint32;
-import org.opendaylight.yangtools.yang.model.repo.api.RevisionSourceIdentifier;
+import org.opendaylight.yangtools.yang.model.repo.api.SourceIdentifier;
 import org.opendaylight.yangtools.yang.model.repo.api.YangTextSchemaSource;
 import org.opendaylight.yangtools.yang.model.repo.api.YinSchemaSourceRepresentation;
 import org.opendaylight.yangtools.yang.model.repo.spi.PotentialSchemaSource;
@@ -106,14 +106,11 @@ public class YangLibProviderTest {
 
         List<PotentialSchemaSource<?>> list = new ArrayList<>();
         list.add(
-                PotentialSchemaSource.create(
-                        RevisionSourceIdentifier.create("no-revision"),
+                PotentialSchemaSource.create(new SourceIdentifier("no-revision"),
                         YangTextSchemaSource.class, PotentialSchemaSource.Costs.IMMEDIATE.getValue()));
 
         list.add(
-                PotentialSchemaSource.create(
-                        RevisionSourceIdentifier.create("with-revision",
-                            org.opendaylight.yangtools.yang.common.Revision.of("2016-04-28")),
+                PotentialSchemaSource.create(new SourceIdentifier("with-revision", "2016-04-28"),
                         YangTextSchemaSource.class, PotentialSchemaSource.Costs.IMMEDIATE.getValue()));
 
         doReturn(emptyFluentFuture()).when(writeTransaction).commit();
@@ -123,7 +120,7 @@ public class YangLibProviderTest {
 
         Module newModule = new ModuleBuilder()
                 .setName(new YangIdentifier("no-revision"))
-                .setRevision(CommonLeafsRevisionBuilder.emptyRevision())
+                .setRevision(LegacyRevisionUtils.emptyRevision())
                 .setSchema(new Uri("http://www.fake.com:300/yanglib/schemas/no-revision/"))
                 .build();
 
@@ -158,13 +155,11 @@ public class YangLibProviderTest {
         // expected behavior is to do nothing
         potentialSources = new ArrayList<>();
         potentialSources.add(
-                PotentialSchemaSource.create(
-                        RevisionSourceIdentifier.create("yin-source-representation"),
+                PotentialSchemaSource.create(new SourceIdentifier("yin-source-representation"),
                         YinSchemaSourceRepresentation.class, PotentialSchemaSource.Costs.IMMEDIATE.getValue()));
 
         potentialSources.add(
-                PotentialSchemaSource.create(
-                        RevisionSourceIdentifier.create("asts-schema-source"),
+                PotentialSchemaSource.create(new SourceIdentifier("asts-schema-source"),
                         IRSchemaSource.class, PotentialSchemaSource.Costs.IMMEDIATE.getValue()));
 
         yangLibProvider.schemaSourceRegistered(potentialSources);
@@ -172,8 +167,7 @@ public class YangLibProviderTest {
 
         // add yang schema source to list
         potentialSources.add(
-                PotentialSchemaSource.create(
-                        RevisionSourceIdentifier.create("yang-schema-source"),
+                PotentialSchemaSource.create(new SourceIdentifier("yang-schema-source"),
                         YangTextSchemaSource.class, PotentialSchemaSource.Costs.IMMEDIATE.getValue()));
 
         when(dataBroker.newWriteOnlyTransaction()).thenReturn(writeTransaction);
@@ -193,8 +187,7 @@ public class YangLibProviderTest {
         yangLibProvider.init();
 
         final PotentialSchemaSource<YinSchemaSourceRepresentation> nonYangSource =
-                PotentialSchemaSource.create(
-                        RevisionSourceIdentifier.create("yin-source-representation"),
+            PotentialSchemaSource.create(new SourceIdentifier("yin-source-representation"),
                 YinSchemaSourceRepresentation.class, PotentialSchemaSource.Costs.IMMEDIATE.getValue());
 
         yangLibProvider.schemaSourceUnregistered(nonYangSource);
@@ -214,9 +207,8 @@ public class YangLibProviderTest {
         doReturn(emptyFluentFuture()).when(writeTransaction).commit();
 
         PotentialSchemaSource<YangTextSchemaSource> yangUnregistererSource =
-                PotentialSchemaSource.create(
-                        RevisionSourceIdentifier.create("unregistered-yang-schema-without-revision"),
-                        YangTextSchemaSource.class, PotentialSchemaSource.Costs.LOCAL_IO.getValue());
+            PotentialSchemaSource.create(new SourceIdentifier("unregistered-yang-schema-without-revision"),
+                YangTextSchemaSource.class, PotentialSchemaSource.Costs.LOCAL_IO.getValue());
 
         yangLibProvider.schemaSourceUnregistered(yangUnregistererSource);
 
@@ -225,14 +217,12 @@ public class YangLibProviderTest {
                 eq(InstanceIdentifier.create(ModulesState.class)
                         .child(Module.class,
                                 new ModuleKey(new YangIdentifier("unregistered-yang-schema-without-revision"),
-                                        CommonLeafsRevisionBuilder.emptyRevision()))));
+                                        LegacyRevisionUtils.emptyRevision()))));
 
         verify(writeTransaction).commit();
 
         yangUnregistererSource =
-                PotentialSchemaSource.create(
-                        RevisionSourceIdentifier.create("unregistered-yang-with-revision",
-                            org.opendaylight.yangtools.yang.common.Revision.of("2016-04-28")),
+                PotentialSchemaSource.create(new SourceIdentifier("unregistered-yang-with-revision", "2016-04-28"),
                         YangTextSchemaSource.class, PotentialSchemaSource.Costs.LOCAL_IO.getValue());
 
         yangLibProvider.schemaSourceUnregistered(yangUnregistererSource);
index 014c08a462ad849810a14e144245bd15725b6fa3..a59e57b51b3eba706174d8d379db89ccec3ae68a 100644 (file)
@@ -11,7 +11,7 @@
   <parent>
     <groupId>org.opendaylight.mdsal</groupId>
     <artifactId>binding-parent</artifactId>
-    <version>9.0.3</version>
+    <version>10.0.0</version>
     <relativePath/>
   </parent>
 
       <dependency>
         <groupId>org.opendaylight.aaa</groupId>
         <artifactId>aaa-artifacts</artifactId>
-        <version>0.15.4</version>
+        <version>0.16.0-SNAPSHOT</version>
         <type>pom</type>
         <scope>import</scope>
       </dependency>
       <dependency>
         <groupId>org.opendaylight.controller</groupId>
         <artifactId>bundle-parent</artifactId>
-        <version>5.0.4</version>
+        <version>6.0.0</version>
         <type>pom</type>
         <scope>import</scope>
       </dependency>
       <dependency>
         <groupId>org.opendaylight.infrautils</groupId>
         <artifactId>infrautils-artifacts</artifactId>
-        <version>3.0.1</version>
+        <version>4.0.0</version>
         <type>pom</type>
         <scope>import</scope>
       </dependency>
diff --git a/pom.xml b/pom.xml
index e75425c37c03b712385715689fe6f8bfb9ce0f62..e6b8ca80876285a8dbf5b5b97811624b09716eae 100644 (file)
--- a/pom.xml
+++ b/pom.xml
@@ -13,7 +13,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent-lite</artifactId>
-        <version>10.0.2</version>
+        <version>11.0.0</version>
         <relativePath/>
     </parent>
 
index 7cfdc455c9bc9dd5609625cf3b110947c078ec86..14366430ec910201901c69b22cd6afa03da3632e 100644 (file)
@@ -12,7 +12,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent-lite</artifactId>
-        <version>10.0.2</version>
+        <version>11.0.0</version>
         <relativePath/>
     </parent>
 
index 8ed5a775f0b28131b9221b68272db514ec22b8ce..c74ef8bfd0a3ae105c03828f67079670317b3800 100644 (file)
@@ -72,8 +72,8 @@
       <artifactId>mdsal-dom-api</artifactId>
     </dependency>
     <dependency>
-      <groupId>javax.ws.rs</groupId>
-      <artifactId>javax.ws.rs-api</artifactId>
+      <groupId>jakarta.ws.rs</groupId>
+      <artifactId>jakarta.ws.rs-api</artifactId>
     </dependency>
 
     <dependency>
index be8dcf2f73d5d5eeca7900c33fda42832dadfa3b..ac61f7a50bbd23395b095a48de7093ce9af803b7 100644 (file)
@@ -12,7 +12,6 @@ import java.util.Collections;
 import java.util.Map;
 import java.util.Optional;
 import org.eclipse.jdt.annotation.NonNull;
-import org.opendaylight.yangtools.concepts.SemVer;
 import org.opendaylight.yangtools.yang.common.QNameModule;
 import org.opendaylight.yangtools.yang.common.UnresolvedQName;
 import org.opendaylight.yangtools.yang.common.UnresolvedQName.Unqualified;
@@ -115,11 +114,6 @@ abstract class AbstractOperationsModule implements Module, ModuleEffectiveStatem
         return Collections.emptySet();
     }
 
-    @Override
-    public final Optional<SemVer> getSemanticVersion() {
-        return Optional.empty();
-    }
-
     @Override
     public final Optional<String> getOrganization() {
         return Optional.empty();
index e1e806c925b13c6bca961415bc86031cb5e90c05..899c5f2c2bf7994a5aed6a44441f82de1e36b09f 100644 (file)
@@ -12,7 +12,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>odlparent-lite</artifactId>
-    <version>10.0.2</version>
+    <version>11.0.0</version>
     <relativePath/>
   </parent>
 
index 6361123c31eda14d4ce23753448d537d57b19b78..39c414711698e4cc6c6b1736fa74fc435ba79aab 100644 (file)
       <artifactId>javax.servlet-api</artifactId>
     </dependency>
     <dependency>
-      <groupId>javax.ws.rs</groupId>
-      <artifactId>javax.ws.rs-api</artifactId>
+      <groupId>jakarta.ws.rs</groupId>
+      <artifactId>jakarta.ws.rs-api</artifactId>
     </dependency>
     <dependency>
-      <groupId>javax.annotation</groupId>
-      <artifactId>javax.annotation-api</artifactId>
+      <groupId>jakarta.annotation</groupId>
+      <artifactId>jakarta.annotation-api</artifactId>
       <optional>true</optional>
     </dependency>
     <dependency>
     <dependency>
       <groupId>org.skyscreamer</groupId>
       <artifactId>jsonassert</artifactId>
+      <version>1.5.0</version>
       <scope>test</scope>
     </dependency>
     <dependency>
index 4178ed1fb51bd5694c821ce6ab6405e80980b7aa..56454db073aea37c4ed7bd3acf5d14d95b48add0 100644 (file)
@@ -43,7 +43,7 @@ import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.librar
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.library.rev190104.module.list.Module.ConformanceType;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.library.rev190104.module.list.module.Deviation;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.library.rev190104.module.list.module.Submodule;
-import org.opendaylight.yangtools.concepts.ListenerRegistration;
+import org.opendaylight.yangtools.concepts.Registration;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.common.Revision;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
@@ -100,7 +100,7 @@ public class SchemaContextHandler implements EffectiveModelContextListener, Auto
 
     private final DOMDataBroker domDataBroker;
     private final DOMSchemaService domSchemaService;
-    private ListenerRegistration<?> listenerRegistration;
+    private Registration listenerRegistration;
 
     private volatile EffectiveModelContext schemaContext;
 
index 29f8fac1854dd41746e6e63a5a38cedc3ddcb8de..70de8d359e5be9a52f44e38c5abe4d76b5dfbc2c 100644 (file)
@@ -18,8 +18,10 @@ import javax.ws.rs.core.MediaType;
 import javax.ws.rs.core.MultivaluedMap;
 import javax.ws.rs.ext.Provider;
 import org.opendaylight.restconf.common.schema.SchemaExportContext;
+import org.opendaylight.yangtools.yang.common.Revision;
 import org.opendaylight.yangtools.yang.common.YangConstants;
-import org.opendaylight.yangtools.yang.model.repo.api.RevisionSourceIdentifier;
+import org.opendaylight.yangtools.yang.model.api.Module;
+import org.opendaylight.yangtools.yang.model.repo.api.SourceIdentifier;
 import org.opendaylight.yangtools.yang.model.repo.api.YangTextSchemaSource;
 
 @Provider
@@ -29,8 +31,9 @@ public class YangSchemaExportBodyWriter extends AbstractSchemaExportBodyWriter {
     public void writeTo(final SchemaExportContext context, final Class<?> type, final Type genericType,
             final Annotation[] annotations, final MediaType mediaType,
             final MultivaluedMap<String, Object> httpHeaders, final OutputStream entityStream) throws IOException {
-        final RevisionSourceIdentifier sourceId = RevisionSourceIdentifier.create(context.getModule().getName(),
-                context.getModule().getQNameModule().getRevision());
+        final Module module = context.getModule();
+        final SourceIdentifier sourceId = new SourceIdentifier(module.getName(),
+                module.getQNameModule().getRevision().map(Revision::toString).orElse(null));
         final YangTextSchemaSource yangTextSchemaSource;
         try {
             yangTextSchemaSource = context.getSourceProvider().getSource(sourceId).get();
index c581243ab3073cc3785fb39e38922d950aa03c75..95190882a7c97fa0f3c520dd3663bdc4c58165c8 100644 (file)
@@ -89,19 +89,19 @@ public class JsonPatchBodyReader extends AbstractPatchBodyReader {
     }
 
     @SuppressWarnings("checkstyle:IllegalCatch")
-    public PatchContext readFrom(final String uriPath, final InputStream entityStream) throws
-            RestconfDocumentedException {
+    public PatchContext readFrom(final String uriPath, final InputStream entityStream)
+            throws RestconfDocumentedException {
         try {
             return readFrom(
                     ParserIdentifier.toInstanceIdentifier(uriPath, getSchemaContext(),
                             Optional.ofNullable(getMountPointService())), entityStream);
         } catch (final Exception e) {
-            propagateExceptionAs(e);
-            return null; // no-op
+            throw propagateExceptionAs(e);
         }
     }
 
-    private static RuntimeException propagateExceptionAs(final Exception exception) throws RestconfDocumentedException {
+    private static RestconfDocumentedException propagateExceptionAs(final Exception exception)
+            throws RestconfDocumentedException {
         Throwables.throwIfInstanceOf(exception, RestconfDocumentedException.class);
         LOG.debug("Error parsing json input", exception);
 
index a209d05f8c28d1cf451f87ff476e6c976ffcd8db..1d290ec73785f941f66c059b32a231d2b50c95be 100644 (file)
@@ -152,7 +152,7 @@ final class CreateStreamUtil {
 
         final String scopeName = extractStringLeaf(data, SCOPE_NODEID);
         // FIXME: this is not really used
-        final Scope scope = scopeName != null ? Scope.forName(scopeName).orElseThrow() : Scope.BASE;
+        final Scope scope = scopeName != null ? Scope.ofName(scopeName) : Scope.BASE;
 
         return RestconfStreamsConstants.DATA_SUBSCRIPTION
             + "/" + ListenersBroker.createStreamNameFromUri(IdentifierCodec.serialize(path, schemaContext)
index 03eec66926a218bd45115affe1692344bb7ecb9d..3d8016c26688a52abea9a72311a74bd143e1dcbd 100644 (file)
@@ -18,7 +18,6 @@ import org.opendaylight.aaa.web.FilterDetails;
 import org.opendaylight.aaa.web.ServletDetails;
 import org.opendaylight.aaa.web.WebContext;
 import org.opendaylight.aaa.web.WebContextBuilder;
-import org.opendaylight.aaa.web.WebContextRegistration;
 import org.opendaylight.aaa.web.WebContextSecurer;
 import org.opendaylight.aaa.web.WebServer;
 import org.opendaylight.aaa.web.servlet.ServletSupport;
@@ -28,6 +27,7 @@ import org.opendaylight.restconf.nb.rfc8040.RootFoundApplication;
 import org.opendaylight.restconf.nb.rfc8040.rests.utils.RestconfStreamsConstants;
 import org.opendaylight.restconf.nb.rfc8040.streams.WebSocketInitializer;
 import org.opendaylight.restconf.nb.rfc8040.utils.RestconfConstants;
+import org.opendaylight.yangtools.concepts.Registration;
 
 /**
  * Initializes the rfc8040 web app endpoint.
@@ -36,7 +36,7 @@ import org.opendaylight.restconf.nb.rfc8040.utils.RestconfConstants;
  */
 @Singleton
 public class WebInitializer {
-    private final WebContextRegistration registration;
+    private final Registration registration;
 
     @Inject
     public WebInitializer(final WebServer webServer, final WebContextSecurer webContextSecurer,
index 4b671975aba755f5f4f5db0623a2af606a42b290..ec55738ff59b9b4ab6460703951eb3e58a703e4c 100644 (file)
@@ -12,7 +12,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>odlparent-lite</artifactId>
-    <version>10.0.2</version>
+    <version>11.0.0</version>
     <relativePath/>
   </parent>
 
index ad105049e9a46c0fd9202c1a86bbe808c593bd43..56e8ba9cea7aabacf63b084769ab02f11b985784 100644 (file)
@@ -13,10 +13,10 @@ import org.opendaylight.aaa.web.ResourceDetails;
 import org.opendaylight.aaa.web.ServletDetails;
 import org.opendaylight.aaa.web.WebContext;
 import org.opendaylight.aaa.web.WebContextBuilder;
-import org.opendaylight.aaa.web.WebContextRegistration;
 import org.opendaylight.aaa.web.WebContextSecurer;
 import org.opendaylight.aaa.web.WebServer;
 import org.opendaylight.aaa.web.servlet.ServletSupport;
+import org.opendaylight.yangtools.concepts.Registration;
 
 /**
  * Initializes the wep app.
@@ -24,7 +24,7 @@ import org.opendaylight.aaa.web.servlet.ServletSupport;
  * @author Thomas Pantelis
  */
 public class WebInitializer {
-    private final WebContextRegistration registration;
+    private final Registration registration;
 
     public WebInitializer(WebServer webServer,  WebContextSecurer webContextSecurer, ServletSupport servletSupport,
             Application webApp) throws ServletException {
index f28de9d50eb167da4471285297a2e077dfe010a0..4f0de88b22b93a1b36b397c151c2c9cb9e48c150 100644 (file)
@@ -172,7 +172,8 @@ final class WadlTemplate {
             builder.append("xmlns:");
             builder.append(imprt.getPrefix());
             builder.append("=\"");
-            builder.append(context.findModule(imprt.getModuleName(), imprt.getRevision()).get().getNamespace());
+            builder.append(context.findModule(imprt.getModuleName().getLocalName(),
+                imprt.getRevision()).get().getNamespace());
             builder.append("\"");
             builder.newLineIfNotEmpty();
         }
@@ -212,8 +213,7 @@ final class WadlTemplate {
     private String createPath(final DataSchemaNode schemaNode) {
         pathListParams = new ArrayList<>();
         StringBuilder path = new StringBuilder().append(schemaNode.getQName().getLocalName());
-        if (schemaNode instanceof ListSchemaNode) {
-            final var listNode = (ListSchemaNode) schemaNode;
+        if (schemaNode instanceof ListSchemaNode listNode) {
             for (final QName listKey : listNode.getKeyDefinition()) {
                 pathListParams.add((LeafSchemaNode) listNode.getDataChildByName(listKey));
                 path.append("'/{").append(listKey.getLocalName()).append('}');