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%2FDOMForwardedWriteTransaction.java;h=bc11f122e63e4fd1c79435d5e6d2ba8460ee8a3e;hb=b712eb01354ddb5878008e2a2e8f03fb19b92555;hp=8c57cfb18d6c8c85e497f18f9e5c297270905999;hpb=9366bdd2f163da0962d8f70fc4ce9453c0fd75b3;p=controller.git diff --git a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/broker/impl/DOMForwardedWriteTransaction.java b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/broker/impl/DOMForwardedWriteTransaction.java index 8c57cfb18d..bc11f122e6 100644 --- a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/broker/impl/DOMForwardedWriteTransaction.java +++ b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/broker/impl/DOMForwardedWriteTransaction.java @@ -8,12 +8,12 @@ package org.opendaylight.controller.md.sal.dom.broker.impl; import com.google.common.base.Preconditions; -import com.google.common.collect.ImmutableMap; import com.google.common.util.concurrent.CheckedFuture; import com.google.common.util.concurrent.Futures; import com.google.common.util.concurrent.ListenableFuture; import java.util.ArrayList; import java.util.Collection; +import java.util.Map; import java.util.concurrent.Future; import java.util.concurrent.atomic.AtomicReferenceFieldUpdater; import org.opendaylight.controller.md.sal.common.api.TransactionStatus; @@ -51,8 +51,8 @@ import org.slf4j.LoggerFactory; class DOMForwardedWriteTransaction extends AbstractDOMForwardedCompositeTransaction implements DOMDataWriteTransaction { @SuppressWarnings("rawtypes") - private static final AtomicReferenceFieldUpdater IMPL_UPDATER = - AtomicReferenceFieldUpdater.newUpdater(DOMForwardedWriteTransaction.class, DOMDataCommitImplementation.class, "commitImpl"); + private static final AtomicReferenceFieldUpdater IMPL_UPDATER = + AtomicReferenceFieldUpdater.newUpdater(DOMForwardedWriteTransaction.class, AbstractDOMForwardedTransactionFactory.class, "commitImpl"); @SuppressWarnings("rawtypes") private static final AtomicReferenceFieldUpdater FUTURE_UPDATER = AtomicReferenceFieldUpdater.newUpdater(DOMForwardedWriteTransaction.class, Future.class, "commitFuture"); @@ -64,7 +64,7 @@ class DOMForwardedWriteTransaction extends * the transaction is running -- which we flip atomically using * {@link #IMPL_UPDATER}. */ - private volatile DOMDataCommitImplementation commitImpl; + private volatile AbstractDOMForwardedTransactionFactory commitImpl; /** * Future task of transaction commit. It starts off as null, but is @@ -79,7 +79,7 @@ class DOMForwardedWriteTransaction extends private volatile Future commitFuture; protected DOMForwardedWriteTransaction(final Object identifier, - final ImmutableMap backingTxs, final DOMDataCommitImplementation commitImpl) { + final Map backingTxs, final AbstractDOMForwardedTransactionFactory commitImpl) { super(identifier, backingTxs); this.commitImpl = Preconditions.checkNotNull(commitImpl, "commitImpl must not be null."); } @@ -104,10 +104,11 @@ class DOMForwardedWriteTransaction extends @Override public boolean cancel() { - final DOMDataCommitImplementation impl = IMPL_UPDATER.getAndSet(this, null); + final AbstractDOMForwardedTransactionFactory impl = IMPL_UPDATER.getAndSet(this, null); if (impl != null) { LOG.trace("Transaction {} cancelled before submit", getIdentifier()); FUTURE_UPDATER.lazySet(this, CANCELLED_FUTURE); + closeSubtransactions(); return true; } @@ -121,6 +122,7 @@ class DOMForwardedWriteTransaction extends return future.cancel(false); } + @Deprecated @Override public ListenableFuture> commit() { return AbstractDataTransaction.convertToLegacyCommitFuture(submit()); @@ -128,7 +130,7 @@ class DOMForwardedWriteTransaction extends @Override public CheckedFuture submit() { - final DOMDataCommitImplementation impl = IMPL_UPDATER.getAndSet(this, null); + final AbstractDOMForwardedTransactionFactory impl = IMPL_UPDATER.getAndSet(this, null); checkRunning(impl); final Collection txns = getSubtransactions(); @@ -144,7 +146,7 @@ class DOMForwardedWriteTransaction extends return ret; } - private void checkRunning(final DOMDataCommitImplementation impl) { + private void checkRunning(final AbstractDOMForwardedTransactionFactory impl) { Preconditions.checkState(impl != null, "Transaction %s is no longer running", getIdentifier()); } }