package org.opendaylight.controller.cluster.databroker.actors.dds;
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.common.api.CommitInfo;
+import org.opendaylight.yangtools.yang.common.Empty;
/**
* An {@link AbstractTransactionCommitCohort} for use with empty transactions. This relies on the fact that no backends
* @author Robert Varga
*/
final class EmptyTransactionCommitCohort extends AbstractTransactionCommitCohort {
- static final DOMStoreThreePhaseCommitCohort INSTANCE = new EmptyTransactionCommitCohort();
-
- private EmptyTransactionCommitCohort() {
- // Hidden
+ EmptyTransactionCommitCohort(final AbstractClientHistory parent, final TransactionIdentifier txId) {
+ super(parent, txId);
}
@Override
}
@Override
- public ListenableFuture<Void> preCommit() {
- return VOID_FUTURE;
+ public ListenableFuture<Empty> preCommit() {
+ return EMPTY_FUTURE;
}
@Override
- public ListenableFuture<Void> abort() {
- return VOID_FUTURE;
+ public ListenableFuture<Empty> abort() {
+ complete();
+ return EMPTY_FUTURE;
}
@Override
- public ListenableFuture<Void> commit() {
- return VOID_FUTURE;
+ public ListenableFuture<CommitInfo> commit() {
+ complete();
+ return CommitInfo.emptyFluentFuture();
}
}