* terms of the Eclipse Public License v1.0 which accompanies this distribution,
* and is available at http://www.eclipse.org/legal/epl-v10.html
*/
-
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.concurrent.ExecutionException;
import java.util.stream.Collectors;
-import javax.annotation.Nullable;
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.controller.md.sal.common.api.data.TransactionCommitFailedException;
+import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.api.WriteTransaction;
+import org.opendaylight.mdsal.common.api.CommitInfo;
+import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
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;
final WriteTransaction writeTransaction = dataBroker.newWriteOnlyTransaction();
writeTransaction.merge(LogicalDatastoreType.CONFIGURATION, keystoreIid, keystore);
- final CheckedFuture<Void, TransactionCommitFailedException> submit = writeTransaction.submit();
-
try {
- submit.checkedGet();
+ writeTransaction.commit().get();
LOG.debug("init keystore done");
- } catch (TransactionCommitFailedException exception) {
+ } catch (InterruptedException | ExecutionException exception) {
LOG.error("Unable to initialize Netconf key-pair store.", exception);
}
}
@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();
- Futures.addCallback(submit, new FutureCallback<Void>() {
+ writeTransaction.commit().addCallback(new FutureCallback<CommitInfo>() {
@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);
+ public void onSuccess(final CommitInfo result) {
+ LOG.debug("remove-key-pair success. Input: {}", input);
+ 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();
for (KeyCredential keypair : keypairs) {
writeTransaction.merge(LogicalDatastoreType.CONFIGURATION,
- keystoreIid.child(KeyCredential.class, keypair.getKey()), keypair);
+ keystoreIid.child(KeyCredential.class, keypair.key()), keypair);
}
- final SettableFuture<RpcResult<Void>> rpcResult = SettableFuture.create();
+ final SettableFuture<RpcResult<AddKeystoreEntryOutput>> rpcResult = SettableFuture.create();
- final CheckedFuture<Void, TransactionCommitFailedException> submit = writeTransaction.submit();
- Futures.addCallback(submit, new FutureCallback<Void>() {
+ writeTransaction.commit().addCallback(new FutureCallback<CommitInfo>() {
@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);
+ public void onSuccess(final CommitInfo result) {
+ LOG.debug("add-key-pair success. Input: {}", input);
+ 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()) {
writeTransaction.merge(LogicalDatastoreType.CONFIGURATION,
- keystoreIid.child(TrustedCertificate.class, certificate.getKey()), certificate);
+ keystoreIid.child(TrustedCertificate.class, certificate.key()), certificate);
}
- final SettableFuture<RpcResult<Void>> rpcResult = SettableFuture.create();
+ final SettableFuture<RpcResult<AddTrustedCertificateOutput>> rpcResult = SettableFuture.create();
- final CheckedFuture<Void, TransactionCommitFailedException> submit = writeTransaction.submit();
- Futures.addCallback(submit, new FutureCallback<Void>() {
+ writeTransaction.commit().addCallback(new FutureCallback<CommitInfo>() {
@Override
- public void onSuccess(@Nullable Void result) {
+ public void onSuccess(final CommitInfo 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();
- Futures.addCallback(submit, new FutureCallback<Void>() {
+ writeTransaction.commit().addCallback(new FutureCallback<CommitInfo>() {
@Override
- public void onSuccess(@Nullable Void result) {
+ public void onSuccess(final CommitInfo 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()) {
writeTransaction.merge(LogicalDatastoreType.CONFIGURATION,
- keystoreIid.child(PrivateKey.class, key.getKey()), key);
+ keystoreIid.child(PrivateKey.class, key.key()), key);
}
- final SettableFuture<RpcResult<Void>> rpcResult = SettableFuture.create();
+ final SettableFuture<RpcResult<AddPrivateKeyOutput>> rpcResult = SettableFuture.create();
- final CheckedFuture<Void, TransactionCommitFailedException> submit = writeTransaction.submit();
- Futures.addCallback(submit, new FutureCallback<Void>() {
+ writeTransaction.commit().addCallback(new FutureCallback<CommitInfo>() {
@Override
- public void onSuccess(@Nullable Void result) {
+ public void onSuccess(final CommitInfo 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();
- Futures.addCallback(submit, new FutureCallback<Void>() {
+ writeTransaction.commit().addCallback(new FutureCallback<CommitInfo>() {
@Override
- public void onSuccess(@Nullable Void result) {
+ public void onSuccess(final CommitInfo 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