Remove deprecated AsyncWriteTransaction#commit method 30/69930/2
authorTom Pantelis <tompantelis@gmail.com>
Thu, 22 Mar 2018 23:38:01 +0000 (19:38 -0400)
committerJakub Morvay <jmorvay@frinx.io>
Wed, 28 Mar 2018 13:19:02 +0000 (15:19 +0200)
This method has been deprecated for quite some time and now has a
default implementation so can be safely removed from sub-classes.

Change-Id: I118d749f744d7253651f06927f490d8f17718832
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
Signed-off-by: Jakub Morvay <jmorvay@frinx.io>
netconf/netconf-topology-singleton/src/main/java/org/opendaylight/netconf/topology/singleton/impl/tx/ProxyReadWriteTransaction.java
netconf/netconf-topology-singleton/src/main/java/org/opendaylight/netconf/topology/singleton/impl/tx/ProxyWriteAdapter.java
netconf/netconf-topology-singleton/src/main/java/org/opendaylight/netconf/topology/singleton/impl/tx/ProxyWriteTransaction.java
netconf/netconf-topology-singleton/src/test/java/org/opendaylight/netconf/topology/singleton/impl/tx/ProxyReadWriteTransactionTest.java
netconf/netconf-topology-singleton/src/test/java/org/opendaylight/netconf/topology/singleton/impl/tx/ProxyWriteTransactionTest.java
netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/sal/tx/AbstractWriteTx.java
netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/sal/tx/ReadWriteTx.java
netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/sal/tx/WriteCandidateTx.java
netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/sal/tx/WriteRunningTx.java
netconf/sal-netconf-connector/src/test/java/org/opendaylight/netconf/sal/connect/netconf/sal/tx/ReadWriteTxTest.java
restconf/restconf-nb-bierman02/src/test/java/org/opendaylight/controller/sal/restconf/impl/test/RestPostOperationTest.java

index 2b2759ba0f6e8fbd95a431e2c77d74e2d2ae6726..e0075476e7769db1640c583134e528810fb2c88d 100644 (file)
@@ -13,14 +13,11 @@ import akka.actor.ActorSystem;
 import akka.util.Timeout;
 import com.google.common.base.Optional;
 import com.google.common.util.concurrent.CheckedFuture;
-import com.google.common.util.concurrent.ListenableFuture;
-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.ReadFailedException;
 import org.opendaylight.controller.md.sal.common.api.data.TransactionCommitFailedException;
 import org.opendaylight.controller.md.sal.dom.api.DOMDataReadWriteTransaction;
 import org.opendaylight.netconf.sal.connect.util.RemoteDeviceId;
-import org.opendaylight.yangtools.yang.common.RpcResult;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
 
@@ -53,11 +50,6 @@ public class ProxyReadWriteTransaction implements DOMDataReadWriteTransaction {
         return delegateWrite.cancel();
     }
 
-    @Override
-    public ListenableFuture<RpcResult<TransactionStatus>> commit() {
-        return delegateWrite.commit(getIdentifier());
-    }
-
     @Override
     public CheckedFuture<Optional<NormalizedNode<?, ?>>, ReadFailedException> read(final LogicalDatastoreType store,
                                                                                    final YangInstanceIdentifier path) {
index a833e3bb422ef721030ea426beab4c45ee40c08f..703cfce42ccdbbae5392d1df6812b98524ebdfaf 100644 (file)
@@ -17,11 +17,9 @@ import com.google.common.base.Function;
 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 com.google.common.util.concurrent.SettableFuture;
 import java.util.concurrent.atomic.AtomicBoolean;
 import javax.annotation.Nullable;
-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.netconf.sal.connect.util.RemoteDeviceId;
@@ -33,8 +31,6 @@ import org.opendaylight.netconf.topology.singleton.messages.transactions.MergeRe
 import org.opendaylight.netconf.topology.singleton.messages.transactions.PutRequest;
 import org.opendaylight.netconf.topology.singleton.messages.transactions.SubmitFailedReply;
 import org.opendaylight.netconf.topology.singleton.messages.transactions.SubmitRequest;
-import org.opendaylight.yangtools.yang.common.RpcResult;
-import org.opendaylight.yangtools.yang.common.RpcResultBuilder;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
 import org.slf4j.Logger;
@@ -120,19 +116,6 @@ public class ProxyWriteAdapter {
         });
     }
 
-    public ListenableFuture<RpcResult<TransactionStatus>> commit(final Object identifier) {
-        LOG.trace("{}: Commit", id);
-
-        final CheckedFuture<Void, TransactionCommitFailedException> submit = submit(identifier);
-        return Futures.transform(submit, new Function<Void, RpcResult<TransactionStatus>>() {
-            @Nullable
-            @Override
-            public RpcResult<TransactionStatus> apply(@Nullable final Void input) {
-                return RpcResultBuilder.success(TransactionStatus.SUBMITED).build();
-            }
-        });
-    }
-
     public void delete(final LogicalDatastoreType store, final YangInstanceIdentifier identifier) {
         Preconditions.checkState(opened.get(), "%s: Transaction was closed %s", id, identifier);
         LOG.trace("{}: Delete {} via NETCONF: {}", id, store, identifier);
index f8504c029c28e960ad42d01b7257fbadd6464b18..f2ed8b7e04a141a1014f0a0ee87aaa658158daff 100644 (file)
@@ -12,13 +12,10 @@ import akka.actor.ActorRef;
 import akka.actor.ActorSystem;
 import akka.util.Timeout;
 import com.google.common.util.concurrent.CheckedFuture;
-import com.google.common.util.concurrent.ListenableFuture;
-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.md.sal.dom.api.DOMDataWriteTransaction;
 import org.opendaylight.netconf.sal.connect.util.RemoteDeviceId;
-import org.opendaylight.yangtools.yang.common.RpcResult;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
 
@@ -54,11 +51,6 @@ public class ProxyWriteTransaction implements DOMDataWriteTransaction {
         return proxyWriteAdapter.submit(getIdentifier());
     }
 
-    @Override
-    public ListenableFuture<RpcResult<TransactionStatus>> commit() {
-        return proxyWriteAdapter.commit(getIdentifier());
-    }
-
     @Override
     public void delete(final LogicalDatastoreType store, final YangInstanceIdentifier identifier) {
         proxyWriteAdapter.delete(store, identifier);
index 30a6867f1a0189177b1a963645a3ebfd3eb4a2fd..ee692518db5dce88f4addd1ccd9d6d1246fff50e 100644 (file)
@@ -14,7 +14,6 @@ import akka.testkit.TestProbe;
 import akka.util.Timeout;
 import com.google.common.base.Optional;
 import com.google.common.util.concurrent.CheckedFuture;
-import com.google.common.util.concurrent.ListenableFuture;
 import java.net.InetSocketAddress;
 import java.util.concurrent.Executors;
 import java.util.concurrent.Future;
@@ -24,7 +23,6 @@ import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Test;
 import org.opendaylight.controller.config.util.xml.DocumentedException;
-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.ReadFailedException;
 import org.opendaylight.controller.md.sal.common.api.data.TransactionCommitFailedException;
@@ -40,7 +38,6 @@ import org.opendaylight.netconf.topology.singleton.messages.transactions.ReadReq
 import org.opendaylight.netconf.topology.singleton.messages.transactions.SubmitReply;
 import org.opendaylight.netconf.topology.singleton.messages.transactions.SubmitRequest;
 import org.opendaylight.yangtools.yang.common.QName;
-import org.opendaylight.yangtools.yang.common.RpcResult;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
 import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode;
 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
@@ -112,14 +109,6 @@ public class ProxyReadWriteTransactionTest {
         }
     }
 
-    @Test
-    public void testCommit() throws Exception {
-        final ListenableFuture<RpcResult<TransactionStatus>> submitFuture = tx.commit();
-        masterActor.expectMsgClass(SubmitRequest.class);
-        masterActor.reply(new SubmitReply());
-        Assert.assertEquals(TransactionStatus.SUBMITED, submitFuture.get().getResult());
-    }
-
     @Test
     public void testDelete() throws Exception {
         tx.delete(STORE, PATH);
@@ -244,4 +233,4 @@ public class ProxyReadWriteTransactionTest {
             Assert.assertEquals(DocumentedException.ErrorType.APPLICATION, de.getErrorType());
         }
     }
-}
\ No newline at end of file
+}
index b51375b14558803e1c873c358b01b04407e87f5a..159bdc1a7ed10084722417bccece988f664123a1 100644 (file)
@@ -22,7 +22,6 @@ import org.junit.After;
 import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Test;
-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.netconf.sal.connect.util.RemoteDeviceId;
@@ -33,7 +32,6 @@ import org.opendaylight.netconf.topology.singleton.messages.transactions.PutRequ
 import org.opendaylight.netconf.topology.singleton.messages.transactions.SubmitReply;
 import org.opendaylight.netconf.topology.singleton.messages.transactions.SubmitRequest;
 import org.opendaylight.yangtools.yang.common.QName;
-import org.opendaylight.yangtools.yang.common.RpcResult;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
 import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode;
 import org.opendaylight.yangtools.yang.data.impl.schema.Builders;
@@ -104,14 +102,6 @@ public class ProxyWriteTransactionTest {
         }
     }
 
-    @Test
-    public void testCommit() throws Exception {
-        final ListenableFuture<RpcResult<TransactionStatus>> submitFuture = tx.commit();
-        masterActor.expectMsgClass(SubmitRequest.class);
-        masterActor.reply(new SubmitReply());
-        Assert.assertEquals(TransactionStatus.SUBMITED, submitFuture.get().getResult());
-    }
-
     @Test
     public void testDelete() throws Exception {
         tx.delete(STORE, PATH);
@@ -175,4 +165,4 @@ public class ProxyWriteTransactionTest {
         submit.checkedGet();
     }
 
-}
\ No newline at end of file
+}
index 7d6dd3e9e862f3cc8e41caea0428f0e98563d3b1..8e5c4de458f22a6a6703c9f72db2958fe4cf9dd9 100644 (file)
@@ -20,7 +20,6 @@ import java.util.List;
 import java.util.concurrent.CopyOnWriteArrayList;
 import javax.annotation.Nullable;
 import org.opendaylight.controller.config.util.xml.DocumentedException;
-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.md.sal.dom.api.DOMDataWriteTransaction;
@@ -147,15 +146,14 @@ public abstract class AbstractWriteTx implements DOMDataWriteTransaction {
                 editStructure, Optional.of(ModifyAction.NONE), "delete");
     }
 
-    @Override
-    public final ListenableFuture<RpcResult<TransactionStatus>> commit() {
+    protected final ListenableFuture<RpcResult<Void>> commitConfiguration() {
         listeners.forEach(listener -> listener.onTransactionSubmitted(this));
         checkNotFinished();
         finished = true;
-        final ListenableFuture<RpcResult<TransactionStatus>> result = performCommit();
-        Futures.addCallback(result, new FutureCallback<RpcResult<TransactionStatus>>() {
+        final ListenableFuture<RpcResult<Void>> result = performCommit();
+        Futures.addCallback(result, new FutureCallback<RpcResult<Void>>() {
             @Override
-            public void onSuccess(@Nullable final RpcResult<TransactionStatus> result) {
+            public void onSuccess(@Nullable final RpcResult<Void> result) {
                 if (result != null && result.isSuccessful()) {
                     listeners.forEach(txListener -> txListener.onTransactionSuccessful(AbstractWriteTx.this));
                 } else {
@@ -174,7 +172,7 @@ public abstract class AbstractWriteTx implements DOMDataWriteTransaction {
         return result;
     }
 
-    protected abstract ListenableFuture<RpcResult<TransactionStatus>> performCommit();
+    protected abstract ListenableFuture<RpcResult<Void>> performCommit();
 
     private void checkEditable(final LogicalDatastoreType store) {
         checkNotFinished();
@@ -186,8 +184,8 @@ public abstract class AbstractWriteTx implements DOMDataWriteTransaction {
                                        DataContainerChild<?, ?> editStructure,
                                        Optional<ModifyAction> defaultOperation, String operation);
 
-    protected ListenableFuture<RpcResult<TransactionStatus>> resultsToTxStatus() {
-        final SettableFuture<RpcResult<TransactionStatus>> transformed = SettableFuture.create();
+    protected ListenableFuture<RpcResult<Void>> resultsToTxStatus() {
+        final SettableFuture<RpcResult<Void>> transformed = SettableFuture.create();
 
         Futures.addCallback(Futures.allAsList(resultsFutures), new FutureCallback<List<DOMRpcResult>>() {
             @Override
@@ -204,7 +202,7 @@ public abstract class AbstractWriteTx implements DOMDataWriteTransaction {
                 });
 
                 if (!transformed.isDone()) {
-                    transformed.set(RpcResultBuilder.success(TransactionStatus.COMMITED).build());
+                    transformed.set(RpcResultBuilder.<Void>success().build());
                 }
             }
 
index c6012bbf2183a5c71e82df7e36bb7eeb66248a28..1c44b40f841712bce44169e702ab7cdc5330a656 100644 (file)
@@ -10,15 +10,12 @@ package org.opendaylight.netconf.sal.connect.netconf.sal.tx;
 
 import com.google.common.base.Optional;
 import com.google.common.util.concurrent.CheckedFuture;
-import com.google.common.util.concurrent.ListenableFuture;
-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.ReadFailedException;
 import org.opendaylight.controller.md.sal.common.api.data.TransactionCommitFailedException;
 import org.opendaylight.controller.md.sal.dom.api.DOMDataReadTransaction;
 import org.opendaylight.controller.md.sal.dom.api.DOMDataReadWriteTransaction;
 import org.opendaylight.controller.md.sal.dom.api.DOMDataWriteTransaction;
-import org.opendaylight.yangtools.yang.common.RpcResult;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
 
@@ -59,11 +56,6 @@ public class ReadWriteTx implements DOMDataReadWriteTransaction {
         return delegateWriteTx.submit();
     }
 
-    @Override
-    public ListenableFuture<RpcResult<TransactionStatus>> commit() {
-        return delegateWriteTx.commit();
-    }
-
     @Override
     public CheckedFuture<Optional<NormalizedNode<?, ?>>, ReadFailedException> read(
             final LogicalDatastoreType store, final YangInstanceIdentifier path) {
index d3f5b1e94de1f7a4e3a3f08fbf0da830050b101d..23803f575129cebf226c0f98f891ef03d695574e 100644 (file)
@@ -17,7 +17,6 @@ import com.google.common.util.concurrent.Futures;
 import com.google.common.util.concurrent.ListenableFuture;
 import com.google.common.util.concurrent.MoreExecutors;
 import javax.annotation.Nullable;
-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.DOMRpcResult;
 import org.opendaylight.netconf.sal.connect.netconf.util.NetconfBaseOps;
@@ -96,8 +95,8 @@ public class WriteCandidateTx extends AbstractWriteTx {
 
     @Override
     public synchronized CheckedFuture<Void, TransactionCommitFailedException> submit() {
-        final ListenableFuture<Void> commitFutureAsVoid = Futures.transform(commit(),
-            (Function<RpcResult<TransactionStatus>, Void>) input -> {
+        final ListenableFuture<Void> commitFutureAsVoid = Futures.transform(commitConfiguration(),
+            (Function<RpcResult<Void>, Void>) input -> {
                 Preconditions.checkArgument(input.isSuccessful() && input.getErrors().isEmpty(),
                         "Submit failed with errors: %s", input.getErrors());
                 return null;
@@ -116,13 +115,13 @@ public class WriteCandidateTx extends AbstractWriteTx {
     }
 
     @Override
-    public synchronized ListenableFuture<RpcResult<TransactionStatus>> performCommit() {
+    public synchronized ListenableFuture<RpcResult<Void>> performCommit() {
         resultsFutures.add(netOps.commit(new NetconfRpcFutureCallback("Commit", id)));
-        final ListenableFuture<RpcResult<TransactionStatus>> txResult = resultsToTxStatus();
+        final ListenableFuture<RpcResult<Void>> txResult = resultsToTxStatus();
 
-        Futures.addCallback(txResult, new FutureCallback<RpcResult<TransactionStatus>>() {
+        Futures.addCallback(txResult, new FutureCallback<RpcResult<Void>>() {
             @Override
-            public void onSuccess(@Nullable final RpcResult<TransactionStatus> result) {
+            public void onSuccess(@Nullable final RpcResult<Void> result) {
                 cleanupOnSuccess();
             }
 
index ddc66fb5f1757080cc1ed4e5feb24b27ad1f76fe..6b1999f74e9192ef9fea27fb609c193021e795f3 100644 (file)
@@ -16,7 +16,6 @@ import com.google.common.util.concurrent.ListenableFuture;
 import com.google.common.util.concurrent.MoreExecutors;
 import java.util.ArrayList;
 import java.util.List;
-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.DOMRpcResult;
 import org.opendaylight.netconf.sal.connect.netconf.util.NetconfBaseOps;
@@ -73,8 +72,8 @@ public class WriteRunningTx extends AbstractWriteTx {
 
     @Override
     public synchronized CheckedFuture<Void, TransactionCommitFailedException> submit() {
-        final ListenableFuture<Void> commmitFutureAsVoid = Futures.transform(commit(),
-                (Function<RpcResult<TransactionStatus>, Void>) input -> null, MoreExecutors.directExecutor());
+        final ListenableFuture<Void> commmitFutureAsVoid = Futures.transform(commitConfiguration(),
+                (Function<RpcResult<Void>, Void>) input -> null, MoreExecutors.directExecutor());
 
         return Futures.makeChecked(commmitFutureAsVoid,
             input -> new TransactionCommitFailedException("Submit of transaction " + getIdentifier() + " failed",
@@ -82,7 +81,7 @@ public class WriteRunningTx extends AbstractWriteTx {
     }
 
     @Override
-    public synchronized ListenableFuture<RpcResult<TransactionStatus>> performCommit() {
+    public synchronized ListenableFuture<RpcResult<Void>> performCommit() {
         for (final Change change : changes) {
             resultsFutures.add(change.execute(id, netOps, rollbackSupport));
         }
index 795af83945ca2b8b7f86f56a9cf32dc647355831..0fe89343e264625ebf8193459eea1fffc358ea61 100644 (file)
@@ -55,12 +55,6 @@ public class ReadWriteTxTest {
         verify(delegateWriteTx).submit();
     }
 
-    @Test
-    public void commit() throws Exception {
-        tx.commit();
-        verify(delegateWriteTx).commit();
-    }
-
     @Test
     public void cancel() throws Exception {
         tx.cancel();
@@ -89,4 +83,4 @@ public class ReadWriteTxTest {
         Assert.assertNotEquals(tx.getIdentifier(), tx2.getIdentifier());
     }
 
-}
\ No newline at end of file
+}
index 294decd75406f83dad86129375b824fece2fdcd5..910bd7e1be859fabcd9847bed65f7698f453a9d7 100644 (file)
@@ -35,7 +35,6 @@ import org.junit.Ignore;
 import org.junit.Test;
 import org.mockito.ArgumentCaptor;
 import org.mockito.Mockito;
-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.DOMMountPoint;
 import org.opendaylight.controller.md.sal.dom.api.DOMMountPointService;
@@ -48,7 +47,6 @@ import org.opendaylight.netconf.sal.rest.impl.XmlNormalizedNodeBodyReader;
 import org.opendaylight.netconf.sal.restconf.impl.BrokerFacade;
 import org.opendaylight.netconf.sal.restconf.impl.ControllerContext;
 import org.opendaylight.netconf.sal.restconf.impl.RestconfImpl;
-import org.opendaylight.yangtools.yang.common.RpcResult;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
 import org.opendaylight.yangtools.yang.model.api.Module;
@@ -137,9 +135,6 @@ public class RestPostOperationTest extends JerseyTest {
     // - we expecting problems with singletons ControllerContext as schemaContext holder
     public void createConfigurationDataTest() throws UnsupportedEncodingException, ParseException {
         initMocking();
-        final RpcResult<TransactionStatus> rpcResult = new DummyRpcResult.Builder<TransactionStatus>().result(
-                TransactionStatus.COMMITED).build();
-
         when(brokerFacade.commitConfigurationDataPost((SchemaContext) null, any(YangInstanceIdentifier.class),
                 any(NormalizedNode.class), null, null))
                 .thenReturn(mock(CheckedFuture.class));