*/
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 javax.annotation.Nullable;
import org.opendaylight.controller.cluster.access.concepts.TransactionIdentifier;
import org.opendaylight.controller.cluster.datastore.ReadWriteShardDataTreeTransaction;
private final ReadWriteShardDataTreeTransaction transaction;
private final boolean doImmediateCommit;
private final short txnClientVersion;
+ @Nullable
+ private final SortedSet<String> participatingShardNames;
public ForwardedReadyTransaction(TransactionIdentifier transactionId, short txnClientVersion,
- ReadWriteShardDataTreeTransaction transaction, boolean doImmediateCommit) {
- this.transactionId = Preconditions.checkNotNull(transactionId);
- this.transaction = Preconditions.checkNotNull(transaction);
+ ReadWriteShardDataTreeTransaction transaction, boolean doImmediateCommit,
+ 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 TransactionIdentifier getTransactionId() {
return doImmediateCommit;
}
+ public Optional<SortedSet<String>> getParticipatingShardNames() {
+ return Optional.ofNullable(participatingShardNames);
+ }
+
@Override
public String toString() {
- return "ForwardedReadyTransaction [transactionId=" + transactionId + ", doImmediateCommit=" + doImmediateCommit
+ return "ForwardedReadyTransaction [transactionId=" + transactionId + ", transaction=" + transaction
+ + ", doImmediateCommit=" + doImmediateCommit + ", participatingShardNames=" + participatingShardNames
+ ", txnClientVersion=" + txnClientVersion + "]";
}
}