X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=netconf%2Fnetconf-topology%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fnetconf%2Ftopology%2Fspi%2FNetconfNodeUtils.java;h=3218a40ab03550e7eda18f5b722a5ee87fffe90d;hb=refs%2Fchanges%2F77%2F103877%2F2;hp=0e1a4de1d93c9df7b87fba2c38328b76825e3bc3;hpb=ad8c88351b1349f53eae21f75af4cfc14c818f9c;p=netconf.git diff --git a/netconf/netconf-topology/src/main/java/org/opendaylight/netconf/topology/spi/NetconfNodeUtils.java b/netconf/netconf-topology/src/main/java/org/opendaylight/netconf/topology/spi/NetconfNodeUtils.java index 0e1a4de1d9..3218a40ab0 100644 --- a/netconf/netconf-topology/src/main/java/org/opendaylight/netconf/topology/spi/NetconfNodeUtils.java +++ b/netconf/netconf-topology/src/main/java/org/opendaylight/netconf/topology/spi/NetconfNodeUtils.java @@ -11,18 +11,47 @@ import java.net.InetSocketAddress; import java.util.ArrayList; import org.eclipse.jdt.annotation.NonNull; import org.eclipse.jdt.annotation.Nullable; +import org.opendaylight.netconf.sal.connect.api.RemoteDeviceId; import org.opendaylight.netconf.sal.connect.netconf.listener.NetconfSessionPreferences; import org.opendaylight.netconf.sal.connect.netconf.listener.UserPreferences; -import org.opendaylight.netconf.sal.connect.util.RemoteDeviceId; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IetfInetUtil; -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.netconf.node.connection.status.available.capabilities.AvailableCapability.CapabilityOrigin; +import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.device.rev221225.connection.oper.available.capabilities.AvailableCapability.CapabilityOrigin; +import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev221225.NetconfNode; +import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev221225.network.topology.topology.topology.types.TopologyNetconf; +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; +import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.TopologyKey; +import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node; +import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; +import org.opendaylight.yangtools.yang.binding.KeyedInstanceIdentifier; +import org.opendaylight.yangtools.yang.common.QName; +import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; +import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifierWithPredicates; /** * Utility methods to work with {@link NetconfNode} information. */ public final class NetconfNodeUtils { + // FIXME: extract all of this to users, as they are in control of topology-id + @Deprecated(forRemoval = true) + public static final String DEFAULT_TOPOLOGY_NAME = TopologyNetconf.QNAME.getLocalName(); + + // FIXME: extract this into caller and pass to constructor + @Deprecated(forRemoval = true) + public static final KeyedInstanceIdentifier DEFAULT_TOPOLOGY_IID = + InstanceIdentifier.create(NetworkTopology.class) + .child(Topology.class, new TopologyKey(new TopologyId(DEFAULT_TOPOLOGY_NAME))); + + private static final QName NODE_ID_QNAME = QName.create(Node.QNAME, "node-id").intern(); + // FIXME: push this out to callers + private static final YangInstanceIdentifier DEFAULT_TOPOLOGY_NODE = YangInstanceIdentifier.builder() + .node(NetworkTopology.QNAME).node(Topology.QNAME) + .nodeWithKey(Topology.QNAME, QName.create(Topology.QNAME, "topology-id"), DEFAULT_TOPOLOGY_NAME) + .node(Node.QNAME) + .build(); + private NetconfNodeUtils() { // Hidden on purpose } @@ -74,7 +103,7 @@ public final class NetconfNodeUtils { //non-module capabilities should not exist in yang module capabilities final var sessionPreferences = NetconfSessionPreferences.fromStrings(capabilities); - final var nonModulePrefs = sessionPreferences.getNonModuleCaps(); + final var nonModulePrefs = sessionPreferences.nonModuleCaps(); if (!nonModulePrefs.isEmpty()) { throw new IllegalArgumentException("List yang-module-capabilities/capability should contain only module " + "based capabilities. Non-module capabilities used: " + nonModulePrefs); @@ -91,4 +120,9 @@ public final class NetconfNodeUtils { return new UserPreferences(NetconfSessionPreferences.fromStrings(capabilities, CapabilityOrigin.UserDefined), overrideYangModuleCaps, overrideNonModuleCaps); } + + @Deprecated(forRemoval = true) + public static @NonNull YangInstanceIdentifier defaultTopologyMountPath(final RemoteDeviceId id) { + return DEFAULT_TOPOLOGY_NODE.node(NodeIdentifierWithPredicates.of(Node.QNAME, NODE_ID_QNAME, id.name())); + } }