Bump odlparent/yangtools/mdsal 49/88849/25
authorRobert Varga <robert.varga@pantheon.tech>
Thu, 2 Apr 2020 12:15:52 +0000 (14:15 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Thu, 16 Apr 2020 18:13:23 +0000 (20:13 +0200)
Update upstream references to:
- odlparent-7.0.1
- yangtools-5.0.0-SNAPSHOT
- mdsal-6.0.0-SNAPSHOT

Also adjust the codebase to match changes in yangtools/mdsal
and scala-2.13.

Change-Id: Ib082e955b5106fa002522dfe3d7a21fe990006d8
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
104 files changed:
benchmark/api/pom.xml
benchmark/artifacts/pom.xml
benchmark/dsbenchmark/pom.xml
benchmark/dsbenchmark/src/main/java/org/opendaylight/dsbenchmark/BaListBuilder.java
benchmark/dsbenchmark/src/main/java/org/opendaylight/dsbenchmark/DsbenchmarkProvider.java
benchmark/dsbenchmark/src/main/java/org/opendaylight/dsbenchmark/simpletx/SimpletxBaRead.java
benchmark/dsbenchmark/src/main/java/org/opendaylight/dsbenchmark/txchain/TxchainBaRead.java
benchmark/ntfbenchmark/pom.xml
benchmark/ntfbenchmark/src/main/java/ntfbenchmark/impl/AbstractNtfbenchProducer.java
benchmark/pom.xml
benchmark/rpcbenchmark/pom.xml
benchmark/rpcbenchmark/src/main/java/rpcbenchmark/impl/GlobalBindingRTCClient.java
benchmark/rpcbenchmark/src/main/java/rpcbenchmark/impl/RoutedBindingRTClient.java
docs/pom.xml
features/benchmark/features-mdsal-benchmark/pom.xml
features/benchmark/odl-benchmark-api/pom.xml
features/benchmark/odl-dsbenchmark/pom.xml
features/benchmark/odl-mdsal-benchmark/pom.xml
features/benchmark/odl-ntfbenchmark/pom.xml
features/benchmark/pom.xml
features/config-netty/features-config-netty/pom.xml
features/config-netty/odl-config-netty/pom.xml
features/config-netty/odl-config-netty/src/main/feature/feature.xml
features/config-netty/pom.xml
features/extras/features-extras/pom.xml
features/extras/odl-extras-all/pom.xml
features/extras/odl-jolokia/pom.xml
features/extras/pom.xml
features/mdsal/features-mdsal/pom.xml
features/mdsal/odl-clustering-test-app/pom.xml
features/mdsal/odl-controller-blueprint/pom.xml
features/mdsal/odl-controller-blueprint/src/main/feature/feature.xml
features/mdsal/odl-controller-mdsal-common/pom.xml
features/mdsal/odl-controller-mdsal-common/src/main/feature/feature.xml
features/mdsal/odl-controller-model-topology/pom.xml
features/mdsal/odl-mdsal-broker-local/pom.xml
features/mdsal/odl-mdsal-broker-local/src/main/feature/feature.xml
features/mdsal/odl-mdsal-broker/pom.xml
features/mdsal/odl-mdsal-broker/src/main/feature/feature.xml
features/mdsal/odl-mdsal-clustering-commons/pom.xml
features/mdsal/odl-mdsal-clustering-commons/src/main/feature/feature.xml
features/mdsal/odl-mdsal-distributed-datastore/pom.xml
features/mdsal/odl-mdsal-distributed-datastore/src/main/feature/feature.xml
features/mdsal/odl-mdsal-model-inventory/pom.xml
features/mdsal/odl-mdsal-remoterpc-connector/pom.xml
features/mdsal/odl-message-bus-collector/pom.xml
features/mdsal/odl-toaster/pom.xml
features/mdsal/pom.xml
features/pom.xml
karaf/pom.xml
opendaylight/archetypes/opendaylight-startup/src/main/resources/archetype-resources/pom.xml
opendaylight/archetypes/pom.xml
opendaylight/blueprint/pom.xml
opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/RpcUtil.java
opendaylight/blueprint/src/test/java/org/opendaylight/controller/blueprint/tests/DataStoreAppConfigDefaultXMLReaderTest.java
opendaylight/commons/jolokia/pom.xml
opendaylight/config/config-artifacts/pom.xml
opendaylight/config/pom.xml
opendaylight/md-sal/cds-access-api/pom.xml
opendaylight/md-sal/cds-access-client/pom.xml
opendaylight/md-sal/cds-dom-api/pom.xml
opendaylight/md-sal/mdsal-artifacts/pom.xml
opendaylight/md-sal/mdsal-it-base/pom.xml
opendaylight/md-sal/mdsal-it-parent/pom.xml
opendaylight/md-sal/messagebus-impl/src/main/java/org/opendaylight/controller/messagebus/app/impl/EventSourceTopic.java
opendaylight/md-sal/messagebus-impl/src/test/java/org/opendaylight/controller/messagebus/app/impl/EventSourceTopologyTest.java
opendaylight/md-sal/parent/pom.xml
opendaylight/md-sal/pom.xml
opendaylight/md-sal/sal-akka-raft/pom.xml
opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/utils/InMemoryJournal.java
opendaylight/md-sal/sal-akka-segmented-journal/pom.xml
opendaylight/md-sal/sal-akka-segmented-journal/src/main/java/org/opendaylight/controller/akka/segjournal/SegmentedJournalActor.java
opendaylight/md-sal/sal-cluster-admin-impl/pom.xml
opendaylight/md-sal/sal-cluster-admin-impl/src/main/java/org/opendaylight/controller/cluster/datastore/admin/ClusterAdminRpcService.java
opendaylight/md-sal/sal-cluster-admin-impl/src/test/java/org/opendaylight/controller/cluster/datastore/admin/ClusterAdminRpcServiceTest.java
opendaylight/md-sal/sal-clustering-commons/pom.xml
opendaylight/md-sal/sal-clustering-config/pom.xml
opendaylight/md-sal/sal-common-util/src/main/java/org/opendaylight/controller/md/sal/common/util/jmx/QueuedNotificationManagerMXBeanImpl.java [deleted file]
opendaylight/md-sal/sal-common-util/src/main/java/org/opendaylight/controller/md/sal/common/util/jmx/QueuedNotificationManagerStats.java [deleted file]
opendaylight/md-sal/sal-distributed-datastore/pom.xml
opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/AbstractDataStore.java
opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/DatastoreContextIntrospectorFactory.java
opendaylight/md-sal/sal-distributed-datastore/src/main/resources/OSGI-INF/blueprint/clustered-datastore.xml
opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/DatastoreContextIntrospectorTest.java
opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/IntegrationTestKit.java
opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/MemberNode.java
opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/TransactionProxyTest.java
opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/modification/AbstractModificationTest.java
opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/utils/MockClusterWrapper.java
opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/utils/NormalizedNodeAggregatorTest.java
opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/md/cluster/datastore/model/TestModel.java
opendaylight/md-sal/sal-distributed-eos/pom.xml
opendaylight/md-sal/sal-distributed-eos/src/test/java/org/opendaylight/controller/cluster/entityownership/DistributedEntityOwnershipServiceTest.java
opendaylight/md-sal/sal-distributed-eos/src/test/java/org/opendaylight/controller/cluster/entityownership/EOSTestUtils.java
opendaylight/md-sal/sal-dummy-distributed-datastore/pom.xml
opendaylight/md-sal/sal-remoterpc-connector/pom.xml
opendaylight/md-sal/sal-test-model/src/main/java/org/opendaylight/controller/md/sal/test/model/util/ListsBindingUtils.java
opendaylight/md-sal/samples/clustering-test-app/provider/src/main/java/org/opendaylight/controller/clustering/it/listener/PeopleCarListener.java
opendaylight/md-sal/samples/clustering-test-app/provider/src/main/java/org/opendaylight/controller/clustering/it/provider/PeopleProvider.java
opendaylight/md-sal/samples/toaster-provider/pom.xml
opendaylight/model/model-inventory/pom.xml
opendaylight/model/model-topology/pom.xml
opendaylight/model/pom.xml
pom.xml

index ba72d2f..575c0fa 100644 (file)
@@ -10,7 +10,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
   <parent>
     <groupId>org.opendaylight.mdsal</groupId>
     <artifactId>binding-parent</artifactId>
-    <version>5.0.9</version>
+    <version>6.0.0-SNAPSHOT</version>
     <relativePath/>
   </parent>
 
index c8ac30a..d6ad585 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>odlparent-lite</artifactId>
-    <version>6.0.4</version>
+    <version>7.0.1</version>
     <relativePath/>
   </parent>
 
index d6c355b..1dae6f6 100644 (file)
@@ -12,7 +12,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
   <parent>
     <groupId>org.opendaylight.mdsal</groupId>
     <artifactId>binding-parent</artifactId>
-    <version>5.0.9</version>
+    <version>6.0.0-SNAPSHOT</version>
     <relativePath/>
   </parent>
 
index 8378e8b..e6c9548 100644 (file)
@@ -7,8 +7,11 @@
  */
 package org.opendaylight.dsbenchmark;
 
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.ImmutableMap.Builder;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Map;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.dsbenchmark.rev150105.test.exec.OuterList;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.dsbenchmark.rev150105.test.exec.OuterListBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.dsbenchmark.rev150105.test.exec.OuterListKey;
@@ -33,17 +36,18 @@ public final class BaListBuilder {
         return outerList;
     }
 
-    private static List<InnerList> buildInnerList(final int index, final int elements) {
-        List<InnerList> innerList = new ArrayList<>(elements);
+    private static Map<InnerListKey, InnerList> buildInnerList(final int index, final int elements) {
+        Builder<InnerListKey, InnerList> innerList = ImmutableMap.builderWithExpectedSize(elements);
 
         final String itemStr = "Item-" + String.valueOf(index) + "-";
         for (int i = 0; i < elements; i++) {
-            innerList.add(new InnerListBuilder()
-                                .withKey(new InnerListKey(i))
+            final InnerListKey key = new InnerListKey(i);
+            innerList.put(key, new InnerListBuilder()
+                                .withKey(key)
                                 .setName(i)
                                 .setValue(itemStr + String.valueOf(i))
                                 .build());
         }
-        return innerList;
+        return innerList.build();
     }
 }
index 1315f1d..eea490a 100644 (file)
@@ -41,7 +41,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.dsbenchm
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.dsbenchmark.rev150105.TestStatus;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.dsbenchmark.rev150105.TestStatus.ExecStatus;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.dsbenchmark.rev150105.TestStatusBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.dsbenchmark.rev150105.test.exec.OuterList;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.opendaylight.yangtools.yang.common.RpcResult;
 import org.opendaylight.yangtools.yang.common.RpcResultBuilder;
@@ -182,9 +181,7 @@ public class DsbenchmarkProvider implements DsbenchmarkService, AutoCloseable {
     }
 
     private void cleanupTestStore() {
-        TestExec data = new TestExecBuilder()
-                .setOuterList(Collections.<OuterList>emptyList())
-                .build();
+        TestExec data = new TestExecBuilder().setOuterList(Collections.emptyMap()).build();
 
         WriteTransaction tx = dataBroker.newWriteOnlyTransaction();
         tx.put(LogicalDatastoreType.CONFIGURATION, TEST_EXEC_IID, data);
index 078fe03..aae9675 100644 (file)
@@ -68,7 +68,7 @@ public class SimpletxBaRead extends DatastoreAbstractWriter {
 
                         String[] objectsArray = new String[outerList.getInnerList().size()];
 
-                        for (InnerList innerList : outerList.getInnerList()) {
+                        for (InnerList innerList : outerList.getInnerList().values()) {
                             if (objectsArray[innerList.getName()] != null) {
                                 LOG.error("innerList: DUPLICATE name: {}, value: {}", innerList.getName(),
                                     innerList.getValue());
index 101ae39..414ad15 100644 (file)
@@ -67,7 +67,7 @@ public class TxchainBaRead extends DatastoreAbstractWriter implements Transactio
                         OuterList outerList = optionalDataObject.get();
 
                         String[] objectsArray = new String[outerList.getInnerList().size()];
-                        for (InnerList innerList : outerList.getInnerList()) {
+                        for (InnerList innerList : outerList.getInnerList().values()) {
                             if (objectsArray[innerList.getName()] != null) {
                                 LOG.error("innerList: DUPLICATE name: {}, value: {}", innerList.getName(),
                                     innerList.getValue());
index 119aec7..c88d687 100644 (file)
@@ -12,7 +12,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
   <parent>
     <groupId>org.opendaylight.mdsal</groupId>
     <artifactId>binding-parent</artifactId>
-    <version>5.0.9</version>
+    <version>6.0.0-SNAPSHOT</version>
     <relativePath/>
   </parent>
 
index e9371cb..59843e7 100644 (file)
@@ -7,13 +7,14 @@
  */
 package ntfbenchmark.impl;
 
-import java.util.ArrayList;
-import java.util.List;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.ImmutableMap.Builder;
 import org.opendaylight.mdsal.binding.api.NotificationPublishService;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ntfbench.payload.rev150709.Ntfbench;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ntfbench.payload.rev150709.NtfbenchBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ntfbench.payload.rev150709.payload.Payload;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ntfbench.payload.rev150709.payload.PayloadBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ntfbench.payload.rev150709.payload.PayloadKey;
 
 public abstract class AbstractNtfbenchProducer implements Runnable {
     protected final NotificationPublishService publishService;
@@ -46,11 +47,12 @@ public abstract class AbstractNtfbenchProducer implements Runnable {
         this.publishService = publishService;
         this.iterations = iterations;
 
-        final List<Payload> listVals = new ArrayList<>();
+        final Builder<PayloadKey, Payload> listVals = ImmutableMap.builderWithExpectedSize(payloadSize);
         for (int i = 0; i < payloadSize; i++) {
-            listVals.add(new PayloadBuilder().setId(i).build());
+            final PayloadKey key = new PayloadKey(i);
+            listVals.put(key, new PayloadBuilder().withKey(key).build());
         }
 
-        ntf = new NtfbenchBuilder().setPayload(listVals).build();
+        ntf = new NtfbenchBuilder().setPayload(listVals.build()).build();
     }
 }
index 57fd3ae..f9ec2fd 100644 (file)
@@ -9,7 +9,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>odlparent-lite</artifactId>
-    <version>6.0.4</version>
+    <version>7.0.1</version>
     <relativePath/>
   </parent>
   <groupId>org.opendaylight.controller</groupId>
index 21d2427..d85422f 100644 (file)
@@ -12,7 +12,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
   <parent>
     <groupId>org.opendaylight.mdsal</groupId>
     <artifactId>binding-parent</artifactId>
-    <version>5.0.9</version>
+    <version>6.0.0-SNAPSHOT</version>
     <relativePath/>
   </parent>
 
index 692bdf7..bbbf309 100644 (file)
@@ -7,8 +7,9 @@
  */
 package rpcbenchmark.impl;
 
-import java.util.ArrayList;
-import java.util.List;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.ImmutableMap.Builder;
+import java.util.Map;
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.Future;
 import java.util.concurrent.atomic.AtomicLong;
@@ -19,6 +20,7 @@ import org.opendaylight.yang.gen.v1.rpcbench.payload.rev150702.GlobalRpcBenchOut
 import org.opendaylight.yang.gen.v1.rpcbench.payload.rev150702.RpcbenchPayloadService;
 import org.opendaylight.yang.gen.v1.rpcbench.payload.rev150702.payload.Payload;
 import org.opendaylight.yang.gen.v1.rpcbench.payload.rev150702.payload.PayloadBuilder;
+import org.opendaylight.yang.gen.v1.rpcbench.payload.rev150702.payload.PayloadKey;
 import org.opendaylight.yangtools.yang.common.RpcResult;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -50,11 +52,12 @@ public class GlobalBindingRTCClient implements RTCClient {
         }
 
         this.inSize = inSize;
-        List<Payload> listVals = new ArrayList<>();
+        Builder<PayloadKey, Payload> listVals = ImmutableMap.builderWithExpectedSize(inSize);
         for (int i = 0; i < inSize; i++) {
-            listVals.add(new PayloadBuilder().setId(i).build());
+            final PayloadKey key = new PayloadKey(i);
+            listVals.put(key, new PayloadBuilder().withKey(key).build());
         }
-        inVal = new GlobalRpcBenchInputBuilder().setPayload(listVals).build();
+        inVal = new GlobalRpcBenchInputBuilder().setPayload(listVals.build()).build();
     }
 
     @Override
@@ -68,7 +71,7 @@ public class GlobalBindingRTCClient implements RTCClient {
                 RpcResult<GlobalRpcBenchOutput> rpcResult = output.get();
 
                 if (rpcResult.isSuccessful()) {
-                    List<Payload> retVal = rpcResult.getResult().getPayload();
+                    Map<PayloadKey, Payload> retVal = rpcResult.getResult().getPayload();
                     if (retVal.size() == inSize) {
                         ok++;
                     }
index ab03fb2..a7cb4bf 100644 (file)
@@ -7,8 +7,11 @@
  */
 package rpcbenchmark.impl;
 
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.ImmutableMap.Builder;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Map;
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.Future;
 import java.util.concurrent.ThreadLocalRandom;
@@ -20,6 +23,7 @@ import org.opendaylight.yang.gen.v1.rpcbench.payload.rev150702.RoutedRpcBenchOut
 import org.opendaylight.yang.gen.v1.rpcbench.payload.rev150702.RpcbenchPayloadService;
 import org.opendaylight.yang.gen.v1.rpcbench.payload.rev150702.payload.Payload;
 import org.opendaylight.yang.gen.v1.rpcbench.payload.rev150702.payload.PayloadBuilder;
+import org.opendaylight.yang.gen.v1.rpcbench.payload.rev150702.payload.PayloadKey;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.opendaylight.yangtools.yang.common.RpcResult;
 import org.slf4j.Logger;
@@ -43,13 +47,14 @@ public class RoutedBindingRTClient implements RTCClient {
         this.inSize = inSize;
         this.inVal = new ArrayList<>();
 
-        List<Payload> listVals = new ArrayList<>();
+        Builder<PayloadKey, Payload> listVals = ImmutableMap.builderWithExpectedSize(inSize);
         for (int i = 0; i < inSize; i++) {
-            listVals.add(new PayloadBuilder().setId(i).build());
+            final PayloadKey key = new PayloadKey(i);
+            listVals.put(key, new PayloadBuilder().withKey(key).build());
         }
 
         for (InstanceIdentifier<?> iid : routeIid) {
-            inVal.add(new RoutedRpcBenchInputBuilder().setNode(iid).setPayload(listVals).build());
+            inVal.add(new RoutedRpcBenchInputBuilder().setNode(iid).setPayload(listVals.build()).build());
         }
 
     }
@@ -77,7 +82,7 @@ public class RoutedBindingRTClient implements RTCClient {
                 RpcResult<RoutedRpcBenchOutput> rpcResult = output.get();
 
                 if (rpcResult.isSuccessful()) {
-                    List<Payload> retVal = rpcResult.getResult().getPayload();
+                    Map<PayloadKey, Payload> retVal = rpcResult.getResult().getPayload();
                     if (retVal.size() == inSize) {
                         ok++;
                     }
index ef2e18b..4002224 100644 (file)
@@ -12,7 +12,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent</artifactId>
-        <version>6.0.4</version>
+        <version>7.0.1</version>
         <relativePath/>
     </parent>
 
                         <link>https://commons.apache.org/proper/commons-lang/javadocs/api-3.9/</link>
                         <link>https://commons.apache.org/proper/commons-codec/apidocs/</link>
 
-                        <link>https://www.javadoc.io/doc/org.opendaylight.yangtools/yangtools-docs/4.0.6/</link>
-                        <link>https://www.javadoc.io/doc/org.opendaylight.mdsal/mdsal-docs/5.0.9/</link>
+                        <link>https://www.javadoc.io/doc/org.opendaylight.yangtools/yangtools-docs/5.0.0-SNAPSHOT/</link>
+                        <link>https://www.javadoc.io/doc/org.opendaylight.mdsal/mdsal-docs/6.0.0-SNAPSHOT/</link>
                     </links>
                     <groups>
                         <group>
index dff563c..21db10a 100644 (file)
@@ -12,7 +12,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>feature-repo-parent</artifactId>
-        <version>6.0.4</version>
+        <version>7.0.1</version>
         <relativePath/>
     </parent>
 
index 96fb39e..2f9b028 100644 (file)
@@ -12,7 +12,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>6.0.4</version>
+        <version>7.0.1</version>
         <relativePath/>
     </parent>
 
@@ -27,7 +27,7 @@
         <dependency>
             <groupId>org.opendaylight.mdsal</groupId>
             <artifactId>odl-mdsal-binding-base</artifactId>
-            <version>5.0.9</version>
+            <version>6.0.0-SNAPSHOT</version>
             <type>xml</type>
             <classifier>features</classifier>
         </dependency>
index a2d2c4a..af68952 100644 (file)
@@ -12,7 +12,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>6.0.4</version>
+        <version>7.0.1</version>
         <relativePath/>
     </parent>
 
index d9f7e33..1d971bc 100644 (file)
@@ -12,7 +12,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>6.0.4</version>
+        <version>7.0.1</version>
         <relativePath/>
     </parent>
 
index 2950cdc..ddc539b 100644 (file)
@@ -12,7 +12,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>6.0.4</version>
+        <version>7.0.1</version>
         <relativePath/>
     </parent>
 
index 9d7e8fa..b158af9 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>6.0.4</version>
+        <version>7.0.1</version>
         <relativePath/>
     </parent>
     <groupId>org.opendaylight.controller</groupId>
index dc8d378..dbad156 100644 (file)
@@ -12,7 +12,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>feature-repo-parent</artifactId>
-        <version>6.0.4</version>
+        <version>7.0.1</version>
         <relativePath/>
     </parent>
 
index 90c22ae..11eaf17 100644 (file)
@@ -12,7 +12,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>6.0.4</version>
+        <version>7.0.1</version>
         <relativePath/>
     </parent>
 
index 50a2289..cebeab5 100644 (file)
@@ -8,6 +8,6 @@
  -->
 <features xmlns="http://karaf.apache.org/xmlns/features/v1.4.0" name="odl-config-netty">
     <feature name="odl-config-netty">
-        <feature version="[6,7)">odl-netty-4</feature>
+        <feature version="[7,8)">odl-netty-4</feature>
     </feature>
 </features>
index 105f845..b7a246c 100644 (file)
@@ -11,7 +11,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent-lite</artifactId>
-        <version>6.0.4</version>
+        <version>7.0.1</version>
         <relativePath/>
     </parent>
 
index 5d44dd9..cc7a5f9 100644 (file)
@@ -12,7 +12,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>feature-repo-parent</artifactId>
-        <version>6.0.4</version>
+        <version>7.0.1</version>
         <relativePath/>
     </parent>
 
index 3cbeed5..79ef99c 100644 (file)
@@ -12,7 +12,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>6.0.4</version>
+        <version>7.0.1</version>
         <relativePath/>
     </parent>
 
index bc7d00c..0e0f067 100644 (file)
@@ -12,7 +12,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>6.0.4</version>
+        <version>7.0.1</version>
         <relativePath/>
     </parent>
 
index a45b07a..aff681a 100644 (file)
@@ -11,7 +11,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent-lite</artifactId>
-        <version>6.0.4</version>
+        <version>7.0.1</version>
         <relativePath/>
     </parent>
 
index 96a009f..bf1044c 100644 (file)
@@ -12,7 +12,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>feature-repo-parent</artifactId>
-        <version>6.0.4</version>
+        <version>7.0.1</version>
         <relativePath/>
     </parent>
 
index b35bb1f..ff1cb89 100644 (file)
@@ -12,7 +12,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>6.0.4</version>
+        <version>7.0.1</version>
         <relativePath/>
     </parent>
 
@@ -26,7 +26,7 @@
             <dependency>
                 <groupId>org.opendaylight.mdsal</groupId>
                 <artifactId>mdsal-artifacts</artifactId>
-                <version>5.0.9</version>
+                <version>6.0.0-SNAPSHOT</version>
                 <scope>import</scope>
                 <type>pom</type>
             </dependency>
index 7363c3c..4ae53e5 100644 (file)
@@ -12,7 +12,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>6.0.4</version>
+        <version>7.0.1</version>
         <relativePath/>
     </parent>
 
             <dependency>
                 <groupId>org.opendaylight.yangtools</groupId>
                 <artifactId>yangtools-artifacts</artifactId>
-                <version>4.0.6</version>
+                <version>5.0.0-SNAPSHOT</version>
                 <type>pom</type>
                 <scope>import</scope>
             </dependency>
             <dependency>
                 <groupId>org.opendaylight.mdsal</groupId>
                 <artifactId>mdsal-artifacts</artifactId>
-                <version>5.0.9</version>
+                <version>6.0.0-SNAPSHOT</version>
                 <type>pom</type>
                 <scope>import</scope>
             </dependency>
index 7853ff0..5f9f319 100644 (file)
@@ -8,10 +8,10 @@
  -->
 <features xmlns="http://karaf.apache.org/xmlns/features/v1.2.0" name="odl-controller-blueprint-${project.version}">
     <feature name="odl-controller-blueprint" version="${project.version}">
-        <feature version="[4,5)">odl-yangtools-codec</feature>
-        <feature version="[5,6)">odl-mdsal-binding-api</feature>
-        <feature version="[5,6)">odl-mdsal-binding-runtime</feature>
-        <feature version="[5,6)">odl-mdsal-dom-api</feature>
+        <feature version="[5,6)">odl-yangtools-codec</feature>
+        <feature version="[6,7)">odl-mdsal-binding-api</feature>
+        <feature version="[6,7)">odl-mdsal-binding-runtime</feature>
+        <feature version="[6,7)">odl-mdsal-dom-api</feature>
         <bundle start-level="40">mvn:org.opendaylight.controller/blueprint/${blueprint.version}</bundle>
     </feature>
 </features>
index 24b213c..e5a3241 100644 (file)
@@ -12,7 +12,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>6.0.4</version>
+        <version>7.0.1</version>
         <relativePath/>
     </parent>
 
@@ -28,7 +28,7 @@
             <dependency>
                 <groupId>org.opendaylight.mdsal</groupId>
                 <artifactId>mdsal-artifacts</artifactId>
-                <version>5.0.9</version>
+                <version>6.0.0-SNAPSHOT</version>
                 <type>pom</type>
                 <scope>import</scope>
             </dependency>
index f8859f6..d4e5217 100644 (file)
@@ -8,7 +8,7 @@
  -->
 <features xmlns="http://karaf.apache.org/xmlns/features/v1.2.0" name="odl-controller-mdsal-common-${project.version}">
     <feature name="odl-controller-mdsal-common" version="${project.version}">
-        <feature version="[5,6)">odl-mdsal-common</feature>
-        <feature version="[5,6)">odl-mdsal-binding-runtime</feature>
+        <feature version="[6,7)">odl-mdsal-common</feature>
+        <feature version="[6,7)">odl-mdsal-binding-runtime</feature>
     </feature>
 </features>
index 782f298..986b0b7 100644 (file)
@@ -11,7 +11,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>6.0.4</version>
+        <version>7.0.1</version>
         <relativePath/>
     </parent>
 
@@ -27,7 +27,7 @@
             <dependency>
                 <groupId>org.opendaylight.mdsal</groupId>
                 <artifactId>mdsal-artifacts</artifactId>
-                <version>5.0.9</version>
+                <version>6.0.0-SNAPSHOT</version>
                 <type>pom</type>
                 <scope>import</scope>
             </dependency>
index 52be60b..d34212a 100644 (file)
@@ -12,7 +12,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>6.0.4</version>
+        <version>7.0.1</version>
         <relativePath/>
     </parent>
 
             <dependency>
                 <groupId>org.opendaylight.yangtools</groupId>
                 <artifactId>yangtools-artifacts</artifactId>
-                <version>4.0.6</version>
+                <version>5.0.0-SNAPSHOT</version>
                 <type>pom</type>
                 <scope>import</scope>
             </dependency>
             <dependency>
                 <groupId>org.opendaylight.mdsal</groupId>
                 <artifactId>mdsal-artifacts</artifactId>
-                <version>5.0.9</version>
+                <version>6.0.0-SNAPSHOT</version>
                 <type>pom</type>
                 <scope>import</scope>
             </dependency>
index af96237..e9c07e4 100644 (file)
@@ -8,9 +8,9 @@
  -->
 <features xmlns="http://karaf.apache.org/xmlns/features/v1.2.0" name="odl-mdsal-${project.version}">
     <feature name="odl-mdsal-broker-local" version="${project.version}">
-        <feature version="[5,6)">odl-mdsal-dom</feature>
-        <feature version="[5,6)">odl-mdsal-eos-binding</feature>
-        <feature version="[5,6)">odl-mdsal-eos-dom</feature>
-        <feature version="[5,6)">odl-mdsal-singleton-dom</feature>
+        <feature version="[6,7)">odl-mdsal-dom</feature>
+        <feature version="[6,7)">odl-mdsal-eos-binding</feature>
+        <feature version="[6,7)">odl-mdsal-eos-dom</feature>
+        <feature version="[6,7)">odl-mdsal-singleton-dom</feature>
     </feature>
 </features>
index c080caf..7fd0568 100644 (file)
@@ -12,7 +12,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>6.0.4</version>
+        <version>7.0.1</version>
         <relativePath/>
     </parent>
 
@@ -29,7 +29,7 @@
             <dependency>
                 <groupId>org.opendaylight.mdsal</groupId>
                 <artifactId>mdsal-artifacts</artifactId>
-                <version>5.0.9</version>
+                <version>6.0.0-SNAPSHOT</version>
                 <type>pom</type>
                 <scope>import</scope>
             </dependency>
index 68f4daa..55212bf 100644 (file)
@@ -8,7 +8,7 @@
  -->
 <features xmlns="http://karaf.apache.org/xmlns/features/v1.2.0" name="odl-mdsal-${project.version}">
     <feature name="odl-mdsal-broker" version="${project.version}">
-        <feature version="[5,6)">odl-mdsal-singleton-dom</feature>
-        <feature version="[5,6)">odl-mdsal-eos-binding</feature>
+        <feature version="[6,7)">odl-mdsal-singleton-dom</feature>
+        <feature version="[6,7)">odl-mdsal-eos-binding</feature>
     </feature>
 </features>
index bcdd4c1..e4ff58d 100644 (file)
@@ -12,7 +12,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>6.0.4</version>
+        <version>7.0.1</version>
         <relativePath/>
     </parent>
 
@@ -29,7 +29,7 @@
             <dependency>
                 <groupId>org.opendaylight.yangtools</groupId>
                 <artifactId>yangtools-artifacts</artifactId>
-                <version>4.0.6</version>
+                <version>5.0.0-SNAPSHOT</version>
                 <type>pom</type>
                 <scope>import</scope>
             </dependency>
index c9627c5..eae7077 100644 (file)
@@ -8,13 +8,13 @@
   -->
 <features xmlns="http://karaf.apache.org/xmlns/features/v1.4.0" name="odl-controller-${project.version}">
     <feature name="odl-mdsal-clustering-commons" version="${project.version}">
-        <feature version="[6,7)">odl-akka-system-2.5</feature>
-        <feature version="[6,7)">odl-akka-persistence-2.5</feature>
-        <feature version="[6,7)">odl-akka-clustering-2.5</feature>
-        <feature version="[6,7)">odl-apache-commons-lang3</feature>
-        <feature version="[6,7)">odl-dropwizard-metrics</feature>
-        <feature version="[6,7)">odl-servlet-api</feature>
-        <feature version="[4,5)">odl-yangtools-data</feature>
-        <feature version="[4,5)">odl-yangtools-codec</feature>
+        <feature version="[7,8)">odl-akka-system-2.5</feature>
+        <feature version="[7,8)">odl-akka-persistence-2.5</feature>
+        <feature version="[7,8)">odl-akka-clustering-2.5</feature>
+        <feature version="[7,8)">odl-apache-commons-lang3</feature>
+        <feature version="[7,8)">odl-dropwizard-metrics</feature>
+        <feature version="[7,8)">odl-servlet-api</feature>
+        <feature version="[5,6)">odl-yangtools-data</feature>
+        <feature version="[5,6)">odl-yangtools-codec</feature>
     </feature>
 </features>
index a5d5776..464f05b 100644 (file)
@@ -12,7 +12,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>6.0.4</version>
+        <version>7.0.1</version>
         <relativePath/>
     </parent>
 
             <dependency>
                 <groupId>org.opendaylight.yangtools</groupId>
                 <artifactId>yangtools-artifacts</artifactId>
-                <version>4.0.6</version>
+                <version>5.0.0-SNAPSHOT</version>
                 <type>pom</type>
                 <scope>import</scope>
             </dependency>
             <dependency>
                 <groupId>org.opendaylight.mdsal</groupId>
                 <artifactId>mdsal-artifacts</artifactId>
-                <version>5.0.9</version>
+                <version>6.0.0-SNAPSHOT</version>
                 <type>pom</type>
                 <scope>import</scope>
             </dependency>
index b313b58..29a32bd 100644 (file)
@@ -8,11 +8,11 @@
   -->
 <features xmlns="http://karaf.apache.org/xmlns/features/v1.4.0" name="odl-controller-${project.version}">
     <feature name="odl-mdsal-distributed-datastore" version="${project.version}">
-        <feature version="[6,7)">odl-apache-commons-text</feature>
-        <feature version="[4,5)">odl-yangtools-codec</feature>
-        <feature version="[5,6)">odl-mdsal-eos-dom</feature>
-        <feature version="[5,6)">odl-mdsal-dom-broker</feature>
-        <feature version="[5,6)">odl-mdsal-binding-dom-adapter</feature>
+        <feature version="[7,8)">odl-apache-commons-text</feature>
+        <feature version="[5,6)">odl-yangtools-codec</feature>
+        <feature version="[6,7)">odl-mdsal-eos-dom</feature>
+        <feature version="[6,7)">odl-mdsal-dom-broker</feature>
+        <feature version="[6,7)">odl-mdsal-binding-dom-adapter</feature>
         <configfile finalname="configuration/initial/akka.conf">
             mvn:org.opendaylight.controller/sal-clustering-config/${project.version}/xml/akkaconf
         </configfile>
index 98ffa73..9c618e2 100644 (file)
@@ -12,7 +12,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>6.0.4</version>
+        <version>7.0.1</version>
         <relativePath/>
     </parent>
 
@@ -28,7 +28,7 @@
             <dependency>
                 <groupId>org.opendaylight.mdsal</groupId>
                 <artifactId>mdsal-artifacts</artifactId>
-                <version>5.0.9</version>
+                <version>6.0.0-SNAPSHOT</version>
                 <type>pom</type>
                 <scope>import</scope>
             </dependency>
index bd894a7..95540f6 100644 (file)
@@ -12,7 +12,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>6.0.4</version>
+        <version>7.0.1</version>
         <relativePath/>
     </parent>
 
index 6a5ed4d..6e5bd4e 100644 (file)
@@ -12,7 +12,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>6.0.4</version>
+        <version>7.0.1</version>
         <relativePath/>
     </parent>
 
@@ -37,7 +37,7 @@
             <dependency>
                 <groupId>org.opendaylight.mdsal</groupId>
                 <artifactId>mdsal-artifacts</artifactId>
-                <version>5.0.9</version>
+                <version>6.0.0-SNAPSHOT</version>
                 <type>pom</type>
                 <scope>import</scope>
             </dependency>
index f84e1b6..fddf20e 100644 (file)
@@ -12,7 +12,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>single-feature-parent</artifactId>
-        <version>6.0.4</version>
+        <version>7.0.1</version>
         <relativePath/>
     </parent>
 
@@ -27,7 +27,7 @@
         <dependency>
             <groupId>org.opendaylight.mdsal</groupId>
             <artifactId>odl-mdsal-binding-runtime</artifactId>
-            <version>5.0.9</version>
+            <version>6.0.0-SNAPSHOT</version>
             <type>xml</type>
             <classifier>features</classifier>
         </dependency>
index aa189ff..0660c33 100644 (file)
@@ -11,7 +11,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent-lite</artifactId>
-        <version>6.0.4</version>
+        <version>7.0.1</version>
         <relativePath/>
     </parent>
 
index 6e2ddd2..9777cc7 100644 (file)
@@ -11,7 +11,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>odlparent-lite</artifactId>
-    <version>6.0.4</version>
+    <version>7.0.1</version>
     <relativePath/>
   </parent>
 
index 5e2a88d..2d7e8e6 100644 (file)
@@ -11,7 +11,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>karaf4-parent</artifactId>
-    <version>6.0.4</version>
+    <version>7.0.1</version>
     <relativePath/>
   </parent>
 
@@ -55,7 +55,7 @@
     <dependency>
       <groupId>org.opendaylight.mdsal</groupId>
       <artifactId>features-mdsal</artifactId>
-      <version>5.0.9</version>
+      <version>6.0.0-SNAPSHOT</version>
       <classifier>features</classifier>
       <type>xml</type>
       <scope>runtime</scope>
index 2515638..c431fcc 100644 (file)
@@ -11,7 +11,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>odlparent-lite</artifactId>
-    <version>6.0.4</version>
+    <version>7.0.1</version>
     <relativePath/>
   </parent>
 
index 4fb0bb5..92c8cef 100644 (file)
@@ -12,7 +12,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>odlparent-lite</artifactId>
-    <version>6.0.4</version>
+    <version>7.0.1</version>
     <relativePath/>
   </parent>
 
index 8b3011f..a4bcc1a 100644 (file)
@@ -12,7 +12,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>bundle-parent</artifactId>
-    <version>6.0.4</version>
+    <version>7.0.1</version>
     <relativePath/>
   </parent>
 
@@ -27,7 +27,7 @@
       <dependency>
         <groupId>org.opendaylight.mdsal</groupId>
         <artifactId>mdsal-artifacts</artifactId>
-        <version>5.0.9</version>
+        <version>6.0.0-SNAPSHOT</version>
         <type>pom</type>
         <scope>import</scope>
       </dependency>
@@ -41,7 +41,7 @@
       <dependency>
         <groupId>org.opendaylight.yangtools</groupId>
         <artifactId>yangtools-artifacts</artifactId>
-        <version>4.0.6</version>
+        <version>5.0.0-SNAPSHOT</version>
         <type>pom</type>
         <scope>import</scope>
       </dependency>
@@ -61,7 +61,6 @@
     <dependency>
       <groupId>org.apache.aries</groupId>
       <artifactId>org.apache.aries.util</artifactId>
-      <version>1.1.3</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.mdsal</groupId>
       <artifactId>mdsal-binding-dom-adapter</artifactId>
       <scope>test</scope>
     </dependency>
+    <dependency>
+      <groupId>org.opendaylight.mdsal</groupId>
+      <artifactId>mdsal-binding-generator-impl</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.opendaylight.mdsal</groupId>
+      <artifactId>mdsal-binding-runtime-spi</artifactId>
+      <scope>test</scope>
+    </dependency>
   </dependencies>
 
   <build>
index 97b816d..7ecc14e 100644 (file)
@@ -40,7 +40,7 @@ final class RpcUtil {
                 "Module not found in SchemaContext: " + moduleName + "; service: " + service));
         LOG.debug("Resolved service {} to module {}", service, module);
 
-        final Collection<RpcDefinition> rpcs = module.getRpcs();
+        final Collection<? extends RpcDefinition> rpcs = module.getRpcs();
         final Collection<SchemaPath> ret = new ArrayList<>(rpcs.size());
         for (RpcDefinition rpc : rpcs) {
             final RpcRoutingStrategy strategy = RpcRoutingStrategy.from(rpc);
index a1cf3d7..6407efa 100644 (file)
@@ -27,10 +27,10 @@ public class DataStoreAppConfigDefaultXMLReaderTest extends AbstractConcurrentDa
         Lists lists = new DataStoreAppConfigDefaultXMLReader<>(
                 getClass(), "/opendaylight-sal-test-store-config.xml",
                 getDataBrokerTestCustomizer().getSchemaService(),
-                getDataBrokerTestCustomizer().getBindingToNormalized(),
+                getDataBrokerTestCustomizer().getAdapterContext().currentSerializer(),
                 Lists.class).createDefaultInstance();
 
-        UnorderedList element = lists.getUnorderedContainer().getUnorderedList().get(0);
+        UnorderedList element = lists.getUnorderedContainer().getUnorderedList().values().iterator().next();
         assertThat(element.getName()).isEqualTo("someName");
         assertThat(element.getValue()).isEqualTo("someValue");
     }
@@ -40,7 +40,7 @@ public class DataStoreAppConfigDefaultXMLReaderTest extends AbstractConcurrentDa
         new DataStoreAppConfigDefaultXMLReader<>(
                 getClass(), "/badname.xml",
                 getDataBrokerTestCustomizer().getSchemaService(),
-                getDataBrokerTestCustomizer().getBindingToNormalized(),
+                getDataBrokerTestCustomizer().getAdapterContext().currentSerializer(),
                 Lists.class).createDefaultInstance();
     }
 }
index 87781c8..9398791 100644 (file)
@@ -11,7 +11,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>odlparent</artifactId>
-    <version>6.0.4</version>
+    <version>7.0.1</version>
     <relativePath/>
   </parent>
 
index 3ba4557..d48906b 100644 (file)
@@ -14,7 +14,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent-lite</artifactId>
-        <version>6.0.4</version>
+        <version>7.0.1</version>
         <relativePath/>
     </parent>
 
index baf094b..3cac66f 100644 (file)
@@ -5,7 +5,7 @@
   <parent>
     <groupId>org.opendaylight.mdsal</groupId>
     <artifactId>binding-parent</artifactId>
-    <version>5.0.9</version>
+    <version>6.0.0-SNAPSHOT</version>
     <relativePath/>
   </parent>
 
index 775cf8b..5623584 100644 (file)
@@ -17,7 +17,7 @@
     <dependencies>
         <dependency>
             <groupId>com.typesafe.akka</groupId>
-            <artifactId>akka-actor_2.12</artifactId>
+            <artifactId>akka-actor_2.13</artifactId>
         </dependency>
 
         <dependency>
@@ -42,7 +42,7 @@
         </dependency>
         <dependency>
             <groupId>com.typesafe.akka</groupId>
-            <artifactId>akka-testkit_2.12</artifactId>
+            <artifactId>akka-testkit_2.13</artifactId>
             <scope>test</scope>
         </dependency>
         <dependency>
index 9e1fa7a..b4985d1 100644 (file)
@@ -21,7 +21,7 @@
         </dependency>
         <dependency>
             <groupId>com.typesafe.akka</groupId>
-            <artifactId>akka-actor_2.12</artifactId>
+            <artifactId>akka-actor_2.13</artifactId>
         </dependency>
 
         <dependency>
@@ -39,7 +39,7 @@
         </dependency>
         <dependency>
             <groupId>com.typesafe.akka</groupId>
-            <artifactId>akka-testkit_2.12</artifactId>
+            <artifactId>akka-testkit_2.13</artifactId>
             <scope>test</scope>
         </dependency>
         <dependency>
index 842546a..33f2829 100644 (file)
@@ -17,7 +17,7 @@
     <dependencies>
         <dependency>
             <groupId>com.typesafe.akka</groupId>
-            <artifactId>akka-actor_2.12</artifactId>
+            <artifactId>akka-actor_2.13</artifactId>
         </dependency>
 
         <dependency>
index e89e1d1..6361ef7 100644 (file)
@@ -14,7 +14,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent-lite</artifactId>
-        <version>6.0.4</version>
+        <version>7.0.1</version>
         <relativePath/>
     </parent>
 
index 9754c93..946065c 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>6.0.4</version>
+    <version>7.0.1</version>
     <relativePath/>
   </parent>
   <modelVersion>4.0.0</modelVersion>
@@ -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>5.0.9</version>
+        <version>6.0.0-SNAPSHOT</version>
         <type>pom</type>
         <scope>import</scope>
       </dependency>
index 1529d23..72eb79c 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>6.0.4</version>
+    <version>7.0.1</version>
     <relativePath/>
   </parent>
 
index 6c9e17b..2deb357 100644 (file)
@@ -9,12 +9,10 @@ package org.opendaylight.controller.messagebus.app.impl;
 
 import static java.util.Objects.requireNonNull;
 
+import com.google.common.util.concurrent.FluentFuture;
 import com.google.common.util.concurrent.FutureCallback;
-import com.google.common.util.concurrent.Futures;
-import com.google.common.util.concurrent.ListenableFuture;
 import com.google.common.util.concurrent.MoreExecutors;
 import java.util.Collection;
-import java.util.List;
 import java.util.Optional;
 import java.util.UUID;
 import java.util.concurrent.CopyOnWriteArraySet;
@@ -116,31 +114,26 @@ public final class EventSourceTopic implements DataTreeChangeListener<Node>, Aut
         LOG.debug("Notify existing nodes");
         final Pattern nodeRegex = this.nodeIdPattern;
 
-        final ReadTransaction tx = eventSourceTopology.getDataBroker().newReadOnlyTransaction();
-        final ListenableFuture<Optional<Topology>> future =
-                tx.read(LogicalDatastoreType.OPERATIONAL, EventSourceTopology.EVENT_SOURCE_TOPOLOGY_PATH);
+        final FluentFuture<Optional<Topology>> future;
+        try (ReadTransaction tx = eventSourceTopology.getDataBroker().newReadOnlyTransaction()) {
+            future = tx.read(LogicalDatastoreType.OPERATIONAL, EventSourceTopology.EVENT_SOURCE_TOPOLOGY_PATH);
+        }
 
-        Futures.addCallback(future, new FutureCallback<Optional<Topology>>() {
+        future.addCallback(new FutureCallback<Optional<Topology>>() {
             @Override
             public void onSuccess(final Optional<Topology> data) {
                 if (data.isPresent()) {
-                    final List<Node> nodes = data.get().getNode();
-                    if (nodes != null) {
-                        for (final Node node : nodes) {
-                            if (nodeRegex.matcher(node.getNodeId().getValue()).matches()) {
-                                notifyNode(EventSourceTopology.EVENT_SOURCE_TOPOLOGY_PATH.child(Node.class,
-                                    node.key()));
-                            }
+                    for (final Node node : data.get().nonnullNode().values()) {
+                        if (nodeRegex.matcher(node.getNodeId().getValue()).matches()) {
+                            notifyNode(EventSourceTopology.EVENT_SOURCE_TOPOLOGY_PATH.child(Node.class, node.key()));
                         }
                     }
                 }
-                tx.close();
             }
 
             @Override
             public void onFailure(final Throwable ex) {
                 LOG.error("Can not notify existing nodes", ex);
-                tx.close();
             }
         }, MoreExecutors.directExecutor());
     }
index ce3e52d..868dd9d 100644 (file)
@@ -17,8 +17,6 @@ import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 
 import com.google.common.util.concurrent.FluentFuture;
-import java.util.ArrayList;
-import java.util.List;
 import java.util.Map;
 import java.util.Optional;
 import java.util.Set;
@@ -43,6 +41,7 @@ import org.opendaylight.yang.gen.v1.urn.cisco.params.xml.ns.yang.messagebus.even
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NodeId;
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.Topology;
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node;
+import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.NodeBuilder;
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.NodeKey;
 import org.opendaylight.yangtools.concepts.ListenerRegistration;
 import org.opendaylight.yangtools.concepts.ObjectRegistration;
@@ -58,7 +57,6 @@ public class EventSourceTopologyTest {
     RpcConsumerRegistry rpcServiceMock;
     CreateTopicInput createTopicInputMock;
     ListenerRegistration<?> listenerRegistrationMock;
-    NodeKey nodeKey;
     ObjectRegistration<EventAggregatorService> aggregatorRpcReg;
 
     @Before
@@ -131,13 +129,9 @@ public class EventSourceTopologyTest {
         Topology topologyMock = mock(Topology.class);
         doReturn(Optional.of(topologyMock)).when(checkedFutureMock).get();
 
-        Node nodeMock = mock(Node.class);
-        List<Node> nodeList = new ArrayList<>();
-        nodeList.add(nodeMock);
-        doReturn(nodeList).when(topologyMock).getNode();
-
-        NodeId nodeId = new NodeId("nodeIdValue1");
-        doReturn(nodeId).when(nodeMock).getNodeId();
+        final NodeKey nodeKey = new NodeKey(new NodeId("nodeIdValue1"));
+        final Node node = new NodeBuilder().withKey(nodeKey).build();
+        doReturn(Map.of(nodeKey, node)).when(topologyMock).getNode();
     }
 
     @Test
@@ -160,7 +154,7 @@ public class EventSourceTopologyTest {
         Node nodeMock = mock(Node.class);
         EventSource eventSourceMock = mock(EventSource.class);
         NodeId nodeId = new NodeId("nodeIdValue1");
-        nodeKey = new NodeKey(nodeId);
+        NodeKey nodeKey = new NodeKey(nodeId);
         doReturn(nodeKey).when(nodeMock).key();
         doReturn(nodeKey).when(eventSourceMock).getSourceNodeKey();
         ObjectRegistration routedRpcRegistrationMock = mock(ObjectRegistration.class);
@@ -176,7 +170,7 @@ public class EventSourceTopologyTest {
         topicTestHelper();
         EventSource eventSourceMock = mock(EventSource.class);
         NodeId nodeId = new NodeId("nodeIdValue1");
-        nodeKey = new NodeKey(nodeId);
+        NodeKey nodeKey = new NodeKey(nodeId);
         Map<NodeKey, Registration> localMap = eventSourceTopology.getRoutedRpcRegistrations();
         NodeKey nodeKeyMock = mock(NodeKey.class);
         doReturn(nodeKeyMock).when(eventSourceMock).getSourceNodeKey();
@@ -192,7 +186,7 @@ public class EventSourceTopologyTest {
         Node nodeMock = mock(Node.class);
         EventSource eventSourceMock = mock(EventSource.class);
         NodeId nodeId = new NodeId("nodeIdValue1");
-        nodeKey = new NodeKey(nodeId);
+        NodeKey nodeKey = new NodeKey(nodeId);
         doReturn(nodeKey).when(nodeMock).key();
         doReturn(nodeKey).when(eventSourceMock).getSourceNodeKey();
         ObjectRegistration routedRpcRegistrationMock = mock(ObjectRegistration.class);
index 4957cab..6ff0f54 100644 (file)
@@ -11,7 +11,7 @@
   <parent>
     <groupId>org.opendaylight.mdsal</groupId>
     <artifactId>binding-parent</artifactId>
-    <version>5.0.9</version>
+    <version>6.0.0-SNAPSHOT</version>
     <relativePath/>
   </parent>
 
index cd65701..9811212 100644 (file)
@@ -5,7 +5,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>odlparent-lite</artifactId>
-    <version>6.0.4</version>
+    <version>7.0.1</version>
     <relativePath/>
   </parent>
 
index 9fa0939..2d4bde9 100644 (file)
 
     <dependency>
       <groupId>com.typesafe.akka</groupId>
-      <artifactId>akka-actor_2.12</artifactId>
+      <artifactId>akka-actor_2.13</artifactId>
     </dependency>
 
     <dependency>
       <groupId>com.typesafe.akka</groupId>
-      <artifactId>akka-cluster_2.12</artifactId>
+      <artifactId>akka-cluster_2.13</artifactId>
     </dependency>
 
     <dependency>
       <groupId>com.typesafe.akka</groupId>
-      <artifactId>akka-persistence_2.12</artifactId>
+      <artifactId>akka-persistence_2.13</artifactId>
     </dependency>
 
     <dependency>
       <groupId>com.typesafe.akka</groupId>
-      <artifactId>akka-remote_2.12</artifactId>
+      <artifactId>akka-remote_2.13</artifactId>
     </dependency>
 
     <dependency>
       <groupId>com.typesafe.akka</groupId>
-      <artifactId>akka-testkit_2.12</artifactId>
+      <artifactId>akka-testkit_2.13</artifactId>
       <scope>test</scope>
     </dependency>
 
@@ -62,7 +62,7 @@
 
     <dependency>
       <groupId>com.typesafe.akka</groupId>
-      <artifactId>akka-slf4j_2.12</artifactId>
+      <artifactId>akka-slf4j_2.13</artifactId>
     </dependency>
 
     <!-- Test Dependencies -->
index 90aff5b..f3d4bc6 100644 (file)
@@ -28,6 +28,7 @@ import org.apache.commons.lang.SerializationUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import scala.concurrent.Future;
+import scala.jdk.javaapi.CollectionConverters;
 
 /**
  * An akka AsyncWriteJournal implementation that stores data in memory. This is intended for testing.
@@ -40,7 +41,7 @@ public class InMemoryJournal extends AsyncWriteJournal {
         final CountDownLatch latch;
         final Class<?> ofType;
 
-        WriteMessagesComplete(int count, Class<?> ofType) {
+        WriteMessagesComplete(final int count, final Class<?> ofType) {
             this.latch = new CountDownLatch(count);
             this.ofType = ofType;
         }
@@ -56,11 +57,11 @@ public class InMemoryJournal extends AsyncWriteJournal {
 
     private static final Map<String, CountDownLatch> BLOCK_READ_MESSAGES_LATCHES = new ConcurrentHashMap<>();
 
-    private static Object deserialize(Object data) {
+    private static Object deserialize(final Object data) {
         return data instanceof byte[] ? SerializationUtils.deserialize((byte[])data) : data;
     }
 
-    public static void addEntry(String persistenceId, long sequenceNr, Object data) {
+    public static void addEntry(final String persistenceId, final long sequenceNr, final Object data) {
         Map<Long, Object> journal = JOURNALS.computeIfAbsent(persistenceId, k -> new LinkedHashMap<>());
 
         synchronized (journal) {
@@ -77,7 +78,7 @@ public class InMemoryJournal extends AsyncWriteJournal {
     }
 
     @SuppressWarnings("unchecked")
-    public static <T> List<T> get(String persistenceId, Class<T> type) {
+    public static <T> List<T> get(final String persistenceId, final Class<T> type) {
         Map<Long, Object> journalMap = JOURNALS.get(persistenceId);
         if (journalMap == null) {
             return Collections.<T>emptyList();
@@ -96,12 +97,12 @@ public class InMemoryJournal extends AsyncWriteJournal {
         }
     }
 
-    public static Map<Long, Object> get(String persistenceId) {
+    public static Map<Long, Object> get(final String persistenceId) {
         Map<Long, Object> journalMap = JOURNALS.get(persistenceId);
         return journalMap != null ? journalMap : Collections.<Long, Object>emptyMap();
     }
 
-    public static void dumpJournal(String persistenceId) {
+    public static void dumpJournal(final String persistenceId) {
         StringBuilder builder = new StringBuilder(String.format("Journal log for %s:", persistenceId));
         Map<Long, Object> journalMap = JOURNALS.get(persistenceId);
         if (journalMap != null) {
@@ -115,33 +116,34 @@ public class InMemoryJournal extends AsyncWriteJournal {
         LOG.info(builder.toString());
     }
 
-    public static void waitForDeleteMessagesComplete(String persistenceId) {
+    public static void waitForDeleteMessagesComplete(final String persistenceId) {
         if (!Uninterruptibles.awaitUninterruptibly(DELETE_MESSAGES_COMPLETE_LATCHES.get(persistenceId),
                 5, TimeUnit.SECONDS)) {
             throw new AssertionError("Delete messages did not complete");
         }
     }
 
-    public static void waitForWriteMessagesComplete(String persistenceId) {
+    public static void waitForWriteMessagesComplete(final String persistenceId) {
         if (!Uninterruptibles.awaitUninterruptibly(WRITE_MESSAGES_COMPLETE.get(persistenceId).latch,
                 5, TimeUnit.SECONDS)) {
             throw new AssertionError("Journal write messages did not complete");
         }
     }
 
-    public static void addDeleteMessagesCompleteLatch(String persistenceId) {
+    public static void addDeleteMessagesCompleteLatch(final String persistenceId) {
         DELETE_MESSAGES_COMPLETE_LATCHES.put(persistenceId, new CountDownLatch(1));
     }
 
-    public static void addWriteMessagesCompleteLatch(String persistenceId, int count) {
+    public static void addWriteMessagesCompleteLatch(final String persistenceId, final int count) {
         WRITE_MESSAGES_COMPLETE.put(persistenceId, new WriteMessagesComplete(count, null));
     }
 
-    public static void addWriteMessagesCompleteLatch(String persistenceId, int count, Class<?> ofType) {
+    public static void addWriteMessagesCompleteLatch(final String persistenceId, final int count,
+            final Class<?> ofType) {
         WRITE_MESSAGES_COMPLETE.put(persistenceId, new WriteMessagesComplete(count, ofType));
     }
 
-    public static void addBlockReadMessagesLatch(String persistenceId, CountDownLatch latch) {
+    public static void addBlockReadMessagesLatch(final String persistenceId, final CountDownLatch latch) {
         BLOCK_READ_MESSAGES_LATCHES.put(persistenceId, latch);
     }
 
@@ -167,7 +169,7 @@ public class InMemoryJournal extends AsyncWriteJournal {
                     if (++count <= max && entry.getKey() >= fromSequenceNr && entry.getKey() <= toSequenceNr) {
                         PersistentRepr persistentMessage =
                                 new PersistentImpl(deserialize(entry.getValue()), entry.getKey(), persistenceId,
-                                        null, false, null, null);
+                                        null, false, null, null, 0);
                         replayCallback.accept(persistentMessage);
                     }
                 }
@@ -178,7 +180,7 @@ public class InMemoryJournal extends AsyncWriteJournal {
     }
 
     @Override
-    public Future<Long> doAsyncReadHighestSequenceNr(String persistenceId, long fromSequenceNr) {
+    public Future<Long> doAsyncReadHighestSequenceNr(final String persistenceId, final long fromSequenceNr) {
         LOG.trace("doAsyncReadHighestSequenceNr for {}: fromSequenceNr: {}", persistenceId, fromSequenceNr);
 
         // Akka calls this during recovery.
@@ -203,10 +205,7 @@ public class InMemoryJournal extends AsyncWriteJournal {
     public Future<Iterable<Optional<Exception>>> doAsyncWriteMessages(final Iterable<AtomicWrite> messages) {
         return Futures.future(() -> {
             for (AtomicWrite write : messages) {
-                // Copy to array - workaround for eclipse "ambiguous method" errors for toIterator, toIterable etc
-                PersistentRepr[] array = new PersistentRepr[write.payload().size()];
-                write.payload().copyToArray(array);
-                for (PersistentRepr repr: array) {
+                for (PersistentRepr repr : CollectionConverters.asJava(write.payload())) {
                     LOG.trace("doAsyncWriteMessages: id: {}: seqNr: {}, payload: {}", repr.persistenceId(),
                         repr.sequenceNr(), repr.payload());
 
@@ -226,7 +225,7 @@ public class InMemoryJournal extends AsyncWriteJournal {
     }
 
     @Override
-    public Future<Void> doAsyncDeleteMessagesTo(String persistenceId, long toSequenceNr) {
+    public Future<Void> doAsyncDeleteMessagesTo(final String persistenceId, final long toSequenceNr) {
         LOG.trace("doAsyncDeleteMessagesTo: {}", toSequenceNr);
         Map<Long, Object> journal = JOURNALS.get(persistenceId);
         if (journal != null) {
index 11713cc..ebaad77 100644 (file)
@@ -25,24 +25,24 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
         <!-- Akka -->
         <dependency>
             <groupId>com.typesafe.akka</groupId>
-            <artifactId>akka-actor_2.12</artifactId>
+            <artifactId>akka-actor_2.13</artifactId>
         </dependency>
         <dependency>
             <groupId>com.typesafe.akka</groupId>
-            <artifactId>akka-persistence_2.12</artifactId>
+            <artifactId>akka-persistence_2.13</artifactId>
         </dependency>
         <dependency>
             <groupId>com.typesafe.akka</groupId>
-            <artifactId>akka-slf4j_2.12</artifactId>
+            <artifactId>akka-slf4j_2.13</artifactId>
             <scope>test</scope>
         </dependency>
         <dependency>
             <groupId>com.typesafe.akka</groupId>
-            <artifactId>akka-testkit_2.12</artifactId>
+            <artifactId>akka-testkit_2.13</artifactId>
         </dependency>
         <dependency>
             <groupId>com.typesafe.akka</groupId>
-            <artifactId>akka-persistence-tck_2.12</artifactId>
+            <artifactId>akka-persistence-tck_2.13</artifactId>
         </dependency>
 
         <!-- Codahale -->
index 3b85a23..4e0a54c 100644 (file)
@@ -39,10 +39,9 @@ import org.opendaylight.controller.cluster.common.actor.MeteringBehavior;
 import org.opendaylight.controller.cluster.reporting.MetricsReporter;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import scala.collection.Iterator;
-import scala.collection.SeqLike;
 import scala.concurrent.Future;
 import scala.concurrent.Promise;
+import scala.jdk.javaapi.CollectionConverters;
 
 /**
  * This actor handles a single PersistentActor's journal. The journal is split into two {@link SegmentedJournal}s:
@@ -332,10 +331,7 @@ final class SegmentedJournalActor extends AbstractActor {
     }
 
     private void writeRequest(final SegmentedJournalWriter<DataJournalEntry> writer, final AtomicWrite request) {
-        // Cast is needed for Eclipse because of https://bugs.eclipse.org/bugs/show_bug.cgi?id=468276
-        final Iterator<PersistentRepr> it = ((SeqLike<PersistentRepr, ?>) request.payload()).iterator();
-        while (it.hasNext()) {
-            final PersistentRepr repr = it.next();
+        for (PersistentRepr repr : CollectionConverters.asJava(request.payload())) {
             final Object payload = repr.payload();
             if (!(payload instanceof Serializable)) {
                 throw new UnsupportedOperationException("Non-serializable payload encountered " + payload.getClass());
index 9a860bb..b9a1f22 100644 (file)
     <!-- Akka -->
     <dependency>
       <groupId>com.typesafe.akka</groupId>
-      <artifactId>akka-actor_2.12</artifactId>
+      <artifactId>akka-actor_2.13</artifactId>
     </dependency>
     <dependency>
       <groupId>com.typesafe.akka</groupId>
-      <artifactId>akka-testkit_2.12</artifactId>
+      <artifactId>akka-testkit_2.13</artifactId>
       <scope>test</scope>
     </dependency>
 
index 3e14a37..6102db5 100644 (file)
@@ -16,6 +16,7 @@ import akka.util.Timeout;
 import com.google.common.base.Strings;
 import com.google.common.base.Throwables;
 import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.Maps;
 import com.google.common.util.concurrent.FutureCallback;
 import com.google.common.util.concurrent.Futures;
 import com.google.common.util.concurrent.ListenableFuture;
@@ -106,12 +107,14 @@ 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.md.sal.cluster.admin.rev151013.RemoveShardReplicaOutputBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.md.sal.cluster.admin.rev151013.get.known.clients._for.all.shards.output.ShardResult1;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.md.sal.cluster.admin.rev151013.get.known.clients._for.all.shards.output.ShardResult1Builder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.md.sal.cluster.admin.rev151013.get.known.clients._for.all.shards.output.shard.result.KnownClients;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.md.sal.cluster.admin.rev151013.get.known.clients._for.all.shards.output.shard.result.KnownClientsBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.md.sal.cluster.admin.rev151013.locate.shard.output.member.node.LeaderActorRefBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.md.sal.cluster.admin.rev151013.locate.shard.output.member.node.LocalBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.md.sal.cluster.admin.rev151013.member.voting.states.input.MemberVotingState;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.md.sal.cluster.admin.rev151013.shard.result.output.ShardResult;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.md.sal.cluster.admin.rev151013.shard.result.output.ShardResultBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.md.sal.cluster.admin.rev151013.shard.result.output.ShardResultKey;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.opendaylight.yangtools.yang.common.Empty;
 import org.opendaylight.yangtools.yang.common.RpcError.ErrorType;
@@ -649,7 +652,7 @@ public class ClusterAdminRpcService implements ClusterAdminService {
 
     private static RpcResult<GetKnownClientsForAllShardsOutput> processReplies(
             final ImmutableMap<ShardIdentifier, ListenableFuture<GetKnownClientsReply>> allShardReplies) {
-        final List<ShardResult> result = new ArrayList<>(allShardReplies.size());
+        final Map<ShardResultKey, ShardResult> result = Maps.newHashMapWithExpectedSize(allShardReplies.size());
         for (Entry<ShardIdentifier, ListenableFuture<GetKnownClientsReply>> entry : allShardReplies.entrySet()) {
             final ListenableFuture<GetKnownClientsReply> future = entry.getValue();
             final ShardResultBuilder builder = new ShardResultBuilder()
@@ -661,22 +664,28 @@ public class ClusterAdminRpcService implements ClusterAdminService {
                 reply = Futures.getDone(future);
             } catch (ExecutionException e) {
                 LOG.debug("Shard {} failed to answer", entry.getKey(), e);
-                result.add(builder.setSucceeded(Boolean.FALSE).setErrorMessage(e.getCause().getMessage()).build());
+                final ShardResult sr = builder
+                        .setSucceeded(Boolean.FALSE)
+                        .setErrorMessage(e.getCause().getMessage())
+                        .build();
+                result.put(sr.key(), sr);
                 continue;
             }
 
-            result.add(builder
-                .setSucceeded(Boolean.TRUE)
-                .addAugmentation(ShardResult1.class, new ShardResult1Builder()
-                    .setKnownClients(reply.getClients().stream()
-                        .map(client -> new KnownClientsBuilder()
-                            .setMember(client.getFrontendId().getMemberName().toYang())
-                            .setType(client.getFrontendId().getClientType().toYang())
-                            .setGeneration(client.getYangGeneration())
-                            .build())
-                        .collect(Collectors.toList()))
-                    .build())
-                .build());
+            final ShardResult sr = builder
+                    .setSucceeded(Boolean.TRUE)
+                    .addAugmentation(ShardResult1.class, new ShardResult1Builder()
+                        .setKnownClients(reply.getClients().stream()
+                            .map(client -> new KnownClientsBuilder()
+                                .setMember(client.getFrontendId().getMemberName().toYang())
+                                .setType(client.getFrontendId().getClientType().toYang())
+                                .setGeneration(client.getYangGeneration())
+                                .build())
+                            .collect(Collectors.toMap(KnownClients::key, Function.identity())))
+                        .build())
+                    .build();
+
+            result.put(sr.key(), sr);
         }
 
         return RpcResultBuilder.success(new GetKnownClientsForAllShardsOutputBuilder().setShardResult(result).build())
@@ -694,19 +703,20 @@ public class ClusterAdminRpcService implements ClusterAdminService {
 
     private static <T> SettableFuture<RpcResult<T>> waitForShardResults(
             final List<Entry<ListenableFuture<Success>, ShardResultBuilder>> shardResultData,
-            final Function<List<ShardResult>, T> resultDataSupplier,
+            final Function<Map<ShardResultKey, ShardResult>, T> resultDataSupplier,
             final String failureLogMsgPrefix) {
         final SettableFuture<RpcResult<T>> returnFuture = SettableFuture.create();
-        final List<ShardResult> shardResults = new ArrayList<>();
+        final Map<ShardResultKey, ShardResult> shardResults = new HashMap<>();
         for (final Entry<ListenableFuture<Success>, ShardResultBuilder> entry : shardResultData) {
             Futures.addCallback(entry.getKey(), new FutureCallback<Success>() {
                 @Override
                 public void onSuccess(final Success result) {
                     synchronized (shardResults) {
-                        ShardResultBuilder shardResult = entry.getValue();
-                        LOG.debug("onSuccess for shard {}, type {}", shardResult.getShardName(),
-                                shardResult.getDataStoreType());
-                        shardResults.add(shardResult.setSucceeded(true).build());
+                        final ShardResultBuilder builder = entry.getValue();
+                        LOG.debug("onSuccess for shard {}, type {}", builder.getShardName(),
+                            builder.getDataStoreType());
+                        final ShardResult sr = builder.setSucceeded(Boolean.TRUE).build();
+                        shardResults.put(sr.key(), sr);
                         checkIfComplete();
                     }
                 }
@@ -714,11 +724,14 @@ public class ClusterAdminRpcService implements ClusterAdminService {
                 @Override
                 public void onFailure(final Throwable failure) {
                     synchronized (shardResults) {
-                        ShardResultBuilder shardResult = entry.getValue();
-                        LOG.warn("{} for shard {}, type {}", failureLogMsgPrefix, shardResult.getShardName(),
-                                shardResult.getDataStoreType(), failure);
-                        shardResults.add(shardResult.setSucceeded(false).setErrorMessage(
-                                Throwables.getRootCause(failure).getMessage()).build());
+                        ShardResultBuilder builder = entry.getValue();
+                        LOG.warn("{} for shard {}, type {}", failureLogMsgPrefix, builder.getShardName(),
+                                builder.getDataStoreType(), failure);
+                        final ShardResult sr = builder
+                                .setSucceeded(Boolean.FALSE)
+                                .setErrorMessage(Throwables.getRootCause(failure).getMessage())
+                                .build();
+                        shardResults.put(sr.key(), sr);
                         checkIfComplete();
                     }
                 }
index bb47af6..0ba06e3 100644 (file)
@@ -114,6 +114,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.md.sal.cluster.admin.rev151013.member.voting.states.input.MemberVotingStateBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.md.sal.cluster.admin.rev151013.shard.result.output.ShardResult;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.md.sal.cluster.admin.rev151013.shard.result.output.ShardResultBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.md.sal.cluster.admin.rev151013.shard.result.output.ShardResultKey;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.opendaylight.yangtools.yang.common.RpcError;
 import org.opendaylight.yangtools.yang.common.RpcResult;
@@ -1190,13 +1191,14 @@ public class ClusterAdminRpcServiceTest {
         });
     }
 
-    private static void verifyShardResults(final List<ShardResult> shardResults, final ShardResult... expShardResults) {
+    private static void verifyShardResults(final Map<ShardResultKey, ShardResult> shardResults,
+            final ShardResult... expShardResults) {
         Map<String, ShardResult> expResultsMap = new HashMap<>();
         for (ShardResult r: expShardResults) {
             expResultsMap.put(r.getShardName() + "-" + r.getDataStoreType(), r);
         }
 
-        for (ShardResult result: shardResults) {
+        for (ShardResult result: shardResults.values()) {
             ShardResult exp = expResultsMap.remove(result.getShardName() + "-" + result.getDataStoreType());
             assertNotNull(String.format("Unexpected result for shard %s, type %s", result.getShardName(),
                     result.getDataStoreType()), exp);
index bc4e7a2..825a929 100644 (file)
     <!-- Akka -->
     <dependency>
       <groupId>com.typesafe.akka</groupId>
-      <artifactId>akka-actor_2.12</artifactId>
+      <artifactId>akka-actor_2.13</artifactId>
     </dependency>
     <dependency>
       <groupId>com.typesafe.akka</groupId>
-      <artifactId>akka-cluster_2.12</artifactId>
+      <artifactId>akka-cluster_2.13</artifactId>
     </dependency>
     <dependency>
       <groupId>com.typesafe.akka</groupId>
-      <artifactId>akka-osgi_2.12</artifactId>
+      <artifactId>akka-osgi_2.13</artifactId>
     </dependency>
     <dependency>
       <groupId>com.typesafe.akka</groupId>
-      <artifactId>akka-persistence_2.12</artifactId>
+      <artifactId>akka-persistence_2.13</artifactId>
     </dependency>
     <dependency>
       <groupId>com.typesafe.akka</groupId>
-      <artifactId>akka-remote_2.12</artifactId>
+      <artifactId>akka-remote_2.13</artifactId>
     </dependency>
     <dependency>
       <!-- Enforce Netty’s optional dependency on servlet API -->
     </dependency>
     <dependency>
       <groupId>com.typesafe.akka</groupId>
-      <artifactId>akka-slf4j_2.12</artifactId>
+      <artifactId>akka-slf4j_2.13</artifactId>
     </dependency>
     <dependency>
       <groupId>com.typesafe.akka</groupId>
-      <artifactId>akka-testkit_2.12</artifactId>
+      <artifactId>akka-testkit_2.13</artifactId>
     </dependency>
     <dependency>
       <groupId>com.typesafe.akka</groupId>
-      <artifactId>akka-persistence-tck_2.12</artifactId>
+      <artifactId>akka-persistence-tck_2.13</artifactId>
     </dependency>
 
     <!-- Codahale -->
index 50e2333..2dae2ff 100644 (file)
@@ -12,7 +12,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>odlparent-lite</artifactId>
-    <version>6.0.4</version>
+    <version>7.0.1</version>
     <relativePath/>
   </parent>
 
diff --git a/opendaylight/md-sal/sal-common-util/src/main/java/org/opendaylight/controller/md/sal/common/util/jmx/QueuedNotificationManagerMXBeanImpl.java b/opendaylight/md-sal/sal-common-util/src/main/java/org/opendaylight/controller/md/sal/common/util/jmx/QueuedNotificationManagerMXBeanImpl.java
deleted file mode 100644 (file)
index 2ede081..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright (c) 2014 Brocade Communications Systems, Inc. and others.  All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- */
-package org.opendaylight.controller.md.sal.common.util.jmx;
-
-import static java.util.Objects.requireNonNull;
-
-import java.util.List;
-import org.opendaylight.yangtools.util.concurrent.ListenerNotificationQueueStats;
-import org.opendaylight.yangtools.util.concurrent.QueuedNotificationManager;
-import org.opendaylight.yangtools.util.concurrent.QueuedNotificationManagerMXBean;
-
-/**
- * Implementation of the QueuedNotificationManagerMXBean interface.
- *
- * <p>
- * This class is not intended for use outside of MD-SAL and its part of private
- * implementation (still exported as public to be reused across MD-SAL implementation
- * components) and may be removed in subsequent
- * releases.
- *
- * @author Thomas Pantelis
- */
-public class QueuedNotificationManagerMXBeanImpl extends AbstractMXBean
-                                                 implements QueuedNotificationManagerMXBean {
-
-    private final QueuedNotificationManager<?,?> manager;
-
-    public QueuedNotificationManagerMXBeanImpl(final QueuedNotificationManager<?,?> manager,
-            final String beanName, final String beanType, final String beanCategory) {
-        super(beanName, beanType, beanCategory);
-        this.manager = requireNonNull(manager);
-    }
-
-    @Override
-    public List<ListenerNotificationQueueStats> getCurrentListenerQueueStats() {
-        return manager.getListenerNotificationQueueStats();
-    }
-
-    @Override
-    public int getMaxListenerQueueSize() {
-        return manager.getMaxQueueCapacity();
-    }
-
-    public QueuedNotificationManagerStats toQueuedNotificationManagerStats() {
-        return new QueuedNotificationManagerStats(getMaxListenerQueueSize(), getCurrentListenerQueueStats());
-    }
-}
diff --git a/opendaylight/md-sal/sal-common-util/src/main/java/org/opendaylight/controller/md/sal/common/util/jmx/QueuedNotificationManagerStats.java b/opendaylight/md-sal/sal-common-util/src/main/java/org/opendaylight/controller/md/sal/common/util/jmx/QueuedNotificationManagerStats.java
deleted file mode 100644 (file)
index 7f49fc2..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Copyright (c) 2014 Brocade Communications Systems, Inc. and others.  All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- */
-package org.opendaylight.controller.md.sal.common.util.jmx;
-
-import java.beans.ConstructorProperties;
-import java.util.List;
-import org.opendaylight.yangtools.util.concurrent.ListenerNotificationQueueStats;
-
-/**
- * A bean class that holds various QueuedNotificationManager statistic metrics. This class is
- * suitable for mapping to the MXBean CompositeDataSupport type.
- *
- * <p>
- * This class is not intended for use outside of MD-SAL and its part of private
- * implementation (still exported as public to be reused across MD-SAL implementation
- * components) and may be removed in subsequent
- * releases.
- * @author Thomas Pantelis
- * @see QueuedNotificationManagerMXBeanImpl
- */
-public class QueuedNotificationManagerStats {
-    private final int maxListenerQueueSize;
-    private final List<ListenerNotificationQueueStats> currentListenerQueueStats;
-
-    @ConstructorProperties({"maxListenerQueueSize","currentListenerQueueStats"})
-    public QueuedNotificationManagerStats(int maxListenerQueueSize,
-            List<ListenerNotificationQueueStats> currentListenerQueueStats) {
-        this.maxListenerQueueSize = maxListenerQueueSize;
-        this.currentListenerQueueStats = currentListenerQueueStats;
-    }
-
-    public List<ListenerNotificationQueueStats> getCurrentListenerQueueStats() {
-        return currentListenerQueueStats;
-    }
-
-    public int getMaxListenerQueueSize() {
-        return maxListenerQueueSize;
-    }
-}
index 4e3baf9..0c1f2a3 100644 (file)
     <!-- Akka -->
     <dependency>
       <groupId>com.typesafe.akka</groupId>
-      <artifactId>akka-actor_2.12</artifactId>
+      <artifactId>akka-actor_2.13</artifactId>
     </dependency>
     <dependency>
       <groupId>com.typesafe.akka</groupId>
-      <artifactId>akka-cluster_2.12</artifactId>
+      <artifactId>akka-cluster_2.13</artifactId>
     </dependency>
     <dependency>
       <groupId>com.typesafe.akka</groupId>
-      <artifactId>akka-osgi_2.12</artifactId>
+      <artifactId>akka-osgi_2.13</artifactId>
     </dependency>
     <dependency>
       <groupId>com.typesafe.akka</groupId>
-      <artifactId>akka-persistence_2.12</artifactId>
+      <artifactId>akka-persistence_2.13</artifactId>
     </dependency>
     <dependency>
       <groupId>com.typesafe.akka</groupId>
-      <artifactId>akka-remote_2.12</artifactId>
+      <artifactId>akka-remote_2.13</artifactId>
     </dependency>
     <dependency>
       <groupId>com.typesafe.akka</groupId>
-      <artifactId>akka-slf4j_2.12</artifactId>
+      <artifactId>akka-slf4j_2.13</artifactId>
     </dependency>
     <dependency>
       <groupId>org.scala-lang.modules</groupId>
-      <artifactId>scala-java8-compat_2.12</artifactId>
+      <artifactId>scala-java8-compat_2.13</artifactId>
     </dependency>
     <dependency>
       <groupId>com.typesafe.akka</groupId>
-      <artifactId>akka-testkit_2.12</artifactId>
+      <artifactId>akka-testkit_2.13</artifactId>
       <scope>test</scope>
     </dependency>
 
       <groupId>org.opendaylight.yangtools</groupId>
       <artifactId>yang-test-util</artifactId>
     </dependency>
+    <dependency>
+      <groupId>org.opendaylight.mdsal</groupId>
+      <artifactId>mdsal-binding-generator-impl</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.opendaylight.mdsal</groupId>
+      <artifactId>mdsal-binding-runtime-spi</artifactId>
+      <scope>test</scope>
+    </dependency>
   </dependencies>
 
   <build>
index bc4a8e7..7d84ebf 100644 (file)
@@ -43,8 +43,8 @@ import org.opendaylight.mdsal.dom.api.DOMDataTreeIdentifier;
 import org.opendaylight.mdsal.dom.spi.store.DOMStoreTreeChangePublisher;
 import org.opendaylight.yangtools.concepts.ListenerRegistration;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
-import org.opendaylight.yangtools.yang.model.api.SchemaContext;
-import org.opendaylight.yangtools.yang.model.api.SchemaContextListener;
+import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext;
+import org.opendaylight.yangtools.yang.model.api.EffectiveModelContextListener;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import scala.concurrent.duration.Duration;
@@ -52,7 +52,7 @@ import scala.concurrent.duration.Duration;
 /**
  * Base implementation of a distributed DOMStore.
  */
-public abstract class AbstractDataStore implements DistributedDataStoreInterface, SchemaContextListener,
+public abstract class AbstractDataStore implements DistributedDataStoreInterface, EffectiveModelContextListener,
         DatastoreContextPropertiesUpdater.Listener, DOMStoreTreeChangePublisher,
         DOMDataTreeCommitCohortRegistry, AutoCloseable {
 
@@ -187,8 +187,8 @@ public abstract class AbstractDataStore implements DistributedDataStoreInterface
     }
 
     @Override
-    public void onGlobalContextUpdated(final SchemaContext schemaContext) {
-        actorUtils.setSchemaContext(schemaContext);
+    public void onModelContextUpdated(final EffectiveModelContext newModelContext) {
+        actorUtils.setSchemaContext(newModelContext);
     }
 
     @Override
index 8d6f481..0a2c855 100644 (file)
@@ -7,13 +7,11 @@
  */
 package org.opendaylight.controller.cluster.datastore;
 
+import static java.util.Objects.requireNonNull;
+
 import com.google.common.annotations.VisibleForTesting;
 import org.opendaylight.mdsal.binding.dom.codec.api.BindingNormalizedNodeSerializer;
-import org.opendaylight.mdsal.binding.dom.codec.impl.BindingNormalizedNodeCodecRegistry;
-import org.opendaylight.mdsal.binding.generator.api.ClassLoadingStrategy;
-import org.opendaylight.mdsal.binding.generator.util.BindingRuntimeContext;
 import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
-import org.opendaylight.mdsal.dom.api.DOMSchemaService;
 
 /**
  * Factory for creating DatastoreContextIntrospector instances.
@@ -21,28 +19,21 @@ import org.opendaylight.mdsal.dom.api.DOMSchemaService;
  * @author Thomas Pantelis
  */
 public class DatastoreContextIntrospectorFactory {
-    private final DOMSchemaService schemaService;
-    private final ClassLoadingStrategy classLoadingStrategy;
+    private final BindingNormalizedNodeSerializer serializer;
 
-    public DatastoreContextIntrospectorFactory(DOMSchemaService schemaService,
-            ClassLoadingStrategy classLoadingStrategy) {
-        this.schemaService = schemaService;
-        this.classLoadingStrategy = classLoadingStrategy;
+    public DatastoreContextIntrospectorFactory(final BindingNormalizedNodeSerializer serializer) {
+        this.serializer = requireNonNull(serializer);
     }
 
-    public DatastoreContextIntrospector newInstance(LogicalDatastoreType datastoreType) {
-        return new DatastoreContextIntrospector(DatastoreContext.newBuilder()
-                .logicalStoreType(datastoreType).tempFileDirectory("./data").build(), newBindingSerializer());
+    public DatastoreContextIntrospector newInstance(final LogicalDatastoreType datastoreType) {
+        return newInstance(DatastoreContext.newBuilder()
+                .logicalStoreType(datastoreType)
+                .tempFileDirectory("./data")
+                .build());
     }
 
     @VisibleForTesting
-    DatastoreContextIntrospector newInstance(DatastoreContext context) {
-        return new DatastoreContextIntrospector(context, newBindingSerializer());
-    }
-
-    private BindingNormalizedNodeSerializer newBindingSerializer() {
-        BindingNormalizedNodeCodecRegistry codecRegistry = new BindingNormalizedNodeCodecRegistry(
-                BindingRuntimeContext.create(classLoadingStrategy, schemaService.getGlobalContext()));
-        return codecRegistry;
+    DatastoreContextIntrospector newInstance(final DatastoreContext context) {
+        return new DatastoreContextIntrospector(context, serializer);
     }
 }
index 7962d9b..977674c 100644 (file)
 
   <odl:static-reference id="schemaService" interface="org.opendaylight.mdsal.dom.api.DOMSchemaService" />
 
-  <reference id="classLoadingStrategy" interface="org.opendaylight.mdsal.binding.generator.api.ClassLoadingStrategy" />
+  <reference id="bindingSerializer" interface="org.opendaylight.mdsal.binding.dom.codec.api.BindingNormalizedNodeSerializer"/>
+
+  <bean id="introspectorFactory" class="org.opendaylight.controller.cluster.datastore.DatastoreContextIntrospectorFactory">
+    <argument ref="bindingSerializer"/>
+  </bean>
 
   <!-- ActorSystemProvider -->
 
     <argument value="./clustered-datastore-restore"/>
   </bean>
 
-  <bean id="introspectorFactory" class="org.opendaylight.controller.cluster.datastore.DatastoreContextIntrospectorFactory">
-    <argument ref="schemaService"/>
-    <argument ref="classLoadingStrategy"/>
-  </bean>
-
   <bean id="introspectorConfig" factory-ref="introspectorFactory" factory-method="newInstance">
     <argument type="org.opendaylight.mdsal.common.api.LogicalDatastoreType" value="CONFIGURATION"/>
   </bean>
index cca8eb6..19f4c8e 100644 (file)
@@ -10,8 +10,6 @@ package org.opendaylight.controller.cluster.datastore;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
-import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.mock;
 import static org.opendaylight.controller.cluster.datastore.DatastoreContext.DEFAULT_HEARTBEAT_INTERVAL_IN_MILLIS;
 import static org.opendaylight.controller.cluster.datastore.DatastoreContext.DEFAULT_OPERATION_TIMEOUT_IN_MS;
 import static org.opendaylight.controller.cluster.datastore.DatastoreContext.DEFAULT_SHARD_INITIALIZATION_TIMEOUT;
@@ -21,44 +19,24 @@ import static org.opendaylight.controller.cluster.datastore.DatastoreContext.DEF
 import static org.opendaylight.mdsal.common.api.LogicalDatastoreType.CONFIGURATION;
 import static org.opendaylight.mdsal.common.api.LogicalDatastoreType.OPERATIONAL;
 
-import java.util.Arrays;
 import java.util.HashMap;
 import java.util.Map;
 import org.junit.Test;
-import org.opendaylight.mdsal.binding.generator.impl.GeneratedClassLoadingStrategy;
-import org.opendaylight.mdsal.binding.generator.impl.ModuleInfoBackedContext;
-import org.opendaylight.mdsal.binding.spec.reflect.BindingReflections;
-import org.opendaylight.mdsal.dom.api.DOMSchemaService;
+import org.opendaylight.binding.runtime.spi.BindingRuntimeHelpers;
+import org.opendaylight.mdsal.binding.dom.codec.impl.BindingCodecContext;
+import org.opendaylight.mdsal.binding.generator.impl.DefaultBindingRuntimeGenerator;
 import org.opendaylight.mdsal.dom.store.inmemory.InMemoryDOMDataStoreConfigProperties;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.config.distributed.datastore.provider.rev140612.DataStorePropertiesContainer;
-import org.opendaylight.yangtools.yang.model.api.SchemaContext;
 
 /**
  * Unit tests for DatastoreContextIntrospector.
  *
  * @author Thomas Pantelis
  */
-@SuppressWarnings("checkstyle:IllegalCatch")
 public class DatastoreContextIntrospectorTest {
-
-    static SchemaContext SCHEMA_CONTEXT;
-    static DatastoreContextIntrospectorFactory INTROSPECTOR_FACTORY;
-
-    static {
-        final ModuleInfoBackedContext moduleContext = ModuleInfoBackedContext.create();
-        try {
-            moduleContext.addModuleInfos(Arrays.asList(
-                    BindingReflections.getModuleInfo(DataStorePropertiesContainer.class)));
-        } catch (Exception e) {
-            throw new RuntimeException(e);
-        }
-        SCHEMA_CONTEXT = moduleContext.tryToCreateSchemaContext().get();
-
-        DOMSchemaService mockSchemaService = mock(DOMSchemaService.class);
-        doReturn(SCHEMA_CONTEXT).when(mockSchemaService).getGlobalContext();
-        INTROSPECTOR_FACTORY = new DatastoreContextIntrospectorFactory(mockSchemaService,
-                GeneratedClassLoadingStrategy.getTCCLClassLoadingStrategy());
-    }
+    static final DatastoreContextIntrospectorFactory INTROSPECTOR_FACTORY = new DatastoreContextIntrospectorFactory(
+        new BindingCodecContext(BindingRuntimeHelpers.createRuntimeContext(new DefaultBindingRuntimeGenerator(),
+            DataStorePropertiesContainer.class)));
 
     @Test
     public void testYangDefaults() {
index 2cb63ce..e827cdc 100644 (file)
@@ -47,7 +47,7 @@ import org.opendaylight.mdsal.dom.spi.store.DOMStoreTransactionChain;
 import org.opendaylight.mdsal.dom.spi.store.DOMStoreWriteTransaction;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
-import org.opendaylight.yangtools.yang.model.api.SchemaContext;
+import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import scala.concurrent.Await;
@@ -79,14 +79,14 @@ public class IntegrationTestKit extends ShardTestKit {
 
     public DistributedDataStore setupDistributedDataStore(final String typeName, final String moduleShardsConfig,
                                                           final boolean waitUntilLeader,
-                                                          final SchemaContext schemaContext) throws Exception {
+                                                          final EffectiveModelContext schemaContext) throws Exception {
         return setupDistributedDataStore(typeName, moduleShardsConfig, "modules.conf", waitUntilLeader, schemaContext);
     }
 
     public DistributedDataStore setupDistributedDataStore(final String typeName, final String moduleShardsConfig,
                                                           final String modulesConfig,
                                                           final boolean waitUntilLeader,
-                                                          final SchemaContext schemaContext,
+                                                          final EffectiveModelContext schemaContext,
                                                           final String... shardNames) throws Exception {
         return (DistributedDataStore) setupAbstractDataStore(DistributedDataStore.class, typeName, moduleShardsConfig,
                 modulesConfig, waitUntilLeader, schemaContext, shardNames);
@@ -117,7 +117,7 @@ public class IntegrationTestKit extends ShardTestKit {
     public AbstractDataStore setupAbstractDataStore(final Class<? extends AbstractDataStore> implementation,
                                                     final String typeName, final String moduleShardsConfig,
                                                     final boolean waitUntilLeader,
-                                                    final SchemaContext schemaContext,
+                                                    final EffectiveModelContext schemaContext,
                                                     final String... shardNames) throws Exception {
         return setupAbstractDataStore(implementation, typeName, moduleShardsConfig, "modules.conf", waitUntilLeader,
                 schemaContext, shardNames);
@@ -126,7 +126,8 @@ public class IntegrationTestKit extends ShardTestKit {
     private AbstractDataStore setupAbstractDataStore(final Class<? extends AbstractDataStore> implementation,
                                                      final String typeName, final String moduleShardsConfig,
                                                      final String modulesConfig, final boolean waitUntilLeader,
-                                                     final SchemaContext schemaContext, final String... shardNames)
+                                                     final EffectiveModelContext schemaContext,
+                                                     final String... shardNames)
             throws Exception {
         final ClusterWrapper cluster = new ClusterWrapperImpl(getSystem());
         final Configuration config = new ConfigurationImpl(moduleShardsConfig, modulesConfig);
@@ -148,7 +149,7 @@ public class IntegrationTestKit extends ShardTestKit {
         final AbstractDataStore dataStore = constructor.newInstance(getSystem(), cluster, config, mockContextFactory,
             restoreFromSnapshot);
 
-        dataStore.onGlobalContextUpdated(schemaContext);
+        dataStore.onModelContextUpdated(schemaContext);
 
         if (waitUntilLeader) {
             waitUntilLeader(dataStore.getActorUtils(), shardNames);
@@ -169,7 +170,7 @@ public class IntegrationTestKit extends ShardTestKit {
     }
 
     public DistributedDataStore setupDistributedDataStoreWithoutConfig(final String typeName,
-                                                                       final SchemaContext schemaContext) {
+                                                                       final EffectiveModelContext schemaContext) {
         final ClusterWrapper cluster = new ClusterWrapperImpl(getSystem());
         final ConfigurationImpl configuration = new ConfigurationImpl(new EmptyModuleShardConfigProvider());
 
@@ -184,14 +185,14 @@ public class IntegrationTestKit extends ShardTestKit {
         final DistributedDataStore dataStore = new DistributedDataStore(getSystem(), cluster,
                 configuration, mockContextFactory, restoreFromSnapshot);
 
-        dataStore.onGlobalContextUpdated(schemaContext);
+        dataStore.onModelContextUpdated(schemaContext);
 
         datastoreContextBuilder = DatastoreContext.newBuilderFrom(datastoreContext);
         return dataStore;
     }
 
     public DistributedDataStore setupDistributedDataStoreWithoutConfig(final String typeName,
-                                                                       final SchemaContext schemaContext,
+                                                                       final EffectiveModelContext schemaContext,
                                                                        final LogicalDatastoreType storeType) {
         final ClusterWrapper cluster = new ClusterWrapperImpl(getSystem());
         final ConfigurationImpl configuration = new ConfigurationImpl(new EmptyModuleShardConfigProvider());
@@ -208,7 +209,7 @@ public class IntegrationTestKit extends ShardTestKit {
         final DistributedDataStore dataStore = new DistributedDataStore(getSystem(), cluster,
                 configuration, mockContextFactory, restoreFromSnapshot);
 
-        dataStore.onGlobalContextUpdated(schemaContext);
+        dataStore.onModelContextUpdated(schemaContext);
 
         datastoreContextBuilder = DatastoreContext.newBuilderFrom(datastoreContext);
         return dataStore;
index ab7de92..b3fff4c 100644 (file)
@@ -33,7 +33,7 @@ import org.opendaylight.controller.cluster.datastore.utils.ActorUtils;
 import org.opendaylight.controller.cluster.raft.client.messages.GetOnDemandRaftState;
 import org.opendaylight.controller.cluster.raft.client.messages.OnDemandRaftState;
 import org.opendaylight.controller.md.cluster.datastore.model.SchemaContextHelper;
-import org.opendaylight.yangtools.yang.model.api.SchemaContext;
+import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext;
 import org.slf4j.LoggerFactory;
 import scala.concurrent.Await;
 import scala.concurrent.Future;
@@ -188,7 +188,7 @@ public class MemberNode {
         private boolean useAkkaArtery = true;
         private String[] waitForshardLeader = new String[0];
         private String testName;
-        private SchemaContext schemaContext;
+        private EffectiveModelContext schemaContext;
         private boolean createOperDatastore = true;
         private DatastoreContext.Builder datastoreContextBuilder = DatastoreContext.newBuilder()
                 .shardHeartbeatIntervalInMillis(300).shardElectionTimeoutFactor(30);
@@ -262,7 +262,7 @@ public class MemberNode {
          *
          * @return this Builder
          */
-        public Builder schemaContext(final SchemaContext newSchemaContext) {
+        public Builder schemaContext(final EffectiveModelContext newSchemaContext) {
             this.schemaContext = newSchemaContext;
             return this;
         }
index ca72e6b..b375488 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.controller.cluster.datastore;
 
 import static org.junit.Assert.assertEquals;
@@ -80,7 +79,7 @@ import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTree;
 import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeModification;
 import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeSnapshot;
 import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes;
-import org.opendaylight.yangtools.yang.model.api.SchemaContext;
+import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext;
 import scala.concurrent.Promise;
 
 @SuppressWarnings({"resource", "checkstyle:IllegalThrows", "checkstyle:AvoidHidingCauseException"})
@@ -1457,9 +1456,8 @@ public class TransactionProxyTest extends AbstractTransactionProxyTest {
     }
 
     @Test
-    public void testReadRoot() throws InterruptedException, ExecutionException,
-            java.util.concurrent.TimeoutException {
-        SchemaContext schemaContext = SchemaContextHelper.full();
+    public void testReadRoot() throws InterruptedException, ExecutionException, java.util.concurrent.TimeoutException {
+        EffectiveModelContext schemaContext = SchemaContextHelper.full();
         Configuration configuration = mock(Configuration.class);
         doReturn(configuration).when(mockActorContext).getConfiguration();
         doReturn(schemaContext).when(mockActorContext).getSchemaContext();
index e3bca7e..5d7d842 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.controller.cluster.datastore.modification;
 
 import com.google.common.util.concurrent.ListenableFuture;
@@ -21,10 +20,10 @@ import org.opendaylight.mdsal.dom.spi.store.DOMStoreWriteTransaction;
 import org.opendaylight.mdsal.dom.store.inmemory.InMemoryDOMDataStore;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
-import org.opendaylight.yangtools.yang.model.api.SchemaContext;
+import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext;
 
 public abstract class AbstractModificationTest {
-    private static SchemaContext TEST_SCHEMA_CONTEXT;
+    private static EffectiveModelContext TEST_SCHEMA_CONTEXT;
 
     protected InMemoryDOMDataStore store;
 
@@ -41,7 +40,7 @@ public abstract class AbstractModificationTest {
     @Before
     public void setUp() {
         store = new InMemoryDOMDataStore("test", MoreExecutors.newDirectExecutorService());
-        store.onGlobalContextUpdated(TEST_SCHEMA_CONTEXT);
+        store.onModelContextUpdated(TEST_SCHEMA_CONTEXT);
     }
 
     protected void commitTransaction(final DOMStoreWriteTransaction transaction) {
index 36ac74b..78028b9 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.controller.cluster.datastore.utils;
 
 import akka.actor.ActorRef;
@@ -20,7 +19,7 @@ import akka.cluster.MemberStatus;
 import akka.cluster.UniqueAddress;
 import org.opendaylight.controller.cluster.access.concepts.MemberName;
 import org.opendaylight.controller.cluster.datastore.ClusterWrapper;
-import scala.collection.immutable.Set;
+import scala.collection.immutable.Set.Set1;
 
 public class MockClusterWrapper implements ClusterWrapper {
 
@@ -63,34 +62,29 @@ public class MockClusterWrapper implements ClusterWrapper {
 
     public static MemberRemoved createMemberRemoved(final String memberName, final String address) {
         UniqueAddress uniqueAddress = new UniqueAddress(AddressFromURIString.parse(address), 55L);
-        Member member = new Member(uniqueAddress, 1, MemberStatus.removed(), setOf(memberName));
+        Member member = new Member(uniqueAddress, 1, MemberStatus.removed(), new Set1<>(memberName));
 
         return new MemberRemoved(member, MemberStatus.up());
     }
 
     public static MemberUp createMemberUp(final String memberName, final String address) {
         UniqueAddress uniqueAddress = new UniqueAddress(AddressFromURIString.parse(address), 55L);
-        Member member = new Member(uniqueAddress, 1, MemberStatus.up(), setOf(memberName));
+        Member member = new Member(uniqueAddress, 1, MemberStatus.up(), new Set1<>(memberName));
 
         return new MemberUp(member);
     }
 
     public static UnreachableMember createUnreachableMember(final String memberName, final String address) {
         UniqueAddress uniqueAddress = new UniqueAddress(AddressFromURIString.parse(address), 55L);
-        Member member = new Member(uniqueAddress, 1, MemberStatus.up(), setOf(memberName));
+        Member member = new Member(uniqueAddress, 1, MemberStatus.up(), new Set1<>(memberName));
 
         return new UnreachableMember(member);
     }
 
     public static ReachableMember createReachableMember(final String memberName, final String address) {
         UniqueAddress uniqueAddress = new UniqueAddress(AddressFromURIString.parse(address), 55L);
-        Member member = new Member(uniqueAddress, 1, MemberStatus.up(), setOf(memberName));
+        Member member = new Member(uniqueAddress, 1, MemberStatus.up(), new Set1<>(memberName));
 
         return new ReachableMember(member);
     }
-
-    @SuppressWarnings("unchecked")
-    private static Set<String> setOf(final String str) {
-        return scala.collection.immutable.Set$.MODULE$.<String>newBuilder().$plus$eq(str).result();
-    }
 }
index fd94ef9..cc9e9b2 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.controller.cluster.datastore.utils;
 
 import static org.junit.Assert.assertEquals;
@@ -32,14 +31,14 @@ import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode;
 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
 import org.opendaylight.yangtools.yang.data.api.schema.tree.DataValidationFailedException;
 import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes;
-import org.opendaylight.yangtools.yang.model.api.SchemaContext;
+import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext;
 
 public class NormalizedNodeAggregatorTest {
 
     @Test
     public void testAggregate() throws InterruptedException, ExecutionException,
         DataValidationFailedException {
-        SchemaContext schemaContext = SchemaContextHelper.full();
+        EffectiveModelContext schemaContext = SchemaContextHelper.full();
         NormalizedNode<?, ?> expectedNode1 = ImmutableNodes.containerNode(TestModel.TEST_QNAME);
         NormalizedNode<?, ?> expectedNode2 = ImmutableNodes.containerNode(CarsModel.CARS_QNAME);
 
@@ -73,10 +72,10 @@ public class NormalizedNodeAggregatorTest {
 
     }
 
-    public static NormalizedNode<?, ?> getRootNode(NormalizedNode<?, ?> moduleNode, SchemaContext schemaContext)
-            throws ExecutionException, InterruptedException {
+    public static NormalizedNode<?, ?> getRootNode(final NormalizedNode<?, ?> moduleNode,
+            final EffectiveModelContext schemaContext) throws ExecutionException, InterruptedException {
         try (InMemoryDOMDataStore store = new InMemoryDOMDataStore("test", Executors.newSingleThreadExecutor())) {
-            store.onGlobalContextUpdated(schemaContext);
+            store.onModelContextUpdated(schemaContext);
 
             DOMStoreWriteTransaction writeTransaction = store.newWriteOnlyTransaction();
 
@@ -98,7 +97,8 @@ public class NormalizedNodeAggregatorTest {
         }
     }
 
-    public static NormalizedNode<?,?> findChildWithQName(Collection<NormalizedNode<?, ?>> collection, QName qname) {
+    public static NormalizedNode<?,?> findChildWithQName(final Collection<NormalizedNode<?, ?>> collection,
+            final QName qname) {
         for (NormalizedNode<?, ?> node : collection) {
             if (node.getNodeType().equals(qname)) {
                 return node;
index cfbaee6..b7f5d0f 100644 (file)
@@ -17,7 +17,7 @@ import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
 import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes;
 import org.opendaylight.yangtools.yang.data.impl.schema.builder.api.CollectionNodeBuilder;
 import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableContainerNodeBuilder;
-import org.opendaylight.yangtools.yang.model.api.SchemaContext;
+import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext;
 import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils;
 
 public final class TestModel {
@@ -56,7 +56,7 @@ public final class TestModel {
 
     }
 
-    public static SchemaContext createTestContext() {
+    public static EffectiveModelContext createTestContext() {
         return YangParserTestUtils.parseYangResource(DATASTORE_TEST_YANG);
     }
 
index 992020b..fbbcafe 100644 (file)
@@ -35,7 +35,7 @@
     </dependency>
     <dependency>
       <groupId>com.typesafe.akka</groupId>
-      <artifactId>akka-testkit_2.12</artifactId>
+      <artifactId>akka-testkit_2.13</artifactId>
       <scope>test</scope>
     </dependency>
     <dependency>
index 25f1c04..758ce9d 100644 (file)
@@ -101,7 +101,7 @@ public class DistributedEntityOwnershipServiceTest extends AbstractClusterRefEnt
         dataStore = new DistributedDataStore(getSystem(), new MockClusterWrapper(), configuration,
                 mockContextFactory, null);
 
-        dataStore.onGlobalContextUpdated(EOSTestUtils.SCHEMA_CONTEXT);
+        dataStore.onModelContextUpdated(EOSTestUtils.SCHEMA_CONTEXT);
     }
 
     @After
index 118190a..dda3404 100644 (file)
@@ -8,11 +8,11 @@
 package org.opendaylight.controller.cluster.entityownership;
 
 import java.io.File;
-import org.opendaylight.yangtools.yang.model.api.SchemaContext;
+import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext;
 import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils;
 
 final class EOSTestUtils {
-    static final SchemaContext SCHEMA_CONTEXT = YangParserTestUtils.parseYangFiles(
+    static final EffectiveModelContext SCHEMA_CONTEXT = YangParserTestUtils.parseYangFiles(
         new File("src/main/yang/entity-owners.yang"));
 
     private EOSTestUtils() {
index 27b4603..4b63705 100644 (file)
   <dependencies>
     <dependency>
       <groupId>com.typesafe.akka</groupId>
-      <artifactId>akka-actor_2.12</artifactId>
+      <artifactId>akka-actor_2.13</artifactId>
     </dependency>
 
     <dependency>
       <groupId>com.typesafe.akka</groupId>
-      <artifactId>akka-cluster_2.12</artifactId>
+      <artifactId>akka-cluster_2.13</artifactId>
     </dependency>
 
     <dependency>
       <groupId>com.typesafe.akka</groupId>
-      <artifactId>akka-persistence_2.12</artifactId>
+      <artifactId>akka-persistence_2.13</artifactId>
     </dependency>
 
     <dependency>
       <groupId>com.typesafe.akka</groupId>
-      <artifactId>akka-remote_2.12</artifactId>
+      <artifactId>akka-remote_2.13</artifactId>
     </dependency>
 
     <dependency>
       <groupId>com.typesafe.akka</groupId>
-      <artifactId>akka-testkit_2.12</artifactId>
+      <artifactId>akka-testkit_2.13</artifactId>
       <scope>test</scope>
     </dependency>
 
     <dependency>
       <groupId>com.typesafe.akka</groupId>
-      <artifactId>akka-slf4j_2.12</artifactId>
+      <artifactId>akka-slf4j_2.13</artifactId>
     </dependency>
 
     <dependency>
       <groupId>com.typesafe.akka</groupId>
-      <artifactId>akka-osgi_2.12</artifactId>
+      <artifactId>akka-osgi_2.13</artifactId>
     </dependency>
 
     <dependency>
index 65129df..da0e62f 100644 (file)
     <dependencies>
         <dependency>
             <groupId>com.typesafe.akka</groupId>
-            <artifactId>akka-actor_2.12</artifactId>
+            <artifactId>akka-actor_2.13</artifactId>
         </dependency>
         <dependency>
             <groupId>com.typesafe.akka</groupId>
-            <artifactId>akka-cluster_2.12</artifactId>
+            <artifactId>akka-cluster_2.13</artifactId>
         </dependency>
         <dependency>
             <groupId>com.typesafe.akka</groupId>
-            <artifactId>akka-remote_2.12</artifactId>
+            <artifactId>akka-remote_2.13</artifactId>
         </dependency>
         <dependency>
             <groupId>com.typesafe.akka</groupId>
-            <artifactId>akka-testkit_2.12</artifactId>
+            <artifactId>akka-testkit_2.13</artifactId>
             <scope>test</scope>
         </dependency>
         <dependency>
             <groupId>com.typesafe.akka</groupId>
-            <artifactId>akka-osgi_2.12</artifactId>
+            <artifactId>akka-osgi_2.13</artifactId>
         </dependency>
         <dependency>
             <groupId>com.typesafe.akka</groupId>
-            <artifactId>akka-slf4j_2.12</artifactId>
+            <artifactId>akka-slf4j_2.13</artifactId>
         </dependency>
         <dependency>
             <groupId>com.typesafe.akka</groupId>
-            <artifactId>akka-persistence_2.12</artifactId>
+            <artifactId>akka-persistence_2.13</artifactId>
         </dependency>
         <!-- SAL Dependencies -->
         <dependency>
index a1ab580..1f379fd 100644 (file)
@@ -7,7 +7,9 @@
  */
 package org.opendaylight.controller.md.sal.test.model.util;
 
-import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.ImmutableMap.Builder;
+import com.google.common.collect.Maps;
 import java.util.Arrays;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.md.sal.test.augment.rev140709.TreeComplexUsesAugment;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.md.sal.test.augment.rev140709.TreeComplexUsesAugmentBuilder;
@@ -28,18 +30,16 @@ import org.opendaylight.yangtools.yang.binding.DataObject;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 
 public final class ListsBindingUtils {
-
     private static final InstanceIdentifier<Top> TOP_PATH = InstanceIdentifier.create(Top.class);
 
-    private ListsBindingUtils() {
-        throw new UnsupportedOperationException();
-    }
-
     public static final TopLevelListKey TOP_FOO_KEY = new TopLevelListKey("foo");
     public static final TopLevelListKey TOP_BAR_KEY = new TopLevelListKey("bar");
     public static final ListViaUsesKey USES_ONE_KEY = new ListViaUsesKey("one");
     public static final ListViaUsesKey USES_TWO_KEY = new ListViaUsesKey("two");
 
+    private ListsBindingUtils() {
+
+    }
 
     public static InstanceIdentifier<TopLevelList> path(final TopLevelListKey key) {
         return TOP_PATH.child(TopLevelList.class, key);
@@ -59,7 +59,7 @@ public final class ListsBindingUtils {
     }
 
     public static Top top(final TopLevelList... listItems) {
-        return new TopBuilder().setTopLevelList(Arrays.asList(listItems)).build();
+        return new TopBuilder().setTopLevelList(Maps.uniqueIndex(Arrays.asList(listItems), TopLevelList::key)).build();
     }
 
     public static TopLevelList topLevelList(final TopLevelListKey key) {
@@ -73,9 +73,9 @@ public final class ListsBindingUtils {
     }
 
     public static TreeComplexUsesAugment complexUsesAugment(final ListViaUsesKey... keys) {
-        ImmutableList.Builder<ListViaUses> listViaUses = ImmutableList.<ListViaUses>builder();
+        Builder<ListViaUsesKey, ListViaUses> listViaUses = ImmutableMap.builderWithExpectedSize(keys.length);
         for (ListViaUsesKey key : keys) {
-            listViaUses.add(new ListViaUsesBuilder().withKey(key).build());
+            listViaUses.put(key, new ListViaUsesBuilder().withKey(key).build());
         }
         return new TreeComplexUsesAugmentBuilder().setListViaUses(listViaUses.build()).build();
     }
@@ -84,5 +84,4 @@ public final class ListsBindingUtils {
 
         return new TreeLeafOnlyUsesAugmentBuilder().setLeafFromGrouping(leafFromGroupingValue).build();
     }
-
 }
index cc8540f..59dbd69 100644 (file)
@@ -49,7 +49,7 @@ public class PeopleCarListener implements CarPurchaseListener {
 
 
         WriteTransaction tx = dataProvider.newWriteOnlyTransaction();
-        tx.put(LogicalDatastoreType.CONFIGURATION, carPersonIId, carPerson, true);
+        tx.put(LogicalDatastoreType.CONFIGURATION, carPersonIId, carPerson);
 
         tx.commit().addCallback(new FutureCallback<CommitInfo>() {
             @Override
index 3ab9736..fd1acaf 100644 (file)
@@ -65,7 +65,7 @@ public class PeopleProvider implements PeopleService, AutoCloseable {
                 .child(Person.class, person.key()).build();
         // Place entry in data store tree
         WriteTransaction tx = dataProvider.newWriteOnlyTransaction();
-        tx.put(LogicalDatastoreType.CONFIGURATION, personId, person, true);
+        tx.put(LogicalDatastoreType.CONFIGURATION, personId, person);
 
         tx.commit().addCallback(new FutureCallback<CommitInfo>() {
             @Override
index 2c4c02a..bd79951 100644 (file)
     </dependency>
     <dependency>
       <groupId>org.opendaylight.mdsal</groupId>
-      <artifactId>mdsal-binding-dom-adapter</artifactId>
-      <type>test-jar</type>
+      <artifactId>mdsal-binding-generator-impl</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.opendaylight.mdsal</groupId>
+      <artifactId>mdsal-binding-runtime-spi</artifactId>
       <scope>test</scope>
     </dependency>
-    <!-- used to mock up classes -->
-     <dependency>
-      <groupId>org.mockito</groupId>
-      <artifactId>mockito-core</artifactId>
+    <dependency>
+      <groupId>org.opendaylight.mdsal</groupId>
+      <artifactId>mdsal-binding-dom-adapter</artifactId>
+      <type>test-jar</type>
       <scope>test</scope>
     </dependency>
   </dependencies>
index 00244ce..f19a30a 100644 (file)
@@ -13,7 +13,7 @@
     <parent>
         <groupId>org.opendaylight.mdsal</groupId>
         <artifactId>binding-parent</artifactId>
-        <version>5.0.9</version>
+        <version>6.0.0-SNAPSHOT</version>
         <relativePath/>
     </parent>
 
index dee5402..7b4a868 100644 (file)
@@ -13,7 +13,7 @@
     <parent>
         <groupId>org.opendaylight.mdsal</groupId>
         <artifactId>binding-parent</artifactId>
-        <version>5.0.9</version>
+        <version>6.0.0-SNAPSHOT</version>
         <relativePath/>
     </parent>
 
index f5f15dd..df8f0c7 100644 (file)
@@ -13,7 +13,7 @@
     <parent>
         <groupId>org.opendaylight.odlparent</groupId>
         <artifactId>odlparent-lite</artifactId>
-        <version>6.0.4</version>
+        <version>7.0.1</version>
         <relativePath/>
     </parent>
 
diff --git a/pom.xml b/pom.xml
index a0a0087..d037ca1 100644 (file)
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
   <parent>
     <groupId>org.opendaylight.odlparent</groupId>
     <artifactId>odlparent-lite</artifactId>
-    <version>6.0.4</version>
+    <version>7.0.1</version>
     <relativePath/>
   </parent>
   <groupId>org.opendaylight.controller</groupId>

©2013 OpenDaylight, A Linux Foundation Collaborative Project. All Rights Reserved.
OpenDaylight is a registered trademark of The OpenDaylight Project, Inc.
Linux Foundation and OpenDaylight are registered trademarks of the Linux Foundation.
Linux is a registered trademark of Linus Torvalds.