X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-distributed-datastore%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fdatastore%2Fmessages%2FReadyLocalTransaction.java;h=7cff030eb9d36f83877425ae62ed41400142d3dd;hb=HEAD;hp=2664fc17bc879532b783b8df7cb6030b84835039;hpb=057b787289f7b909d7013c22ac73a1c91c860af8;p=controller.git diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/messages/ReadyLocalTransaction.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/messages/ReadyLocalTransaction.java index 2664fc17bc..55ab132db6 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/messages/ReadyLocalTransaction.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/messages/ReadyLocalTransaction.java @@ -7,10 +7,14 @@ */ package org.opendaylight.controller.cluster.datastore.messages; -import com.google.common.base.Preconditions; +import static java.util.Objects.requireNonNull; + +import java.util.Optional; +import java.util.SortedSet; +import org.eclipse.jdt.annotation.Nullable; import org.opendaylight.controller.cluster.access.concepts.TransactionIdentifier; import org.opendaylight.controller.cluster.datastore.DataStoreVersions; -import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeModification; +import org.opendaylight.yangtools.yang.data.tree.api.DataTreeModification; /** * Message notifying the shard leader to apply modifications which have been @@ -19,19 +23,22 @@ import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeModification * to be sent out to a remote system, it needs to be intercepted by {@link ReadyLocalTransactionSerializer} * and turned into {@link BatchedModifications}. */ +@Deprecated(since = "9.0.0", forRemoval = true) public final class ReadyLocalTransaction { private final DataTreeModification modification; private final TransactionIdentifier transactionId; private final boolean doCommitOnReady; + private final @Nullable SortedSet participatingShardNames; // The version of the remote system used only when needing to convert to BatchedModifications. private short remoteVersion = DataStoreVersions.CURRENT_VERSION; public ReadyLocalTransaction(final TransactionIdentifier transactionId, final DataTreeModification modification, - final boolean doCommitOnReady) { - this.transactionId = Preconditions.checkNotNull(transactionId); - this.modification = Preconditions.checkNotNull(modification); + final boolean doCommitOnReady, final Optional> participatingShardNames) { + this.transactionId = requireNonNull(transactionId); + this.modification = requireNonNull(modification); this.doCommitOnReady = doCommitOnReady; + this.participatingShardNames = requireNonNull(participatingShardNames).orElse(null); } public TransactionIdentifier getTransactionId() { @@ -50,7 +57,11 @@ public final class ReadyLocalTransaction { return remoteVersion; } - public void setRemoteVersion(short remoteVersion) { + public void setRemoteVersion(final short remoteVersion) { this.remoteVersion = remoteVersion; } + + public Optional> getParticipatingShardNames() { + return Optional.ofNullable(participatingShardNames); + } }