*/
package org.opendaylight.netconf.topology.impl;
-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.MoreExecutors;
-import javax.annotation.Nullable;
-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.netconf.topology.api.NetconfConnectorFactory;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Host;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.HostBuilder;
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.netconf.node.credentials.Credentials;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.netconf.node.credentials.credentials.LoginPasswordBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.netconf.node.credentials.credentials.LoginPwBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.netconf.node.credentials.credentials.login.pw.LoginPasswordBuilder;
import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NetworkTopology;
import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NodeId;
import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.TopologyId;
import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.NodeBuilder;
import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.NodeKey;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
+import org.opendaylight.yangtools.yang.common.Uint16;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
final NodeId nodeId = new NodeId(instanceName);
final NodeKey nodeKey = new NodeKey(nodeId);
- final Credentials credentials = new LoginPasswordBuilder()
- .setUsername(username)
- .setPassword(password)
+ final Credentials credentials = new LoginPwBuilder()
+ .setLoginPassword(
+ new LoginPasswordBuilder()
+ .setUsername(username)
+ .setPassword(password)
+ .build())
.build();
final Host host = HostBuilder.getDefaultInstance(address);
- final PortNumber portNumber = new PortNumber(port);
+ final PortNumber portNumber = new PortNumber(Uint16.valueOf(port));
final NetconfNode netconfNode = new NetconfNodeBuilder()
.setHost(host)
.setPort(portNumber)
.build();
final Node node = new NodeBuilder()
.setNodeId(nodeId)
- .setKey(nodeKey)
+ .withKey(nodeKey)
.addAugmentation(NetconfNode.class, netconfNode)
.build();
final InstanceIdentifier<Node> nodePath = TOPOLOGY_PATH.child(Node.class, nodeKey);
final WriteTransaction transaction = dataBroker.newWriteOnlyTransaction();
transaction.put(LogicalDatastoreType.CONFIGURATION, nodePath, node);
- final CheckedFuture<Void, TransactionCommitFailedException> submitFuture = transaction.submit();
- Futures.addCallback(submitFuture, new FutureCallback<Void>() {
+ transaction.commit().addCallback(new FutureCallback<CommitInfo>() {
@Override
- public void onSuccess(@Nullable final Void result) {
+ public void onSuccess(final CommitInfo result) {
LOG.debug("Node {} was successfully added to the topology", instanceName);
}
@Override
public void onFailure(final Throwable throwable) {
- LOG.error("Node {} creation failed: {}", instanceName, throwable);
+ LOG.error("Node {} creation failed", instanceName, throwable);
}
}, MoreExecutors.directExecutor());
return node;