Use singleton NodeIdentifierWithPredicates
[controller.git] / opendaylight / md-sal / sal-distributed-datastore / src / main / java / org / opendaylight / controller / cluster / datastore / ShardDataTreeCohort.java
index deec9e5adc1b6223e106fa849cab3bb97ca741fd..581768c0ed73352d5c1b80fc5e32033dfe266cf2 100644 (file)
@@ -8,8 +8,12 @@
 package org.opendaylight.controller.cluster.datastore;
 
 import com.google.common.annotations.VisibleForTesting;
+import com.google.common.base.MoreObjects;
+import com.google.common.base.MoreObjects.ToStringHelper;
 import com.google.common.primitives.UnsignedLong;
 import com.google.common.util.concurrent.FutureCallback;
+import java.util.Optional;
+import java.util.SortedSet;
 import org.opendaylight.controller.cluster.access.concepts.TransactionIdentifier;
 import org.opendaylight.yangtools.concepts.Identifiable;
 import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidate;
@@ -25,7 +29,6 @@ public abstract class ShardDataTreeCohort implements Identifiable<TransactionIde
         PRE_COMMIT_PENDING,
         PRE_COMMIT_COMPLETE,
         COMMIT_PENDING,
-        FINISH_COMMIT_PENDING,
 
         ABORTED,
         COMMITTED,
@@ -42,6 +45,8 @@ public abstract class ShardDataTreeCohort implements Identifiable<TransactionIde
 
     abstract DataTreeModification getDataTreeModification();
 
+    abstract Optional<SortedSet<String>> getParticipatingShardNames();
+
     // FIXME: Should return rebased DataTreeCandidateTip
     @VisibleForTesting
     public abstract void canCommit(FutureCallback<Void> callback);
@@ -58,4 +63,13 @@ public abstract class ShardDataTreeCohort implements Identifiable<TransactionIde
     public abstract boolean isFailed();
 
     public abstract State getState();
+
+    @Override
+    public final String toString() {
+        return addToStringAttributes(MoreObjects.toStringHelper(this).omitNullValues()).toString();
+    }
+
+    ToStringHelper addToStringAttributes(final ToStringHelper toStringHelper) {
+        return toStringHelper.add("id", getIdentifier()).add("state", getState());
+    }
 }