Adjust to RPC method signature update 22/71222/6
authorRobert Varga <robert.varga@pantheon.tech>
Mon, 23 Apr 2018 15:28:44 +0000 (17:28 +0200)
committerMichael Vorburger <vorburger@redhat.com>
Wed, 23 May 2018 13:45:20 +0000 (15:45 +0200)
Input/Output structures are always present and we need to return
ListenableFuture. Also cleans up unneeded use of CheckedFuture,
reducing the number of warnings and easing future transition.

Change-Id: I517b2e6c930735c544c1582c3027891658c9e452
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
netconf/messagebus-netconf/src/main/java/org/opendaylight/netconf/messagebus/eventsources/netconf/NetconfEventSource.java
netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/util/NetconfSalKeystoreService.java
netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/util/NetconfTopologyRPCProvider.java

index cdaa00bc131ff1bc12b06c9c3aee4438221a82d7..0722d8ae01c86b89cc774ba07085623c9fe0f1ab 100644 (file)
@@ -16,6 +16,7 @@ import com.google.common.collect.ArrayListMultimap;
 import com.google.common.collect.Maps;
 import com.google.common.collect.Multimap;
 import com.google.common.collect.Multimaps;
+import com.google.common.util.concurrent.ListenableFuture;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Collection;
@@ -25,7 +26,6 @@ import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
 import java.util.Set;
-import java.util.concurrent.Future;
 import java.util.regex.Pattern;
 import javax.xml.stream.XMLStreamException;
 import javax.xml.transform.dom.DOMResult;
@@ -44,6 +44,8 @@ import org.opendaylight.yang.gen.v1.urn.cisco.params.xml.ns.yang.messagebus.even
 import org.opendaylight.yang.gen.v1.urn.cisco.params.xml.ns.yang.messagebus.eventaggregator.rev141202.TopicId;
 import org.opendaylight.yang.gen.v1.urn.cisco.params.xml.ns.yang.messagebus.eventaggregator.rev141202.TopicNotification;
 import org.opendaylight.yang.gen.v1.urn.cisco.params.xml.ns.yang.messagebus.eventsource.rev141202.DisJoinTopicInput;
+import org.opendaylight.yang.gen.v1.urn.cisco.params.xml.ns.yang.messagebus.eventsource.rev141202.DisJoinTopicOutput;
+import org.opendaylight.yang.gen.v1.urn.cisco.params.xml.ns.yang.messagebus.eventsource.rev141202.DisJoinTopicOutputBuilder;
 import org.opendaylight.yang.gen.v1.urn.cisco.params.xml.ns.yang.messagebus.eventsource.rev141202.JoinTopicInput;
 import org.opendaylight.yang.gen.v1.urn.cisco.params.xml.ns.yang.messagebus.eventsource.rev141202.JoinTopicOutput;
 import org.opendaylight.yang.gen.v1.urn.cisco.params.xml.ns.yang.messagebus.eventsource.rev141202.JoinTopicOutputBuilder;
@@ -149,7 +151,7 @@ public class NetconfEventSource implements EventSource, DOMNotificationListener
     }
 
     @Override
-    public Future<RpcResult<JoinTopicOutput>> joinTopic(final JoinTopicInput input) {
+    public ListenableFuture<RpcResult<JoinTopicOutput>> joinTopic(final JoinTopicInput input) {
         LOG.debug("Join topic {} on {}", input.getTopicId().getValue(), mount.getNodeId());
         final NotificationPattern notificationPattern = input.getNotificationPattern();
         final List<SchemaPath> matchingNotifications = getMatchingNotifications(notificationPattern);
@@ -158,14 +160,14 @@ public class NetconfEventSource implements EventSource, DOMNotificationListener
     }
 
     @Override
-    public Future<RpcResult<Void>> disJoinTopic(final DisJoinTopicInput input) {
+    public ListenableFuture<RpcResult<DisJoinTopicOutput>> disJoinTopic(final DisJoinTopicInput input) {
         for (NotificationTopicRegistration reg : notificationTopicRegistrations.values()) {
             reg.unRegisterNotificationTopic(input.getTopicId());
         }
-        return Util.resultRpcSuccessFor((Void) null);
+        return Util.resultRpcSuccessFor(new DisJoinTopicOutputBuilder().build());
     }
 
-    private synchronized Future<RpcResult<JoinTopicOutput>> registerTopic(
+    private synchronized ListenableFuture<RpcResult<JoinTopicOutput>> registerTopic(
             final TopicId topicId,
             final List<SchemaPath> notificationsToSubscribe) {
         Preconditions.checkNotNull(notificationsToSubscribe);
index 88d8efddee4d1f261a2c9cc0b36eaa1b2040f7f0..3c3b733a93840259262905120e5b64c8938f33f0 100644 (file)
@@ -11,10 +11,10 @@ package org.opendaylight.netconf.sal.connect.util;
 import com.google.common.util.concurrent.CheckedFuture;
 import com.google.common.util.concurrent.FutureCallback;
 import com.google.common.util.concurrent.Futures;
+import com.google.common.util.concurrent.ListenableFuture;
 import com.google.common.util.concurrent.MoreExecutors;
 import com.google.common.util.concurrent.SettableFuture;
 import java.util.List;
-import java.util.concurrent.Future;
 import java.util.stream.Collectors;
 import javax.annotation.Nullable;
 import org.opendaylight.aaa.encrypt.AAAEncryptionService;
@@ -23,14 +23,26 @@ import org.opendaylight.controller.md.sal.binding.api.WriteTransaction;
 import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
 import org.opendaylight.controller.md.sal.common.api.data.TransactionCommitFailedException;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.keystore.rev171017.AddKeystoreEntryInput;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.keystore.rev171017.AddKeystoreEntryOutput;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.keystore.rev171017.AddKeystoreEntryOutputBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.keystore.rev171017.AddPrivateKeyInput;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.keystore.rev171017.AddPrivateKeyOutput;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.keystore.rev171017.AddPrivateKeyOutputBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.keystore.rev171017.AddTrustedCertificateInput;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.keystore.rev171017.AddTrustedCertificateOutput;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.keystore.rev171017.AddTrustedCertificateOutputBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.keystore.rev171017.Keystore;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.keystore.rev171017.KeystoreBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.keystore.rev171017.NetconfKeystoreService;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.keystore.rev171017.RemoveKeystoreEntryInput;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.keystore.rev171017.RemoveKeystoreEntryOutput;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.keystore.rev171017.RemoveKeystoreEntryOutputBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.keystore.rev171017.RemovePrivateKeyInput;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.keystore.rev171017.RemovePrivateKeyOutput;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.keystore.rev171017.RemovePrivateKeyOutputBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.keystore.rev171017.RemoveTrustedCertificateInput;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.keystore.rev171017.RemoveTrustedCertificateOutput;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.keystore.rev171017.RemoveTrustedCertificateOutputBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.keystore.rev171017._private.keys.PrivateKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.keystore.rev171017._private.keys.PrivateKeyKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.keystore.rev171017.keystore.entry.KeyCredential;
@@ -80,7 +92,8 @@ public class NetconfSalKeystoreService implements NetconfKeystoreService {
     }
 
     @Override
-    public Future<RpcResult<Void>> removeKeystoreEntry(final RemoveKeystoreEntryInput input) {
+    public ListenableFuture<RpcResult<RemoveKeystoreEntryOutput>> removeKeystoreEntry(
+            final RemoveKeystoreEntryInput input) {
         LOG.debug("Removing keypairs: {}", input);
 
         final WriteTransaction writeTransaction = dataBroker.newWriteOnlyTransaction();
@@ -91,15 +104,14 @@ public class NetconfSalKeystoreService implements NetconfKeystoreService {
                     keystoreIid.child(KeyCredential.class, new KeyCredentialKey(id)));
         }
 
-        final SettableFuture<RpcResult<Void>> rpcResult = SettableFuture.create();
+        final SettableFuture<RpcResult<RemoveKeystoreEntryOutput>> rpcResult = SettableFuture.create();
 
-        final CheckedFuture<Void, TransactionCommitFailedException> submit = writeTransaction.submit();
+        final ListenableFuture<Void> submit = writeTransaction.submit();
         Futures.addCallback(submit, new FutureCallback<Void>() {
             @Override
             public void onSuccess(@Nullable final Void result) {
                 LOG.debug("remove-key-pair success. Input: {}");
-                final RpcResult<Void> success = RpcResultBuilder.<Void>success().build();
-                rpcResult.set(success);
+                rpcResult.set(RpcResultBuilder.success(new RemoveKeystoreEntryOutputBuilder().build()).build());
             }
 
             @Override
@@ -113,7 +125,7 @@ public class NetconfSalKeystoreService implements NetconfKeystoreService {
     }
 
     @Override
-    public Future<RpcResult<Void>> addKeystoreEntry(final AddKeystoreEntryInput input) {
+    public ListenableFuture<RpcResult<AddKeystoreEntryOutput>> addKeystoreEntry(final AddKeystoreEntryInput input) {
         LOG.debug("Adding keypairs: {}", input);
 
         final WriteTransaction writeTransaction = dataBroker.newWriteOnlyTransaction();
@@ -128,15 +140,14 @@ public class NetconfSalKeystoreService implements NetconfKeystoreService {
                     keystoreIid.child(KeyCredential.class, keypair.getKey()), keypair);
         }
 
-        final SettableFuture<RpcResult<Void>> rpcResult = SettableFuture.create();
+        final SettableFuture<RpcResult<AddKeystoreEntryOutput>> rpcResult = SettableFuture.create();
 
-        final CheckedFuture<Void, TransactionCommitFailedException> submit = writeTransaction.submit();
+        final ListenableFuture<Void> submit = writeTransaction.submit();
         Futures.addCallback(submit, new FutureCallback<Void>() {
             @Override
             public void onSuccess(@Nullable final Void result) {
                 LOG.debug("add-key-pair success. Input: {}");
-                final RpcResult<Void> success = RpcResultBuilder.<Void>success().build();
-                rpcResult.set(success);
+                rpcResult.set(RpcResultBuilder.success(new AddKeystoreEntryOutputBuilder().build()).build());
             }
 
             @Override
@@ -150,7 +161,8 @@ public class NetconfSalKeystoreService implements NetconfKeystoreService {
     }
 
     @Override
-    public Future<RpcResult<Void>> addTrustedCertificate(AddTrustedCertificateInput input) {
+    public ListenableFuture<RpcResult<AddTrustedCertificateOutput>> addTrustedCertificate(
+            final AddTrustedCertificateInput input) {
         final WriteTransaction writeTransaction = dataBroker.newWriteOnlyTransaction();
 
         for (TrustedCertificate certificate : input.getTrustedCertificate()) {
@@ -158,15 +170,14 @@ public class NetconfSalKeystoreService implements NetconfKeystoreService {
                     keystoreIid.child(TrustedCertificate.class, certificate.getKey()), certificate);
         }
 
-        final SettableFuture<RpcResult<Void>> rpcResult = SettableFuture.create();
+        final SettableFuture<RpcResult<AddTrustedCertificateOutput>> rpcResult = SettableFuture.create();
 
-        final CheckedFuture<Void, TransactionCommitFailedException> submit = writeTransaction.submit();
+        final ListenableFuture<Void> submit = writeTransaction.submit();
         Futures.addCallback(submit, new FutureCallback<Void>() {
             @Override
-            public void onSuccess(@Nullable Void result) {
+            public void onSuccess(@Nullable final Void result) {
                 LOG.debug("add-trusted-certificate success. Input: {}", input);
-                final RpcResult<Void> success = RpcResultBuilder.<Void>success().build();
-                rpcResult.set(success);
+                rpcResult.set(RpcResultBuilder.success(new AddTrustedCertificateOutputBuilder().build()).build());
             }
 
             @Override
@@ -180,7 +191,8 @@ public class NetconfSalKeystoreService implements NetconfKeystoreService {
     }
 
     @Override
-    public Future<RpcResult<Void>> removeTrustedCertificate(RemoveTrustedCertificateInput input) {
+    public ListenableFuture<RpcResult<RemoveTrustedCertificateOutput>> removeTrustedCertificate(
+            final RemoveTrustedCertificateInput input) {
         final WriteTransaction writeTransaction = dataBroker.newWriteOnlyTransaction();
         final List<String> names = input.getName();
 
@@ -189,15 +201,14 @@ public class NetconfSalKeystoreService implements NetconfKeystoreService {
                     keystoreIid.child(TrustedCertificate.class, new TrustedCertificateKey(name)));
         }
 
-        final SettableFuture<RpcResult<Void>> rpcResult = SettableFuture.create();
+        final SettableFuture<RpcResult<RemoveTrustedCertificateOutput>> rpcResult = SettableFuture.create();
 
-        final CheckedFuture<Void, TransactionCommitFailedException> submit = writeTransaction.submit();
+        final ListenableFuture<Void> submit = writeTransaction.submit();
         Futures.addCallback(submit, new FutureCallback<Void>() {
             @Override
-            public void onSuccess(@Nullable Void result) {
+            public void onSuccess(@Nullable final Void result) {
                 LOG.debug("remove-trusted-certificate success. Input: {}", input);
-                final RpcResult<Void> success = RpcResultBuilder.<Void>success().build();
-                rpcResult.set(success);
+                rpcResult.set(RpcResultBuilder.success(new RemoveTrustedCertificateOutputBuilder().build()).build());
             }
 
             @Override
@@ -211,7 +222,7 @@ public class NetconfSalKeystoreService implements NetconfKeystoreService {
     }
 
     @Override
-    public Future<RpcResult<Void>> addPrivateKey(AddPrivateKeyInput input) {
+    public ListenableFuture<RpcResult<AddPrivateKeyOutput>> addPrivateKey(final AddPrivateKeyInput input) {
         final WriteTransaction writeTransaction = dataBroker.newWriteOnlyTransaction();
 
         for (PrivateKey key: input.getPrivateKey()) {
@@ -219,15 +230,14 @@ public class NetconfSalKeystoreService implements NetconfKeystoreService {
                     keystoreIid.child(PrivateKey.class, key.getKey()), key);
         }
 
-        final SettableFuture<RpcResult<Void>> rpcResult = SettableFuture.create();
+        final SettableFuture<RpcResult<AddPrivateKeyOutput>> rpcResult = SettableFuture.create();
 
-        final CheckedFuture<Void, TransactionCommitFailedException> submit = writeTransaction.submit();
+        final ListenableFuture<Void> submit = writeTransaction.submit();
         Futures.addCallback(submit, new FutureCallback<Void>() {
             @Override
-            public void onSuccess(@Nullable Void result) {
+            public void onSuccess(@Nullable final Void result) {
                 LOG.debug("add-private-key success. Input: {}", input);
-                final RpcResult<Void> success = RpcResultBuilder.<Void>success().build();
-                rpcResult.set(success);
+                rpcResult.set(RpcResultBuilder.success(new AddPrivateKeyOutputBuilder().build()).build());
             }
 
             @Override
@@ -241,7 +251,7 @@ public class NetconfSalKeystoreService implements NetconfKeystoreService {
     }
 
     @Override
-    public Future<RpcResult<Void>> removePrivateKey(RemovePrivateKeyInput input) {
+    public ListenableFuture<RpcResult<RemovePrivateKeyOutput>> removePrivateKey(final RemovePrivateKeyInput input) {
         final WriteTransaction writeTransaction = dataBroker.newWriteOnlyTransaction();
         final List<String> names = input.getName();
 
@@ -250,15 +260,14 @@ public class NetconfSalKeystoreService implements NetconfKeystoreService {
                     keystoreIid.child(PrivateKey.class, new PrivateKeyKey(name)));
         }
 
-        final SettableFuture<RpcResult<Void>> rpcResult = SettableFuture.create();
+        final SettableFuture<RpcResult<RemovePrivateKeyOutput>> rpcResult = SettableFuture.create();
 
-        final CheckedFuture<Void, TransactionCommitFailedException> submit = writeTransaction.submit();
+        final ListenableFuture<Void> submit = writeTransaction.submit();
         Futures.addCallback(submit, new FutureCallback<Void>() {
             @Override
-            public void onSuccess(@Nullable Void result) {
+            public void onSuccess(@Nullable final Void result) {
                 LOG.debug("remove-private-key success. Input: {}", input);
-                final RpcResult<Void> success = RpcResultBuilder.<Void>success().build();
-                rpcResult.set(success);
+                rpcResult.set(RpcResultBuilder.success(new RemovePrivateKeyOutputBuilder().build()).build());
             }
 
             @Override
index 0c5810aa1e4fef153e376c8306a45e9e230c3599..1683a35f2d3de951684cb505abcdd6aab2d8774c 100644 (file)
@@ -14,13 +14,16 @@ import com.google.common.util.concurrent.Futures;
 import com.google.common.util.concurrent.ListenableFuture;
 import com.google.common.util.concurrent.MoreExecutors;
 import com.google.common.util.concurrent.SettableFuture;
-import java.util.concurrent.Future;
 import org.opendaylight.aaa.encrypt.AAAEncryptionService;
 import org.opendaylight.controller.md.sal.binding.api.DataBroker;
 import org.opendaylight.controller.md.sal.binding.api.WriteTransaction;
 import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.CreateDeviceInput;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.CreateDeviceOutput;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.CreateDeviceOutputBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.DeleteDeviceInput;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.DeleteDeviceOutput;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.DeleteDeviceOutputBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.NetconfNode;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.NetconfNodeBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.NetconfNodeTopologyService;
@@ -43,10 +46,11 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 public class NetconfTopologyRPCProvider implements NetconfNodeTopologyService {
+    private static final Logger LOG = LoggerFactory.getLogger(NetconfTopologyRPCProvider.class);
+
     private final AAAEncryptionService encryptionService;
     private final DataBroker dataBroker;
     private final String topologyId;
-    private static final Logger LOG = LoggerFactory.getLogger(NetconfTopologyRPCProvider.class);
 
     public NetconfTopologyRPCProvider(final DataBroker dataBroker,
                                       final AAAEncryptionService encryptionService,
@@ -57,9 +61,9 @@ public class NetconfTopologyRPCProvider implements NetconfNodeTopologyService {
     }
 
     @Override
-    public Future<RpcResult<Void>> createDevice(final CreateDeviceInput input) {
+    public ListenableFuture<RpcResult<CreateDeviceOutput>> createDevice(final CreateDeviceInput input) {
         final NetconfNode node = this.encryptPassword(input);
-        final SettableFuture<RpcResult<Void>> futureResult = SettableFuture.create();
+        final SettableFuture<RpcResult<CreateDeviceOutput>> futureResult = SettableFuture.create();
         final NodeId nodeId = new NodeId(input.getNodeId());
         writeToConfigDS(node, nodeId, futureResult);
         return futureResult;
@@ -92,7 +96,7 @@ public class NetconfTopologyRPCProvider implements NetconfNodeTopologyService {
     }
 
     private void writeToConfigDS(final NetconfNode node, final NodeId nodeId,
-                                 final SettableFuture<RpcResult<Void>> futureResult) {
+            final SettableFuture<RpcResult<CreateDeviceOutput>> futureResult) {
 
         final WriteTransaction writeTransaction = dataBroker.newWriteOnlyTransaction();
         final InstanceIdentifier<NetworkTopology> networkTopologyId =
@@ -107,7 +111,7 @@ public class NetconfTopologyRPCProvider implements NetconfNodeTopologyService {
             @Override
             public void onSuccess(final Void result) {
                 LOG.info("add-netconf-node RPC: Added netconf node successfully.");
-                futureResult.set(RpcResultBuilder.<Void>success().build());
+                futureResult.set(RpcResultBuilder.success(new CreateDeviceOutputBuilder().build()).build());
             }
 
             @Override
@@ -120,7 +124,7 @@ public class NetconfTopologyRPCProvider implements NetconfNodeTopologyService {
 
 
     @Override
-    public Future<RpcResult<Void>> deleteDevice(final DeleteDeviceInput input) {
+    public ListenableFuture<RpcResult<DeleteDeviceOutput>> deleteDevice(final DeleteDeviceInput input) {
         final NodeId nodeId = new NodeId(input.getNodeId());
 
         final InstanceIdentifier<NetworkTopology> networkTopologyId =
@@ -133,14 +137,14 @@ public class NetconfTopologyRPCProvider implements NetconfNodeTopologyService {
         wtx.delete(LogicalDatastoreType.CONFIGURATION, niid);
 
         final ListenableFuture<Void> future = wtx.submit();
-        final SettableFuture<RpcResult<Void>> rpcFuture = SettableFuture.create();
+        final SettableFuture<RpcResult<DeleteDeviceOutput>> rpcFuture = SettableFuture.create();
 
         Futures.addCallback(future, new FutureCallback<Void>() {
 
             @Override
             public void onSuccess(final Void result) {
                 LOG.info("delete-device RPC: Removed netconf node successfully.");
-                rpcFuture.set(RpcResultBuilder.<Void>success().build());
+                rpcFuture.set(RpcResultBuilder.success(new DeleteDeviceOutputBuilder().build()).build());
             }
 
             @Override