Do not assert seal transition on forward path
[controller.git] / opendaylight / md-sal / sal-distributed-datastore / src / main / java / org / opendaylight / controller / cluster / databroker / actors / dds / AbstractTransactionCommitCohort.java
index 51b17007738d5ee0ace135ef9b4d509c229870e2..789309cf8a3d6d1b328e6a0f6bfc50b2ac07ddd9 100644 (file)
@@ -7,9 +7,12 @@
  */
 package org.opendaylight.controller.cluster.databroker.actors.dds;
 
+import com.google.common.base.MoreObjects;
+import com.google.common.base.Preconditions;
 import com.google.common.util.concurrent.Futures;
 import com.google.common.util.concurrent.ListenableFuture;
-import org.opendaylight.controller.sal.core.spi.data.DOMStoreThreePhaseCommitCohort;
+import org.opendaylight.controller.cluster.access.concepts.TransactionIdentifier;
+import org.opendaylight.mdsal.dom.spi.store.DOMStoreThreePhaseCommitCohort;
 
 /**
  * Base class for internal {@link DOMStoreThreePhaseCommitCohort} implementation. It contains utility constants for
@@ -21,4 +24,20 @@ abstract class AbstractTransactionCommitCohort implements DOMStoreThreePhaseComm
     static final ListenableFuture<Boolean> TRUE_FUTURE = Futures.immediateFuture(Boolean.TRUE);
     static final ListenableFuture<Void> VOID_FUTURE = Futures.immediateFuture(null);
 
+    private final AbstractClientHistory parent;
+    private final TransactionIdentifier txId;
+
+    AbstractTransactionCommitCohort(final AbstractClientHistory parent, final TransactionIdentifier txId) {
+        this.parent = Preconditions.checkNotNull(parent);
+        this.txId = Preconditions.checkNotNull(txId);
+    }
+
+    final void complete() {
+        parent.onTransactionComplete(txId);
+    }
+
+    @Override
+    public final String toString() {
+        return MoreObjects.toStringHelper(this).add("txId", txId).toString();
+    }
 }