Use Empty instead of Void in cohorts
[controller.git] / opendaylight / md-sal / sal-distributed-datastore / src / main / java / org / opendaylight / controller / cluster / datastore / ShardDataTreeCohort.java
index d989cbf50cf17efddaa931ebf12f9df27b0bede8..77b8db92099df0a2e3b014530de87f288983a1cb 100644 (file)
@@ -12,11 +12,14 @@ 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;
-import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidateTip;
-import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeModification;
+import org.opendaylight.yangtools.yang.common.Empty;
+import org.opendaylight.yangtools.yang.data.tree.api.DataTreeCandidate;
+import org.opendaylight.yangtools.yang.data.tree.api.DataTreeCandidateTip;
+import org.opendaylight.yangtools.yang.data.tree.api.DataTreeModification;
 
 @VisibleForTesting
 public abstract class ShardDataTreeCohort implements Identifiable<TransactionIdentifier> {
@@ -43,15 +46,17 @@ 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);
+    public abstract void canCommit(FutureCallback<Empty> callback);
 
     @VisibleForTesting
     public abstract void preCommit(FutureCallback<DataTreeCandidate> callback);
 
     @VisibleForTesting
-    public abstract void abort(FutureCallback<Void> callback);
+    public abstract void abort(FutureCallback<Empty> callback);
 
     @VisibleForTesting
     public abstract void commit(FutureCallback<UnsignedLong> callback);