From 466078ab1dc8a8cc2981b161051f6edecd6af85a Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Mon, 6 Aug 2018 15:27:49 +0200 Subject: [PATCH] Integrate MRI projects for Neon This patch bumps: - odlparent to 4.0.2 - yangtools to 2.1.2 - mdsal to 3.0.1 It also deals with: - DOMRpcError.getErrors() changing - java.util.Optional being used in MD-SAL - xmlunit upgrade via xmlunit-legacy - any(Class) not matching nulls - lists disappearing and hence requiring at least one item - remove explicit in blueprints, as that breaks blueprint-core - adjust sal-binding-it to include byte-buddy, which is a mockito dependency - adjust dependencies to account for ietf-{inet,yang}-types movement - moving to tech.pantheon.triemap - mdsal.common.api removals JIRA: CONTROLLER-1860 Change-Id: I31b2d011015846537a99f963ded1d38e7b29d71e Signed-off-by: Robert Varga --- benchmark/api/pom.xml | 2 +- benchmark/artifacts/pom.xml | 2 +- benchmark/dsbenchmark/pom.xml | 2 +- .../dsbenchmark/txchain/TxchainBaDelete.java | 27 +++++------ .../dsbenchmark/txchain/TxchainBaRead.java | 25 ++++------ .../dsbenchmark/txchain/TxchainBaWrite.java | 20 ++++---- .../dsbenchmark/txchain/TxchainDomDelete.java | 25 ++++------ .../dsbenchmark/txchain/TxchainDomRead.java | 26 +++++----- .../dsbenchmark/txchain/TxchainDomWrite.java | 17 ++++--- benchmark/ntfbenchmark/pom.xml | 2 +- benchmark/pom.xml | 2 +- benchmark/rpcbenchmark/pom.xml | 2 +- .../features-mdsal-benchmark/pom.xml | 2 +- features/benchmark/odl-benchmark-api/pom.xml | 4 +- features/benchmark/odl-dsbenchmark/pom.xml | 2 +- .../benchmark/odl-mdsal-benchmark/pom.xml | 2 +- features/benchmark/odl-ntfbenchmark/pom.xml | 2 +- features/benchmark/pom.xml | 2 +- .../features-config-netty/pom.xml | 2 +- .../config-netty/odl-config-netty/pom.xml | 4 +- .../src/main/feature/feature.xml | 4 +- features/config-netty/pom.xml | 2 +- features/extras/features-extras/pom.xml | 2 +- features/extras/odl-extras-all/pom.xml | 2 +- features/extras/odl-jolokia/pom.xml | 2 +- features/extras/pom.xml | 2 +- features/mdsal/features-mdsal/pom.xml | 2 +- .../mdsal/odl-clustering-test-app/pom.xml | 4 +- .../mdsal/odl-controller-mdsal-common/pom.xml | 4 +- .../odl-controller-model-topology/pom.xml | 4 +- features/mdsal/odl-mdsal-all/pom.xml | 2 +- features/mdsal/odl-mdsal-broker-local/pom.xml | 6 +-- .../src/main/feature/feature.xml | 4 +- features/mdsal/odl-mdsal-broker/pom.xml | 2 +- .../odl-mdsal-clustering-commons/pom.xml | 2 +- .../src/main/feature/feature.xml | 6 +-- features/mdsal/odl-mdsal-clustering/pom.xml | 2 +- .../odl-mdsal-distributed-datastore/pom.xml | 2 +- .../mdsal/odl-mdsal-model-inventory/pom.xml | 4 +- .../odl-mdsal-remoterpc-connector/pom.xml | 6 +-- .../src/main/feature/feature.xml | 2 +- .../mdsal/odl-message-bus-collector/pom.xml | 4 +- features/mdsal/odl-toaster/pom.xml | 4 +- features/mdsal/pom.xml | 2 +- features/pom.xml | 2 +- karaf/pom.xml | 13 +---- .../resources/archetype-resources/pom.xml | 2 +- opendaylight/archetypes/pom.xml | 2 +- opendaylight/blueprint/pom.xml | 6 +-- .../ext/StaticServiceReferenceRecipe.java | 5 ++ opendaylight/commons/jolokia/pom.xml | 2 +- .../timer/HashedWheelTimerCloseable.java | 5 ++ .../opendaylight/blueprint/netty-timer.xml | 1 - opendaylight/config/pom.xml | 2 +- .../access/client/ActorBehaviorTest.java | 6 ++- .../client/TransmittingTransmitQueueTest.java | 4 +- opendaylight/md-sal/mdsal-artifacts/pom.xml | 2 +- opendaylight/md-sal/mdsal-it-base/pom.xml | 2 +- opendaylight/md-sal/mdsal-it-parent/pom.xml | 2 +- .../features/features-mdsal-trace/pom.xml | 2 +- .../features/odl-mdsal-trace/pom.xml | 2 +- .../md-sal/mdsal-trace/features/pom.xml | 2 +- opendaylight/md-sal/mdsal-trace/pom.xml | 2 +- opendaylight/md-sal/parent/pom.xml | 4 +- opendaylight/md-sal/pom.xml | 2 +- .../raft/RaftActorRecoverySupportTest.java | 28 ++++------- .../cluster/raft/ReplicatedLogImplTest.java | 35 +++++--------- .../impl/AbstractForwardedDataBroker.java | 4 +- .../impl/AbstractForwardedTransaction.java | 8 ++-- .../BindingDOMMountPointListenerAdapter.java | 2 +- .../sal/binding/impl/RpcServiceAdapter.java | 2 +- ...ngDOMDataTreeChangeServiceAdapterTest.java | 23 ++------- .../md-sal/sal-binding-dom-it/pom.xml | 6 +-- .../test/sal/binding/it/TestHelper.java | 10 ++-- .../test/sal/binding/it/AbstractIT.java | 5 +- .../md-sal/sal-clustering-commons/pom.xml | 5 +- .../persistence/LocalSnapshotStore.java | 22 +++++---- .../persistence/LocalSnapshotStoreTest.java | 2 +- .../md-sal/sal-clustering-config/pom.xml | 2 +- .../jmx/ThreadExecutorStatsMXBeanImpl.java | 14 ++++++ .../md-sal/sal-distributed-datastore/pom.xml | 18 ++++++- .../cluster/databroker/AbstractDOMBroker.java | 4 +- .../AbstractDOMBrokerTransaction.java | 21 ++++----- .../ClientBackedTransactionChain.java | 13 +---- .../databroker/DOMBrokerTransactionChain.java | 6 +-- .../actors/dds/AbstractClientHistory.java | 8 ++-- .../datastore/TransactionChainProxy.java | 4 +- .../DistributedEntityOwnershipService.java | 8 ++-- .../entityownership/EntityOwnershipShard.java | 19 ++++---- .../EntityOwnershipStatistics.java | 2 +- .../blueprint/clustered-datastore.xml | 1 - .../ConcurrentDOMDataBrokerTest.java | 6 +-- .../actors/dds/LocalProxyTransactionTest.java | 12 ++--- .../cluster/datastore/AbstractShardTest.java | 17 +++---- .../AbstractTransactionProxyTest.java | 46 +++++++++--------- .../DataTreeCohortIntegrationTest.java | 6 ++- .../DistributedDataStoreIntegrationTest.java | 21 +++++---- ...butedDataStoreRemotingIntegrationTest.java | 13 ++--- .../RemoteTransactionContextTest.java | 10 ++-- .../datastore/ShardDataTreeMocking.java | 13 ++--- .../cluster/datastore/ShardTest.java | 8 +++- .../SimpleShardDataTreeCohortTest.java | 15 +++--- .../AbstractEntityOwnershipTest.java | 46 +++++------------- ...ributedEntityOwnershipIntegrationTest.java | 11 ++--- ...DistributedEntityOwnershipServiceTest.java | 2 +- ...MDataBrokerDelegatingTransactionChain.java | 29 +++++------- .../impl/mount/DOMMountPointServiceImpl.java | 5 +- .../compat/LegacyDOMDataBrokerAdapter.java | 47 ++++++++++--------- .../md/sal/dom/spi/DefaultDOMRpcResult.java | 7 +-- .../sal/dom/spi/ForwardingDOMRpcResult.java | 2 +- .../remote/rpc/RpcErrorsException.java | 2 +- .../remote/rpc/AbstractRpcTest.java | 2 +- .../samples/clustering-test-app/model/pom.xml | 8 +--- opendaylight/model/model-inventory/pom.xml | 6 +-- opendaylight/model/model-topology/pom.xml | 2 +- opendaylight/model/pom.xml | 2 +- pom.xml | 2 +- 117 files changed, 438 insertions(+), 492 deletions(-) diff --git a/benchmark/api/pom.xml b/benchmark/api/pom.xml index 01ba33197f..57a472e046 100644 --- a/benchmark/api/pom.xml +++ b/benchmark/api/pom.xml @@ -10,7 +10,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html org.opendaylight.mdsal binding-parent - 0.14.0-SNAPSHOT + 3.0.1 diff --git a/benchmark/artifacts/pom.xml b/benchmark/artifacts/pom.xml index 1ba6812fd9..7c88644613 100644 --- a/benchmark/artifacts/pom.xml +++ b/benchmark/artifacts/pom.xml @@ -13,7 +13,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html org.opendaylight.odlparent odlparent-lite - 3.1.3 + 4.0.2 diff --git a/benchmark/dsbenchmark/pom.xml b/benchmark/dsbenchmark/pom.xml index fd203dc9bb..d7ba34cb0e 100644 --- a/benchmark/dsbenchmark/pom.xml +++ b/benchmark/dsbenchmark/pom.xml @@ -11,7 +11,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html org.opendaylight.mdsal binding-parent - 0.14.0-SNAPSHOT + 3.0.1 diff --git a/benchmark/dsbenchmark/src/main/java/org/opendaylight/dsbenchmark/txchain/TxchainBaDelete.java b/benchmark/dsbenchmark/src/main/java/org/opendaylight/dsbenchmark/txchain/TxchainBaDelete.java index 5455162e2f..14561a58d4 100644 --- a/benchmark/dsbenchmark/src/main/java/org/opendaylight/dsbenchmark/txchain/TxchainBaDelete.java +++ b/benchmark/dsbenchmark/src/main/java/org/opendaylight/dsbenchmark/txchain/TxchainBaDelete.java @@ -11,14 +11,13 @@ import com.google.common.util.concurrent.FutureCallback; import com.google.common.util.concurrent.MoreExecutors; import java.util.concurrent.ExecutionException; import org.opendaylight.dsbenchmark.DatastoreAbstractWriter; -import org.opendaylight.mdsal.binding.api.BindingTransactionChain; import org.opendaylight.mdsal.binding.api.DataBroker; +import org.opendaylight.mdsal.binding.api.Transaction; +import org.opendaylight.mdsal.binding.api.TransactionChain; +import org.opendaylight.mdsal.binding.api.TransactionChainListener; import org.opendaylight.mdsal.binding.api.WriteTransaction; -import org.opendaylight.mdsal.common.api.AsyncTransaction; import org.opendaylight.mdsal.common.api.CommitInfo; import org.opendaylight.mdsal.common.api.LogicalDatastoreType; -import org.opendaylight.mdsal.common.api.TransactionChain; -import org.opendaylight.mdsal.common.api.TransactionChainListener; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.dsbenchmark.rev150105.StartTestInput; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.dsbenchmark.rev150105.StartTestInput.DataStore; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.dsbenchmark.rev150105.TestExec; @@ -45,12 +44,8 @@ public class TxchainBaDelete extends DatastoreAbstractWriter implements Transact // Dump the whole list into the data store in a single transaction // with PUTs on the transaction - TxchainBaWrite dd = new TxchainBaWrite(bindingDataBroker, - StartTestInput.Operation.PUT, - outerListElem, - innerListElem, - outerListElem, - dataStore); + TxchainBaWrite dd = new TxchainBaWrite(bindingDataBroker, StartTestInput.Operation.PUT, outerListElem, + innerListElem, outerListElem, dataStore); dd.createList(); dd.executeList(); } @@ -58,7 +53,7 @@ public class TxchainBaDelete extends DatastoreAbstractWriter implements Transact @Override public void executeList() { final LogicalDatastoreType dsType = getDataStoreType(); - final BindingTransactionChain chain = bindingDataBroker.createTransactionChain(this); + final TransactionChain chain = bindingDataBroker.createTransactionChain(this); WriteTransaction tx = chain.newWriteOnlyTransaction(); int txSubmitted = 0; @@ -109,14 +104,14 @@ public class TxchainBaDelete extends DatastoreAbstractWriter implements Transact } @Override - public void onTransactionChainFailed(final TransactionChain chain, - final AsyncTransaction transaction, final Throwable cause) { - LOG.error("Broken chain {} in TxchainBaDelete, transaction {}, cause {}", - chain, transaction.getIdentifier(), cause); + public void onTransactionChainFailed(final TransactionChain chain, final Transaction transaction, + final Throwable cause) { + LOG.error("Broken chain {} in TxchainBaDelete, transaction {}, cause {}", chain, transaction.getIdentifier(), + cause); } @Override - public void onTransactionChainSuccessful(final TransactionChain chain) { + public void onTransactionChainSuccessful(final TransactionChain chain) { LOG.debug("TxchainBaDelete closed successfully, chain {}", chain); } } diff --git a/benchmark/dsbenchmark/src/main/java/org/opendaylight/dsbenchmark/txchain/TxchainBaRead.java b/benchmark/dsbenchmark/src/main/java/org/opendaylight/dsbenchmark/txchain/TxchainBaRead.java index 5ed70d30a1..4394daacb6 100644 --- a/benchmark/dsbenchmark/src/main/java/org/opendaylight/dsbenchmark/txchain/TxchainBaRead.java +++ b/benchmark/dsbenchmark/src/main/java/org/opendaylight/dsbenchmark/txchain/TxchainBaRead.java @@ -13,10 +13,10 @@ import java.util.concurrent.ExecutionException; import org.opendaylight.dsbenchmark.DatastoreAbstractWriter; import org.opendaylight.mdsal.binding.api.DataBroker; import org.opendaylight.mdsal.binding.api.ReadTransaction; -import org.opendaylight.mdsal.common.api.AsyncTransaction; +import org.opendaylight.mdsal.binding.api.Transaction; +import org.opendaylight.mdsal.binding.api.TransactionChain; +import org.opendaylight.mdsal.binding.api.TransactionChainListener; import org.opendaylight.mdsal.common.api.LogicalDatastoreType; -import org.opendaylight.mdsal.common.api.TransactionChain; -import org.opendaylight.mdsal.common.api.TransactionChainListener; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.dsbenchmark.rev150105.StartTestInput; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.dsbenchmark.rev150105.StartTestInput.DataStore; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.dsbenchmark.rev150105.TestExec; @@ -44,12 +44,8 @@ public class TxchainBaRead extends DatastoreAbstractWriter implements Transactio // Dump the whole list into the data store in a single transaction // with PUTs on the transaction - TxchainBaWrite dd = new TxchainBaWrite(bindingDataBroker, - StartTestInput.Operation.PUT, - outerListElem, - innerListElem, - outerListElem, - dataStore); + TxchainBaWrite dd = new TxchainBaWrite(bindingDataBroker, StartTestInput.Operation.PUT, outerListElem, + innerListElem, outerListElem, dataStore); dd.createList(); dd.executeList(); } @@ -98,15 +94,14 @@ public class TxchainBaRead extends DatastoreAbstractWriter implements Transactio } @Override - public void onTransactionChainFailed(final TransactionChain chain, - final AsyncTransaction transaction, final Throwable cause) { - LOG.error("Broken chain {} in TxchainBaDelete, transaction {}, cause {}", - chain, transaction.getIdentifier(), cause); + public void onTransactionChainFailed(final TransactionChain chain, final Transaction transaction, + final Throwable cause) { + LOG.error("Broken chain {} in TxchainBaDelete, transaction {}, cause {}", chain, transaction.getIdentifier(), + cause); } @Override - public void onTransactionChainSuccessful(final TransactionChain chain) { + public void onTransactionChainSuccessful(final TransactionChain chain) { LOG.debug("TxchainBaDelete closed successfully, chain {}", chain); } - } diff --git a/benchmark/dsbenchmark/src/main/java/org/opendaylight/dsbenchmark/txchain/TxchainBaWrite.java b/benchmark/dsbenchmark/src/main/java/org/opendaylight/dsbenchmark/txchain/TxchainBaWrite.java index efedbfc1db..e10f947a05 100644 --- a/benchmark/dsbenchmark/src/main/java/org/opendaylight/dsbenchmark/txchain/TxchainBaWrite.java +++ b/benchmark/dsbenchmark/src/main/java/org/opendaylight/dsbenchmark/txchain/TxchainBaWrite.java @@ -13,14 +13,13 @@ import java.util.List; import java.util.concurrent.ExecutionException; import org.opendaylight.dsbenchmark.BaListBuilder; import org.opendaylight.dsbenchmark.DatastoreAbstractWriter; -import org.opendaylight.mdsal.binding.api.BindingTransactionChain; import org.opendaylight.mdsal.binding.api.DataBroker; +import org.opendaylight.mdsal.binding.api.Transaction; +import org.opendaylight.mdsal.binding.api.TransactionChain; +import org.opendaylight.mdsal.binding.api.TransactionChainListener; import org.opendaylight.mdsal.binding.api.WriteTransaction; -import org.opendaylight.mdsal.common.api.AsyncTransaction; import org.opendaylight.mdsal.common.api.CommitInfo; import org.opendaylight.mdsal.common.api.LogicalDatastoreType; -import org.opendaylight.mdsal.common.api.TransactionChain; -import org.opendaylight.mdsal.common.api.TransactionChainListener; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.dsbenchmark.rev150105.StartTestInput; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.dsbenchmark.rev150105.StartTestInput.DataStore; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.dsbenchmark.rev150105.StartTestInput.Operation; @@ -49,7 +48,7 @@ public class TxchainBaWrite extends DatastoreAbstractWriter implements Transacti @Override public void executeList() { - final BindingTransactionChain chain = bindingDataBroker.createTransactionChain(this); + final TransactionChain chain = bindingDataBroker.createTransactionChain(this); final LogicalDatastoreType dsType = getDataStoreType(); WriteTransaction tx = chain.newWriteOnlyTransaction(); @@ -107,15 +106,14 @@ public class TxchainBaWrite extends DatastoreAbstractWriter implements Transacti } @Override - public void onTransactionChainFailed(final TransactionChain chain, - final AsyncTransaction transaction, final Throwable cause) { - LOG.error("Broken chain {} in DatastoreBaAbstractWrite, transaction {}, cause {}", - chain, transaction.getIdentifier(), cause); + public void onTransactionChainFailed(final TransactionChain chain, final Transaction transaction, + final Throwable cause) { + LOG.error("Broken chain {} in DatastoreBaAbstractWrite, transaction {}, cause {}", chain, + transaction.getIdentifier(), cause); } @Override - public void onTransactionChainSuccessful(final TransactionChain chain) { + public void onTransactionChainSuccessful(final TransactionChain chain) { LOG.debug("DatastoreBaAbstractWrite closed successfully, chain {}", chain); } - } diff --git a/benchmark/dsbenchmark/src/main/java/org/opendaylight/dsbenchmark/txchain/TxchainDomDelete.java b/benchmark/dsbenchmark/src/main/java/org/opendaylight/dsbenchmark/txchain/TxchainDomDelete.java index 5135a92602..733f51d02a 100644 --- a/benchmark/dsbenchmark/src/main/java/org/opendaylight/dsbenchmark/txchain/TxchainDomDelete.java +++ b/benchmark/dsbenchmark/src/main/java/org/opendaylight/dsbenchmark/txchain/TxchainDomDelete.java @@ -11,14 +11,13 @@ import com.google.common.util.concurrent.FutureCallback; import com.google.common.util.concurrent.MoreExecutors; import java.util.concurrent.ExecutionException; import org.opendaylight.dsbenchmark.DatastoreAbstractWriter; -import org.opendaylight.mdsal.common.api.AsyncTransaction; import org.opendaylight.mdsal.common.api.CommitInfo; import org.opendaylight.mdsal.common.api.LogicalDatastoreType; -import org.opendaylight.mdsal.common.api.TransactionChain; -import org.opendaylight.mdsal.common.api.TransactionChainListener; import org.opendaylight.mdsal.dom.api.DOMDataBroker; +import org.opendaylight.mdsal.dom.api.DOMDataTreeTransaction; import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteTransaction; import org.opendaylight.mdsal.dom.api.DOMTransactionChain; +import org.opendaylight.mdsal.dom.api.DOMTransactionChainListener; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.dsbenchmark.rev150105.StartTestInput; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.dsbenchmark.rev150105.StartTestInput.DataStore; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.dsbenchmark.rev150105.TestExec; @@ -29,7 +28,7 @@ import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdent import org.slf4j.Logger; import org.slf4j.LoggerFactory; -public class TxchainDomDelete extends DatastoreAbstractWriter implements TransactionChainListener { +public class TxchainDomDelete extends DatastoreAbstractWriter implements DOMTransactionChainListener { private static final Logger LOG = LoggerFactory.getLogger(TxchainBaWrite.class); private final DOMDataBroker domDataBroker; @@ -46,12 +45,8 @@ public class TxchainDomDelete extends DatastoreAbstractWriter implements Transac // Dump the whole list into the data store in a single transaction // with PUTs on the transaction - TxchainDomWrite dd = new TxchainDomWrite(domDataBroker, - StartTestInput.Operation.PUT, - outerListElem, - innerListElem, - outerListElem, - dataStore); + TxchainDomWrite dd = new TxchainDomWrite(domDataBroker, StartTestInput.Operation.PUT, outerListElem, + innerListElem, outerListElem, dataStore); dd.createList(); dd.executeList(); } @@ -113,14 +108,14 @@ public class TxchainDomDelete extends DatastoreAbstractWriter implements Transac } @Override - public void onTransactionChainFailed(final TransactionChain chain, - final AsyncTransaction transaction, final Throwable cause) { - LOG.error("Broken chain {} in TxchainDomDelete, transaction {}, cause {}", - chain, transaction.getIdentifier(), cause); + public void onTransactionChainFailed(final DOMTransactionChain chain, final DOMDataTreeTransaction transaction, + final Throwable cause) { + LOG.error("Broken chain {} in TxchainDomDelete, transaction {}, cause {}", chain, transaction.getIdentifier(), + cause); } @Override - public void onTransactionChainSuccessful(final TransactionChain chain) { + public void onTransactionChainSuccessful(final DOMTransactionChain chain) { LOG.debug("TxchainDomDelete closed successfully, chain {}", chain); } } diff --git a/benchmark/dsbenchmark/src/main/java/org/opendaylight/dsbenchmark/txchain/TxchainDomRead.java b/benchmark/dsbenchmark/src/main/java/org/opendaylight/dsbenchmark/txchain/TxchainDomRead.java index 0017f77623..e54a98a983 100644 --- a/benchmark/dsbenchmark/src/main/java/org/opendaylight/dsbenchmark/txchain/TxchainDomRead.java +++ b/benchmark/dsbenchmark/src/main/java/org/opendaylight/dsbenchmark/txchain/TxchainDomRead.java @@ -11,12 +11,12 @@ import com.google.common.util.concurrent.FluentFuture; import java.util.Optional; import java.util.concurrent.ExecutionException; import org.opendaylight.dsbenchmark.DatastoreAbstractWriter; -import org.opendaylight.mdsal.common.api.AsyncTransaction; import org.opendaylight.mdsal.common.api.LogicalDatastoreType; -import org.opendaylight.mdsal.common.api.TransactionChain; -import org.opendaylight.mdsal.common.api.TransactionChainListener; import org.opendaylight.mdsal.dom.api.DOMDataBroker; import org.opendaylight.mdsal.dom.api.DOMDataTreeReadTransaction; +import org.opendaylight.mdsal.dom.api.DOMDataTreeTransaction; +import org.opendaylight.mdsal.dom.api.DOMTransactionChain; +import org.opendaylight.mdsal.dom.api.DOMTransactionChainListener; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.dsbenchmark.rev150105.StartTestInput; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.dsbenchmark.rev150105.StartTestInput.DataStore; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.dsbenchmark.rev150105.TestExec; @@ -28,7 +28,7 @@ import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -public class TxchainDomRead extends DatastoreAbstractWriter implements TransactionChainListener { +public class TxchainDomRead extends DatastoreAbstractWriter implements DOMTransactionChainListener { private static final Logger LOG = LoggerFactory.getLogger(TxchainDomRead.class); private final DOMDataBroker domDataBroker; @@ -45,12 +45,8 @@ public class TxchainDomRead extends DatastoreAbstractWriter implements Transacti // Dump the whole list into the data store in a single transaction // with PUTs on the transaction - TxchainDomWrite dd = new TxchainDomWrite(domDataBroker, - StartTestInput.Operation.PUT, - outerListElem, - innerListElem, - outerListElem, - dataStore); + TxchainDomWrite dd = new TxchainDomWrite(domDataBroker, StartTestInput.Operation.PUT, outerListElem, + innerListElem, outerListElem, dataStore); dd.createList(); dd.executeList(); } @@ -81,14 +77,14 @@ public class TxchainDomRead extends DatastoreAbstractWriter implements Transacti } @Override - public void onTransactionChainFailed(final TransactionChain chain, - final AsyncTransaction transaction, final Throwable cause) { - LOG.error("Broken chain {} in TxchainDomDelete, transaction {}, cause {}", - chain, transaction.getIdentifier(), cause); + public void onTransactionChainFailed(final DOMTransactionChain chain, final DOMDataTreeTransaction transaction, + final Throwable cause) { + LOG.error("Broken chain {} in TxchainDomDelete, transaction {}, cause {}", chain, transaction.getIdentifier(), + cause); } @Override - public void onTransactionChainSuccessful(final TransactionChain chain) { + public void onTransactionChainSuccessful(final DOMTransactionChain chain) { LOG.debug("TxchainDomDelete closed successfully, chain {}", chain); } } diff --git a/benchmark/dsbenchmark/src/main/java/org/opendaylight/dsbenchmark/txchain/TxchainDomWrite.java b/benchmark/dsbenchmark/src/main/java/org/opendaylight/dsbenchmark/txchain/TxchainDomWrite.java index 65393febd0..2b7820e5f1 100644 --- a/benchmark/dsbenchmark/src/main/java/org/opendaylight/dsbenchmark/txchain/TxchainDomWrite.java +++ b/benchmark/dsbenchmark/src/main/java/org/opendaylight/dsbenchmark/txchain/TxchainDomWrite.java @@ -13,14 +13,13 @@ import java.util.List; import java.util.concurrent.ExecutionException; import org.opendaylight.dsbenchmark.DatastoreAbstractWriter; import org.opendaylight.dsbenchmark.DomListBuilder; -import org.opendaylight.mdsal.common.api.AsyncTransaction; import org.opendaylight.mdsal.common.api.CommitInfo; import org.opendaylight.mdsal.common.api.LogicalDatastoreType; -import org.opendaylight.mdsal.common.api.TransactionChain; -import org.opendaylight.mdsal.common.api.TransactionChainListener; import org.opendaylight.mdsal.dom.api.DOMDataBroker; +import org.opendaylight.mdsal.dom.api.DOMDataTreeTransaction; import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteTransaction; import org.opendaylight.mdsal.dom.api.DOMTransactionChain; +import org.opendaylight.mdsal.dom.api.DOMTransactionChainListener; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.dsbenchmark.rev150105.StartTestInput; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.dsbenchmark.rev150105.StartTestInput.DataStore; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.dsbenchmark.rev150105.TestExec; @@ -31,7 +30,7 @@ import org.opendaylight.yangtools.yang.data.api.schema.MapEntryNode; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -public class TxchainDomWrite extends DatastoreAbstractWriter implements TransactionChainListener { +public class TxchainDomWrite extends DatastoreAbstractWriter implements DOMTransactionChainListener { private static final Logger LOG = LoggerFactory.getLogger(TxchainDomWrite.class); private final DOMDataBroker domDataBroker; private List list; @@ -113,14 +112,14 @@ public class TxchainDomWrite extends DatastoreAbstractWriter implements Transact } @Override - public void onTransactionChainFailed(final TransactionChain chain, - final AsyncTransaction transaction, final Throwable cause) { - LOG.error("Broken chain {} in TxchainDomWrite, transaction {}, cause {}", - chain, transaction.getIdentifier(), cause); + public void onTransactionChainFailed(final DOMTransactionChain chain, final DOMDataTreeTransaction transaction, + final Throwable cause) { + LOG.error("Broken chain {} in TxchainDomWrite, transaction {}, cause {}", chain, transaction.getIdentifier(), + cause); } @Override - public void onTransactionChainSuccessful(final TransactionChain chain) { + public void onTransactionChainSuccessful(final DOMTransactionChain chain) { LOG.debug("Chain {} closed successfully", chain); } } diff --git a/benchmark/ntfbenchmark/pom.xml b/benchmark/ntfbenchmark/pom.xml index bf73787a63..18838a0842 100644 --- a/benchmark/ntfbenchmark/pom.xml +++ b/benchmark/ntfbenchmark/pom.xml @@ -11,7 +11,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html org.opendaylight.mdsal binding-parent - 0.14.0-SNAPSHOT + 3.0.1 diff --git a/benchmark/pom.xml b/benchmark/pom.xml index ed357328e3..bb4078328f 100644 --- a/benchmark/pom.xml +++ b/benchmark/pom.xml @@ -9,7 +9,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html INTERNAL org.opendaylight.odlparent odlparent-lite - 3.1.3 + 4.0.2 org.opendaylight.controller diff --git a/benchmark/rpcbenchmark/pom.xml b/benchmark/rpcbenchmark/pom.xml index c51f86de9e..6a8ed0cfaa 100644 --- a/benchmark/rpcbenchmark/pom.xml +++ b/benchmark/rpcbenchmark/pom.xml @@ -11,7 +11,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html org.opendaylight.mdsal binding-parent - 0.14.0-SNAPSHOT + 3.0.1 diff --git a/features/benchmark/features-mdsal-benchmark/pom.xml b/features/benchmark/features-mdsal-benchmark/pom.xml index 0a9c34e4c7..dfc41994c0 100644 --- a/features/benchmark/features-mdsal-benchmark/pom.xml +++ b/features/benchmark/features-mdsal-benchmark/pom.xml @@ -12,7 +12,7 @@ org.opendaylight.odlparent feature-repo-parent - 3.1.3 + 4.0.2 diff --git a/features/benchmark/odl-benchmark-api/pom.xml b/features/benchmark/odl-benchmark-api/pom.xml index 7283cdc889..c105623454 100644 --- a/features/benchmark/odl-benchmark-api/pom.xml +++ b/features/benchmark/odl-benchmark-api/pom.xml @@ -12,7 +12,7 @@ org.opendaylight.odlparent single-feature-parent - 3.1.3 + 4.0.2 @@ -27,7 +27,7 @@ org.opendaylight.mdsal odl-mdsal-binding-base - 2.6.0-SNAPSHOT + 3.0.1 xml features diff --git a/features/benchmark/odl-dsbenchmark/pom.xml b/features/benchmark/odl-dsbenchmark/pom.xml index b39f41e8b9..8adff44b91 100644 --- a/features/benchmark/odl-dsbenchmark/pom.xml +++ b/features/benchmark/odl-dsbenchmark/pom.xml @@ -12,7 +12,7 @@ org.opendaylight.odlparent single-feature-parent - 3.1.3 + 4.0.2 diff --git a/features/benchmark/odl-mdsal-benchmark/pom.xml b/features/benchmark/odl-mdsal-benchmark/pom.xml index 4af0472c08..ce338c044d 100644 --- a/features/benchmark/odl-mdsal-benchmark/pom.xml +++ b/features/benchmark/odl-mdsal-benchmark/pom.xml @@ -12,7 +12,7 @@ org.opendaylight.odlparent single-feature-parent - 3.1.3 + 4.0.2 diff --git a/features/benchmark/odl-ntfbenchmark/pom.xml b/features/benchmark/odl-ntfbenchmark/pom.xml index 564eb83878..204718fb73 100644 --- a/features/benchmark/odl-ntfbenchmark/pom.xml +++ b/features/benchmark/odl-ntfbenchmark/pom.xml @@ -12,7 +12,7 @@ org.opendaylight.odlparent single-feature-parent - 3.1.3 + 4.0.2 diff --git a/features/benchmark/pom.xml b/features/benchmark/pom.xml index 3ec4b36b4a..1a3656e23f 100644 --- a/features/benchmark/pom.xml +++ b/features/benchmark/pom.xml @@ -10,7 +10,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html INTERNAL org.opendaylight.odlparent odlparent-lite - 3.1.3 + 4.0.2 org.opendaylight.controller diff --git a/features/config-netty/features-config-netty/pom.xml b/features/config-netty/features-config-netty/pom.xml index edb66dc169..9a3736c240 100644 --- a/features/config-netty/features-config-netty/pom.xml +++ b/features/config-netty/features-config-netty/pom.xml @@ -12,7 +12,7 @@ org.opendaylight.odlparent feature-repo-parent - 3.1.3 + 4.0.2 diff --git a/features/config-netty/odl-config-netty/pom.xml b/features/config-netty/odl-config-netty/pom.xml index a5a243e99e..c8a4150d7f 100644 --- a/features/config-netty/odl-config-netty/pom.xml +++ b/features/config-netty/odl-config-netty/pom.xml @@ -12,7 +12,7 @@ org.opendaylight.odlparent single-feature-parent - 3.1.3 + 4.0.2 @@ -44,7 +44,7 @@ org.opendaylight.odlparent - odl-guava-23 + odl-guava xml features diff --git a/features/config-netty/odl-config-netty/src/main/feature/feature.xml b/features/config-netty/odl-config-netty/src/main/feature/feature.xml index 856733f869..e4048a9bcc 100644 --- a/features/config-netty/odl-config-netty/src/main/feature/feature.xml +++ b/features/config-netty/odl-config-netty/src/main/feature/feature.xml @@ -8,7 +8,7 @@ --> - odl-guava-23 - odl-netty-4 + odl-guava + odl-netty-4 diff --git a/features/config-netty/pom.xml b/features/config-netty/pom.xml index 57d343b1ea..766584369f 100644 --- a/features/config-netty/pom.xml +++ b/features/config-netty/pom.xml @@ -11,7 +11,7 @@ org.opendaylight.odlparent odlparent-lite - 3.1.3 + 4.0.2 diff --git a/features/extras/features-extras/pom.xml b/features/extras/features-extras/pom.xml index d0103d547d..024eeb8c0a 100644 --- a/features/extras/features-extras/pom.xml +++ b/features/extras/features-extras/pom.xml @@ -12,7 +12,7 @@ org.opendaylight.odlparent feature-repo-parent - 3.1.3 + 4.0.2 diff --git a/features/extras/odl-extras-all/pom.xml b/features/extras/odl-extras-all/pom.xml index 8721530f94..b17504b86d 100644 --- a/features/extras/odl-extras-all/pom.xml +++ b/features/extras/odl-extras-all/pom.xml @@ -12,7 +12,7 @@ org.opendaylight.odlparent single-feature-parent - 3.1.3 + 4.0.2 diff --git a/features/extras/odl-jolokia/pom.xml b/features/extras/odl-jolokia/pom.xml index d0b7d5ca12..3f810b848d 100644 --- a/features/extras/odl-jolokia/pom.xml +++ b/features/extras/odl-jolokia/pom.xml @@ -12,7 +12,7 @@ org.opendaylight.odlparent single-feature-parent - 3.1.3 + 4.0.2 diff --git a/features/extras/pom.xml b/features/extras/pom.xml index b0f1b74a6f..18b39c05ef 100644 --- a/features/extras/pom.xml +++ b/features/extras/pom.xml @@ -11,7 +11,7 @@ org.opendaylight.odlparent odlparent-lite - 3.1.3 + 4.0.2 diff --git a/features/mdsal/features-mdsal/pom.xml b/features/mdsal/features-mdsal/pom.xml index 5cf00364ea..5bee20f11f 100644 --- a/features/mdsal/features-mdsal/pom.xml +++ b/features/mdsal/features-mdsal/pom.xml @@ -12,7 +12,7 @@ org.opendaylight.odlparent feature-repo-parent - 3.1.3 + 4.0.2 diff --git a/features/mdsal/odl-clustering-test-app/pom.xml b/features/mdsal/odl-clustering-test-app/pom.xml index 7020437a1a..0c88d139ce 100644 --- a/features/mdsal/odl-clustering-test-app/pom.xml +++ b/features/mdsal/odl-clustering-test-app/pom.xml @@ -12,7 +12,7 @@ org.opendaylight.odlparent single-feature-parent - 3.1.3 + 4.0.2 @@ -26,7 +26,7 @@ org.opendaylight.mdsal mdsal-artifacts - 2.6.0-SNAPSHOT + 3.0.1 import pom diff --git a/features/mdsal/odl-controller-mdsal-common/pom.xml b/features/mdsal/odl-controller-mdsal-common/pom.xml index 3822ea9946..fb777e106e 100644 --- a/features/mdsal/odl-controller-mdsal-common/pom.xml +++ b/features/mdsal/odl-controller-mdsal-common/pom.xml @@ -12,7 +12,7 @@ org.opendaylight.odlparent single-feature-parent - 3.1.3 + 4.0.2 @@ -28,7 +28,7 @@ org.opendaylight.mdsal mdsal-artifacts - 2.6.0-SNAPSHOT + 3.0.1 pom import diff --git a/features/mdsal/odl-controller-model-topology/pom.xml b/features/mdsal/odl-controller-model-topology/pom.xml index 0ad5115348..bb2a788c5e 100644 --- a/features/mdsal/odl-controller-model-topology/pom.xml +++ b/features/mdsal/odl-controller-model-topology/pom.xml @@ -11,7 +11,7 @@ org.opendaylight.odlparent single-feature-parent - 3.1.3 + 4.0.2 @@ -27,7 +27,7 @@ org.opendaylight.mdsal mdsal-artifacts - 2.6.0-SNAPSHOT + 3.0.1 pom import diff --git a/features/mdsal/odl-mdsal-all/pom.xml b/features/mdsal/odl-mdsal-all/pom.xml index 9e0387f89c..83984fca92 100644 --- a/features/mdsal/odl-mdsal-all/pom.xml +++ b/features/mdsal/odl-mdsal-all/pom.xml @@ -12,7 +12,7 @@ org.opendaylight.odlparent single-feature-parent - 3.1.3 + 4.0.2 diff --git a/features/mdsal/odl-mdsal-broker-local/pom.xml b/features/mdsal/odl-mdsal-broker-local/pom.xml index eba30997e1..6a125d3bc0 100644 --- a/features/mdsal/odl-mdsal-broker-local/pom.xml +++ b/features/mdsal/odl-mdsal-broker-local/pom.xml @@ -12,7 +12,7 @@ org.opendaylight.odlparent single-feature-parent - 3.1.3 + 4.0.2 @@ -32,14 +32,14 @@ org.opendaylight.yangtools yangtools-artifacts - 2.0.10 + 2.1.2 pom import org.opendaylight.mdsal mdsal-artifacts - 2.6.0-SNAPSHOT + 3.0.1 pom import diff --git a/features/mdsal/odl-mdsal-broker-local/src/main/feature/feature.xml b/features/mdsal/odl-mdsal-broker-local/src/main/feature/feature.xml index 93066baa94..accea8b64b 100644 --- a/features/mdsal/odl-mdsal-broker-local/src/main/feature/feature.xml +++ b/features/mdsal/odl-mdsal-broker-local/src/main/feature/feature.xml @@ -8,8 +8,8 @@ --> - odl-lmax-3 - odl-yangtools-codec + odl-lmax-3 + odl-yangtools-codec mvn:org.opendaylight.controller/blueprint/${blueprint.version} diff --git a/features/mdsal/odl-mdsal-broker/pom.xml b/features/mdsal/odl-mdsal-broker/pom.xml index ee6e1d2cf2..89f4bdd772 100644 --- a/features/mdsal/odl-mdsal-broker/pom.xml +++ b/features/mdsal/odl-mdsal-broker/pom.xml @@ -12,7 +12,7 @@ org.opendaylight.odlparent single-feature-parent - 3.1.3 + 4.0.2 diff --git a/features/mdsal/odl-mdsal-clustering-commons/pom.xml b/features/mdsal/odl-mdsal-clustering-commons/pom.xml index df99340aef..7ca4f77a73 100644 --- a/features/mdsal/odl-mdsal-clustering-commons/pom.xml +++ b/features/mdsal/odl-mdsal-clustering-commons/pom.xml @@ -12,7 +12,7 @@ org.opendaylight.odlparent single-feature-parent - 3.1.3 + 4.0.2 diff --git a/features/mdsal/odl-mdsal-clustering-commons/src/main/feature/feature.xml b/features/mdsal/odl-mdsal-clustering-commons/src/main/feature/feature.xml index 1cc1ba7753..bb5c552cf6 100644 --- a/features/mdsal/odl-mdsal-clustering-commons/src/main/feature/feature.xml +++ b/features/mdsal/odl-mdsal-clustering-commons/src/main/feature/feature.xml @@ -8,8 +8,8 @@ --> - odl-akka-system-2.5 - odl-akka-persistence-2.5 - odl-akka-clustering-2.5 + odl-akka-system-2.5 + odl-akka-persistence-2.5 + odl-akka-clustering-2.5 diff --git a/features/mdsal/odl-mdsal-clustering/pom.xml b/features/mdsal/odl-mdsal-clustering/pom.xml index 2d0f9a1b4b..938c1e1c9a 100644 --- a/features/mdsal/odl-mdsal-clustering/pom.xml +++ b/features/mdsal/odl-mdsal-clustering/pom.xml @@ -12,7 +12,7 @@ org.opendaylight.odlparent single-feature-parent - 3.1.3 + 4.0.2 diff --git a/features/mdsal/odl-mdsal-distributed-datastore/pom.xml b/features/mdsal/odl-mdsal-distributed-datastore/pom.xml index 8137125973..b987c9b5e2 100644 --- a/features/mdsal/odl-mdsal-distributed-datastore/pom.xml +++ b/features/mdsal/odl-mdsal-distributed-datastore/pom.xml @@ -12,7 +12,7 @@ org.opendaylight.odlparent single-feature-parent - 3.1.3 + 4.0.2 diff --git a/features/mdsal/odl-mdsal-model-inventory/pom.xml b/features/mdsal/odl-mdsal-model-inventory/pom.xml index d7d1ca0203..3f0f3c1757 100644 --- a/features/mdsal/odl-mdsal-model-inventory/pom.xml +++ b/features/mdsal/odl-mdsal-model-inventory/pom.xml @@ -12,7 +12,7 @@ org.opendaylight.odlparent single-feature-parent - 3.1.3 + 4.0.2 @@ -28,7 +28,7 @@ org.opendaylight.mdsal mdsal-artifacts - 2.6.0-SNAPSHOT + 3.0.1 pom import diff --git a/features/mdsal/odl-mdsal-remoterpc-connector/pom.xml b/features/mdsal/odl-mdsal-remoterpc-connector/pom.xml index c16dd48fa6..bbc3bc91ca 100644 --- a/features/mdsal/odl-mdsal-remoterpc-connector/pom.xml +++ b/features/mdsal/odl-mdsal-remoterpc-connector/pom.xml @@ -12,7 +12,7 @@ org.opendaylight.odlparent single-feature-parent - 3.1.3 + 4.0.2 @@ -38,8 +38,8 @@ org.opendaylight.odlparent - odl-akka-leveldb-0.7 - 3.1.3 + odl-akka-leveldb-0.10 + 4.0.2 xml features diff --git a/features/mdsal/odl-mdsal-remoterpc-connector/src/main/feature/feature.xml b/features/mdsal/odl-mdsal-remoterpc-connector/src/main/feature/feature.xml index d1990b6976..9079aa91fe 100644 --- a/features/mdsal/odl-mdsal-remoterpc-connector/src/main/feature/feature.xml +++ b/features/mdsal/odl-mdsal-remoterpc-connector/src/main/feature/feature.xml @@ -8,6 +8,6 @@ --> - odl-akka-leveldb-0.7 + odl-akka-leveldb-0.10 diff --git a/features/mdsal/odl-message-bus-collector/pom.xml b/features/mdsal/odl-message-bus-collector/pom.xml index 65c9cf4eaf..9aa0264693 100644 --- a/features/mdsal/odl-message-bus-collector/pom.xml +++ b/features/mdsal/odl-message-bus-collector/pom.xml @@ -12,7 +12,7 @@ org.opendaylight.odlparent single-feature-parent - 3.1.3 + 4.0.2 @@ -37,7 +37,7 @@ org.opendaylight.mdsal mdsal-artifacts - 2.6.0-SNAPSHOT + 3.0.1 pom import diff --git a/features/mdsal/odl-toaster/pom.xml b/features/mdsal/odl-toaster/pom.xml index 4cfb3b1fe9..26ed0d2c71 100644 --- a/features/mdsal/odl-toaster/pom.xml +++ b/features/mdsal/odl-toaster/pom.xml @@ -12,7 +12,7 @@ org.opendaylight.odlparent single-feature-parent - 3.1.3 + 4.0.2 @@ -27,7 +27,7 @@ org.opendaylight.mdsal odl-mdsal-binding-runtime - 2.6.0-SNAPSHOT + 3.0.1 xml features diff --git a/features/mdsal/pom.xml b/features/mdsal/pom.xml index ac34b843db..ccf7988baf 100644 --- a/features/mdsal/pom.xml +++ b/features/mdsal/pom.xml @@ -11,7 +11,7 @@ org.opendaylight.odlparent odlparent-lite - 3.1.3 + 4.0.2 diff --git a/features/pom.xml b/features/pom.xml index 23110f5aeb..3f7d4c7fec 100644 --- a/features/pom.xml +++ b/features/pom.xml @@ -4,7 +4,7 @@ org.opendaylight.odlparent odlparent-lite - 3.1.3 + 4.0.2 diff --git a/karaf/pom.xml b/karaf/pom.xml index 7b941103bd..7a3f2ccd20 100644 --- a/karaf/pom.xml +++ b/karaf/pom.xml @@ -4,7 +4,7 @@ org.opendaylight.odlparent karaf4-parent - 3.1.3 + 4.0.2 @@ -48,20 +48,11 @@ org.opendaylight.mdsal features-mdsal - 2.6.0-SNAPSHOT + 3.0.1 features xml runtime - - org.opendaylight.mdsal.model - features-mdsal-model - 0.14.0-SNAPSHOT - features - xml - runtime - - diff --git a/opendaylight/archetypes/opendaylight-startup/src/main/resources/archetype-resources/pom.xml b/opendaylight/archetypes/opendaylight-startup/src/main/resources/archetype-resources/pom.xml index 0546dd84d1..bf5c1a1547 100644 --- a/opendaylight/archetypes/opendaylight-startup/src/main/resources/archetype-resources/pom.xml +++ b/opendaylight/archetypes/opendaylight-startup/src/main/resources/archetype-resources/pom.xml @@ -5,7 +5,7 @@ org.opendaylight.odlparent odlparent-lite - 3.1.3 + 4.0.2 diff --git a/opendaylight/archetypes/pom.xml b/opendaylight/archetypes/pom.xml index ae34d2e0ba..930d692561 100644 --- a/opendaylight/archetypes/pom.xml +++ b/opendaylight/archetypes/pom.xml @@ -5,7 +5,7 @@ org.opendaylight.odlparent odlparent-lite - 3.1.3 + 4.0.2 diff --git a/opendaylight/blueprint/pom.xml b/opendaylight/blueprint/pom.xml index cab2f7441f..c559a5023a 100644 --- a/opendaylight/blueprint/pom.xml +++ b/opendaylight/blueprint/pom.xml @@ -5,7 +5,7 @@ org.opendaylight.odlparent bundle-parent - 3.1.3 + 4.0.2 @@ -20,7 +20,7 @@ org.opendaylight.mdsal mdsal-artifacts - 2.6.0-SNAPSHOT + 3.0.1 pom import @@ -34,7 +34,7 @@ org.opendaylight.yangtools yangtools-artifacts - 2.0.10 + 2.1.2 pom import diff --git a/opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/StaticServiceReferenceRecipe.java b/opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/StaticServiceReferenceRecipe.java index fdeea3bb09..43ad997ea4 100644 --- a/opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/StaticServiceReferenceRecipe.java +++ b/opendaylight/blueprint/src/main/java/org/opendaylight/controller/blueprint/ext/StaticServiceReferenceRecipe.java @@ -116,4 +116,9 @@ class StaticServiceReferenceRecipe extends AbstractServiceReferenceRecipe { return trackedService; } + + @Override + public boolean isStaticLifecycle() { + return true; + } } diff --git a/opendaylight/commons/jolokia/pom.xml b/opendaylight/commons/jolokia/pom.xml index 873c6983a0..816bd8f600 100644 --- a/opendaylight/commons/jolokia/pom.xml +++ b/opendaylight/commons/jolokia/pom.xml @@ -4,7 +4,7 @@ org.opendaylight.odlparent odlparent - 3.1.3 + 4.0.2 diff --git a/opendaylight/config/netty-timer-config/src/main/java/org/opendaylight/controller/config/yang/netty/timer/HashedWheelTimerCloseable.java b/opendaylight/config/netty-timer-config/src/main/java/org/opendaylight/controller/config/yang/netty/timer/HashedWheelTimerCloseable.java index e7b0915925..de187bbe9b 100644 --- a/opendaylight/config/netty-timer-config/src/main/java/org/opendaylight/controller/config/yang/netty/timer/HashedWheelTimerCloseable.java +++ b/opendaylight/config/netty-timer-config/src/main/java/org/opendaylight/controller/config/yang/netty/timer/HashedWheelTimerCloseable.java @@ -39,6 +39,11 @@ public final class HashedWheelTimerCloseable implements AutoCloseable, Timer { return this.timer.stop(); } + public static HashedWheelTimerCloseable newInstance(@Nullable final Long duration, + @Nullable final Integer ticksPerWheel) { + return newInstance(null, duration, ticksPerWheel); + } + public static HashedWheelTimerCloseable newInstance(@Nullable final ThreadFactory threadFactory, @Nullable final Long duration, @Nullable final Integer ticksPerWheel) { TimeUnit unit = TimeUnit.MILLISECONDS; diff --git a/opendaylight/config/netty-timer-config/src/main/resources/org/opendaylight/blueprint/netty-timer.xml b/opendaylight/config/netty-timer-config/src/main/resources/org/opendaylight/blueprint/netty-timer.xml index 2ecd1cc673..b198449a15 100644 --- a/opendaylight/config/netty-timer-config/src/main/resources/org/opendaylight/blueprint/netty-timer.xml +++ b/opendaylight/config/netty-timer-config/src/main/resources/org/opendaylight/blueprint/netty-timer.xml @@ -13,7 +13,6 @@ - diff --git a/opendaylight/config/pom.xml b/opendaylight/config/pom.xml index e1d270e429..0240933706 100644 --- a/opendaylight/config/pom.xml +++ b/opendaylight/config/pom.xml @@ -5,7 +5,7 @@ org.opendaylight.mdsal binding-parent - 0.14.0-SNAPSHOT + 3.0.1 diff --git a/opendaylight/md-sal/cds-access-client/src/test/java/org/opendaylight/controller/cluster/access/client/ActorBehaviorTest.java b/opendaylight/md-sal/cds-access-client/src/test/java/org/opendaylight/controller/cluster/access/client/ActorBehaviorTest.java index d299381a13..2b6be7d5f1 100644 --- a/opendaylight/md-sal/cds-access-client/src/test/java/org/opendaylight/controller/cluster/access/client/ActorBehaviorTest.java +++ b/opendaylight/md-sal/cds-access-client/src/test/java/org/opendaylight/controller/cluster/access/client/ActorBehaviorTest.java @@ -7,7 +7,7 @@ */ package org.opendaylight.controller.cluster.access.client; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.timeout; import static org.mockito.Mockito.verify; @@ -21,6 +21,7 @@ import akka.persistence.SelectedSnapshot; import akka.persistence.SnapshotMetadata; import akka.testkit.TestProbe; import akka.testkit.javadsl.TestKit; +import com.typesafe.config.ConfigFactory; import java.lang.reflect.Field; import java.util.Optional; import java.util.concurrent.TimeUnit; @@ -51,7 +52,8 @@ public class ActorBehaviorTest { public void setUp() throws Exception { initialBehavior = createInitialBehaviorMock(); system = ActorSystem.apply("system1"); - final ActorRef storeRef = system.registerExtension(Persistence.lookup()).snapshotStoreFor(null); + final ActorRef storeRef = system.registerExtension(Persistence.lookup()).snapshotStoreFor(null, + ConfigFactory.empty()); probe = new TestProbe(system); storeRef.tell(probe.ref(), ActorRef.noSender()); final MemberName name = MemberName.forName("member-1"); diff --git a/opendaylight/md-sal/cds-access-client/src/test/java/org/opendaylight/controller/cluster/access/client/TransmittingTransmitQueueTest.java b/opendaylight/md-sal/cds-access-client/src/test/java/org/opendaylight/controller/cluster/access/client/TransmittingTransmitQueueTest.java index f1bceeea4c..ea39e4216b 100644 --- a/opendaylight/md-sal/cds-access-client/src/test/java/org/opendaylight/controller/cluster/access/client/TransmittingTransmitQueueTest.java +++ b/opendaylight/md-sal/cds-access-client/src/test/java/org/opendaylight/controller/cluster/access/client/TransmittingTransmitQueueTest.java @@ -12,7 +12,7 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertThat; import static org.junit.Assert.assertTrue; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.doAnswer; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.mock; @@ -250,7 +250,7 @@ public class TransmittingTransmitQueueTest extends AbstractTransmitQueueTest { - invocation.getArgumentAt(0, SliceOptions.class).getOnFailureCallback().accept(new Exception("mock")); + invocation.getArgument(0).getOnFailureCallback().accept(new Exception("mock")); return Boolean.FALSE; }).when(mockMessageSlicer).slice(any()); diff --git a/opendaylight/md-sal/mdsal-artifacts/pom.xml b/opendaylight/md-sal/mdsal-artifacts/pom.xml index d1d25ff6d1..020bad84e1 100644 --- a/opendaylight/md-sal/mdsal-artifacts/pom.xml +++ b/opendaylight/md-sal/mdsal-artifacts/pom.xml @@ -14,7 +14,7 @@ org.opendaylight.odlparent odlparent-lite - 3.1.3 + 4.0.2 diff --git a/opendaylight/md-sal/mdsal-it-base/pom.xml b/opendaylight/md-sal/mdsal-it-base/pom.xml index a6409e65a7..4ee1dfbda1 100644 --- a/opendaylight/md-sal/mdsal-it-base/pom.xml +++ b/opendaylight/md-sal/mdsal-it-base/pom.xml @@ -12,7 +12,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html org.opendaylight.odlparent bundle-parent - 3.1.3 + 4.0.2 4.0.0 diff --git a/opendaylight/md-sal/mdsal-it-parent/pom.xml b/opendaylight/md-sal/mdsal-it-parent/pom.xml index c58f03965c..0727146897 100644 --- a/opendaylight/md-sal/mdsal-it-parent/pom.xml +++ b/opendaylight/md-sal/mdsal-it-parent/pom.xml @@ -13,7 +13,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html org.opendaylight.odlparent bundle-parent - 3.1.3 + 4.0.2 diff --git a/opendaylight/md-sal/mdsal-trace/features/features-mdsal-trace/pom.xml b/opendaylight/md-sal/mdsal-trace/features/features-mdsal-trace/pom.xml index 6ebaea76d7..6c3e82fc64 100644 --- a/opendaylight/md-sal/mdsal-trace/features/features-mdsal-trace/pom.xml +++ b/opendaylight/md-sal/mdsal-trace/features/features-mdsal-trace/pom.xml @@ -5,7 +5,7 @@ org.opendaylight.odlparent feature-repo-parent - 3.1.3 + 4.0.2 diff --git a/opendaylight/md-sal/mdsal-trace/features/odl-mdsal-trace/pom.xml b/opendaylight/md-sal/mdsal-trace/features/odl-mdsal-trace/pom.xml index f5551cff59..5de505e5a7 100644 --- a/opendaylight/md-sal/mdsal-trace/features/odl-mdsal-trace/pom.xml +++ b/opendaylight/md-sal/mdsal-trace/features/odl-mdsal-trace/pom.xml @@ -5,7 +5,7 @@ org.opendaylight.odlparent single-feature-parent - 3.1.3 + 4.0.2 diff --git a/opendaylight/md-sal/mdsal-trace/features/pom.xml b/opendaylight/md-sal/mdsal-trace/features/pom.xml index 5486b5f7eb..9feaa6aefb 100644 --- a/opendaylight/md-sal/mdsal-trace/features/pom.xml +++ b/opendaylight/md-sal/mdsal-trace/features/pom.xml @@ -12,7 +12,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html INTERNAL org.opendaylight.odlparent odlparent-lite - 3.1.3 + 4.0.2 diff --git a/opendaylight/md-sal/mdsal-trace/pom.xml b/opendaylight/md-sal/mdsal-trace/pom.xml index c57cfa12e9..0fde982877 100644 --- a/opendaylight/md-sal/mdsal-trace/pom.xml +++ b/opendaylight/md-sal/mdsal-trace/pom.xml @@ -11,7 +11,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html INTERNAL org.opendaylight.odlparent odlparent-lite - 3.1.3 + 4.0.2 diff --git a/opendaylight/md-sal/parent/pom.xml b/opendaylight/md-sal/parent/pom.xml index 54d03deffb..33de146404 100644 --- a/opendaylight/md-sal/parent/pom.xml +++ b/opendaylight/md-sal/parent/pom.xml @@ -11,7 +11,7 @@ org.opendaylight.mdsal binding-parent - 0.14.0-SNAPSHOT + 3.0.1 @@ -59,7 +59,7 @@ org.opendaylight.odlparent findbugs - 3.1.3 + 4.0.2 diff --git a/opendaylight/md-sal/pom.xml b/opendaylight/md-sal/pom.xml index 82bd1d76ee..2d0d75746e 100644 --- a/opendaylight/md-sal/pom.xml +++ b/opendaylight/md-sal/pom.xml @@ -5,7 +5,7 @@ org.opendaylight.odlparent odlparent-lite - 3.1.3 + 4.0.2 diff --git a/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/RaftActorRecoverySupportTest.java b/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/RaftActorRecoverySupportTest.java index 897294718f..6f532d53f6 100644 --- a/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/RaftActorRecoverySupportTest.java +++ b/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/RaftActorRecoverySupportTest.java @@ -10,9 +10,9 @@ package org.opendaylight.controller.cluster.raft; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; -import static org.mockito.Matchers.any; -import static org.mockito.Matchers.anyInt; -import static org.mockito.Matchers.anyObject; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.anyInt; +import static org.mockito.ArgumentMatchers.anyObject; import static org.mockito.Mockito.doNothing; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.never; @@ -25,12 +25,10 @@ import akka.persistence.SnapshotOffer; import com.google.common.collect.Sets; import java.util.Arrays; import java.util.Collections; -import org.hamcrest.Description; import org.junit.Before; import org.junit.Test; -import org.mockito.ArgumentMatcher; +import org.mockito.ArgumentMatchers; import org.mockito.InOrder; -import org.mockito.Matchers; import org.mockito.Mock; import org.mockito.Mockito; import org.mockito.MockitoAnnotations; @@ -93,11 +91,11 @@ public class RaftActorRecoverySupportTest { context.setReplicatedLog(ReplicatedLogImpl.newInstance(context)); } - private void sendMessageToSupport(Object message) { + private void sendMessageToSupport(final Object message) { sendMessageToSupport(message, false); } - private void sendMessageToSupport(Object message, boolean expComplete) { + private void sendMessageToSupport(final Object message, final boolean expComplete) { boolean complete = support.handleRecoveryMessage(message, mockPersistentProvider); assertEquals("complete", expComplete, complete); } @@ -300,18 +298,8 @@ public class RaftActorRecoverySupportTest { } static UpdateElectionTerm updateElectionTerm(final long term, final String votedFor) { - return Matchers.argThat(new ArgumentMatcher() { - @Override - public boolean matches(Object argument) { - UpdateElectionTerm other = (UpdateElectionTerm) argument; - return term == other.getCurrentTerm() && votedFor.equals(other.getVotedFor()); - } - - @Override - public void describeTo(Description description) { - description.appendValue(new UpdateElectionTerm(term, votedFor)); - } - }); + return ArgumentMatchers.argThat( + other -> term == other.getCurrentTerm() && votedFor.equals(other.getVotedFor())); } @Test diff --git a/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/ReplicatedLogImplTest.java b/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/ReplicatedLogImplTest.java index ff4d097010..6ae5731800 100644 --- a/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/ReplicatedLogImplTest.java +++ b/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/ReplicatedLogImplTest.java @@ -8,23 +8,21 @@ package org.opendaylight.controller.cluster.raft; import static org.junit.Assert.assertEquals; -import static org.mockito.Matchers.same; +import static org.mockito.ArgumentMatchers.argThat; +import static org.mockito.ArgumentMatchers.same; import static org.mockito.Mockito.doReturn; +import static org.mockito.Mockito.mock; import static org.mockito.Mockito.reset; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verifyNoMoreInteractions; import akka.japi.Procedure; import java.util.Collections; -import org.hamcrest.BaseMatcher; -import org.hamcrest.Description; -import org.hamcrest.Matcher; import org.junit.Before; import org.junit.Test; import org.mockito.ArgumentCaptor; -import org.mockito.Matchers; +import org.mockito.ArgumentMatcher; import org.mockito.Mock; -import org.mockito.Mockito; import org.mockito.MockitoAnnotations; import org.mockito.internal.matchers.Same; import org.opendaylight.controller.cluster.DataPersistenceProvider; @@ -66,12 +64,12 @@ public class ReplicatedLogImplTest { } @SuppressWarnings({ "unchecked", "rawtypes" }) - private void verifyPersist(Object message, Matcher matcher, boolean async) throws Exception { + private void verifyPersist(Object message, ArgumentMatcher matcher, boolean async) throws Exception { ArgumentCaptor procedure = ArgumentCaptor.forClass(Procedure.class); if (async) { - verify(mockPersistence).persistAsync(Matchers.argThat(matcher), procedure.capture()); + verify(mockPersistence).persistAsync(argThat(matcher), procedure.capture()); } else { - verify(mockPersistence).persist(Matchers.argThat(matcher), procedure.capture()); + verify(mockPersistence).persist(argThat(matcher), procedure.capture()); } procedure.getValue().apply(message); @@ -93,7 +91,7 @@ public class ReplicatedLogImplTest { reset(mockPersistence); ReplicatedLogEntry logEntry2 = new SimpleReplicatedLogEntry(2, 1, new MockPayload("2")); - Procedure mockCallback = Mockito.mock(Procedure.class); + Procedure mockCallback = mock(Procedure.class); log.appendAndPersist(logEntry2, mockCallback, true); verifyPersist(logEntry2); @@ -108,7 +106,7 @@ public class ReplicatedLogImplTest { public void testAppendAndPersisWithDuplicateEntry() throws Exception { ReplicatedLog log = ReplicatedLogImpl.newInstance(context); - Procedure mockCallback = Mockito.mock(Procedure.class); + Procedure mockCallback = mock(Procedure.class); ReplicatedLogEntry logEntry = new SimpleReplicatedLogEntry(1, 1, new MockPayload("1")); log.appendAndPersist(logEntry, mockCallback, true); @@ -196,18 +194,7 @@ public class ReplicatedLogImplTest { verifyNoMoreInteractions(mockPersistence); } - public Matcher match(final DeleteEntries actual) { - return new BaseMatcher() { - @Override - public boolean matches(Object obj) { - DeleteEntries other = (DeleteEntries) obj; - return actual.getFromIndex() == other.getFromIndex(); - } - - @Override - public void describeTo(Description description) { - description.appendText("DeleteEntries: fromIndex: " + actual.getFromIndex()); - } - }; + public ArgumentMatcher match(final DeleteEntries actual) { + return other -> actual.getFromIndex() == other.getFromIndex(); } } diff --git a/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/md/sal/binding/impl/AbstractForwardedDataBroker.java b/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/md/sal/binding/impl/AbstractForwardedDataBroker.java index 5bd3fe7f56..c34c737e95 100644 --- a/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/md/sal/binding/impl/AbstractForwardedDataBroker.java +++ b/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/md/sal/binding/impl/AbstractForwardedDataBroker.java @@ -7,11 +7,11 @@ */ package org.opendaylight.controller.md.sal.binding.impl; -import com.google.common.base.Optional; import java.util.HashMap; import java.util.HashSet; import java.util.Map; import java.util.Map.Entry; +import java.util.Optional; import java.util.Set; import org.opendaylight.controller.md.sal.dom.api.DOMDataBroker; import org.opendaylight.mdsal.dom.api.DOMSchemaService; @@ -94,7 +94,7 @@ public abstract class AbstractForwardedDataBroker implements Delegator toBindingData(final InstanceIdentifier path, final NormalizedNode data) { if (path.isWildcarded()) { - return Optional.absent(); + return Optional.empty(); } return (Optional) getCodec().deserializeFunction(path) .apply(Optional.>of(data)); diff --git a/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/md/sal/binding/impl/AbstractForwardedTransaction.java b/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/md/sal/binding/impl/AbstractForwardedTransaction.java index 86c57a3607..fe8c75864e 100644 --- a/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/md/sal/binding/impl/AbstractForwardedTransaction.java +++ b/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/md/sal/binding/impl/AbstractForwardedTransaction.java @@ -11,6 +11,7 @@ import com.google.common.base.Optional; import com.google.common.base.Preconditions; import com.google.common.util.concurrent.CheckedFuture; import com.google.common.util.concurrent.Futures; +import com.google.common.util.concurrent.MoreExecutors; import org.opendaylight.controller.md.sal.common.api.MappingCheckedFuture; import org.opendaylight.controller.md.sal.common.api.data.AsyncTransaction; import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; @@ -62,8 +63,9 @@ abstract class AbstractForwardedTransaction Optional.fromJavaUtil(codec.deserializeFunction(path).apply(result.toJavaUtil())), + MoreExecutors.directExecutor()), + ReadFailedException.MAPPER); } } diff --git a/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/md/sal/binding/impl/BindingDOMMountPointListenerAdapter.java b/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/md/sal/binding/impl/BindingDOMMountPointListenerAdapter.java index 69e6d99a29..ef80c78fb4 100644 --- a/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/md/sal/binding/impl/BindingDOMMountPointListenerAdapter.java +++ b/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/md/sal/binding/impl/BindingDOMMountPointListenerAdapter.java @@ -7,7 +7,7 @@ */ package org.opendaylight.controller.md.sal.binding.impl; -import com.google.common.base.Optional; +import java.util.Optional; import org.opendaylight.controller.md.sal.binding.api.MountPointService.MountPointListener; import org.opendaylight.controller.md.sal.dom.api.DOMMountPointService; import org.opendaylight.mdsal.dom.api.DOMMountPointListener; diff --git a/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/md/sal/binding/impl/RpcServiceAdapter.java b/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/md/sal/binding/impl/RpcServiceAdapter.java index cb47746ace..a9b1cc5cc4 100644 --- a/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/md/sal/binding/impl/RpcServiceAdapter.java +++ b/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/md/sal/binding/impl/RpcServiceAdapter.java @@ -154,7 +154,7 @@ class RpcServiceAdapter implements InvocationHandler { // DOMRpcResult does not have a notion of success, hence we have to reverse-engineer it by looking // at reported errors and checking whether they are just warnings. - final Collection errors = input.getErrors(); + final Collection errors = input.getErrors(); return RpcResult.class.cast(RpcResultBuilder.status(errors.stream() .noneMatch(error -> error.getSeverity() == ErrorSeverity.ERROR)) .withResult(bindingResult).withRpcErrors(errors).build()); diff --git a/opendaylight/md-sal/sal-binding-broker/src/test/java/org/opendaylight/controller/md/sal/binding/impl/BindingDOMDataTreeChangeServiceAdapterTest.java b/opendaylight/md-sal/sal-binding-broker/src/test/java/org/opendaylight/controller/md/sal/binding/impl/BindingDOMDataTreeChangeServiceAdapterTest.java index a3d934858d..3e68e48d08 100644 --- a/opendaylight/md-sal/sal-binding-broker/src/test/java/org/opendaylight/controller/md/sal/binding/impl/BindingDOMDataTreeChangeServiceAdapterTest.java +++ b/opendaylight/md-sal/sal-binding-broker/src/test/java/org/opendaylight/controller/md/sal/binding/impl/BindingDOMDataTreeChangeServiceAdapterTest.java @@ -8,18 +8,16 @@ package org.opendaylight.controller.md.sal.binding.impl; import static org.mockito.AdditionalMatchers.not; -import static org.mockito.Matchers.any; -import static org.mockito.Matchers.isA; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.isA; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.reset; import static org.mockito.Mockito.verify; import java.util.Collection; -import org.hamcrest.Description; import org.junit.Before; import org.junit.Test; -import org.mockito.ArgumentMatcher; -import org.mockito.Matchers; +import org.mockito.ArgumentMatchers; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.opendaylight.controller.md.sal.binding.api.ClusteredDataTreeChangeListener; @@ -97,19 +95,8 @@ public class BindingDOMDataTreeChangeServiceAdapterTest { } static DOMDataTreeIdentifier domDataTreeIdentifier(final YangInstanceIdentifier yangID) { - return Matchers.argThat(new ArgumentMatcher() { - @Override - public boolean matches(final Object argument) { - final DOMDataTreeIdentifier treeId = (DOMDataTreeIdentifier) argument; - return treeId.getDatastoreType() == LogicalDatastoreType.CONFIGURATION - && yangID.equals(treeId.getRootIdentifier()); - } - - @Override - public void describeTo(final Description description) { - description.appendValue(new DOMDataTreeIdentifier(LogicalDatastoreType.CONFIGURATION, yangID)); - } - }); + return ArgumentMatchers.argThat(treeId -> treeId.getDatastoreType() == LogicalDatastoreType.CONFIGURATION + && yangID.equals(treeId.getRootIdentifier())); } private static class TestClusteredDataTreeChangeListener implements ClusteredDataTreeChangeListener { diff --git a/opendaylight/md-sal/sal-binding-dom-it/pom.xml b/opendaylight/md-sal/sal-binding-dom-it/pom.xml index c835954cf1..b40e7b7c26 100644 --- a/opendaylight/md-sal/sal-binding-dom-it/pom.xml +++ b/opendaylight/md-sal/sal-binding-dom-it/pom.xml @@ -4,7 +4,7 @@ org.opendaylight.odlparent odlparent - 3.1.3 + 4.0.2 @@ -18,14 +18,14 @@ org.opendaylight.yangtools yangtools-artifacts - 2.0.10 + 2.1.2 pom import org.opendaylight.mdsal mdsal-artifacts - 2.6.0-SNAPSHOT + 3.0.1 pom import diff --git a/opendaylight/md-sal/sal-binding-it/src/main/java/org/opendaylight/controller/test/sal/binding/it/TestHelper.java b/opendaylight/md-sal/sal-binding-it/src/main/java/org/opendaylight/controller/test/sal/binding/it/TestHelper.java index fcfd1840bf..c073619ad1 100644 --- a/opendaylight/md-sal/sal-binding-it/src/main/java/org/opendaylight/controller/test/sal/binding/it/TestHelper.java +++ b/opendaylight/md-sal/sal-binding-it/src/main/java/org/opendaylight/controller/test/sal/binding/it/TestHelper.java @@ -12,6 +12,7 @@ import static org.ops4j.pax.exam.CoreOptions.junitBundles; import static org.ops4j.pax.exam.CoreOptions.mavenBundle; import static org.ops4j.pax.exam.CoreOptions.systemPackages; import static org.ops4j.pax.exam.CoreOptions.systemProperty; + import org.ops4j.pax.exam.Option; import org.ops4j.pax.exam.options.DefaultCompositeOption; import org.ops4j.pax.exam.util.PathUtils; @@ -37,7 +38,7 @@ public class TestHelper { mavenBundle(YANGTOOLS, "yang-common").versionAsInProject(), // // mavenBundle(YANGTOOLS, "object-cache-api").versionAsInProject(), // // mavenBundle(YANGTOOLS, "object-cache-guava").versionAsInProject(), // // - mavenBundle(YANGTOOLS, "triemap").versionAsInProject(), // // + mavenBundle("tech.pantheon", "triemap").versionAsInProject(), // // mavenBundle(CONTROLLER, "sal-common-api").versionAsInProject(), // // mavenBundle(CONTROLLER, "sal-common-impl").versionAsInProject(), // // @@ -161,7 +162,7 @@ public class TestHelper { public static Option baseModelBundles() { return new DefaultCompositeOption( // - mavenBundle(MDSAL+".model", "yang-ext").versionAsInProject(), + mavenBundle(MDSAL + ".model", "yang-ext").versionAsInProject(), mavenBundle(MDSAL_MODELS, "ietf-type-util").versionAsInProject(), mavenBundle(MDSAL_MODELS, "ietf-inet-types").versionAsInProject(), mavenBundle(MDSAL_MODELS, "ietf-yang-types").versionAsInProject(), @@ -173,8 +174,9 @@ public class TestHelper { return new DefaultCompositeOption( // Repository required to load harmcrest (OSGi-fied version). // Mockito - mavenBundle("org.mockito", "mockito-core", "1.10.19"), - mavenBundle("org.objenesis", "objenesis", "2.2"), + mavenBundle("org.mockito", "mockito-core").versionAsInProject(), + mavenBundle("net.bytebuddy", "byte-buddy").versionAsInProject(), + mavenBundle("org.objenesis", "objenesis").versionAsInProject(), junitBundles(), /* diff --git a/opendaylight/md-sal/sal-binding-it/src/test/java/org/opendaylight/controller/test/sal/binding/it/AbstractIT.java b/opendaylight/md-sal/sal-binding-it/src/test/java/org/opendaylight/controller/test/sal/binding/it/AbstractIT.java index 4548114ac1..3ecaf7eb91 100644 --- a/opendaylight/md-sal/sal-binding-it/src/test/java/org/opendaylight/controller/test/sal/binding/it/AbstractIT.java +++ b/opendaylight/md-sal/sal-binding-it/src/test/java/org/opendaylight/controller/test/sal/binding/it/AbstractIT.java @@ -31,6 +31,9 @@ public abstract class AbstractIT extends AbstractMdsalTestBase { @Override protected Option[] getAdditionalOptions() { - return new Option[]{mavenBundle("org.opendaylight.controller", "sal-test-model").versionAsInProject()}; + return new Option[] { + mavenBundle("org.opendaylight.controller", "sal-test-model").versionAsInProject(), + mavenBundle("net.bytebuddy", "byte-buddy").versionAsInProject(), + }; } } diff --git a/opendaylight/md-sal/sal-clustering-commons/pom.xml b/opendaylight/md-sal/sal-clustering-commons/pom.xml index fd62d9e43e..2b79a38790 100644 --- a/opendaylight/md-sal/sal-clustering-commons/pom.xml +++ b/opendaylight/md-sal/sal-clustering-commons/pom.xml @@ -15,9 +15,8 @@ - xmlunit - xmlunit - test + org.xmlunit + xmlunit-legacy diff --git a/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/persistence/LocalSnapshotStore.java b/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/persistence/LocalSnapshotStore.java index e1589ffb89..1ceba1cd13 100644 --- a/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/persistence/LocalSnapshotStore.java +++ b/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/persistence/LocalSnapshotStore.java @@ -15,6 +15,7 @@ import akka.persistence.SnapshotSelectionCriteria; import akka.persistence.serialization.Snapshot; import akka.persistence.serialization.SnapshotSerializer; import akka.persistence.snapshot.japi.SnapshotStore; +import akka.serialization.JavaSerializer; import com.google.common.annotations.VisibleForTesting; import com.google.common.io.ByteStreams; import com.typesafe.config.Config; @@ -39,6 +40,7 @@ import java.util.Collections; import java.util.Deque; import java.util.List; import java.util.Optional; +import java.util.concurrent.Callable; import java.util.stream.Collector; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -133,15 +135,17 @@ public class LocalSnapshotStore extends SnapshotStore { } private Object deserialize(final File file) throws IOException { - try (ObjectInputStream in = new ObjectInputStream(new FileInputStream(file))) { - return in.readObject(); - } catch (ClassNotFoundException e) { - throw new IOException("Error loading snapshot file " + file, e); - } catch (IOException e) { - LOG.debug("Error loading snapshot file {}", file, e); - - return tryDeserializeAkkaSnapshot(file); - } + return JavaSerializer.currentSystem().withValue((ExtendedActorSystem) context().system(), + (Callable) () -> { + try (ObjectInputStream in = new ObjectInputStream(new FileInputStream(file))) { + return in.readObject(); + } catch (ClassNotFoundException e) { + throw new IOException("Error loading snapshot file " + file, e); + } catch (IOException e) { + LOG.debug("Error loading snapshot file {}", file, e); + return tryDeserializeAkkaSnapshot(file); + } + }); } private Object tryDeserializeAkkaSnapshot(final File file) throws IOException { diff --git a/opendaylight/md-sal/sal-clustering-commons/src/test/java/org/opendaylight/controller/cluster/persistence/LocalSnapshotStoreTest.java b/opendaylight/md-sal/sal-clustering-commons/src/test/java/org/opendaylight/controller/cluster/persistence/LocalSnapshotStoreTest.java index 36a7295591..7115dd8475 100644 --- a/opendaylight/md-sal/sal-clustering-commons/src/test/java/org/opendaylight/controller/cluster/persistence/LocalSnapshotStoreTest.java +++ b/opendaylight/md-sal/sal-clustering-commons/src/test/java/org/opendaylight/controller/cluster/persistence/LocalSnapshotStoreTest.java @@ -63,7 +63,7 @@ public class LocalSnapshotStoreTest { createSnapshotDir(); system = ActorSystem.create("test", ConfigFactory.load("LocalSnapshotStoreTest.conf")); - snapshotStore = system.registerExtension(Persistence.lookup()).snapshotStoreFor(null); + snapshotStore = system.registerExtension(Persistence.lookup()).snapshotStoreFor(null, ConfigFactory.empty()); } @AfterClass diff --git a/opendaylight/md-sal/sal-clustering-config/pom.xml b/opendaylight/md-sal/sal-clustering-config/pom.xml index 13661e4c14..d2041a585c 100644 --- a/opendaylight/md-sal/sal-clustering-config/pom.xml +++ b/opendaylight/md-sal/sal-clustering-config/pom.xml @@ -12,7 +12,7 @@ org.opendaylight.odlparent odlparent-lite - 3.1.3 + 4.0.2 diff --git a/opendaylight/md-sal/sal-common-util/src/main/java/org/opendaylight/controller/md/sal/common/util/jmx/ThreadExecutorStatsMXBeanImpl.java b/opendaylight/md-sal/sal-common-util/src/main/java/org/opendaylight/controller/md/sal/common/util/jmx/ThreadExecutorStatsMXBeanImpl.java index c6738c77ce..47a0cc84cc 100644 --- a/opendaylight/md-sal/sal-common-util/src/main/java/org/opendaylight/controller/md/sal/common/util/jmx/ThreadExecutorStatsMXBeanImpl.java +++ b/opendaylight/md-sal/sal-common-util/src/main/java/org/opendaylight/controller/md/sal/common/util/jmx/ThreadExecutorStatsMXBeanImpl.java @@ -76,6 +76,20 @@ public class ThreadExecutorStatsMXBeanImpl extends AbstractMXBean return ret; } + /** + * Creates a new bean if the backing executor is a ThreadPoolExecutor and registers it. + * + * @param executor the backing {@link Executor} + * @param beanName Used as the name property in the bean's ObjectName. + * @param beanType Used as the type property in the bean's ObjectName. + * @return a registered ThreadExecutorStatsMXBeanImpl instance if the backing executor + * is a ThreadPoolExecutor, otherwise null. + */ + public static ThreadExecutorStatsMXBeanImpl create(final Executor executor, final String beanName, + final String beanType) { + return create(executor, beanName, beanType, null); + } + /** * Creates a new bean if the backing executor is a ThreadPoolExecutor. * diff --git a/opendaylight/md-sal/sal-distributed-datastore/pom.xml b/opendaylight/md-sal/sal-distributed-datastore/pom.xml index 485e824ae5..70b50558ee 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/pom.xml +++ b/opendaylight/md-sal/sal-distributed-datastore/pom.xml @@ -12,6 +12,18 @@ 1.9.0-SNAPSHOT bundle + + + + tech.pantheon.triemap + bom + 1.0.0 + import + pom + + + + @@ -180,7 +192,7 @@ yang-data-codec-xml - org.opendaylight.yangtools + tech.pantheon.triemap triemap @@ -191,6 +203,10 @@ org.apache.commons commons-text + + org.opendaylight.mdsal + mdsal-dom-inmemory-datastore + org.opendaylight.yangtools diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/AbstractDOMBroker.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/AbstractDOMBroker.java index 9905893f9f..f05967630e 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/AbstractDOMBroker.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/AbstractDOMBroker.java @@ -17,7 +17,6 @@ import java.util.EnumMap; import java.util.Map; import java.util.concurrent.atomic.AtomicLong; import org.opendaylight.mdsal.common.api.LogicalDatastoreType; -import org.opendaylight.mdsal.common.api.TransactionChainListener; import org.opendaylight.mdsal.dom.api.DOMDataBroker; import org.opendaylight.mdsal.dom.api.DOMDataBrokerExtension; import org.opendaylight.mdsal.dom.api.DOMDataTreeChangeListener; @@ -27,6 +26,7 @@ import org.opendaylight.mdsal.dom.api.DOMDataTreeCommitCohortRegistration; import org.opendaylight.mdsal.dom.api.DOMDataTreeCommitCohortRegistry; import org.opendaylight.mdsal.dom.api.DOMDataTreeIdentifier; import org.opendaylight.mdsal.dom.api.DOMTransactionChain; +import org.opendaylight.mdsal.dom.api.DOMTransactionChainListener; import org.opendaylight.mdsal.dom.spi.store.DOMStore; import org.opendaylight.mdsal.dom.spi.store.DOMStoreTransactionChain; import org.opendaylight.mdsal.dom.spi.store.DOMStoreTreeChangePublisher; @@ -108,7 +108,7 @@ public abstract class AbstractDOMBroker extends AbstractDOMTransactionFactory backingChains = diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/AbstractDOMBrokerTransaction.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/AbstractDOMBrokerTransaction.java index 2053a0fca0..2655b61f68 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/AbstractDOMBrokerTransaction.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/AbstractDOMBrokerTransaction.java @@ -5,24 +5,22 @@ * 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.databroker; +import static com.google.common.base.Preconditions.checkArgument; +import static java.util.Objects.requireNonNull; + import com.google.common.base.MoreObjects; import com.google.common.base.MoreObjects.ToStringHelper; -import com.google.common.base.Preconditions; import java.util.Collection; import java.util.EnumMap; import java.util.Map; -import org.opendaylight.mdsal.common.api.AsyncTransaction; import org.opendaylight.mdsal.common.api.LogicalDatastoreType; +import org.opendaylight.mdsal.dom.api.DOMDataTreeTransaction; import org.opendaylight.mdsal.dom.spi.store.DOMStoreTransaction; import org.opendaylight.mdsal.dom.spi.store.DOMStoreTransactionFactory; -import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; -import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; -public abstract class AbstractDOMBrokerTransaction implements - AsyncTransaction> { +public abstract class AbstractDOMBrokerTransaction implements DOMDataTreeTransaction { private final EnumMap backingTxs; private final Object identifier; @@ -35,9 +33,8 @@ public abstract class AbstractDOMBrokerTransaction storeTxFactories) { - this.identifier = Preconditions.checkNotNull(identifier, "Identifier should not be null"); - this.storeTxFactories = Preconditions.checkNotNull(storeTxFactories, - "Store Transaction Factories should not be null"); + this.identifier = requireNonNull(identifier, "Identifier should not be null"); + this.storeTxFactories = requireNonNull(storeTxFactories, "Store Transaction Factories should not be null"); this.backingTxs = new EnumMap<>(LogicalDatastoreType.class); } @@ -52,14 +49,14 @@ public abstract class AbstractDOMBrokerTransaction chains, - final AbstractDOMBroker broker, final TransactionChainListener listener) { + final AbstractDOMBroker broker, final DOMTransactionChainListener listener) { super(chains); this.chainId = chainId; this.broker = Preconditions.checkNotNull(broker); diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/AbstractClientHistory.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/AbstractClientHistory.java index 1e8d03a8ec..542cc2dbaf 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/AbstractClientHistory.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/AbstractClientHistory.java @@ -25,7 +25,7 @@ import org.opendaylight.controller.cluster.access.commands.CreateLocalHistoryReq import org.opendaylight.controller.cluster.access.concepts.LocalHistoryIdentifier; import org.opendaylight.controller.cluster.access.concepts.Response; import org.opendaylight.controller.cluster.access.concepts.TransactionIdentifier; -import org.opendaylight.mdsal.common.api.TransactionChainClosedException; +import org.opendaylight.mdsal.dom.api.DOMTransactionChainClosedException; import org.opendaylight.yangtools.concepts.Identifiable; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.slf4j.Logger; @@ -185,7 +185,7 @@ public abstract class AbstractClientHistory extends LocalAbortable implements Id private void checkNotClosed() { if (state == State.CLOSED) { - throw new TransactionChainClosedException(String.format("Local history %s is closed", identifier)); + throw new DOMTransactionChainClosedException(String.format("Local history %s is closed", identifier)); } } @@ -193,7 +193,7 @@ public abstract class AbstractClientHistory extends LocalAbortable implements Id * Allocate a new {@link ClientTransaction}. * * @return A new {@link ClientTransaction} - * @throws TransactionChainClosedException if this history is closed + * @throws DOMTransactionChainClosedException if this history is closed * @throws IllegalStateException if a previous dependent transaction has not been closed */ public ClientTransaction createTransaction() { @@ -210,7 +210,7 @@ public abstract class AbstractClientHistory extends LocalAbortable implements Id * Create a new {@link ClientSnapshot}. * * @return A new {@link ClientSnapshot} - * @throws TransactionChainClosedException if this history is closed + * @throws DOMTransactionChainClosedException if this history is closed * @throws IllegalStateException if a previous dependent transaction has not been closed */ public ClientSnapshot takeSnapshot() { diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/TransactionChainProxy.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/TransactionChainProxy.java index 1e5f58fcfe..dc215454c0 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/TransactionChainProxy.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/TransactionChainProxy.java @@ -23,7 +23,7 @@ import org.opendaylight.controller.cluster.access.concepts.LocalHistoryIdentifie import org.opendaylight.controller.cluster.access.concepts.TransactionIdentifier; import org.opendaylight.controller.cluster.datastore.messages.CloseTransactionChain; import org.opendaylight.controller.cluster.datastore.messages.PrimaryShardInfo; -import org.opendaylight.mdsal.common.api.TransactionChainClosedException; +import org.opendaylight.mdsal.dom.api.DOMTransactionChainClosedException; import org.opendaylight.mdsal.dom.spi.store.DOMStoreReadTransaction; import org.opendaylight.mdsal.dom.spi.store.DOMStoreReadWriteTransaction; import org.opendaylight.mdsal.dom.spi.store.DOMStoreTransactionChain; @@ -114,7 +114,7 @@ final class TransactionChainProxy extends AbstractTransactionContextFactory> entityNode = dataTree.takeSnapshot().readNode( entityPath(forEntity.getType(), forEntity.getIdentifier())); if (!entityNode.isPresent()) { - return Optional.absent(); + return Optional.empty(); } // Check if there are any candidates, if there are none we do not really have ownership state @@ -200,7 +200,7 @@ public class DistributedEntityOwnershipService implements DOMEntityOwnershipServ final boolean hasCandidates = optionalCandidates.isPresent() && ((MapNode) optionalCandidates.get()).getValue().size() > 0; if (!hasCandidates) { - return Optional.absent(); + return Optional.empty(); } MemberName localMemberName = context.getCurrentMemberName(); diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/EntityOwnershipShard.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/EntityOwnershipShard.java index b7321afe55..bb00f24854 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/EntityOwnershipShard.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/EntityOwnershipShard.java @@ -33,6 +33,7 @@ import akka.pattern.Patterns; import com.google.common.base.Optional; import com.google.common.base.Preconditions; import com.google.common.base.Strings; +import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableSet; import java.util.ArrayList; import java.util.Collection; @@ -543,13 +544,14 @@ class EntityOwnershipShard extends Shard { } private static Collection getCandidateNames(final MapEntryNode entity) { - Collection candidates = ((MapNode)entity.getChild(CANDIDATE_NODE_ID).get()).getValue(); - Collection candidateNames = new ArrayList<>(candidates.size()); - for (MapEntryNode candidate: candidates) { - candidateNames.add(candidate.getChild(CANDIDATE_NAME_NODE_ID).get().getValue().toString()); - } - - return candidateNames; + return entity.getChild(CANDIDATE_NODE_ID).map(child -> { + Collection candidates = ((MapNode) child).getValue(); + Collection candidateNames = new ArrayList<>(candidates.size()); + for (MapEntryNode candidate: candidates) { + candidateNames.add(candidate.getChild(CANDIDATE_NAME_NODE_ID).get().getValue().toString()); + } + return candidateNames; + }).orElse(ImmutableList.of()); } private void searchForEntitiesOwnedBy(final Set ownedBy, final EntityWalker walker) { @@ -586,7 +588,8 @@ class EntityOwnershipShard extends Shard { } private static boolean hasCandidate(final MapEntryNode entity, final MemberName candidateName) { - return ((MapNode)entity.getChild(CANDIDATE_NODE_ID).get()).getChild(candidateNodeKey(candidateName.getName())) + return entity.getChild(CANDIDATE_NODE_ID) + .flatMap(child -> ((MapNode)child).getChild(candidateNodeKey(candidateName.getName()))) .isPresent(); } diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/EntityOwnershipStatistics.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/EntityOwnershipStatistics.java index 8fca4df30d..442aba0055 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/EntityOwnershipStatistics.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/EntityOwnershipStatistics.java @@ -16,11 +16,11 @@ import java.util.HashMap; import java.util.Map; import java.util.Optional; import javax.annotation.Nonnull; -import org.opendaylight.yangtools.triemap.TrieMap; import org.opendaylight.yangtools.yang.data.api.schema.LeafNode; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidate; import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidateNode; +import tech.pantheon.triemap.TrieMap; /** * EntityOwnershipStatistics is a utility class that keeps track of ownership statistics for the candidates and diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/resources/org/opendaylight/blueprint/clustered-datastore.xml b/opendaylight/md-sal/sal-distributed-datastore/src/main/resources/org/opendaylight/blueprint/clustered-datastore.xml index b72eb7a816..0c3e5da9ce 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/resources/org/opendaylight/blueprint/clustered-datastore.xml +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/resources/org/opendaylight/blueprint/clustered-datastore.xml @@ -173,7 +173,6 @@ - diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/databroker/ConcurrentDOMDataBrokerTest.java b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/databroker/ConcurrentDOMDataBrokerTest.java index 43d087050b..7f0e0f5577 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/databroker/ConcurrentDOMDataBrokerTest.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/databroker/ConcurrentDOMDataBrokerTest.java @@ -54,7 +54,6 @@ import org.opendaylight.controller.cluster.datastore.exceptions.NoShardLeaderExc import org.opendaylight.mdsal.common.api.CommitInfo; import org.opendaylight.mdsal.common.api.DataStoreUnavailableException; import org.opendaylight.mdsal.common.api.LogicalDatastoreType; -import org.opendaylight.mdsal.common.api.TransactionChainListener; import org.opendaylight.mdsal.common.api.TransactionCommitFailedException; import org.opendaylight.mdsal.dom.api.DOMDataBrokerExtension; import org.opendaylight.mdsal.dom.api.DOMDataTreeChangeService; @@ -65,6 +64,7 @@ import org.opendaylight.mdsal.dom.api.DOMDataTreeReadTransaction; import org.opendaylight.mdsal.dom.api.DOMDataTreeReadWriteTransaction; import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteTransaction; import org.opendaylight.mdsal.dom.api.DOMTransactionChain; +import org.opendaylight.mdsal.dom.api.DOMTransactionChainListener; import org.opendaylight.mdsal.dom.broker.TransactionCommitFailedExceptionMapper; import org.opendaylight.mdsal.dom.spi.store.DOMStore; import org.opendaylight.mdsal.dom.spi.store.DOMStoreReadTransaction; @@ -525,7 +525,7 @@ public class ConcurrentDOMDataBrokerTest { LogicalDatastoreType.OPERATIONAL, domStore, LogicalDatastoreType.CONFIGURATION, domStore), futureExecutor)) { - dataBroker.createTransactionChain(mock(TransactionChainListener.class)); + dataBroker.createTransactionChain(mock(DOMTransactionChainListener.class)); verify(domStore, times(2)).createTransactionChain(); } @@ -546,7 +546,7 @@ public class ConcurrentDOMDataBrokerTest { doReturn(operationalTransaction).when(mockChain).newWriteOnlyTransaction(); DOMTransactionChain transactionChain = dataBroker.createTransactionChain( - mock(TransactionChainListener.class)); + mock(DOMTransactionChainListener.class)); DOMDataTreeWriteTransaction domDataWriteTransaction = transactionChain.newWriteOnlyTransaction(); diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/databroker/actors/dds/LocalProxyTransactionTest.java b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/databroker/actors/dds/LocalProxyTransactionTest.java index d18d45d6f2..2543ca8247 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/databroker/actors/dds/LocalProxyTransactionTest.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/databroker/actors/dds/LocalProxyTransactionTest.java @@ -7,7 +7,7 @@ */ package org.opendaylight.controller.cluster.databroker.actors.dds; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.doAnswer; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; @@ -64,7 +64,7 @@ public abstract class LocalProxyTransactionTest @SuppressWarnings("unchecked") private void setupExecuteInActor() { doAnswer(inv -> { - inv.getArgumentAt(0, InternalCommand.class).execute(mock(ClientActorBehavior.class)); + inv.>getArgument(0).execute(mock(ClientActorBehavior.class)); return null; }).when(context).executeInActor(any(InternalCommand.class)); } @@ -78,7 +78,7 @@ public abstract class LocalProxyTransactionTest setupExecuteInActor(); transaction.handleReplayedRemoteRequest(request, callback, Ticker.systemTicker().read()); - final ArgumentCaptor captor = ArgumentCaptor.forClass(Response.class); + final ArgumentCaptor> captor = ArgumentCaptor.forClass(Response.class); verify(callback).accept(captor.capture()); final Response value = captor.getValue(); Assert.assertTrue(value instanceof ReadTransactionSuccess); @@ -96,7 +96,7 @@ public abstract class LocalProxyTransactionTest setupExecuteInActor(); transaction.handleReplayedRemoteRequest(request, callback, Ticker.systemTicker().read()); - final ArgumentCaptor captor = ArgumentCaptor.forClass(Response.class); + final ArgumentCaptor> captor = ArgumentCaptor.forClass(Response.class); verify(callback).accept(captor.capture()); final Response value = captor.getValue(); Assert.assertTrue(value instanceof ExistsTransactionSuccess); @@ -168,12 +168,10 @@ public abstract class LocalProxyTransactionTest * @return void - always null */ protected static final Answer applyToCursorAnswer(final InvocationOnMock invocation) { - final DataTreeModificationCursor cursor = - invocation.getArgumentAt(0, DataTreeModificationCursor.class); + final DataTreeModificationCursor cursor = invocation.getArgument(0); cursor.write(PATH_1.getLastPathArgument(), DATA_1); cursor.merge(PATH_2.getLastPathArgument(), DATA_2); cursor.delete(PATH_3.getLastPathArgument()); return null; } - } diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/AbstractShardTest.java b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/AbstractShardTest.java index 9a7f7a9757..ce80810a00 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/AbstractShardTest.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/AbstractShardTest.java @@ -11,7 +11,8 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.nullable; import static org.mockito.Mockito.doAnswer; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.mock; @@ -206,20 +207,20 @@ public abstract class AbstractShardTest extends AbstractActorTest { final DataTree mock = mock(DataTree.class); doAnswer(invocation -> { - actual.validate(invocation.getArgumentAt(0, DataTreeModification.class)); + actual.validate(invocation.getArgument(0)); return null; }).when(mock).validate(any(DataTreeModification.class)); - doAnswer(invocation -> actual.prepare(invocation.getArgumentAt(0, DataTreeModification.class))).when( + doAnswer(invocation -> actual.prepare(invocation.getArgument(0))).when( mock).prepare(any(DataTreeModification.class)); doAnswer(invocation -> { - actual.commit(invocation.getArgumentAt(0, DataTreeCandidate.class)); + actual.commit(invocation.getArgument(0)); return null; }).when(mock).commit(any(DataTreeCandidate.class)); doAnswer(invocation -> { - actual.setSchemaContext(invocation.getArgumentAt(0, SchemaContext.class)); + actual.setSchemaContext(invocation.getArgument(0)); return null; }).when(mock).setSchemaContext(any(SchemaContext.class)); @@ -506,14 +507,14 @@ public abstract class AbstractShardTest extends AbstractActorTest { private static FutureCallback mockFutureCallback(final FutureCallback actual) { FutureCallback mock = mock(FutureCallback.class); doAnswer(invocation -> { - actual.onFailure(invocation.getArgumentAt(0, Throwable.class)); + actual.onFailure(invocation.getArgument(0)); return null; }).when(mock).onFailure(any(Throwable.class)); doAnswer(invocation -> { - actual.onSuccess((T) invocation.getArgumentAt(0, Throwable.class)); + actual.onSuccess(invocation.getArgument(0)); return null; - }).when(mock).onSuccess((T) any(Object.class)); + }).when(mock).onSuccess((T) nullable(Object.class)); return mock; } diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/AbstractTransactionProxyTest.java b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/AbstractTransactionProxyTest.java index 41881575ac..23ed5d6b71 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/AbstractTransactionProxyTest.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/AbstractTransactionProxyTest.java @@ -11,10 +11,10 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; -import static org.mockito.Matchers.any; -import static org.mockito.Matchers.argThat; -import static org.mockito.Matchers.eq; -import static org.mockito.Matchers.isA; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.argThat; +import static org.mockito.ArgumentMatchers.eq; +import static org.mockito.ArgumentMatchers.isA; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; @@ -185,6 +185,7 @@ public abstract class AbstractTransactionProxyTest extends AbstractTest { doReturn(mockClusterWrapper).when(mockActorContext).getClusterWrapper(); doReturn(mockClusterWrapper).when(mockActorContext).getClusterWrapper(); doReturn(dataStoreContextBuilder.build()).when(mockActorContext).getDatastoreContext(); + doReturn(new Timeout(5, TimeUnit.SECONDS)).when(mockActorContext).getTransactionCommitOperationTimeout(); final ClientIdentifier mockClientId = MockIdentifiers.clientIdentifier(getClass(), memberName); mockComponentFactory = new TransactionContextFactory(mockActorContext, mockClientId); @@ -199,31 +200,26 @@ public abstract class AbstractTransactionProxyTest extends AbstractTest { protected CreateTransaction eqCreateTransaction(final String expMemberName, final TransactionType type) { - ArgumentMatcher matcher = new ArgumentMatcher() { + class CreateTransactionArgumentMatcher implements ArgumentMatcher { @Override - public boolean matches(final Object argument) { - if (CreateTransaction.class.equals(argument.getClass())) { - CreateTransaction obj = CreateTransaction.fromSerializable(argument); - return obj.getTransactionId().getHistoryId().getClientId().getFrontendId().getMemberName() - .getName().equals(expMemberName) && obj.getTransactionType() == type.ordinal(); - } - - return false; + public boolean matches(CreateTransaction argument) { + return argument.getTransactionId().getHistoryId().getClientId().getFrontendId().getMemberName() + .getName().equals(expMemberName) && argument.getTransactionType() == type.ordinal(); } - }; + } - return argThat(matcher); + return argThat(new CreateTransactionArgumentMatcher()); } protected DataExists eqDataExists() { - ArgumentMatcher matcher = new ArgumentMatcher() { + class DataExistsArgumentMatcher implements ArgumentMatcher { @Override - public boolean matches(final Object argument) { - return argument instanceof DataExists && ((DataExists)argument).getPath().equals(TestModel.TEST_PATH); + public boolean matches(DataExists argument) { + return argument.getPath().equals(TestModel.TEST_PATH); } - }; + } - return argThat(matcher); + return argThat(new DataExistsArgumentMatcher()); } protected ReadData eqReadData() { @@ -231,14 +227,14 @@ public abstract class AbstractTransactionProxyTest extends AbstractTest { } protected ReadData eqReadData(final YangInstanceIdentifier path) { - ArgumentMatcher matcher = new ArgumentMatcher() { + class ReadDataArgumentMatcher implements ArgumentMatcher { @Override - public boolean matches(final Object argument) { - return argument instanceof ReadData && ((ReadData)argument).getPath().equals(path); + public boolean matches(ReadData argument) { + return argument.getPath().equals(path); } - }; + } - return argThat(matcher); + return argThat(new ReadDataArgumentMatcher()); } protected Future readyTxReply(final String path) { diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/DataTreeCohortIntegrationTest.java b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/DataTreeCohortIntegrationTest.java index ee7fe1fd0f..ce02d6ccab 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/DataTreeCohortIntegrationTest.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/DataTreeCohortIntegrationTest.java @@ -12,7 +12,7 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertSame; import static org.junit.Assert.fail; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.reset; @@ -120,7 +120,9 @@ public class DataTreeCohortIntegrationTest { any(SchemaContext.class), any(Collection.class)); kit.testWriteTransaction(dataStore, TestModel.OUTER_LIST_PATH, - ImmutableNodes.mapNodeBuilder(TestModel.OUTER_LIST_QNAME).build()); + ImmutableNodes.mapNodeBuilder(TestModel.OUTER_LIST_QNAME) + .withChild(ImmutableNodes.mapEntry(TestModel.OUTER_LIST_QNAME, TestModel.ID_QNAME, 42)) + .build()); verify(cohort).canCommit(any(Object.class), any(SchemaContext.class), any(Collection.class)); cohortReg.close(); diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/DistributedDataStoreIntegrationTest.java b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/DistributedDataStoreIntegrationTest.java index 45d4bfe355..d569f7bedd 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/DistributedDataStoreIntegrationTest.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/DistributedDataStoreIntegrationTest.java @@ -12,8 +12,8 @@ import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; -import static org.mockito.Matchers.any; -import static org.mockito.Matchers.eq; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.timeout; import static org.mockito.Mockito.verify; @@ -68,11 +68,11 @@ import org.opendaylight.controller.md.cluster.datastore.model.SchemaContextHelpe import org.opendaylight.controller.md.cluster.datastore.model.TestModel; import org.opendaylight.mdsal.common.api.LogicalDatastoreType; import org.opendaylight.mdsal.common.api.ReadFailedException; -import org.opendaylight.mdsal.common.api.TransactionChainClosedException; -import org.opendaylight.mdsal.common.api.TransactionChainListener; import org.opendaylight.mdsal.dom.api.DOMDataTreeReadWriteTransaction; import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteTransaction; import org.opendaylight.mdsal.dom.api.DOMTransactionChain; +import org.opendaylight.mdsal.dom.api.DOMTransactionChainClosedException; +import org.opendaylight.mdsal.dom.api.DOMTransactionChainListener; import org.opendaylight.mdsal.dom.spi.store.DOMStore; import org.opendaylight.mdsal.dom.spi.store.DOMStoreReadTransaction; import org.opendaylight.mdsal.dom.spi.store.DOMStoreReadWriteTransaction; @@ -139,6 +139,7 @@ public class DistributedDataStoreIntegrationTest { testKit.testWriteTransaction(dataStore, TestModel.OUTER_LIST_PATH, ImmutableNodes.mapNodeBuilder(TestModel.OUTER_LIST_QNAME) + .withChild(ImmutableNodes.mapEntry(TestModel.OUTER_LIST_QNAME, TestModel.ID_QNAME, 42)) .build()); } } @@ -346,6 +347,7 @@ public class DistributedDataStoreIntegrationTest { writeTx.merge(TestModel.OUTER_LIST_PATH, ImmutableNodes.mapNodeBuilder(TestModel.OUTER_LIST_QNAME) + .withChild(ImmutableNodes.mapEntry(TestModel.OUTER_LIST_QNAME, TestModel.ID_QNAME, 42)) .build()); writeTx.write(listEntryPath, @@ -772,6 +774,7 @@ public class DistributedDataStoreIntegrationTest { // and ready it final DOMStoreReadWriteTransaction rwTx = txChain.newReadWriteTransaction(); final MapNode outerNode = ImmutableNodes.mapNodeBuilder(TestModel.OUTER_LIST_QNAME) + .withChild(ImmutableNodes.mapEntry(TestModel.OUTER_LIST_QNAME, TestModel.ID_QNAME, 42)) .build(); rwTx.write(TestModel.OUTER_LIST_PATH, outerNode); @@ -883,7 +886,7 @@ public class DistributedDataStoreIntegrationTest { .put(LogicalDatastoreType.CONFIGURATION, dataStore).build(), MoreExecutors.directExecutor()); - final TransactionChainListener listener = Mockito.mock(TransactionChainListener.class); + final DOMTransactionChainListener listener = Mockito.mock(DOMTransactionChainListener.class); DOMTransactionChain txChain = broker.createTransactionChain(listener); final List> futures = new ArrayList<>(); @@ -970,7 +973,7 @@ public class DistributedDataStoreIntegrationTest { // Try to create another Tx of each type - should fail b/c // the previous Tx was closed. - testKit.assertExceptionOnTxChainCreates(txChain, TransactionChainClosedException.class); + testKit.assertExceptionOnTxChainCreates(txChain, DOMTransactionChainClosedException.class); } } @@ -998,6 +1001,7 @@ public class DistributedDataStoreIntegrationTest { DOMStoreWriteTransaction writeTx2 = txChain.newWriteOnlyTransaction(); writeTx2.write(TestModel.OUTER_LIST_PATH, ImmutableNodes.mapNodeBuilder(TestModel.OUTER_LIST_QNAME) + .withChild(ImmutableNodes.mapEntry(TestModel.OUTER_LIST_QNAME, TestModel.ID_QNAME, 42)) .build()); // Ensure the reads succeed. @@ -1027,7 +1031,7 @@ public class DistributedDataStoreIntegrationTest { .put(LogicalDatastoreType.CONFIGURATION, dataStore).build(), MoreExecutors.directExecutor()); - final TransactionChainListener listener = Mockito.mock(TransactionChainListener.class); + final DOMTransactionChainListener listener = Mockito.mock(DOMTransactionChainListener.class); final DOMTransactionChain txChain = broker.createTransactionChain(listener); final DOMDataTreeReadWriteTransaction writeTx = txChain.newReadWriteTransaction(); @@ -1067,7 +1071,7 @@ public class DistributedDataStoreIntegrationTest { .put(LogicalDatastoreType.CONFIGURATION, dataStore).build(), MoreExecutors.directExecutor()); - final TransactionChainListener listener = Mockito.mock(TransactionChainListener.class); + final DOMTransactionChainListener listener = Mockito.mock(DOMTransactionChainListener.class); final DOMTransactionChain txChain = broker.createTransactionChain(listener); final DOMDataTreeWriteTransaction writeTx = txChain.newReadWriteTransaction(); @@ -1126,6 +1130,7 @@ public class DistributedDataStoreIntegrationTest { // Write 2 updates. testKit.testWriteTransaction(dataStore, TestModel.OUTER_LIST_PATH, ImmutableNodes.mapNodeBuilder(TestModel.OUTER_LIST_QNAME) + .withChild(ImmutableNodes.mapEntry(TestModel.OUTER_LIST_QNAME, TestModel.ID_QNAME, 42)) .build()); YangInstanceIdentifier listPath = YangInstanceIdentifier.builder(TestModel.OUTER_LIST_PATH) diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/DistributedDataStoreRemotingIntegrationTest.java b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/DistributedDataStoreRemotingIntegrationTest.java index 0b3cb0b5e6..24371d925f 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/DistributedDataStoreRemotingIntegrationTest.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/DistributedDataStoreRemotingIntegrationTest.java @@ -12,8 +12,8 @@ import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; -import static org.mockito.Matchers.any; -import static org.mockito.Matchers.eq; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.timeout; import static org.mockito.Mockito.verify; @@ -82,9 +82,9 @@ import org.opendaylight.controller.md.cluster.datastore.model.PeopleModel; import org.opendaylight.controller.md.cluster.datastore.model.SchemaContextHelper; import org.opendaylight.controller.md.cluster.datastore.model.TestModel; import org.opendaylight.mdsal.common.api.LogicalDatastoreType; -import org.opendaylight.mdsal.common.api.TransactionChainListener; import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteTransaction; import org.opendaylight.mdsal.dom.api.DOMTransactionChain; +import org.opendaylight.mdsal.dom.api.DOMTransactionChainListener; import org.opendaylight.mdsal.dom.spi.store.DOMStore; import org.opendaylight.mdsal.dom.spi.store.DOMStoreReadTransaction; import org.opendaylight.mdsal.dom.spi.store.DOMStoreReadWriteTransaction; @@ -513,7 +513,7 @@ public class DistributedDataStoreRemotingIntegrationTest extends AbstractTest { LogicalDatastoreType.CONFIGURATION, followerDistributedDataStore).build(), MoreExecutors.directExecutor()); - final TransactionChainListener listener = Mockito.mock(TransactionChainListener.class); + final DOMTransactionChainListener listener = Mockito.mock(DOMTransactionChainListener.class); final DOMTransactionChain txChain = broker.createTransactionChain(listener); final DOMDataTreeWriteTransaction writeTx = txChain.newWriteOnlyTransaction(); @@ -546,7 +546,7 @@ public class DistributedDataStoreRemotingIntegrationTest extends AbstractTest { LogicalDatastoreType.CONFIGURATION, followerDistributedDataStore).build(), MoreExecutors.directExecutor()); - final TransactionChainListener listener = Mockito.mock(TransactionChainListener.class); + final DOMTransactionChainListener listener = Mockito.mock(DOMTransactionChainListener.class); final DOMTransactionChain txChain = broker.createTransactionChain(listener); final DOMDataTreeWriteTransaction writeTx = txChain.newWriteOnlyTransaction(); @@ -812,7 +812,8 @@ public class DistributedDataStoreRemotingIntegrationTest extends AbstractTest { cars.add(CarsModel.newCarEntry("car" + carIndex, BigInteger.valueOf(carIndex))); writeTx2.write(CarsModel.newCarPath("car" + carIndex), cars.getLast()); carIndex++; - NormalizedNode people = PeopleModel.newPersonMapNode(); + NormalizedNode people = ImmutableNodes.mapNodeBuilder(PeopleModel.PERSON_QNAME) + .withChild(PeopleModel.newPersonEntry("Dude")).build(); writeTx2.write(PeopleModel.PERSON_LIST_PATH, people); final DOMStoreThreePhaseCommitCohort writeTx2Cohort = writeTx2.ready(); diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/RemoteTransactionContextTest.java b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/RemoteTransactionContextTest.java index cd6e066b43..93c83a4633 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/RemoteTransactionContextTest.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/RemoteTransactionContextTest.java @@ -76,14 +76,14 @@ public class RemoteTransactionContextTest extends AbstractActorTest { txContext.executeModification(DELETE, null); assertEquals(2, limiter.availablePermits()); - Future future = txContext.sendBatchedModifications(); + final Future sendFuture = txContext.sendBatchedModifications(); assertEquals(2, limiter.availablePermits()); BatchedModifications msg = kit.expectMsgClass(BatchedModifications.class); assertEquals(2, msg.getModifications().size()); assertEquals(1, msg.getTotalMessagesSent()); sendReply(new Failure(new NullPointerException())); - assertFuture(future, new OnComplete() { + assertFuture(sendFuture, new OnComplete() { @Override public void onComplete(final Throwable failure, final Object success) { assertTrue(failure instanceof NullPointerException); @@ -106,7 +106,7 @@ public class RemoteTransactionContextTest extends AbstractActorTest { } }); - future = txContext.directCommit(null); + final Future commitFuture = txContext.directCommit(null); msg = kit.expectMsgClass(BatchedModifications.class); // Modification should have been thrown away by the dropped transmit induced by executeRead() @@ -115,7 +115,7 @@ public class RemoteTransactionContextTest extends AbstractActorTest { assertTrue(msg.isReady()); assertEquals(2, msg.getTotalMessagesSent()); sendReply(new Failure(new IllegalStateException())); - assertFuture(future, new OnComplete() { + assertFuture(commitFuture, new OnComplete() { @Override public void onComplete(final Throwable failure, final Object success) { assertTrue(failure instanceof IllegalStateException); @@ -140,7 +140,7 @@ public class RemoteTransactionContextTest extends AbstractActorTest { // Last acquire should have failed ... assertEquals(0, limiter.availablePermits()); - Future future = txContext.sendBatchedModifications(); + final Future future = txContext.sendBatchedModifications(); assertEquals(0, limiter.availablePermits()); BatchedModifications msg = kit.expectMsgClass(BatchedModifications.class); diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/ShardDataTreeMocking.java b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/ShardDataTreeMocking.java index 0e1dd4448e..7de4835e37 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/ShardDataTreeMocking.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/ShardDataTreeMocking.java @@ -7,8 +7,8 @@ */ package org.opendaylight.controller.cluster.datastore; -import static org.mockito.Matchers.any; -import static org.mockito.Matchers.anyBoolean; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.anyBoolean; import static org.mockito.Mockito.doAnswer; import static org.mockito.Mockito.doNothing; import static org.mockito.Mockito.inOrder; @@ -23,7 +23,6 @@ import org.mockito.InOrder; import org.mockito.invocation.InvocationOnMock; import org.opendaylight.controller.cluster.access.concepts.TransactionIdentifier; import org.opendaylight.controller.cluster.datastore.persisted.CommitTransactionPayload; -import org.opendaylight.controller.cluster.raft.protobuff.client.messages.Payload; import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidate; public final class ShardDataTreeMocking { @@ -114,14 +113,13 @@ public final class ShardDataTreeMocking { return commitCallback; } - @SuppressWarnings("unchecked") private static Object invokeSuccess(final InvocationOnMock invocation, final T value) { - invocation.getArgumentAt(0, FutureCallback.class).onSuccess(value); + invocation.>getArgument(0).onSuccess(value); return null; } private static Object invokeFailure(final InvocationOnMock invocation) { - invocation.getArgumentAt(0, FutureCallback.class).onFailure(mock(Exception.class)); + invocation.>getArgument(0).onFailure(mock(Exception.class)); return null; } @@ -183,8 +181,7 @@ public final class ShardDataTreeMocking { public static void immediatePayloadReplication(final ShardDataTree shardDataTree, final Shard mockShard) { doAnswer(invocation -> { - shardDataTree.applyReplicatedPayload(invocation.getArgumentAt(0, TransactionIdentifier.class), - invocation.getArgumentAt(1, Payload.class)); + shardDataTree.applyReplicatedPayload(invocation.getArgument(0), invocation.getArgument(1)); return null; }).when(mockShard).persistPayload(any(TransactionIdentifier.class), any(CommitTransactionPayload.class), anyBoolean()); diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/ShardTest.java b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/ShardTest.java index a90ec075ab..a2509fa46c 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/ShardTest.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/ShardTest.java @@ -857,7 +857,9 @@ public class ShardTest extends AbstractShardTest { final ContainerNode writeData = ImmutableNodes.containerNode(TestModel.TEST_QNAME); new WriteModification(TestModel.TEST_PATH, writeData).apply(modification); - final MapNode mergeData = ImmutableNodes.mapNodeBuilder(TestModel.OUTER_LIST_QNAME).build(); + final MapNode mergeData = ImmutableNodes.mapNodeBuilder(TestModel.OUTER_LIST_QNAME) + .addChild(ImmutableNodes.mapEntry(TestModel.OUTER_LIST_QNAME, TestModel.ID_QNAME, 42)) + .build(); new MergeModification(TestModel.OUTER_LIST_PATH, mergeData).apply(modification); final TransactionIdentifier txId = nextTransactionId(); @@ -888,7 +890,9 @@ public class ShardTest extends AbstractShardTest { final ContainerNode writeData = ImmutableNodes.containerNode(TestModel.TEST_QNAME); new WriteModification(TestModel.TEST_PATH, writeData).apply(modification); - final MapNode mergeData = ImmutableNodes.mapNodeBuilder(TestModel.OUTER_LIST_QNAME).build(); + final MapNode mergeData = ImmutableNodes.mapNodeBuilder(TestModel.OUTER_LIST_QNAME) + .addChild(ImmutableNodes.mapEntry(TestModel.OUTER_LIST_QNAME, TestModel.ID_QNAME, 42)) + .build(); new MergeModification(TestModel.OUTER_LIST_PATH, mergeData).apply(modification); final TransactionIdentifier txId = nextTransactionId(); diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/SimpleShardDataTreeCohortTest.java b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/SimpleShardDataTreeCohortTest.java index 34d36b058b..7a4cb9b5ef 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/SimpleShardDataTreeCohortTest.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/SimpleShardDataTreeCohortTest.java @@ -8,7 +8,7 @@ package org.opendaylight.controller.cluster.datastore; import static org.junit.Assert.assertSame; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.doAnswer; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.mock; @@ -70,7 +70,7 @@ public class SimpleShardDataTreeCohortTest extends AbstractTest { private void canCommitSuccess() { doAnswer(invocation -> { - invocation.getArgumentAt(0, SimpleShardDataTreeCohort.class).successfulCanCommit(); + invocation.getArgument(0).successfulCanCommit(); return null; }).when(mockShardDataTree).startCanCommit(cohort); @@ -84,7 +84,7 @@ public class SimpleShardDataTreeCohortTest extends AbstractTest { private void testValidatationPropagates(final Exception cause) { doAnswer(invocation -> { - invocation.getArgumentAt(0, SimpleShardDataTreeCohort.class).failedCanCommit(cause); + invocation.getArgument(0).failedCanCommit(cause); return null; }).when(mockShardDataTree).startCanCommit(cohort); @@ -114,7 +114,7 @@ public class SimpleShardDataTreeCohortTest extends AbstractTest { private DataTreeCandidateTip preCommitSuccess() { final DataTreeCandidateTip mockCandidate = mock(DataTreeCandidateTip.class); doAnswer(invocation -> { - invocation.getArgumentAt(0, SimpleShardDataTreeCohort.class).successfulPreCommit(mockCandidate); + invocation.getArgument(0).successfulPreCommit(mockCandidate); return null; }).when(mockShardDataTree).startPreCommit(cohort); @@ -136,8 +136,7 @@ public class SimpleShardDataTreeCohortTest extends AbstractTest { final DataTreeCandidateTip candidate = preCommitSuccess(); doAnswer(invocation -> { - invocation.getArgumentAt(0, SimpleShardDataTreeCohort.class).successfulCommit(UnsignedLong.valueOf(0), - () -> { }); + invocation.getArgument(0).successfulCommit(UnsignedLong.valueOf(0), () -> { }); return null; }).when(mockShardDataTree).startCommit(cohort, candidate); @@ -157,7 +156,7 @@ public class SimpleShardDataTreeCohortTest extends AbstractTest { final Exception cause = new IllegalArgumentException("mock"); doAnswer(invocation -> { - invocation.getArgumentAt(0, SimpleShardDataTreeCohort.class).failedPreCommit(cause); + invocation.getArgument(0).failedPreCommit(cause); return null; }).when(mockShardDataTree).startPreCommit(cohort); @@ -195,7 +194,7 @@ public class SimpleShardDataTreeCohortTest extends AbstractTest { final Exception cause = new IllegalArgumentException("mock"); doAnswer(invocation -> { - invocation.getArgumentAt(0, SimpleShardDataTreeCohort.class).failedCommit(cause); + invocation.getArgument(0).failedCommit(cause); return null; }).when(mockShardDataTree).startCommit(cohort, candidate); diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/entityownership/AbstractEntityOwnershipTest.java b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/entityownership/AbstractEntityOwnershipTest.java index 6b148af4fa..b31c1fc269 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/entityownership/AbstractEntityOwnershipTest.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/entityownership/AbstractEntityOwnershipTest.java @@ -7,10 +7,10 @@ */ package org.opendaylight.controller.cluster.datastore.entityownership; -import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; +import static org.mockito.ArgumentMatchers.argThat; import static org.opendaylight.controller.cluster.datastore.entityownership.EntityOwnersModel.CANDIDATE_NAME_QNAME; import static org.opendaylight.controller.cluster.datastore.entityownership.EntityOwnersModel.ENTITY_ID_QNAME; import static org.opendaylight.controller.cluster.datastore.entityownership.EntityOwnersModel.ENTITY_OWNERS_PATH; @@ -30,10 +30,7 @@ import java.util.Optional; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicInteger; import java.util.function.Consumer; -import org.hamcrest.Description; import org.junit.Assert; -import org.mockito.ArgumentMatcher; -import org.mockito.Matchers; import org.opendaylight.controller.cluster.access.concepts.MemberName; import org.opendaylight.controller.cluster.datastore.AbstractActorTest; import org.opendaylight.controller.cluster.datastore.AbstractShardTest; @@ -41,7 +38,6 @@ import org.opendaylight.controller.cluster.datastore.ShardDataTree; import org.opendaylight.controller.cluster.datastore.identifiers.ShardIdentifier; import org.opendaylight.controller.cluster.raft.client.messages.GetOnDemandRaftState; import org.opendaylight.controller.cluster.raft.client.messages.OnDemandRaftState; -import org.opendaylight.mdsal.eos.common.api.EntityOwnershipChangeState; import org.opendaylight.mdsal.eos.dom.api.DOMEntity; import org.opendaylight.mdsal.eos.dom.api.DOMEntityOwnershipChange; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.md.sal.clustering.entity.owners.rev150804.EntityOwners; @@ -126,7 +122,13 @@ public class AbstractEntityOwnershipTest extends AbstractActorTest { final QName childMap, final QName child, final Object key, final boolean expectPresent) { Optional> childNode = parent.getChild(new NodeIdentifier(childMap)); - assertEquals("Missing " + childMap.toString(), true, childNode.isPresent()); + // We have to account for empty maps disappearing. If we expect the entry to be non-present, tolerate a missing + // map. + if (!expectPresent && !childNode.isPresent()) { + return null; + } + + assertTrue("Missing " + childMap.toString(), childNode.isPresent()); MapNode entityTypeMapNode = (MapNode) childNode.get(); Optional entityTypeEntry = entityTypeMapNode.getChild(new NodeIdentifierWithPredicates( @@ -220,37 +222,13 @@ public class AbstractEntityOwnershipTest extends AbstractActorTest { static DOMEntityOwnershipChange ownershipChange(final DOMEntity expEntity, final boolean expWasOwner, final boolean expIsOwner, final boolean expHasOwner, final boolean expInJeopardy) { - return Matchers.argThat(new ArgumentMatcher() { - @Override - public boolean matches(final Object argument) { - DOMEntityOwnershipChange change = (DOMEntityOwnershipChange) argument; - return expEntity.equals(change.getEntity()) && expWasOwner == change.getState().wasOwner() - && expIsOwner == change.getState().isOwner() && expHasOwner == change.getState().hasOwner() - && expInJeopardy == change.inJeopardy(); - } - - @Override - public void describeTo(final Description description) { - description.appendValue(new DOMEntityOwnershipChange(expEntity, EntityOwnershipChangeState.from( - expWasOwner, expIsOwner, expHasOwner), expInJeopardy)); - } - }); + return argThat(change -> expEntity.equals(change.getEntity()) && expWasOwner == change.getState().wasOwner() + && expIsOwner == change.getState().isOwner() && expHasOwner == change.getState().hasOwner() + && expInJeopardy == change.inJeopardy()); } static DOMEntityOwnershipChange ownershipChange(final DOMEntity expEntity) { - return Matchers.argThat(new ArgumentMatcher() { - @Override - public boolean matches(final Object argument) { - DOMEntityOwnershipChange change = (DOMEntityOwnershipChange) argument; - return expEntity.equals(change.getEntity()); - } - - @Override - public void describeTo(final Description description) { - description.appendValue(new DOMEntityOwnershipChange(expEntity, EntityOwnershipChangeState.from( - false, false, false))); - } - }); + return argThat(change -> expEntity.equals(change.getEntity())); } @SuppressWarnings("checkstyle:IllegalCatch") diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/entityownership/DistributedEntityOwnershipIntegrationTest.java b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/entityownership/DistributedEntityOwnershipIntegrationTest.java index 5394a87dd4..9d91c272ac 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/entityownership/DistributedEntityOwnershipIntegrationTest.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/entityownership/DistributedEntityOwnershipIntegrationTest.java @@ -540,11 +540,10 @@ public class DistributedEntityOwnershipIntegrationTest { boolean passed = false; for (int i = 0; i < 100; i++) { Uninterruptibles.sleepUninterruptibly(50, TimeUnit.MILLISECONDS); - final com.google.common.base.Optional leaderState = - leaderEntityOwnershipService.getOwnershipState(ENTITY1); - final com.google.common.base.Optional follower1State = + final Optional leaderState = leaderEntityOwnershipService.getOwnershipState(ENTITY1); + final Optional follower1State = follower1EntityOwnershipService.getOwnershipState(ENTITY1); - final com.google.common.base.Optional follower2State = + final Optional follower2State = follower2EntityOwnershipService.getOwnershipState(ENTITY1); final Optional leaderChange = getValueSafely(leaderChangeCaptor); final Optional follower1Change = getValueSafely(follower1ChangeCaptor); @@ -839,8 +838,8 @@ public class DistributedEntityOwnershipIntegrationTest { private static void verifyGetOwnershipState(final DOMEntityOwnershipService service, final DOMEntity entity, final EntityOwnershipState expState) { - com.google.common.base.Optional state = service.getOwnershipState(entity); - assertEquals("getOwnershipState present", true, state.isPresent()); + Optional state = service.getOwnershipState(entity); + assertTrue("getOwnershipState present", state.isPresent()); assertEquals("EntityOwnershipState", expState, state.get()); } diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/entityownership/DistributedEntityOwnershipServiceTest.java b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/entityownership/DistributedEntityOwnershipServiceTest.java index 70345f883d..56b9f81b21 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/entityownership/DistributedEntityOwnershipServiceTest.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/entityownership/DistributedEntityOwnershipServiceTest.java @@ -29,9 +29,9 @@ import static org.opendaylight.controller.cluster.datastore.entityownership.Enti import static org.opendaylight.controller.cluster.datastore.entityownership.EntityOwnersModel.entityTypeEntryWithEntityEntry; import akka.actor.ActorRef; -import com.google.common.base.Optional; import com.google.common.collect.Sets; import java.util.Collection; +import java.util.Optional; import java.util.concurrent.TimeUnit; import org.junit.After; import org.junit.Before; diff --git a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/broker/impl/legacy/sharded/adapter/ShardedDOMDataBrokerDelegatingTransactionChain.java b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/broker/impl/legacy/sharded/adapter/ShardedDOMDataBrokerDelegatingTransactionChain.java index 817fcdbfd2..ef77bf1da8 100644 --- a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/broker/impl/legacy/sharded/adapter/ShardedDOMDataBrokerDelegatingTransactionChain.java +++ b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/broker/impl/legacy/sharded/adapter/ShardedDOMDataBrokerDelegatingTransactionChain.java @@ -5,10 +5,9 @@ * 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.dom.broker.impl.legacy.sharded.adapter; -import static com.google.common.base.Preconditions.checkNotNull; +import static java.util.Objects.requireNonNull; import com.google.common.base.Preconditions; import com.google.common.collect.Maps; @@ -20,14 +19,13 @@ import org.opendaylight.controller.md.sal.dom.api.DOMDataReadOnlyTransaction; import org.opendaylight.controller.md.sal.dom.api.DOMDataReadWriteTransaction; import org.opendaylight.controller.md.sal.dom.api.DOMDataWriteTransaction; import org.opendaylight.controller.md.sal.dom.api.DOMTransactionChain; -import org.opendaylight.mdsal.common.api.TransactionChain; import org.opendaylight.mdsal.dom.api.DOMDataTreeReadTransaction; +import org.opendaylight.mdsal.dom.api.DOMDataTreeTransaction; import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteTransaction; +import org.opendaylight.mdsal.dom.api.DOMTransactionChainListener; import org.opendaylight.yangtools.yang.model.api.SchemaContext; - -class ShardedDOMDataBrokerDelegatingTransactionChain implements DOMTransactionChain, org.opendaylight.mdsal.common - .api.TransactionChainListener { +class ShardedDOMDataBrokerDelegatingTransactionChain implements DOMTransactionChain, DOMTransactionChainListener { private final org.opendaylight.mdsal.dom.api.DOMTransactionChain txChainDelegate; private final SchemaContext schemaContext; private final TransactionChainListener txChainListener; @@ -41,10 +39,10 @@ class ShardedDOMDataBrokerDelegatingTransactionChain implements DOMTransactionCh final org.opendaylight.mdsal.dom.api.DOMDataBroker brokerDelegate, final TransactionChainListener txChainListener) { - checkNotNull(brokerDelegate); - this.schemaContext = checkNotNull(schemaContext); - this.txChainIdentifier = checkNotNull(txChainIdentifier); - this.txChainListener = checkNotNull(txChainListener); + requireNonNull(brokerDelegate); + this.schemaContext = requireNonNull(schemaContext); + this.txChainIdentifier = requireNonNull(txChainIdentifier); + this.txChainListener = requireNonNull(txChainListener); this.txChainDelegate = brokerDelegate.createTransactionChain(this); transactionMap = Maps.newHashMap(); } @@ -94,16 +92,13 @@ class ShardedDOMDataBrokerDelegatingTransactionChain implements DOMTransactionCh } @Override - public void onTransactionChainFailed(final TransactionChain transactionChain, - final org.opendaylight.mdsal.common.api.AsyncTransaction - asyncTransaction, - final Throwable throwable) { - txChainListener - .onTransactionChainFailed(this, transactionFromDelegate(asyncTransaction.getIdentifier()), throwable); + public void onTransactionChainFailed(org.opendaylight.mdsal.dom.api.DOMTransactionChain chain, + DOMDataTreeTransaction transaction, Throwable cause) { + txChainListener.onTransactionChainFailed(this, transactionFromDelegate(transaction.getIdentifier()), cause); } @Override - public void onTransactionChainSuccessful(final TransactionChain transactionChain) { + public void onTransactionChainSuccessful(org.opendaylight.mdsal.dom.api.DOMTransactionChain chain) { txChainListener.onTransactionChainSuccessful(this); } diff --git a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/broker/impl/mount/DOMMountPointServiceImpl.java b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/broker/impl/mount/DOMMountPointServiceImpl.java index 90d513aa9c..f973c4384b 100644 --- a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/broker/impl/mount/DOMMountPointServiceImpl.java +++ b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/broker/impl/mount/DOMMountPointServiceImpl.java @@ -38,8 +38,7 @@ public class DOMMountPointServiceImpl implements DOMMountPointService { @Override public Optional getMountPoint(final YangInstanceIdentifier path) { - final Optional delegateMountPoint = delegate.getMountPoint(path); - return delegateMountPoint.isPresent() ? Optional.of(convert(delegateMountPoint.get())) : Optional.absent(); + return Optional.fromJavaUtil(delegate.getMountPoint(path).map(DOMMountPointServiceImpl::convert)); } private static DOMMountPoint convert(final org.opendaylight.mdsal.dom.api.DOMMountPoint from) { @@ -51,7 +50,7 @@ public class DOMMountPointServiceImpl implements DOMMountPointService { @Override public Optional getService(final Class cls) { - return from.getService(cls); + return Optional.fromJavaUtil(from.getService(cls)); } @Override diff --git a/opendaylight/md-sal/sal-dom-compat/src/main/java/org/opendaylight/controller/sal/core/compat/LegacyDOMDataBrokerAdapter.java b/opendaylight/md-sal/sal-dom-compat/src/main/java/org/opendaylight/controller/sal/core/compat/LegacyDOMDataBrokerAdapter.java index 2367244e4f..d0f42b7f9c 100644 --- a/opendaylight/md-sal/sal-dom-compat/src/main/java/org/opendaylight/controller/sal/core/compat/LegacyDOMDataBrokerAdapter.java +++ b/opendaylight/md-sal/sal-dom-compat/src/main/java/org/opendaylight/controller/sal/core/compat/LegacyDOMDataBrokerAdapter.java @@ -45,7 +45,10 @@ import org.opendaylight.controller.md.sal.dom.api.DOMTransactionChain; import org.opendaylight.mdsal.common.api.CommitInfo; import org.opendaylight.mdsal.dom.api.DOMDataTreeReadTransaction; import org.opendaylight.mdsal.dom.api.DOMDataTreeReadWriteTransaction; +import org.opendaylight.mdsal.dom.api.DOMDataTreeTransaction; import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteTransaction; +import org.opendaylight.mdsal.dom.api.DOMTransactionChainClosedException; +import org.opendaylight.mdsal.dom.api.DOMTransactionChainListener; import org.opendaylight.yangtools.concepts.ListenerRegistration; import org.opendaylight.yangtools.util.concurrent.ExceptionMapper; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; @@ -60,7 +63,7 @@ public class LegacyDOMDataBrokerAdapter extends ForwardingObject implements DOMD private static final ExceptionMapper COMMIT_EX_MAPPER = new ExceptionMapper("commit", TransactionCommitFailedException.class) { @Override - protected TransactionCommitFailedException newWithCause(String message, Throwable cause) { + protected TransactionCommitFailedException newWithCause(final String message, final Throwable cause) { if (cause instanceof org.opendaylight.mdsal.common.api.OptimisticLockFailedException) { return new OptimisticLockFailedException(cause.getMessage(), cause.getCause()); } else if (cause instanceof org.opendaylight.mdsal.common.api.TransactionCommitFailedException) { @@ -79,7 +82,7 @@ public class LegacyDOMDataBrokerAdapter extends ForwardingObject implements DOMD private final org.opendaylight.mdsal.dom.api.DOMDataBroker delegate; private final ClassToInstanceMap extensions; - public LegacyDOMDataBrokerAdapter(org.opendaylight.mdsal.dom.api.DOMDataBroker delegate) { + public LegacyDOMDataBrokerAdapter(final org.opendaylight.mdsal.dom.api.DOMDataBroker delegate) { this.delegate = delegate; ClassToInstanceMap delegateExtensions = @@ -93,7 +96,7 @@ public class LegacyDOMDataBrokerAdapter extends ForwardingObject implements DOMD extBuilder.put(DOMDataTreeChangeService.class, new DOMDataTreeChangeService() { @Override public ListenerRegistration registerDataTreeChangeListener( - DOMDataTreeIdentifier treeId, final L listener) { + final DOMDataTreeIdentifier treeId, final L listener) { final org.opendaylight.mdsal.dom.api.DOMDataTreeChangeListener delegateListener; if (listener instanceof ClusteredDOMDataTreeChangeListener) { delegateListener = (org.opendaylight.mdsal.dom.api.ClusteredDOMDataTreeChangeListener) @@ -160,19 +163,19 @@ public class LegacyDOMDataBrokerAdapter extends ForwardingObject implements DOMD @Override public DOMTransactionChain createTransactionChain(final TransactionChainListener listener) { AtomicReference legacyChain = new AtomicReference<>(); - org.opendaylight.mdsal.common.api.TransactionChainListener delegateListener = - new org.opendaylight.mdsal.common.api.TransactionChainListener() { - @SuppressWarnings("rawtypes") + DOMTransactionChainListener delegateListener = + new DOMTransactionChainListener() { @Override - public void onTransactionChainFailed(final org.opendaylight.mdsal.common.api.TransactionChain chain, - final org.opendaylight.mdsal.common.api.AsyncTransaction transaction, final Throwable cause) { + @SuppressWarnings("rawtypes") + public void onTransactionChainFailed(final org.opendaylight.mdsal.dom.api.DOMTransactionChain chain, + final DOMDataTreeTransaction transaction, final Throwable cause) { listener.onTransactionChainFailed(legacyChain.get(), - (AsyncTransaction) () -> transaction.getIdentifier(), - cause instanceof Exception ? COMMIT_EX_MAPPER.apply((Exception)cause) : cause); + (AsyncTransaction) () -> transaction.getIdentifier(), + cause instanceof Exception ? COMMIT_EX_MAPPER.apply((Exception)cause) : cause); } @Override - public void onTransactionChainSuccessful(org.opendaylight.mdsal.common.api.TransactionChain chain) { + public void onTransactionChainSuccessful(final org.opendaylight.mdsal.dom.api.DOMTransactionChain chain) { listener.onTransactionChainSuccessful(legacyChain.get()); } }; @@ -207,7 +210,7 @@ public class LegacyDOMDataBrokerAdapter extends ForwardingObject implements DOMD static T wrapException(final Supplier supplier) { try { return supplier.get(); - } catch (org.opendaylight.mdsal.common.api.TransactionChainClosedException e) { + } catch (DOMTransactionChainClosedException e) { throw new TransactionChainClosedException("Transaction chain already closed", e); } } @@ -217,19 +220,19 @@ public class LegacyDOMDataBrokerAdapter extends ForwardingObject implements DOMD private final DOMDataTreeWriteTransaction writeDelegate; private final Object identifier; - DOMDataTransactionAdapter(@Nonnull DOMDataTreeReadTransaction readDelegate) { + DOMDataTransactionAdapter(@Nonnull final DOMDataTreeReadTransaction readDelegate) { this.readDelegate = Preconditions.checkNotNull(readDelegate); this.identifier = readDelegate.getIdentifier(); this.writeDelegate = null; } - DOMDataTransactionAdapter(@Nonnull DOMDataTreeWriteTransaction writeDelegate) { + DOMDataTransactionAdapter(@Nonnull final DOMDataTreeWriteTransaction writeDelegate) { this.writeDelegate = Preconditions.checkNotNull(writeDelegate); this.identifier = writeDelegate.getIdentifier(); this.readDelegate = null; } - DOMDataTransactionAdapter(@Nonnull DOMDataTreeReadWriteTransaction rwDelegate) { + DOMDataTransactionAdapter(@Nonnull final DOMDataTreeReadWriteTransaction rwDelegate) { this.readDelegate = Preconditions.checkNotNull(rwDelegate); this.writeDelegate = rwDelegate; this.identifier = readDelegate.getIdentifier(); @@ -287,12 +290,12 @@ public class LegacyDOMDataBrokerAdapter extends ForwardingObject implements DOMD final SettableFuture resultFuture = SettableFuture.create(); writeDelegate().commit().addCallback(new FutureCallback() { @Override - public void onSuccess(CommitInfo result) { + public void onSuccess(final CommitInfo result) { resultFuture.set(result); } @Override - public void onFailure(Throwable ex) { + public void onFailure(final Throwable ex) { if (ex instanceof Exception) { resultFuture.setException(COMMIT_EX_MAPPER.apply((Exception)ex)); } else { @@ -308,19 +311,19 @@ public class LegacyDOMDataBrokerAdapter extends ForwardingObject implements DOMD private static class DOMDataReadOnlyTransactionAdapter implements DOMDataReadOnlyTransaction { private final DOMDataTransactionAdapter adapter; - DOMDataReadOnlyTransactionAdapter(DOMDataTreeReadTransaction delegateTx) { + DOMDataReadOnlyTransactionAdapter(final DOMDataTreeReadTransaction delegateTx) { adapter = new DOMDataTransactionAdapter(delegateTx); } @Override - public CheckedFuture>, ReadFailedException> read(LogicalDatastoreType store, - YangInstanceIdentifier path) { + public CheckedFuture>, ReadFailedException> read(final LogicalDatastoreType store, + final YangInstanceIdentifier path) { return adapter.read(store, path); } @Override - public CheckedFuture exists(LogicalDatastoreType store, - YangInstanceIdentifier path) { + public CheckedFuture exists(final LogicalDatastoreType store, + final YangInstanceIdentifier path) { return adapter.exists(store, path); } diff --git a/opendaylight/md-sal/sal-dom-spi/src/main/java/org/opendaylight/controller/md/sal/dom/spi/DefaultDOMRpcResult.java b/opendaylight/md-sal/sal-dom-spi/src/main/java/org/opendaylight/controller/md/sal/dom/spi/DefaultDOMRpcResult.java index 94cc510645..d25df4982a 100644 --- a/opendaylight/md-sal/sal-dom-spi/src/main/java/org/opendaylight/controller/md/sal/dom/spi/DefaultDOMRpcResult.java +++ b/opendaylight/md-sal/sal-dom-spi/src/main/java/org/opendaylight/controller/md/sal/dom/spi/DefaultDOMRpcResult.java @@ -32,7 +32,7 @@ public final class DefaultDOMRpcResult implements DOMRpcResult, Immutable, Seria // interface isn't. In lieu of changing the interface, we assume the implementation is Serializable which is // reasonable since the only implementation that is actually used is from the RpcResultBuilder. @SuppressFBWarnings("SE_BAD_FIELD") - private final Collection errors; + private final Collection errors; // Unfortunately the NormalizedNode interface isn't Serializable but we assume the implementations are. @SuppressFBWarnings("SE_BAD_FIELD") @@ -58,7 +58,8 @@ public final class DefaultDOMRpcResult implements DOMRpcResult, Immutable, Seria this(result, Collections.emptyList()); } - public DefaultDOMRpcResult(final NormalizedNode result, final @Nonnull Collection errors) { + public DefaultDOMRpcResult(final NormalizedNode result, + final @Nonnull Collection errors) { this.result = result; this.errors = Preconditions.checkNotNull(errors); } @@ -68,7 +69,7 @@ public final class DefaultDOMRpcResult implements DOMRpcResult, Immutable, Seria } @Override - public @Nonnull Collection getErrors() { + public @Nonnull Collection getErrors() { return errors; } diff --git a/opendaylight/md-sal/sal-dom-spi/src/main/java/org/opendaylight/controller/md/sal/dom/spi/ForwardingDOMRpcResult.java b/opendaylight/md-sal/sal-dom-spi/src/main/java/org/opendaylight/controller/md/sal/dom/spi/ForwardingDOMRpcResult.java index ba46d3facf..e322b01352 100644 --- a/opendaylight/md-sal/sal-dom-spi/src/main/java/org/opendaylight/controller/md/sal/dom/spi/ForwardingDOMRpcResult.java +++ b/opendaylight/md-sal/sal-dom-spi/src/main/java/org/opendaylight/controller/md/sal/dom/spi/ForwardingDOMRpcResult.java @@ -23,7 +23,7 @@ public abstract class ForwardingDOMRpcResult extends ForwardingObject implements protected abstract @Nonnull DOMRpcResult delegate(); @Override - public Collection getErrors() { + public Collection getErrors() { return delegate().getErrors(); } diff --git a/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/RpcErrorsException.java b/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/RpcErrorsException.java index c8fbe7cb6d..01e5da8f3a 100644 --- a/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/RpcErrorsException.java +++ b/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/RpcErrorsException.java @@ -52,7 +52,7 @@ public class RpcErrorsException extends DOMRpcException { private final List rpcErrorDataList = new ArrayList<>(); - public RpcErrorsException(final String message, final Iterable rpcErrors) { + public RpcErrorsException(final String message, final Iterable rpcErrors) { super(message); for (final RpcError rpcError: rpcErrors) { diff --git a/opendaylight/md-sal/sal-remoterpc-connector/src/test/java/org/opendaylight/controller/remote/rpc/AbstractRpcTest.java b/opendaylight/md-sal/sal-remoterpc-connector/src/test/java/org/opendaylight/controller/remote/rpc/AbstractRpcTest.java index e512938b71..0736fae6d7 100644 --- a/opendaylight/md-sal/sal-remoterpc-connector/src/test/java/org/opendaylight/controller/remote/rpc/AbstractRpcTest.java +++ b/opendaylight/md-sal/sal-remoterpc-connector/src/test/java/org/opendaylight/controller/remote/rpc/AbstractRpcTest.java @@ -145,7 +145,7 @@ public class AbstractRpcTest { final ErrorType errorType, final String tag, final String message, final String applicationTag, final String info, final String causeMsg) { assertNotNull("RpcResult was null", rpcResult); - final Collection rpcErrors = rpcResult.getErrors(); + final Collection rpcErrors = rpcResult.getErrors(); assertEquals("RpcErrors count", 1, rpcErrors.size()); assertRpcErrorEquals(rpcErrors.iterator().next(), severity, errorType, tag, message, applicationTag, info, causeMsg); diff --git a/opendaylight/md-sal/samples/clustering-test-app/model/pom.xml b/opendaylight/md-sal/samples/clustering-test-app/model/pom.xml index b7e028f0d0..0253f841aa 100644 --- a/opendaylight/md-sal/samples/clustering-test-app/model/pom.xml +++ b/opendaylight/md-sal/samples/clustering-test-app/model/pom.xml @@ -32,12 +32,8 @@ - org.opendaylight.mdsal.model - ietf-inet-types-2013-07-15 - - - org.opendaylight.mdsal.model - ietf-yang-types-20130715 + org.opendaylight.mdsal.binding.model.ietf + rfc6991 org.opendaylight.mdsal.model diff --git a/opendaylight/model/model-inventory/pom.xml b/opendaylight/model/model-inventory/pom.xml index 8670b7ef99..ec5066dd43 100644 --- a/opendaylight/model/model-inventory/pom.xml +++ b/opendaylight/model/model-inventory/pom.xml @@ -13,7 +13,7 @@ org.opendaylight.mdsal binding-parent - 0.14.0-SNAPSHOT + 3.0.1 @@ -24,8 +24,8 @@ - org.opendaylight.mdsal.model - ietf-inet-types-2013-07-15 + org.opendaylight.mdsal.binding.model.ietf + rfc6991-ietf-inet-types org.opendaylight.mdsal.model diff --git a/opendaylight/model/model-topology/pom.xml b/opendaylight/model/model-topology/pom.xml index eb27cfe479..2c3e2acf1e 100644 --- a/opendaylight/model/model-topology/pom.xml +++ b/opendaylight/model/model-topology/pom.xml @@ -13,7 +13,7 @@ org.opendaylight.mdsal binding-parent - 0.14.0-SNAPSHOT + 3.0.1 diff --git a/opendaylight/model/pom.xml b/opendaylight/model/pom.xml index 488d80782c..d2634df061 100644 --- a/opendaylight/model/pom.xml +++ b/opendaylight/model/pom.xml @@ -13,7 +13,7 @@ org.opendaylight.odlparent odlparent-lite - 3.1.3 + 4.0.2 diff --git a/pom.xml b/pom.xml index a164f397d5..665e52e4e3 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ org.opendaylight.odlparent odlparent-lite - 3.1.3 + 4.0.2 org.opendaylight.controller -- 2.36.6