Bump upstreams 48/109448/4
authorRobert Varga <robert.varga@pantheon.tech>
Thu, 28 Dec 2023 20:35:07 +0000 (21:35 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Fri, 29 Dec 2023 01:12:20 +0000 (02:12 +0100)
Adopt:
- odlparent-13.0.10
- yangtools-11.0.5
- mdsal-12.0.4

Change-Id: Ia6f7420c5751436ec97d0a45187d79dadf9c3d94
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
43 files changed:
akka/pom.xml
akka/repackaged-akka-jar/pom.xml
artifacts/pom.xml
benchmark/dsbenchmark/src/main/java/org/opendaylight/dsbenchmark/simpletx/SimpletxBaWrite.java
benchmark/dsbenchmark/src/main/java/org/opendaylight/dsbenchmark/simpletx/SimpletxDomWrite.java
benchmark/dsbenchmark/src/main/java/org/opendaylight/dsbenchmark/txchain/TxchainBaWrite.java
benchmark/dsbenchmark/src/main/java/org/opendaylight/dsbenchmark/txchain/TxchainDomWrite.java
benchmark/pom.xml
bundle-parent/pom.xml
docs/pom.xml
features/features-controller-experimental/pom.xml
features/features-controller-testing/pom.xml
features/features-controller/pom.xml
features/pom.xml
features/single-feature-parent/pom.xml
jolokia/pom.xml
karaf/pom.xml
opendaylight/blueprint/pom.xml
opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/ActionProviderBean.java
opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/ComponentProcessor.java
opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/NotificationListenerBean.java
opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/RpcImplementationBean.java
opendaylight/config/netty-event-executor-config/pom.xml
opendaylight/config/netty-threadgroup-config/pom.xml
opendaylight/config/netty-timer-config/pom.xml
opendaylight/config/pom.xml
opendaylight/config/threadpool-config-api/pom.xml
opendaylight/config/threadpool-config-impl/pom.xml
opendaylight/md-sal/cds-access-client/src/main/java/org/opendaylight/controller/cluster/access/client/InversibleLock.java
opendaylight/md-sal/mdsal-it-base/pom.xml
opendaylight/md-sal/mdsal-it-parent/pom.xml
opendaylight/md-sal/parent/pom.xml
opendaylight/md-sal/pom.xml
opendaylight/md-sal/sal-clustering-config/pom.xml
opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/AbstractDOMBrokerTransaction.java
opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/actors/DataTreeNotificationListenerRegistrationActor.java
opendaylight/md-sal/samples/clustering-test-app/configuration/pom.xml
opendaylight/md-sal/samples/clustering-test-app/pom.xml
opendaylight/md-sal/samples/clustering-test-app/provider/src/main/java/org/opendaylight/controller/clustering/it/provider/BasicRpcTestProvider.java
opendaylight/md-sal/samples/clustering-test-app/provider/src/main/java/org/opendaylight/controller/clustering/it/provider/impl/IdIntsListener.java
opendaylight/md-sal/samples/clustering-test-app/provider/src/main/java/org/opendaylight/controller/clustering/it/provider/impl/SingletonGetConstantService.java
opendaylight/md-sal/samples/pom.xml
pom.xml

index 9bac3bcd21589e4ec8d18770a384c596c0694d66..a0b412ae9e8e5b35cda1bd91a491e741321ae94c 100644 (file)
@@ -11,7 +11,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent-lite</artifactId>
-        <version>13.0.7</version>
+        <version>13.0.10</version>
         <relativePath/>
     </parent>
 
index e92c20029a82b71909366a17e4588ef22f5308a8..1fae24984755f99c0c912f07843914895f5a4692 100644 (file)
@@ -13,7 +13,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent</artifactId>
-        <version>13.0.7</version>
+        <version>13.0.10</version>
         <relativePath/>
     </parent>
 
index 216eccd1b08b5d6c2765dd54d0f817e309dbfc76..d2b15600b7dff183de7fcc391f0e04359f2c6c95 100644 (file)
@@ -14,7 +14,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent-lite</artifactId>
-        <version>13.0.7</version>
+        <version>13.0.10</version>
         <relativePath/>
     </parent>
 
index 8893a70574a4ab97e8245d3474edb5c38b7999b7..5395868aeca487f7e0ba6fbc89cc72b1837d0676 100644 (file)
@@ -5,16 +5,15 @@
  * 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.dsbenchmark.simpletx;
 
+import static java.util.Objects.requireNonNull;
+
 import java.util.List;
 import java.util.concurrent.ExecutionException;
 import org.opendaylight.dsbenchmark.BaListBuilder;
 import org.opendaylight.dsbenchmark.DatastoreAbstractWriter;
 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.opendaylight.params.xml.ns.yang.dsbenchmark.rev150105.StartTestInput;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.dsbenchmark.rev150105.StartTestInput.DataStore;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.dsbenchmark.rev150105.TestExec;
@@ -25,31 +24,31 @@ import org.slf4j.LoggerFactory;
 
 public class SimpletxBaWrite extends DatastoreAbstractWriter {
     private static final Logger LOG = LoggerFactory.getLogger(SimpletxBaWrite.class);
+
     private final DataBroker dataBroker;
-    private List<OuterList> list;
+    private List<OuterList> list = null;
 
     public SimpletxBaWrite(final DataBroker dataBroker, final StartTestInput.Operation oper,
             final int outerListElem, final int innerListElem, final long writesPerTx, final DataStore dataStore) {
         super(oper, outerListElem, innerListElem, writesPerTx, dataStore);
-        this.dataBroker = dataBroker;
+        this.dataBroker = requireNonNull(dataBroker);
         LOG.debug("Created SimpletxBaWrite");
     }
 
     @Override
     public void createList() {
-        list = BaListBuilder.buildOuterList(this.outerListElem, this.innerListElem);
+        list = BaListBuilder.buildOuterList(outerListElem, innerListElem);
     }
 
     @Override
     public void executeList() {
-        final LogicalDatastoreType dsType = getDataStoreType();
+        final var dsType = getDataStoreType();
 
-        WriteTransaction tx = dataBroker.newWriteOnlyTransaction();
+        var tx = dataBroker.newWriteOnlyTransaction();
         long writeCnt = 0;
 
-        for (OuterList element : this.list) {
-            InstanceIdentifier<OuterList> iid = InstanceIdentifier.create(TestExec.class)
-                                                    .child(OuterList.class, element.key());
+        for (var element : list) {
+            final var iid = InstanceIdentifier.create(TestExec.class).child(OuterList.class, element.key());
             if (oper == StartTestInput.Operation.PUT) {
                 tx.put(dsType, iid, element);
             } else {
@@ -80,5 +79,4 @@ public class SimpletxBaWrite extends DatastoreAbstractWriter {
             }
         }
     }
-
 }
index f4cdbef26d1fcc5c281da621db4ab0615d225acb..a57773125f9e707dca4ec3b30394d9896b490e04 100644 (file)
@@ -5,16 +5,15 @@
  * 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.dsbenchmark.simpletx;
 
+import static java.util.Objects.requireNonNull;
+
 import java.util.List;
 import java.util.concurrent.ExecutionException;
 import org.opendaylight.dsbenchmark.DatastoreAbstractWriter;
 import org.opendaylight.dsbenchmark.DomListBuilder;
-import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.mdsal.dom.api.DOMDataBroker;
-import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteTransaction;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.dsbenchmark.rev150105.StartTestInput;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.dsbenchmark.rev150105.StartTestInput.DataStore;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.dsbenchmark.rev150105.TestExec;
@@ -27,33 +26,32 @@ import org.slf4j.LoggerFactory;
 
 public class SimpletxDomWrite extends DatastoreAbstractWriter {
     private static final Logger LOG = LoggerFactory.getLogger(SimpletxDomWrite.class);
-    private final DOMDataBroker domDataBroker;
-    private List<MapEntryNode> list;
 
-    public SimpletxDomWrite(final DOMDataBroker domDataBroker, final StartTestInput.Operation oper,
+    private final DOMDataBroker dataBroker;
+    private List<MapEntryNode> list = null;
+
+    public SimpletxDomWrite(final DOMDataBroker dataBroker, final StartTestInput.Operation oper,
             final int outerListElem, final int innerListElem, final long putsPerTx, final DataStore dataStore) {
         super(oper, outerListElem, innerListElem, putsPerTx, dataStore);
-        this.domDataBroker = domDataBroker;
+        this.dataBroker = requireNonNull(dataBroker);
         LOG.debug("Created SimpletxDomWrite");
     }
 
     @Override
     public void createList() {
-        list = DomListBuilder.buildOuterList(this.outerListElem, this.innerListElem);
+        list = DomListBuilder.buildOuterList(outerListElem, innerListElem);
     }
 
     @Override
     public void executeList() {
-        final LogicalDatastoreType dsType = getDataStoreType();
-        final YangInstanceIdentifier pid =
-                YangInstanceIdentifier.builder().node(TestExec.QNAME).node(OuterList.QNAME).build();
+        final var dsType = getDataStoreType();
+        final var pid = YangInstanceIdentifier.of(TestExec.QNAME, OuterList.QNAME);
 
-        DOMDataTreeWriteTransaction tx = domDataBroker.newWriteOnlyTransaction();
+        var tx = dataBroker.newWriteOnlyTransaction();
         long writeCnt = 0;
 
-        for (MapEntryNode element : this.list) {
-            YangInstanceIdentifier yid =
-                    pid.node(NodeIdentifierWithPredicates.of(OuterList.QNAME, element.getIdentifier().asMap()));
+        for (var element : list) {
+            final var yid = pid.node(NodeIdentifierWithPredicates.of(OuterList.QNAME, element.name().asMap()));
 
             if (oper == StartTestInput.Operation.PUT) {
                 tx.put(dsType, yid, element);
@@ -71,7 +69,7 @@ public class SimpletxDomWrite extends DatastoreAbstractWriter {
                     LOG.error("Transaction failed", e);
                     txError++;
                 }
-                tx = domDataBroker.newWriteOnlyTransaction();
+                tx = dataBroker.newWriteOnlyTransaction();
                 writeCnt = 0;
             }
         }
index b96c1763b7a423ae54c8d4e8832ae77b08a54d4f..53c9e2fae4d7335ccfb334583ecf42fdce2758b1 100644 (file)
@@ -7,6 +7,8 @@
  */
 package org.opendaylight.dsbenchmark.txchain;
 
+import static java.util.Objects.requireNonNull;
+
 import com.google.common.util.concurrent.FutureCallback;
 import com.google.common.util.concurrent.MoreExecutors;
 import java.util.List;
@@ -17,9 +19,7 @@ import org.opendaylight.mdsal.binding.api.DataBroker;
 import org.opendaylight.mdsal.binding.api.Transaction;
 import org.opendaylight.mdsal.binding.api.TransactionChain;
 import org.opendaylight.mdsal.binding.api.TransactionChainListener;
-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.opendaylight.params.xml.ns.yang.dsbenchmark.rev150105.StartTestInput;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.dsbenchmark.rev150105.StartTestInput.DataStore;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.dsbenchmark.rev150105.StartTestInput.Operation;
@@ -31,33 +31,33 @@ import org.slf4j.LoggerFactory;
 
 public class TxchainBaWrite extends DatastoreAbstractWriter implements TransactionChainListener {
     private static final Logger LOG = LoggerFactory.getLogger(TxchainBaWrite.class);
-    private final DataBroker bindingDataBroker;
-    private List<OuterList> list;
 
-    public TxchainBaWrite(final DataBroker bindingDataBroker, final Operation oper,
-            final int outerListElem, final int innerListElem, final long writesPerTx, final DataStore dataStore) {
+    private final DataBroker dataBroker;
+    private List<OuterList> list = null;
+
+    public TxchainBaWrite(final DataBroker dataBroker, final Operation oper, final int outerListElem,
+            final int innerListElem, final long writesPerTx, final DataStore dataStore) {
         super(oper, outerListElem, innerListElem, writesPerTx, dataStore);
-        this.bindingDataBroker = bindingDataBroker;
+        this.dataBroker = requireNonNull(dataBroker);
         LOG.debug("Created TxchainBaWrite");
     }
 
     @Override
     public void createList() {
-        list = BaListBuilder.buildOuterList(this.outerListElem, this.innerListElem);
+        list = BaListBuilder.buildOuterList(outerListElem, innerListElem);
     }
 
     @Override
     public void executeList() {
-        final TransactionChain chain = bindingDataBroker.createMergingTransactionChain(this);
-        final LogicalDatastoreType dsType = getDataStoreType();
+        final var chain = dataBroker.createMergingTransactionChain(this);
+        final var dsType = getDataStoreType();
 
-        WriteTransaction tx = chain.newWriteOnlyTransaction();
+        var tx = chain.newWriteOnlyTransaction();
         int txSubmitted = 0;
         int writeCnt = 0;
 
-        for (OuterList element : this.list) {
-            InstanceIdentifier<OuterList> iid = InstanceIdentifier.create(TestExec.class)
-                                                    .child(OuterList.class, element.key());
+        for (var element : list) {
+            final var iid = InstanceIdentifier.create(TestExec.class).child(OuterList.class, element.key());
 
             if (oper == StartTestInput.Operation.PUT) {
                 tx.put(dsType, iid, element);
index 4f254a2ce99cfba935fcf4190d9ba18008a109f4..ae7e1a1dd7f6e87e6c2ca4e618d6925dedad913b 100644 (file)
@@ -14,10 +14,8 @@ import java.util.concurrent.ExecutionException;
 import org.opendaylight.dsbenchmark.DatastoreAbstractWriter;
 import org.opendaylight.dsbenchmark.DomListBuilder;
 import org.opendaylight.mdsal.common.api.CommitInfo;
-import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.mdsal.dom.api.DOMDataBroker;
 import org.opendaylight.mdsal.dom.api.DOMDataTreeTransaction;
-import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteTransaction;
 import org.opendaylight.mdsal.dom.api.DOMTransactionChain;
 import org.opendaylight.mdsal.dom.api.DOMTransactionChainListener;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.dsbenchmark.rev150105.StartTestInput;
@@ -32,35 +30,34 @@ import org.slf4j.LoggerFactory;
 
 public class TxchainDomWrite extends DatastoreAbstractWriter implements DOMTransactionChainListener {
     private static final Logger LOG = LoggerFactory.getLogger(TxchainDomWrite.class);
-    private final DOMDataBroker domDataBroker;
-    private List<MapEntryNode> list;
 
-    public TxchainDomWrite(final DOMDataBroker domDataBroker, final StartTestInput.Operation oper,
+    private final DOMDataBroker dataBroker;
+    private List<MapEntryNode> list = null;
+
+    public TxchainDomWrite(final DOMDataBroker dataBroker, final StartTestInput.Operation oper,
             final int outerListElem, final int innerListElem, final long writesPerTx, final DataStore dataStore) {
         super(oper, outerListElem, innerListElem, writesPerTx, dataStore);
-        this.domDataBroker = domDataBroker;
+        this.dataBroker = dataBroker;
         LOG.debug("Created TxchainDomWrite");
     }
 
     @Override
     public void createList() {
-        list = DomListBuilder.buildOuterList(this.outerListElem, this.innerListElem);
+        list = DomListBuilder.buildOuterList(outerListElem, innerListElem);
     }
 
     @Override
     public void executeList() {
-        final LogicalDatastoreType dsType = getDataStoreType();
-        final YangInstanceIdentifier pid =
-                YangInstanceIdentifier.builder().node(TestExec.QNAME).node(OuterList.QNAME).build();
-        final DOMTransactionChain chain = domDataBroker.createMergingTransactionChain(this);
+        final var dsType = getDataStoreType();
+        final var pid = YangInstanceIdentifier.of(TestExec.QNAME, OuterList.QNAME);
+        final var chain = dataBroker.createMergingTransactionChain(this);
 
-        DOMDataTreeWriteTransaction tx = chain.newWriteOnlyTransaction();
+        var tx = chain.newWriteOnlyTransaction();
         int txSubmitted = 0;
         int writeCnt = 0;
 
-        for (MapEntryNode element : this.list) {
-            YangInstanceIdentifier yid =
-                    pid.node(NodeIdentifierWithPredicates.of(OuterList.QNAME, element.getIdentifier().asMap()));
+        for (var element : list) {
+            var yid = pid.node(NodeIdentifierWithPredicates.of(OuterList.QNAME, element.name().asMap()));
 
             if (oper == StartTestInput.Operation.PUT) {
                 tx.put(dsType, yid, element);
index d09fa0afcd6b05eee32e2e12c51856c649c33f1c..55e8863966ec3751e85e64b6ab3a534e667b8c6f 100644 (file)
@@ -10,7 +10,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>odlparent-lite</artifactId>
-    <version>13.0.7</version>
+    <version>13.0.10</version>
     <relativePath/>
   </parent>
 
index d861f247b21d1fee690eca922de3788916e6305f..e101c797ffbb826c14614d9e367459adc01dabef 100644 (file)
@@ -11,7 +11,7 @@
     <parent>
         <groupId>org.opendaylight.mdsal</groupId>
         <artifactId>dom-parent</artifactId>
-        <version>12.0.3</version>
+        <version>12.0.4</version>
         <relativePath/>
     </parent>
 
index 5ab3c674ebd88fec637a69a80ebece25042e8acb..6555a91edef960b9d0a0f9145b57fddf784870bc 100644 (file)
@@ -12,7 +12,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent</artifactId>
-        <version>13.0.7</version>
+        <version>13.0.10</version>
         <relativePath/>
     </parent>
 
                         <link>https://netty.io/4.1/api/</link>
                         <link>https://commons.apache.org/proper/commons-lang/javadocs/api-release/</link>
 
-                        <link>https://www.javadoc.io/doc/org.opendaylight.odlparent/odlparent-docs/13.0.7/</link>
-                        <link>https://www.javadoc.io/doc/org.opendaylight.yangtools/yangtools-docs/11.0.4/</link>
-                        <link>https://www.javadoc.io/doc/org.opendaylight.mdsal/mdsal-docs/12.0.3/</link>
+                        <link>https://www.javadoc.io/doc/org.opendaylight.odlparent/odlparent-docs/13.0.10/</link>
+                        <link>https://www.javadoc.io/doc/org.opendaylight.yangtools/yangtools-docs/11.0.5/</link>
+                        <link>https://www.javadoc.io/doc/org.opendaylight.mdsal/mdsal-docs/12.0.4/</link>
                     </links>
                     <groups>
                         <group>
index 01f4c09b5dec1505d2b5e83271e7e70cb6d73b5c..d5bc175d39c6919a7e26521da6ec88003a720210 100644 (file)
@@ -11,7 +11,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>feature-repo-parent</artifactId>
-        <version>13.0.7</version>
+        <version>13.0.10</version>
         <relativePath/>
     </parent>
 
index 269fb786c99305cdbc882a78fbfd17bee1b70b8a..a5c3357db493e4fd006e978e06acf501d368ca86 100644 (file)
@@ -11,7 +11,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>feature-repo-parent</artifactId>
-        <version>13.0.7</version>
+        <version>13.0.10</version>
         <relativePath/>
     </parent>
 
index bb917de8e9b4d33eb2cfb0713a012c455ef3f36c..c03549ada78d79e7f6991e3168427fc174ec84c5 100644 (file)
@@ -11,7 +11,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>feature-repo-parent</artifactId>
-        <version>13.0.7</version>
+        <version>13.0.10</version>
         <relativePath/>
     </parent>
 
index 3358c7fe4a7376447fae9990b5ebecdc8fe050da..e239014b7ac70821b8697107dc7684edd82bafb5 100644 (file)
@@ -11,7 +11,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>odlparent-lite</artifactId>
-    <version>13.0.7</version>
+    <version>13.0.10</version>
     <relativePath/>
   </parent>
 
index ab0507a17972701e63fadb0aa8c69e34e26faefa..97f0599686daccf96bf7869f3bdb4ff4e4e3ee75 100644 (file)
@@ -11,7 +11,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>13.0.7</version>
+        <version>13.0.10</version>
         <relativePath/>
     </parent>
 
index 0baad04eba299535512aae6616703649323a4b33..9884e1192fd2408c499c4a0aff56db7fbd07673d 100644 (file)
@@ -11,7 +11,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>odlparent</artifactId>
-    <version>13.0.7</version>
+    <version>13.0.10</version>
     <relativePath/>
   </parent>
 
index 758a76a09f51b9c0a144005d30e2766aa4c53f7d..a0dfcd8dc6925cfc31e20ce6d3f49f7551d2d477 100644 (file)
@@ -11,7 +11,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>karaf4-parent</artifactId>
-    <version>13.0.7</version>
+    <version>13.0.10</version>
     <relativePath/>
   </parent>
 
index 8d47a148b16499f9a1586f9831179d4f4ea3c8dd..e6e9fb417519eef4501a82b6e9e7866956d01598 100644 (file)
@@ -12,7 +12,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>bundle-parent</artifactId>
-    <version>13.0.7</version>
+    <version>13.0.10</version>
     <relativePath/>
   </parent>
 
       <dependency>
         <groupId>org.opendaylight.yangtools</groupId>
         <artifactId>yangtools-artifacts</artifactId>
-        <version>11.0.4</version>
+        <version>11.0.5</version>
         <type>pom</type>
         <scope>import</scope>
       </dependency>
       <dependency>
         <groupId>org.opendaylight.mdsal</groupId>
         <artifactId>mdsal-artifacts</artifactId>
-        <version>12.0.3</version>
+        <version>12.0.4</version>
         <type>pom</type>
         <scope>import</scope>
       </dependency>
index 14297a10bf0890712d1d93ae25923ea1e12de079..5139b5fab6feaa95350fe453b0b4e41a08211d2a 100644 (file)
@@ -9,9 +9,7 @@ package org.opendaylight.controller.blueprint.ext;
 
 import com.google.common.collect.Collections2;
 import com.google.common.collect.ImmutableSet;
-import java.util.Collection;
 import java.util.Objects;
-import java.util.Set;
 import org.opendaylight.mdsal.binding.api.RpcProviderService;
 import org.opendaylight.mdsal.dom.api.DOMRpcIdentifier;
 import org.opendaylight.mdsal.dom.api.DOMRpcImplementationNotAvailableException;
@@ -20,7 +18,6 @@ import org.opendaylight.mdsal.dom.api.DOMSchemaService;
 import org.opendaylight.yangtools.concepts.Registration;
 import org.opendaylight.yangtools.util.concurrent.FluentFutures;
 import org.opendaylight.yangtools.yang.binding.RpcService;
-import org.opendaylight.yangtools.yang.common.QName;
 import org.osgi.framework.Bundle;
 import org.osgi.service.blueprint.container.ComponentDefinitionException;
 import org.slf4j.Logger;
@@ -41,13 +38,13 @@ public class ActionProviderBean {
 
     private static final Logger LOG = LoggerFactory.getLogger(ActionProviderBean.class);
 
-    private DOMRpcProviderService domRpcProvider;
-    private RpcProviderService bindingRpcProvider;
-    private DOMSchemaService schemaService;
-    private RpcService implementation;
-    private String interfaceName;
+    private DOMRpcProviderService domRpcProvider = null;
+    private RpcProviderService bindingRpcProvider = null;
+    private DOMSchemaService schemaService = null;
+    private RpcService implementation = null;
+    private String interfaceName = null;
     private Registration reg;
-    private Bundle bundle;
+    private Bundle bundle = null;
 
     public void setBundle(final Bundle bundle) {
         this.bundle = bundle;
@@ -119,14 +116,14 @@ public class ActionProviderBean {
     }
 
     private void registerFallback(final Class<RpcService> interfaceClass) {
-        final Collection<QName> paths = RpcUtil.decomposeRpcService(interfaceClass,
-            schemaService.getGlobalContext(), Objects::nonNull);
+        final var paths = RpcUtil.decomposeRpcService(interfaceClass, schemaService.getGlobalContext(),
+            Objects::nonNull);
         if (paths.isEmpty()) {
             LOG.warn("{}: interface {} has no actions defined", ACTION_PROVIDER, interfaceClass);
             return;
         }
 
-        final Set<DOMRpcIdentifier> rpcs = ImmutableSet.copyOf(Collections2.transform(paths, DOMRpcIdentifier::create));
+        final var rpcs = ImmutableSet.copyOf(Collections2.transform(paths, DOMRpcIdentifier::create));
         reg = domRpcProvider.registerRpcImplementation(
             (rpc, input) -> FluentFutures.immediateFailedFluentFuture(new DOMRpcImplementationNotAvailableException(
                 "Action %s has no instance matching %s", rpc, input)), rpcs);
index 11807c6376b5a3eb829d0096bec791fa19479663..8e8d98ff365d62389aba90459f7abe0ccc6601ee 100644 (file)
@@ -25,8 +25,6 @@ import org.osgi.framework.Bundle;
 import org.osgi.framework.Constants;
 import org.osgi.framework.FrameworkUtil;
 import org.osgi.framework.ServiceRegistration;
-import org.osgi.service.blueprint.reflect.BeanProperty;
-import org.osgi.service.blueprint.reflect.ComponentMetadata;
 import org.osgi.service.blueprint.reflect.ValueMetadata;
 import org.osgi.service.cm.ManagedService;
 import org.slf4j.Logger;
@@ -45,8 +43,8 @@ public class ComponentProcessor implements ComponentDefinitionRegistryProcessor
     private static final String CM_PERSISTENT_ID_PROPERTY = "persistentId";
 
     private final List<ServiceRegistration<?>> managedServiceRegs = new ArrayList<>();
-    private Bundle bundle;
-    private BlueprintContainerRestartService blueprintContainerRestartService;
+    private Bundle bundle = null;
+    private BlueprintContainerRestartService blueprintContainerRestartService = null;
     private boolean restartDependentsOnUpdates;
     private boolean useDefaultForReferenceTypes;
 
@@ -67,21 +65,19 @@ public class ComponentProcessor implements ComponentDefinitionRegistryProcessor
     }
 
     public void destroy() {
-        for (ServiceRegistration<?> reg: managedServiceRegs) {
-            AriesFrameworkUtil.safeUnregisterService(reg);
-        }
+        managedServiceRegs.forEach(AriesFrameworkUtil::safeUnregisterService);
     }
 
     @Override
     public void process(final ComponentDefinitionRegistry registry) {
         LOG.debug("{}: In process",  logName());
 
-        for (String name : registry.getComponentDefinitionNames()) {
-            ComponentMetadata component = registry.getComponentDefinition(name);
-            if (component instanceof MutableBeanMetadata) {
-                processMutableBeanMetadata((MutableBeanMetadata) component);
-            } else if (component instanceof MutableServiceReferenceMetadata) {
-                processServiceReferenceMetadata((MutableServiceReferenceMetadata)component);
+        for (var name : registry.getComponentDefinitionNames()) {
+            final var component = registry.getComponentDefinition(name);
+            if (component instanceof MutableBeanMetadata bean) {
+                processMutableBeanMetadata(bean);
+            } else if (component instanceof MutableServiceReferenceMetadata serviceRef) {
+                processServiceReferenceMetadata(serviceRef);
             }
         }
     }
@@ -112,18 +108,15 @@ public class ComponentProcessor implements ComponentDefinitionRegistryProcessor
             LOG.debug("{}: Found PropertyPlaceholder bean: {}, runtime {}", logName(), bean.getId(),
                     bean.getRuntimeClass());
 
-            for (BeanProperty prop : bean.getProperties()) {
+            for (var prop : bean.getProperties()) {
                 if (CM_PERSISTENT_ID_PROPERTY.equals(prop.getName())) {
-                    if (prop.getValue() instanceof ValueMetadata) {
-                        ValueMetadata persistentId = (ValueMetadata)prop.getValue();
-
-                        LOG.debug("{}: Found {} property, value : {}", logName(),
-                                CM_PERSISTENT_ID_PROPERTY, persistentId.getStringValue());
-
+                    if (prop.getValue() instanceof ValueMetadata persistentId) {
+                        LOG.debug("{}: Found {} property, value : {}", logName(), CM_PERSISTENT_ID_PROPERTY,
+                            persistentId.getStringValue());
                         registerManagedService(persistentId.getStringValue());
                     } else {
-                        LOG.debug("{}: {} property metadata {} is not instanceof ValueMetadata",
-                                logName(), CM_PERSISTENT_ID_PROPERTY, prop.getValue());
+                        LOG.debug("{}: {} property metadata {} is not instanceof ValueMetadata", logName(),
+                            CM_PERSISTENT_ID_PROPERTY, prop.getValue());
                     }
 
                     break;
@@ -135,7 +128,7 @@ public class ComponentProcessor implements ComponentDefinitionRegistryProcessor
     private void registerManagedService(final String persistentId) {
         // Register a ManagedService so we get updates from the ConfigAdmin when the cfg file corresponding
         // to the persistentId changes.
-        final ManagedService managedService = new ManagedService() {
+        final var managedService = new ManagedService() {
             private final AtomicBoolean initialUpdate = new AtomicBoolean(true);
             private volatile Dictionary<String, ?> previousProperties;
 
index 74c2956621d76035351445d8f44913ead5596d19..55be59cea31a387bde54192fb51c2e3207ab284b 100644 (file)
@@ -24,10 +24,10 @@ public class NotificationListenerBean {
     private static final Logger LOG = LoggerFactory.getLogger(NotificationListenerBean.class);
     static final String NOTIFICATION_LISTENER = "notification-listener";
 
-    private Bundle bundle;
-    private NotificationService notificationService;
-    private NotificationListener notificationListener;
-    private ListenerRegistration<?> registration;
+    private Bundle bundle = null;
+    private NotificationService notificationService = null;
+    private NotificationListener notificationListener = null;
+    private ListenerRegistration<?> registration = null;
 
     public void setNotificationService(final NotificationService notificationService) {
         this.notificationService = notificationService;
index 94d5b3b22f33ad2175823b2326aaaf6130b8a189..a8fc47ab454f93209dc1e3383033a6b461ce020d 100644 (file)
@@ -29,11 +29,11 @@ public class RpcImplementationBean {
     private static final Logger LOG = LoggerFactory.getLogger(RpcImplementationBean.class);
     static final String RPC_IMPLEMENTATION = "rpc-implementation";
 
-    private RpcProviderService rpcProvider;
-    private Bundle bundle;
-    private String interfaceName;
-    private RpcService implementation;
     private final List<ObjectRegistration<RpcService>> rpcRegistrations = new ArrayList<>();
+    private RpcProviderService rpcProvider = null;
+    private Bundle bundle = null;
+    private String interfaceName = null;
+    private RpcService implementation = null;
 
     public void setRpcProvider(final RpcProviderService rpcProvider) {
         this.rpcProvider = rpcProvider;
@@ -54,13 +54,13 @@ public class RpcImplementationBean {
     @SuppressWarnings("checkstyle:IllegalCatch")
     public void init() {
         try {
-            List<Class<RpcService>> rpcInterfaces = getImplementedRpcServiceInterfaces(interfaceName,
+            final var rpcInterfaces = getImplementedRpcServiceInterfaces(interfaceName,
                     implementation.getClass(), bundle, RPC_IMPLEMENTATION);
 
             LOG.debug("{}: init - adding implementation {} for RpcService interface(s) {}", bundle.getSymbolicName(),
                     implementation, rpcInterfaces);
 
-            for (Class<RpcService> rpcInterface : rpcInterfaces) {
+            for (var rpcInterface : rpcInterfaces) {
                 rpcRegistrations.add(rpcProvider.registerRpcImplementation(rpcInterface, implementation));
             }
         } catch (final ComponentDefinitionException e) {
@@ -93,8 +93,8 @@ public class RpcImplementationBean {
             return Collections.singletonList((Class<RpcService>)rpcInterface);
         }
 
-        List<Class<RpcService>> rpcInterfaces = new ArrayList<>();
-        for (Class<?> intface : implementationClass.getInterfaces()) {
+        final var rpcInterfaces = new ArrayList<Class<RpcService>>();
+        for (var intface : implementationClass.getInterfaces()) {
             if (RpcService.class.isAssignableFrom(intface)) {
                 rpcInterfaces.add((Class<RpcService>) intface);
             }
index beac957672bc5b2d7f3435cb4ac219ab602ecb89..1c675f3ffa64902c4d0984633c32d73451a9b402 100644 (file)
@@ -5,7 +5,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>bundle-parent</artifactId>
-    <version>13.0.7</version>
+    <version>13.0.10</version>
     <relativePath/>
   </parent>
 
index 6354722d6aa34c1a4ff59d52b3b2f31d743ad8f1..2434b62587d7d4cd5c36734480b62da7f579f795 100644 (file)
@@ -5,7 +5,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>bundle-parent</artifactId>
-    <version>13.0.7</version>
+    <version>13.0.10</version>
     <relativePath/>
   </parent>
 
index 0af2b1a08a036804afc0be2efa7908f85bce579b..91cf223011ad03b72c58b0638684d34d2e93062e 100644 (file)
@@ -5,7 +5,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>bundle-parent</artifactId>
-    <version>13.0.7</version>
+    <version>13.0.10</version>
     <relativePath/>
   </parent>
 
index 611bf486523ca39ba310e7988f4bc8361abb10ae..1380da29ca0822e64cc5a501fd30cfc00d062f95 100644 (file)
@@ -4,7 +4,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>odlparent-lite</artifactId>
-    <version>13.0.7</version>
+    <version>13.0.10</version>
     <relativePath/>
   </parent>
 
index 6b3635e259c2ee0b80b0e27f6f49cafea58ce815..629b78eed63629a6c31c90314de581d1b0d4faa9 100644 (file)
@@ -5,7 +5,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>bundle-parent</artifactId>
-    <version>13.0.7</version>
+    <version>13.0.10</version>
     <relativePath/>
   </parent>
 
index 9e94cc0a49c7dca9ae059b50ef9c271b92964c49..0ece5fad94a52c160696acd0d0f38febafcea7cf 100644 (file)
@@ -5,7 +5,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>bundle-parent</artifactId>
-    <version>13.0.7</version>
+    <version>13.0.10</version>
     <relativePath/>
   </parent>
 
index 7e684453969e3702af4b5027730b51ed946ab2f7..0917174b654a62895b02f148a5e88b74074815c2 100644 (file)
@@ -10,6 +10,7 @@ package org.opendaylight.controller.cluster.access.client;
 import static com.google.common.base.Verify.verify;
 import static com.google.common.base.Verify.verifyNotNull;
 
+import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
 import java.lang.invoke.MethodHandles;
 import java.lang.invoke.VarHandle;
 import java.util.concurrent.CountDownLatch;
@@ -33,6 +34,8 @@ public final class InversibleLock {
 
     private final StampedLock lock = new StampedLock();
 
+    @SuppressFBWarnings(value = "UWF_UNWRITTEN_FIELD",
+        justification = "https://github.com/spotbugs/spotbugs/issues/2749")
     private volatile CountDownLatch latch;
 
     /**
@@ -69,8 +72,7 @@ public final class InversibleLock {
     }
 
     public void unlockWrite(final long stamp) {
-        final CountDownLatch local = (CountDownLatch) LATCH.getAndSet(this, null);
-        verifyNotNull(local);
+        final var local = verifyNotNull((CountDownLatch) LATCH.getAndSet(this, null));
         lock.unlockWrite(stamp);
         local.countDown();
     }
index aeefceff1fdc2358a05827ed9973e803e674999e..4cf2d8b72423de131650324589f3727179ffe3de 100644 (file)
@@ -12,7 +12,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>bundle-parent</artifactId>
-    <version>13.0.7</version>
+    <version>13.0.10</version>
     <relativePath/>
   </parent>
 
@@ -26,7 +26,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
       <dependency>
         <groupId>org.opendaylight.mdsal</groupId>
         <artifactId>mdsal-artifacts</artifactId>
-        <version>12.0.3</version>
+        <version>12.0.4</version>
         <type>pom</type>
         <scope>import</scope>
       </dependency>
index b93a5136a0df7062b2a05b98af71eaca0906574a..8d5f632185cd8970b26858aa54244e720c67f538 100644 (file)
@@ -13,7 +13,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>bundle-parent</artifactId>
-    <version>13.0.7</version>
+    <version>13.0.10</version>
     <relativePath/>
   </parent>
 
index 072aee59c83ae1d0077d207d55f3efdcbdd4f7ee..34569d8ee1de91518e20f29ee70fb46cad5720e8 100644 (file)
@@ -11,7 +11,7 @@
   <parent>
     <groupId>org.opendaylight.mdsal</groupId>
     <artifactId>binding-parent</artifactId>
-    <version>12.0.3</version>
+    <version>12.0.4</version>
     <relativePath/>
   </parent>
 
index 90f8639543931cd4e299a415834e4bb2c13df7db..2b127011e89259f0d8844dd420f51ceeb87fc998 100644 (file)
@@ -5,7 +5,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>odlparent-lite</artifactId>
-    <version>13.0.7</version>
+    <version>13.0.10</version>
     <relativePath/>
   </parent>
 
index bcaadf3d670f987ca0638514d315901c30c7898e..329341cc75777d6a2591d52595c62ea270560db4 100644 (file)
@@ -12,7 +12,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>odlparent-lite</artifactId>
-    <version>13.0.7</version>
+    <version>13.0.10</version>
     <relativePath/>
   </parent>
 
index f75707ccbf4082876e4802cc81a5a9abaa720f9c..e0648186956d4901cc31ad49eb0182e7e822a7bc 100644 (file)
@@ -10,8 +10,10 @@ package org.opendaylight.controller.cluster.databroker;
 import static com.google.common.base.Preconditions.checkArgument;
 import static java.util.Objects.requireNonNull;
 
+import com.google.common.annotations.VisibleForTesting;
 import com.google.common.base.MoreObjects;
 import com.google.common.base.MoreObjects.ToStringHelper;
+import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
 import java.lang.invoke.MethodHandles;
 import java.lang.invoke.VarHandle;
 import java.util.Map;
@@ -39,6 +41,8 @@ public abstract class AbstractDOMBrokerTransaction<T extends DOMStoreTransaction
     private final @NonNull Object identifier;
     private final Map<LogicalDatastoreType, ? extends DOMStoreTransactionFactory> storeTxFactories;
 
+    @SuppressFBWarnings(value = "UWF_UNWRITTEN_FIELD",
+        justification = "https://github.com/spotbugs/spotbugs/issues/2749")
     private volatile Entry<LogicalDatastoreType, T> backingTx;
 
     /**
@@ -47,7 +51,7 @@ public abstract class AbstractDOMBrokerTransaction<T extends DOMStoreTransaction
      * @param identifier Identifier of transaction.
      */
     protected AbstractDOMBrokerTransaction(final Object identifier,
-            Map<LogicalDatastoreType, ? extends DOMStoreTransactionFactory> storeTxFactories) {
+            final Map<LogicalDatastoreType, ? extends DOMStoreTransactionFactory> storeTxFactories) {
         this.identifier = requireNonNull(identifier, "Identifier should not be null");
         this.storeTxFactories = requireNonNull(storeTxFactories, "Store Transaction Factories should not be null");
         checkArgument(!storeTxFactories.isEmpty(), "Store Transaction Factories should not be empty");
@@ -91,6 +95,7 @@ public abstract class AbstractDOMBrokerTransaction<T extends DOMStoreTransaction
     /**
      * Returns sub-transaction if initialized.
      */
+    @VisibleForTesting
     protected T getSubtransaction() {
         final Entry<LogicalDatastoreType, T> entry;
         return (entry = backingTx) == null ? null : entry.getValue();
@@ -105,16 +110,17 @@ public abstract class AbstractDOMBrokerTransaction<T extends DOMStoreTransaction
 
     @SuppressWarnings("checkstyle:IllegalCatch")
     protected void closeSubtransaction() {
-        if (backingTx != null) {
+        final var local = backingTx;
+        if (local != null) {
             try {
-                backingTx.getValue().close();
+                local.getValue().close();
             } catch (Exception e) {
                 throw new IllegalStateException("Uncaught exception occurred during closing transaction", e);
             }
         }
     }
 
-    protected DOMStoreTransactionFactory getTxFactory(LogicalDatastoreType type) {
+    protected DOMStoreTransactionFactory getTxFactory(final LogicalDatastoreType type) {
         return storeTxFactories.get(type);
     }
 
index 33d24156827b599962ff3f8e2f62c14f5fa51792..2fdf3a9d622a927a75272c9f123650cf74689059 100644 (file)
@@ -15,10 +15,11 @@ import akka.actor.PoisonPill;
 import akka.actor.Props;
 import com.google.common.annotations.VisibleForTesting;
 import java.util.concurrent.TimeUnit;
+import org.eclipse.jdt.annotation.NonNullByDefault;
 import org.opendaylight.controller.cluster.common.actor.AbstractUntypedActor;
 import org.opendaylight.controller.cluster.datastore.messages.CloseDataTreeNotificationListenerRegistration;
 import org.opendaylight.controller.cluster.datastore.messages.CloseDataTreeNotificationListenerRegistrationReply;
-import org.opendaylight.yangtools.concepts.ListenerRegistration;
+import org.opendaylight.yangtools.concepts.Registration;
 import scala.concurrent.duration.FiniteDuration;
 
 /**
@@ -30,10 +31,9 @@ public final class DataTreeNotificationListenerRegistrationActor extends Abstrac
     @VisibleForTesting
     static long killDelay = TimeUnit.MILLISECONDS.convert(5, TimeUnit.SECONDS);
 
-    private ListenerRegistration<?> registration;
-    private Runnable onClose;
+    private SetRegistration registration = null;
+    private Cancellable killSchedule = null;
     private boolean closed;
-    private Cancellable killSchedule;
 
     @Override
     protected void handleReceive(final Object message) {
@@ -42,9 +42,8 @@ public final class DataTreeNotificationListenerRegistrationActor extends Abstrac
             if (isValidSender(getSender())) {
                 getSender().tell(CloseDataTreeNotificationListenerRegistrationReply.getInstance(), getSelf());
             }
-        } else if (message instanceof SetRegistration) {
-            registration = ((SetRegistration)message).registration;
-            onClose = ((SetRegistration)message).onClose;
+        } else if (message instanceof SetRegistration setRegistration) {
+            registration = setRegistration;
             if (closed) {
                 closeListenerRegistration();
             }
@@ -55,10 +54,12 @@ public final class DataTreeNotificationListenerRegistrationActor extends Abstrac
 
     private void closeListenerRegistration() {
         closed = true;
-        if (registration != null) {
-            registration.close();
-            onClose.run();
+
+        final var reg = registration;
+        if (reg != null) {
             registration = null;
+            reg.registration.close();
+            reg.onClose.run();
 
             if (killSchedule == null) {
                 killSchedule = getContext().system().scheduler().scheduleOnce(FiniteDuration.create(killDelay,
@@ -72,13 +73,11 @@ public final class DataTreeNotificationListenerRegistrationActor extends Abstrac
         return Props.create(DataTreeNotificationListenerRegistrationActor.class);
     }
 
-    public static class SetRegistration {
-        private final ListenerRegistration<?> registration;
-        private final Runnable onClose;
-
-        public SetRegistration(final ListenerRegistration<?> registration, final Runnable onClose) {
-            this.registration = requireNonNull(registration);
-            this.onClose = requireNonNull(onClose);
+    @NonNullByDefault
+    public record SetRegistration(Registration registration, Runnable onClose) {
+        public SetRegistration {
+            requireNonNull(registration);
+            requireNonNull(onClose);
         }
     }
 }
index d119f999d1b6cc6589922701f0450ad91ee4433d..abdef3911ea64e92a35acf2d2b20c5aae13e6259 100644 (file)
@@ -11,7 +11,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent-lite</artifactId>
-        <version>13.0.7</version>
+        <version>13.0.10</version>
         <relativePath/>
     </parent>
 
index b4490868037cc2d38fb7c773c1252375ffbc7447..ae97e849b09d919075ebeaf4b15d4f596f0a0e4f 100644 (file)
@@ -4,7 +4,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent-lite</artifactId>
-        <version>13.0.7</version>
+        <version>13.0.10</version>
         <relativePath/>
     </parent>
 
index b04b5175799e574fd7eff78dde4c9762bb695a58..a3bf8c20b209be7bdf9ccf4129c904a39da2636f 100644 (file)
@@ -40,7 +40,7 @@ public final class BasicRpcTestProvider implements ClusterSingletonService, Basi
     private final RpcProviderService rpcProviderRegistry;
     private final Registration singletonRegistration;
 
-    private ObjectRegistration<?> rpcRegistration;
+    private ObjectRegistration<?> rpcRegistration = null;
 
     @Inject
     @Activate
index 5a1c90317e3027acf72431d79a11643fe95e2628..68d7ea9a3c4d2c29b01e7ce13e6bae8cf8295feb 100644 (file)
@@ -14,7 +14,6 @@ import com.google.common.util.concurrent.SettableFuture;
 import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
 import java.util.HashMap;
 import java.util.List;
-import java.util.Map;
 import java.util.concurrent.Executors;
 import java.util.concurrent.Future;
 import java.util.concurrent.ScheduledExecutorService;
@@ -22,7 +21,7 @@ import java.util.concurrent.ScheduledFuture;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicLong;
 import org.opendaylight.mdsal.dom.api.ClusteredDOMDataTreeChangeListener;
-import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
+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.MapEntryNode;
 import org.opendaylight.yangtools.yang.data.api.schema.MapNode;
@@ -35,10 +34,11 @@ public final class IdIntsListener implements ClusteredDOMDataTreeChangeListener
     private static final Logger LOG = LoggerFactory.getLogger(IdIntsListener.class);
     private static final long SECOND_AS_NANO = 1000000000;
 
-    private volatile NormalizedNode localCopy;
     private final AtomicLong lastNotifTimestamp = new AtomicLong(0);
-    private ScheduledExecutorService executorService;
-    private ScheduledFuture<?> scheduledFuture;
+    private ScheduledExecutorService executorService = null;
+    private ScheduledFuture<?> scheduledFuture = null;
+
+    private volatile NormalizedNode localCopy;
 
     @Override
     public void onInitialData() {
@@ -84,7 +84,7 @@ public final class IdIntsListener implements ClusteredDOMDataTreeChangeListener
 
     public Future<Void> tryFinishProcessing() {
         executorService = Executors.newSingleThreadScheduledExecutor();
-        final SettableFuture<Void> settableFuture = SettableFuture.create();
+        final var settableFuture = SettableFuture.<Void>create();
 
         scheduledFuture = executorService.scheduleAtFixedRate(new CheckFinishedTask(settableFuture),
                 0, 1, TimeUnit.SECONDS);
@@ -94,43 +94,42 @@ public final class IdIntsListener implements ClusteredDOMDataTreeChangeListener
     public static String diffNodes(final MapNode expected, final MapNode actual) {
         StringBuilder builder = new StringBuilder("MapNodes diff:");
 
-        final YangInstanceIdentifier.NodeIdentifier itemNodeId = new YangInstanceIdentifier.NodeIdentifier(ITEM);
+        final var itemNodeId = new NodeIdentifier(ITEM);
 
-        Map<NodeIdentifierWithPredicates, MapEntryNode> expIdIntMap = new HashMap<>();
-        expected.body().forEach(node -> expIdIntMap.put(node.getIdentifier(), node));
+        final var expIdIntMap = new HashMap<NodeIdentifierWithPredicates, MapEntryNode>();
+        expected.body().forEach(node -> expIdIntMap.put(node.name(), node));
 
         actual.body().forEach(actIdInt -> {
-            final MapEntryNode expIdInt = expIdIntMap.remove(actIdInt.getIdentifier());
+            final var expIdInt = expIdIntMap.remove(actIdInt.name());
             if (expIdInt == null) {
-                builder.append('\n').append("  Unexpected id-int entry for ").append(actIdInt.getIdentifier());
+                builder.append('\n').append("  Unexpected id-int entry for ").append(actIdInt.name());
                 return;
             }
 
-            Map<NodeIdentifierWithPredicates, MapEntryNode> expItemMap = new HashMap<>();
-            ((MapNode)expIdInt.findChildByArg(itemNodeId).orElseThrow()).body()
-                .forEach(node -> expItemMap.put(node.getIdentifier(), node));
+            final var expItemMap = new HashMap<NodeIdentifierWithPredicates, MapEntryNode>();
+            ((MapNode)expIdInt.getChildByArg(itemNodeId)).body()
+                .forEach(node -> expItemMap.put(node.name(), node));
 
-            ((MapNode)actIdInt.findChildByArg(itemNodeId).orElseThrow()).body().forEach(actItem -> {
-                final MapEntryNode expItem = expItemMap.remove(actItem.getIdentifier());
+            ((MapNode)actIdInt.getChildByArg(itemNodeId)).body().forEach(actItem -> {
+                final var expItem = expItemMap.remove(actItem.name());
                 if (expItem == null) {
-                    builder.append('\n').append("  Unexpected item entry ").append(actItem.getIdentifier())
-                        .append(" for id-int entry ").append(actIdInt.getIdentifier());
+                    builder.append('\n').append("  Unexpected item entry ").append(actItem.name())
+                        .append(" for id-int entry ").append(actIdInt.name());
                 }
             });
 
             expItemMap.values().forEach(node -> builder.append('\n')
-                .append("  Actual is missing item entry ").append(node.getIdentifier())
-                    .append(" for id-int entry ").append(actIdInt.getIdentifier()));
+                .append("  Actual is missing item entry ").append(node.name())
+                    .append(" for id-int entry ").append(actIdInt.name()));
         });
 
         expIdIntMap.values().forEach(node -> builder.append('\n')
-            .append("  Actual is missing id-int entry for ").append(node.getIdentifier()));
+            .append("  Actual is missing id-int entry for ").append(node.name()));
 
         return builder.toString();
     }
 
-    private class CheckFinishedTask implements Runnable {
-
+    private final class CheckFinishedTask implements Runnable {
         private final SettableFuture<Void> future;
 
         CheckFinishedTask(final SettableFuture<Void> future) {
index 6cda13b8ff0df231ad44c6c55ab35a8712b448f1..f700741891b351dbb7144e75453b271b8d5dfc3a 100644 (file)
@@ -47,7 +47,8 @@ public final class SingletonGetConstantService implements DOMRpcImplementation,
 
     private final DOMRpcProviderService rpcProviderService;
     private final String constant;
-    private DOMRpcImplementationRegistration<SingletonGetConstantService> rpcRegistration;
+
+    private DOMRpcImplementationRegistration<SingletonGetConstantService> rpcRegistration = null;
 
     private SingletonGetConstantService(final DOMRpcProviderService rpcProviderService, final String constant) {
         this.rpcProviderService = rpcProviderService;
index 4033806b7788c9d16a0478c25cb06420bf13e446..7ccade36bc18bed5533585474da7b09aba9f96ee 100644 (file)
@@ -4,7 +4,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>odlparent-lite</artifactId>
-    <version>13.0.7</version>
+    <version>13.0.10</version>
     <relativePath/>
   </parent>
 
diff --git a/pom.xml b/pom.xml
index 3f3da56e228165c73d0804c1ae9033da5b73377f..08d3b212b060c3c4a33618075605cf34ce3d54a6 100644 (file)
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>odlparent-lite</artifactId>
-    <version>13.0.7</version>
+    <version>13.0.10</version>
     <relativePath/>
   </parent>