*/
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.ReadWriteShardDataTreeTransaction;
/**
*
* @author Thomas Pantelis
*/
-public class ForwardedReadyTransaction {
- private final String transactionID;
+@Deprecated(since = "9.0.0", forRemoval = true)
+public final class ForwardedReadyTransaction {
+ private final TransactionIdentifier transactionId;
private final ReadWriteShardDataTreeTransaction transaction;
- private final boolean returnSerialized;
private final boolean doImmediateCommit;
private final short txnClientVersion;
+ private final @Nullable SortedSet<String> participatingShardNames;
- public ForwardedReadyTransaction(String transactionID, short txnClientVersion,
- ReadWriteShardDataTreeTransaction transaction, boolean returnSerialized,
- boolean doImmediateCommit) {
- this.transactionID = Preconditions.checkNotNull(transactionID);
- this.transaction = Preconditions.checkNotNull(transaction);
- this.returnSerialized = returnSerialized;
+ public ForwardedReadyTransaction(final TransactionIdentifier transactionId, final short txnClientVersion,
+ final ReadWriteShardDataTreeTransaction transaction, final boolean doImmediateCommit,
+ final Optional<SortedSet<String>> participatingShardNames) {
+ this.transactionId = requireNonNull(transactionId);
+ this.transaction = requireNonNull(transaction);
this.txnClientVersion = txnClientVersion;
this.doImmediateCommit = doImmediateCommit;
+ this.participatingShardNames = requireNonNull(participatingShardNames).orElse(null);
}
- public String getTransactionID() {
- return transactionID;
+ public TransactionIdentifier getTransactionId() {
+ return transactionId;
}
public ReadWriteShardDataTreeTransaction getTransaction() {
return transaction;
}
- public boolean isReturnSerialized() {
- return returnSerialized;
- }
-
public short getTxnClientVersion() {
return txnClientVersion;
}
public boolean isDoImmediateCommit() {
return doImmediateCommit;
}
+
+ public Optional<SortedSet<String>> getParticipatingShardNames() {
+ return Optional.ofNullable(participatingShardNames);
+ }
+
+ @Override
+ public String toString() {
+ return "ForwardedReadyTransaction [transactionId=" + transactionId + ", transaction=" + transaction
+ + ", doImmediateCommit=" + doImmediateCommit + ", participatingShardNames=" + participatingShardNames
+ + ", txnClientVersion=" + txnClientVersion + "]";
+ }
}