X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-dom-broker%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fmd%2Fsal%2Fdom%2Fbroker%2Fimpl%2FDOMDataCommitExecutor.java;h=234758ca75413e3381cf5b71fd67c2e2f41e815a;hb=c222e37f2a0f0f3f6266242fbea2d3b018f4e6e3;hp=f233912ea457a1c7780b15f9b870f98176e865ea;hpb=88080e729f2bb13c704665fe72f99e9aad9dfb12;p=controller.git diff --git a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/broker/impl/DOMDataCommitExecutor.java b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/broker/impl/DOMDataCommitExecutor.java index f233912ea4..234758ca75 100644 --- a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/broker/impl/DOMDataCommitExecutor.java +++ b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/broker/impl/DOMDataCommitExecutor.java @@ -7,32 +7,30 @@ */ package org.opendaylight.controller.md.sal.dom.broker.impl; -import org.opendaylight.controller.md.sal.common.api.TransactionStatus; +import org.opendaylight.controller.md.sal.common.api.data.TransactionCommitFailedException; import org.opendaylight.controller.md.sal.dom.api.DOMDataWriteTransaction; import org.opendaylight.controller.sal.core.spi.data.DOMStoreThreePhaseCommitCohort; -import org.opendaylight.yangtools.yang.common.RpcResult; - import com.google.common.base.Optional; -import com.google.common.util.concurrent.ListenableFuture; +import com.google.common.util.concurrent.CheckedFuture; /** * Executor of Three Phase Commit coordination for * {@link DOMDataWriteTransaction} transactions. - * + * * Implementations are responsible for executing implementation of three-phase * commit protocol on supplied {@link DOMStoreThreePhaseCommitCohort}s. - * - * + * + * */ interface DOMDataCommitExecutor { /** * Submits supplied transaction to be executed in context of provided * cohorts. - * + * * Transaction is used only as a context, cohorts should be associated with * this transaction. - * + * * @param tx * Transaction to be used as context for reporting * @param cohort @@ -40,12 +38,12 @@ interface DOMDataCommitExecutor { * subtransactoins. * @param listener * Error listener which should be notified if transaction failed. - * @return ListenableFuture which contains RpcResult with - * {@link TransactionStatus#COMMITED} if commit coordination on - * cohorts finished successfully. - * + * @return a CheckedFuture. if commit coordination on cohorts finished successfully, + * nothing is returned from the Future, On failure, + * the Future fails with a {@link TransactionCommitFailedException}. + * */ - ListenableFuture> submit(DOMDataWriteTransaction tx, + CheckedFuture submit(DOMDataWriteTransaction tx, Iterable cohort, Optional listener); }