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;
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;
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;
}
@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);
}
@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);
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;
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;
}
@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();
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
}
@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();
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
}
@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()) {
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
}
@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();
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
}
@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()) {
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
}
@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();
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
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;
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,
}
@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;
}
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 =
@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
@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 =
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