Fix illegal check in CreateTransactionReply
[controller.git] / opendaylight / md-sal / sal-distributed-datastore / src / main / java / org / opendaylight / controller / cluster / datastore / messages / ForwardedReadyTransaction.java
index 08784d11396f8802c07f13bcde8369c681880fd5..529b7e2153cb63888387b9a86dee36fd85aa3c95 100644 (file)
@@ -7,7 +7,11 @@
  */
 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;
 
@@ -17,21 +21,25 @@ import org.opendaylight.controller.cluster.datastore.ReadWriteShardDataTreeTrans
  * @author Thomas Pantelis
  */
 public class ForwardedReadyTransaction {
-    private final TransactionIdentifier transactionID;
+    private final TransactionIdentifier transactionId;
     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);
+    public ForwardedReadyTransaction(TransactionIdentifier transactionId, short txnClientVersion,
+            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 transactionID;
+    public TransactionIdentifier getTransactionId() {
+        return transactionId;
     }
 
     public ReadWriteShardDataTreeTransaction getTransaction() {
@@ -46,9 +54,14 @@ public class ForwardedReadyTransaction {
         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 + "]";
     }
 }