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=6292f82e3add44f7fe31f24de44eba68ba09b2fc;hb=c37d38386002ed12b279938051813f99a4de70ff;hp=74e19488ec452db89a6912e4c8a1d1ea565e5be1;hpb=d068a3a950baa4505e0126614137f4178592cc24;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 74e19488ec..6292f82e3a 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,23 +7,19 @@ */ package org.opendaylight.mdsal.dom.broker; -import org.opendaylight.mdsal.dom.api.DOMDataWriteTransaction; - import com.google.common.base.Preconditions; 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; -import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; -import org.opendaylight.controller.md.sal.common.api.data.TransactionCommitFailedException; -import org.opendaylight.controller.sal.core.spi.data.DOMStoreThreePhaseCommitCohort; -import org.opendaylight.controller.sal.core.spi.data.DOMStoreWriteTransaction; -import org.opendaylight.yangtools.yang.common.RpcResult; +import org.opendaylight.mdsal.common.api.LogicalDatastoreType; +import org.opendaylight.mdsal.common.api.TransactionCommitFailedException; +import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteTransaction; +import org.opendaylight.mdsal.dom.spi.store.DOMStoreThreePhaseCommitCohort; +import org.opendaylight.mdsal.dom.spi.store.DOMStoreWriteTransaction; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; import org.slf4j.Logger; @@ -39,20 +35,22 @@ import org.slf4j.LoggerFactory; *
  • {@link #delete(LogicalDatastoreType, YangInstanceIdentifier)} *
  • {@link #merge(LogicalDatastoreType, YangInstanceIdentifier, NormalizedNode)} * + * *

    - * {@link #commit()} will result in invocation of - * {@link DOMDataCommitImplementation#submit(org.opendaylight.mdsal.dom.api.DOMDataWriteTransaction, Iterable)} - * invocation with all {@link org.opendaylight.controller.sal.core.spi.data.DOMStoreThreePhaseCommitCohort} for underlying - * transactions. + * {@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. * - * @param Subtype of {@link DOMStoreWriteTransaction} which is used as - * subtransaction. + * @param Subtype of {@link DOMStoreWriteTransaction} which is used as subtransaction. */ class DOMForwardedWriteTransaction extends - AbstractDOMForwardedCompositeTransaction implements DOMDataWriteTransaction { + AbstractDOMForwardedCompositeTransaction implements DOMDataTreeWriteTransaction { @SuppressWarnings("rawtypes") - private static final AtomicReferenceFieldUpdater IMPL_UPDATER = - AtomicReferenceFieldUpdater.newUpdater(DOMForwardedWriteTransaction.class, AbstractDOMForwardedTransactionFactory.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"); @@ -71,6 +69,7 @@ class DOMForwardedWriteTransaction extends * set appropriately on {@link #submit()} and {@link #cancel()} via * {@link AtomicReferenceFieldUpdater#lazySet(Object, Object)}. * + *

    * 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 @@ -85,7 +84,8 @@ class DOMForwardedWriteTransaction extends } @Override - public void put(final LogicalDatastoreType store, final YangInstanceIdentifier path, final NormalizedNode data) { + public void put(final LogicalDatastoreType store, final YangInstanceIdentifier path, + final NormalizedNode data) { checkRunning(commitImpl); getSubtransaction(store).write(path, data); } @@ -97,7 +97,8 @@ class DOMForwardedWriteTransaction extends } @Override - public void merge(final LogicalDatastoreType store, final YangInstanceIdentifier path, final NormalizedNode data) { + public void merge(final LogicalDatastoreType store, final YangInstanceIdentifier path, + final NormalizedNode data) { checkRunning(commitImpl); getSubtransaction(store).merge(path, data); } @@ -122,12 +123,6 @@ class DOMForwardedWriteTransaction extends return future.cancel(false); } - @Deprecated - @Override - public ListenableFuture> commit() { - return CommitCompatibility.convertToLegacyCommitFuture(submit()); - } - @Override public CheckedFuture submit() { final AbstractDOMForwardedTransactionFactory impl = IMPL_UPDATER.getAndSet(this, null);