X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=dom%2Fmdsal-dom-broker%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fmdsal%2Fdom%2Fbroker%2FDOMForwardedWriteTransaction.java;h=70b1e4043fb0e142eda63629144a6da4675838ca;hb=94fb90ab450470ee1b3225d737cd394f034ea932;hp=c74bce66fb070788eca01fa2834c631bbff8de95;hpb=0f351bbc28ddf2cddfe30c8d018646d81953fa17;p=mdsal.git diff --git a/dom/mdsal-dom-broker/src/main/java/org/opendaylight/mdsal/dom/broker/DOMForwardedWriteTransaction.java b/dom/mdsal-dom-broker/src/main/java/org/opendaylight/mdsal/dom/broker/DOMForwardedWriteTransaction.java index c74bce66fb..70b1e4043f 100644 --- a/dom/mdsal-dom-broker/src/main/java/org/opendaylight/mdsal/dom/broker/DOMForwardedWriteTransaction.java +++ b/dom/mdsal-dom-broker/src/main/java/org/opendaylight/mdsal/dom/broker/DOMForwardedWriteTransaction.java @@ -7,19 +7,19 @@ */ package org.opendaylight.mdsal.dom.broker; -import com.google.common.base.Preconditions; +import static com.google.common.base.Preconditions.checkState; +import static java.util.Objects.requireNonNull; +import static org.opendaylight.yangtools.util.concurrent.FluentFutures.immediateFailedFluentFuture; + import com.google.common.util.concurrent.FluentFuture; -import com.google.common.util.concurrent.Futures; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Map; -import java.util.concurrent.Future; +import com.google.common.util.concurrent.SettableFuture; import java.util.concurrent.atomic.AtomicReferenceFieldUpdater; +import java.util.function.Function; import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.mdsal.common.api.CommitInfo; import org.opendaylight.mdsal.common.api.LogicalDatastoreType; import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteTransaction; -import org.opendaylight.mdsal.dom.spi.store.DOMStoreThreePhaseCommitCohort; +import org.opendaylight.mdsal.dom.spi.UncancellableListenableFuture; import org.opendaylight.mdsal.dom.spi.store.DOMStoreWriteTransaction; import org.opendaylight.yangtools.util.concurrent.FluentFutures; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; @@ -28,10 +28,8 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** - * Read-Write Transaction, which is composed of several - * {@link DOMStoreWriteTransaction} transactions. A sub-transaction is selected by - * {@link LogicalDatastoreType} type parameter in: - * + * Read-Write Transaction, which is composed of several {@link DOMStoreWriteTransaction} transactions. A sub-transaction + * is selected by {@link LogicalDatastoreType} type parameter in: *
* {@link #submit()} will result in invocation of
* {@link DOMDataCommitImplementation#submit(org.opendaylight.mdsal.dom.api.DOMDataTreeWriteTransaction, Iterable)}
- * invocation with all
- * {@link org.opendaylight.mdsal.dom.spi.store.DOMStoreThreePhaseCommitCohort} for
- * underlying transactions.
+ * invocation with all {@link org.opendaylight.mdsal.dom.spi.store.DOMStoreThreePhaseCommitCohort} for underlying
+ * transactions.
*
* @param
- * Lazy set is safe for use because it is only referenced to in the
- * {@link #cancel()} slow path, where we will busy-wait for it. The
- * fast path gets the benefit of a store-store barrier instead of the
- * usual store-load barrier.
+ * Lazy set is safe for use because it is only referenced to in the {@link #cancel()} slow path, where we will
+ * busy-wait for it. The fast path gets the benefit of a store-store barrier instead of the usual store-load
+ * barrier.
*/
- private volatile Future> commitFuture;
+ private volatile FluentFuture> commitFuture;
protected DOMForwardedWriteTransaction(final Object identifier,
- final Map