import org.opendaylight.transportpce.networkmodel.util.LinkIdUtil;
import org.opendaylight.transportpce.networkmodel.util.TopologyUtils;
import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.networkutils.rev170818.InitRoadmNodesInput;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.Link1;
import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.Link1Builder;
import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.link.OMSAttributesBuilder;
import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev181130.OpenroadmLinkType;
//IETF link builder
LinkBuilder linkBuilder = TopologyUtils.createLink(srcNode, destNode, srcTp, destTp, null);
- linkBuilder.addAugmentation(Link1.class,link1Builder.build());
- linkBuilder.addAugmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130
- .Link1.class, oppsiteLinkBuilder.build());
+ linkBuilder.addAugmentation(link1Builder.build());
+ linkBuilder.addAugmentation(oppsiteLinkBuilder.build());
LinkId linkId = LinkIdUtil.buildLinkId(srcNode, srcTp, destNode, destTp);
// Building link instance identifier
import static org.opendaylight.transportpce.common.StringConstants.OPENROADM_DEVICE_VERSION_1_2_1;
import static org.opendaylight.transportpce.common.StringConstants.OPENROADM_DEVICE_VERSION_2_2_1;
-import java.util.List;
+import java.util.Collection;
import java.util.Optional;
import java.util.concurrent.ExecutionException;
import java.util.stream.Collectors;
NbrList nbrList = protocolObject.get().augmentation(Protocols1.class).getLldp().getNbrList();
LOG.info("LLDP subtree is present. Device has {} neighbours", nbrList.getIfName().size());
boolean success = true;
- for (IfName ifName : nbrList.getIfName()) {
+ for (IfName ifName : nbrList.nonnullIfName().values()) {
if (ifName.getRemoteSysName() == null) {
LOG.warn("LLDP subtree neighbour is empty for nodeId: {}, ifName: {}",
nodeId.getValue(),ifName.getIfName());
LOG.info("LLDP subtree is present. Device has {} neighbours", nbrList.getIfName().size());
boolean success = true;
for (org.opendaylight.yang.gen.v1.http.org.openroadm.lldp.rev181019.lldp.container.lldp.nbr.list.IfName
- ifName : nbrList.getIfName()) {
+ ifName : nbrList.nonnullIfName().values()) {
if (ifName.getRemoteSysName() == null) {
LOG.warn("LLDP subtree neighbour is empty for nodeId: {}, ifName: {}",
nodeId.getValue(),ifName.getIfName());
try (ReadTransaction readTx = this.dataBroker.newReadOnlyTransaction()) {
Optional<Nodes> nodesObject = readTx.read(LogicalDatastoreType.CONFIGURATION, nodesIID).get();
if (nodesObject.isPresent() && (nodesObject.get().getMapping() != null)) {
- List<Mapping> mappingList = nodesObject.get().getMapping();
+ Collection<Mapping> mappingList = nodesObject.get().nonnullMapping().values();
mappingList = mappingList.stream().filter(mp -> mp.getLogicalConnectionPoint().contains("DEG"
+ degreeCounter)).collect(Collectors.toList());
if (mappingList.size() == 1) {
try (ReadTransaction readTx = this.dataBroker.newReadOnlyTransaction()) {
Optional<Nodes> nodesObject = readTx.read(LogicalDatastoreType.CONFIGURATION, nodesIID).get();
if (nodesObject.isPresent() && (nodesObject.get().getCpToDegree() != null)) {
- List<CpToDegree> cpToDeg = nodesObject.get().getCpToDegree();
- Stream cpToDegStream = cpToDeg.stream().filter(cp -> cp.getInterfaceName() != null)
+ Collection<CpToDegree> cpToDeg = nodesObject.get().nonnullCpToDegree().values();
+ Stream<CpToDegree> cpToDegStream = cpToDeg.stream().filter(cp -> cp.getInterfaceName() != null)
.filter(cp -> cp.getInterfaceName().equals(interfaceName));
if (cpToDegStream != null) {
@SuppressWarnings("unchecked") Optional<CpToDegree> firstCpToDegree = cpToDegStream.findFirst();
package org.opendaylight.transportpce.networkmodel;
-import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableMap;
import com.google.common.util.concurrent.FluentFuture;
import java.util.Optional;
import java.util.concurrent.ExecutionException;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.network.Node;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.network.NodeBuilder;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.network.NodeKey;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.Network1;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.Network1Builder;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.Node1Builder;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.TpId;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.networks.network.Link;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.networks.network.LinkBuilder;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.networks.network.node.TerminationPoint;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.networks.network.node.TerminationPointBuilder;
tp1Bldr.setXpdrNetworkAttributes(new XpdrNetworkAttributesBuilder()
.setTailEquipmentId(destNode + "--" + destTp).build());
}
- xpdrTpBldr.addAugmentation(TerminationPoint1.class, tp1Bldr.build());
+ xpdrTpBldr.addAugmentation(tp1Bldr.build());
+ TerminationPoint newXpdrTp = xpdrTpBldr.build();
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.Node1 node1 =
- new Node1Builder().setTerminationPoint(ImmutableList.of(xpdrTpBldr.build())).build();
- NodeBuilder nodeBldr = new NodeBuilder()
- .addAugmentation(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226
- .Node1.class, node1);
+ new Node1Builder().setTerminationPoint(ImmutableMap.of(newXpdrTp.key(),newXpdrTp)).build();
+ NodeBuilder nodeBldr = new NodeBuilder().addAugmentation(node1);
if (isXponderInput) {
nodeBldr.setNodeId(new NodeId(destNode));
} else {
.setLinkType(isXponderInput ? OpenroadmLinkType.XPONDERINPUT : OpenroadmLinkType.XPONDEROUTPUT)
.setOppositeLink(LinkIdUtil.getOppositeLinkId(srcNode, srcTp, destNode, destTp));
LinkBuilder linkBuilder = TopologyUtils.createLink(srcNode, destNode, srcTp, destTp, null)
- .addAugmentation(Link1.class, lnk1bldr.build())
- .addAugmentation(
- org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Link1.class,
- lnk2bldr.build());
+ .addAugmentation(lnk1bldr.build())
+ .addAugmentation(lnk2bldr.build());
LOG.info("Link id in the linkbldr {}", linkBuilder.getLinkId());
LOG.info("Link with oppo link {}", linkBuilder.augmentation(Link1.class));
- Network1Builder nwBldr1 = new Network1Builder().setLink(ImmutableList.of(linkBuilder.build()));
+ Link link = linkBuilder.build();
+ Network1Builder nwBldr1 = new Network1Builder().setLink(ImmutableMap.of(link.key(),link));
NetworkId nwId = new NetworkId(NetworkUtils.OVERLAY_NETWORK_ID);
+ Node node = nodeBldr.build();
NetworkBuilder nwBuilder = new NetworkBuilder()
.setNetworkId(nwId)
.withKey(new NetworkKey(nwId))
- .addAugmentation(Network1.class, nwBldr1.build())
- .setNode(ImmutableList.of(nodeBldr.build()));
+ .addAugmentation(nwBldr1.build())
+ .setNode(ImmutableMap.of(node.key(),node));
return nwBuilder;
}
public void onAlarmNotification(AlarmNotification notification) {
List<Nodes> allNodeList = new ArrayList<>();
InstanceIdentifier<ServiceNodelist> serviceNodeListIID = InstanceIdentifier.create(ServiceNodelist.class);
- try {
- ReadTransaction rtx = dataBroker.newReadOnlyTransaction();
+ try (ReadTransaction rtx = dataBroker.newReadOnlyTransaction()) {
Optional<ServiceNodelist> serviceListObject =
rtx.read(LogicalDatastoreType.OPERATIONAL, serviceNodeListIID).get();
if (serviceListObject.isPresent()) {
- for (Nodelist nodelist : serviceListObject.get().getNodelist()) {
- allNodeList.addAll(nodelist.getNodes());
+ for (Nodelist nodelist : serviceListObject.get().nonnullNodelist().values()) {
+ allNodeList.addAll(nodelist.nonnullNodes().values());
}
}
} catch (InterruptedException | ExecutionException ex) {
Optional<ServiceNodelist> serviceListObject =
rtx.read(LogicalDatastoreType.OPERATIONAL, serviceNodeListIID).get();
if (serviceListObject.isPresent()) {
- for (Nodelist nodelist : serviceListObject.get().getNodelist()) {
- allNodeList.addAll(nodelist.getNodes());
+ for (Nodelist nodelist : serviceListObject.get().nonnullNodelist().values()) {
+ allNodeList.addAll(nodelist.nonnullNodes().values());
}
}
} catch (InterruptedException | ExecutionException ex) {
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.networks.network.LinkKey;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.networks.network.node.TerminationPoint;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.networks.network.node.TerminationPointKey;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.networks.network.node.termination.point.SupportingTerminationPoint;
import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.NetconfNodeConnectionStatus;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.opendaylight.yangtools.yang.common.Uint32;
public class NetworkModelServiceImpl implements NetworkModelService {
private static final Logger LOG = LoggerFactory.getLogger(NetworkModelServiceImpl.class);
- private static final boolean CREATE_MISSING_PARENTS = true;
private NetworkTransactionService networkTransactionService;
private final R2RLinkDiscovery linkDiscovery;
.child(Node.class, clliNode.key())
.build();
LOG.info("creating node in {}", NetworkUtils.CLLI_NETWORK_ID);
- networkTransactionService.merge(LogicalDatastoreType.CONFIGURATION, iiClliNode, clliNode,
- CREATE_MISSING_PARENTS);
+ networkTransactionService.merge(LogicalDatastoreType.CONFIGURATION, iiClliNode, clliNode);
// node creation in openroadm-network
Node openroadmNetworkNode = OpenRoadmNetwork.createNode(nodeId, nodeInfo);
.build();
LOG.info("creating node in {}", NetworkUtils.UNDERLAY_NETWORK_ID);
networkTransactionService.merge(LogicalDatastoreType.CONFIGURATION, iiopenroadmNetworkNode,
- openroadmNetworkNode, CREATE_MISSING_PARENTS);
+ openroadmNetworkNode);
// nodes/links creation in openroadm-topology
TopologyShard topologyShard = OpenRoadmTopology.createTopologyShard(portMapping.getNode(nodeId));
.child(Node.class, openRoadmTopologyNode.key())
.build();
networkTransactionService.merge(LogicalDatastoreType.CONFIGURATION, iiOpenRoadmTopologyNode,
- openRoadmTopologyNode, CREATE_MISSING_PARENTS);
+ openRoadmTopologyNode);
}
for (Link openRoadmTopologyLink : topologyShard.getLinks()) {
LOG.info("creating link {} in {}", openRoadmTopologyLink.getLinkId().getValue(),
.child(Link.class, openRoadmTopologyLink.key())
.build();
networkTransactionService.merge(LogicalDatastoreType.CONFIGURATION, iiOpenRoadmTopologyLink,
- openRoadmTopologyLink, CREATE_MISSING_PARENTS);
+ openRoadmTopologyLink);
}
} else {
LOG.error("Unable to create openroadm-topology shard for node {}!", nodeId);
.child(Link.class, otnTopologyLink.key())
.build();
networkTransactionService.merge(LogicalDatastoreType.CONFIGURATION, iiOtnTopologyLink,
- otnTopologyLink, CREATE_MISSING_PARENTS);
+ otnTopologyLink);
}
}
if (otnTopologyShard.getTps() != null) {
for (TerminationPoint otnTopologyTp : otnTopologyShard.getTps()) {
LOG.info("updating otn nodes TP {} in otn-topology", otnTopologyTp.getTpId().getValue());
+ List<SupportingTerminationPoint> supportingTerminationPoint =
+ new ArrayList<>(otnTopologyTp.nonnullSupportingTerminationPoint().values());
InstanceIdentifier<TerminationPoint> iiOtnTopologyTp = InstanceIdentifier.builder(Networks.class)
.child(Network.class, new NetworkKey(new NetworkId(NetworkUtils.OTN_NETWORK_ID)))
- .child(Node.class, new NodeKey(otnTopologyTp.getSupportingTerminationPoint().get(0).getNodeRef()))
+ .child(Node.class, new NodeKey(supportingTerminationPoint.get(0).getNodeRef()))
.augmentation(Node1.class)
.child(TerminationPoint.class, new TerminationPointKey(otnTopologyTp.getTpId()))
.build();
.augmentation(Network1.class)
.child(Link.class, otnTopologyLink.key())
.build();
- networkTransactionService.merge(LogicalDatastoreType.CONFIGURATION, iiOtnTopologyLink, otnTopologyLink,
- CREATE_MISSING_PARENTS);
+ networkTransactionService.merge(LogicalDatastoreType.CONFIGURATION,
+ iiOtnTopologyLink, otnTopologyLink);
}
}
if (otnTopologyShard.getTps() != null) {
for (TerminationPoint otnTopologyTp : otnTopologyShard.getTps()) {
LOG.info("updating otn nodes TP {} in otn-topology", otnTopologyTp.getTpId().getValue());
+ List<SupportingTerminationPoint> supportingTerminationPoint =
+ new ArrayList<>(otnTopologyTp.nonnullSupportingTerminationPoint().values());
InstanceIdentifier<TerminationPoint> iiOtnTopologyTp = InstanceIdentifier.builder(Networks.class)
.child(Network.class, new NetworkKey(new NetworkId(NetworkUtils.OTN_NETWORK_ID)))
- .child(Node.class, new NodeKey(otnTopologyTp.getSupportingTerminationPoint().get(0).getNodeRef()))
+ .child(Node.class, new NodeKey(supportingTerminationPoint.get(0).getNodeRef()))
.augmentation(Node1.class)
.child(TerminationPoint.class, new TerminationPointKey(otnTopologyTp.getTpId()))
.build();
.child(Link.class, new LinkKey(new LinkId(otnTopologyLink.getLinkId().getValue())))
.build();
networkTransactionService.merge(LogicalDatastoreType.CONFIGURATION, iiOtnTopologyLink,
- otnTopologyLink, CREATE_MISSING_PARENTS);
+ otnTopologyLink);
}
}
if (otnTopologyShard.getTps() != null) {
for (TerminationPoint otnTopologyTp : otnTopologyShard.getTps()) {
LOG.info("updating otn nodes TP {} in otn-topology", otnTopologyTp.getTpId().getValue());
+ List<SupportingTerminationPoint> supportingTerminationPoint =
+ new ArrayList<>(otnTopologyTp.nonnullSupportingTerminationPoint().values());
InstanceIdentifier<TerminationPoint> iiOtnTopologyTp = InstanceIdentifier.builder(Networks.class)
.child(Network.class, new NetworkKey(new NetworkId(NetworkUtils.OTN_NETWORK_ID)))
- .child(Node.class, new NodeKey(otnTopologyTp.getSupportingTerminationPoint().get(0).getNodeRef()))
+ .child(Node.class, new NodeKey(supportingTerminationPoint.get(0).getNodeRef()))
.augmentation(Node1.class)
.child(TerminationPoint.class, new TerminationPointKey(
new TpId(otnTopologyTp.getTpId().getValue())))
}
List<Link> odu4links = null;
if (netw1Opt.isPresent() && netw1Opt.get().getLink() != null) {
- odu4links = netw1Opt.get().getLink().stream().filter(lk -> lk.getLinkId().getValue().startsWith("ODU4"))
+ odu4links = netw1Opt
+ .get()
+ .nonnullLink().values()
+ .stream().filter(lk -> lk.getLinkId().getValue().startsWith("ODU4"))
.collect(Collectors.toList());
}
List<Link> links = new ArrayList<>();
.child(Link.class, otnTopologyLink.key())
.build();
networkTransactionService.merge(LogicalDatastoreType.CONFIGURATION, iiOtnTopologyLink,
- otnTopologyLink, CREATE_MISSING_PARENTS);
+ otnTopologyLink);
}
} else {
LOG.error("Unable to create OTN topology shard for node {}!", nodeId);
Node1 clliAugmentation = new Node1Builder()
.setClli(nodeInfo.getNodeClli())
.build();
- nodeBldr.addAugmentation(Node1.class, clliAugmentation);
+ nodeBldr.addAugmentation(clliAugmentation);
} else {
LOG.warn("No CLLI configured in configuration of {}", deviceId);
}
package org.opendaylight.transportpce.networkmodel.util;
-import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableMap;
import org.opendaylight.transportpce.common.NetworkUtils;
import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200827.network.nodes.NodeInfo;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.rev181130.Node1;
import org.opendaylight.yang.gen.v1.http.org.openroadm.network.rev181130.Node1Builder;
import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev181130.OpenroadmNodeType;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.NetworkId;
return new NodeBuilder()
.setNodeId(new NodeId(nodeId))
.withKey(new NodeKey(new NodeId(nodeId)))
- .setSupportingNode(ImmutableList.of(supportingNode))
- .addAugmentation(Node1.class, node1Bldr.build())
- .addAugmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Node1.class,
- node2Bldr.build())
+ .setSupportingNode(ImmutableMap.of(supportingNode.key(),supportingNode))
+ .addAugmentation(node1Bldr.build())
+ .addAugmentation(node2Bldr.build())
.build();
}
}
package org.opendaylight.transportpce.networkmodel.util;
-import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableMap;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev181019.XpdrNodeTypes;
import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.types.rev181130.xpdr.odu.switching.pools.OduSwitchingPools;
import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.types.rev181130.xpdr.odu.switching.pools.OduSwitchingPoolsBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.types.rev181130.xpdr.odu.switching.pools.OduSwitchingPoolsKey;
import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.types.rev181130.xpdr.odu.switching.pools.odu.switching.pools.NonBlockingList;
import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.types.rev181130.xpdr.odu.switching.pools.odu.switching.pools.NonBlockingListBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.types.rev181130.xpdr.odu.switching.pools.odu.switching.pools.NonBlockingListKey;
import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev181130.OpenroadmLinkType;
import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev181130.OpenroadmNodeType;
import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev181130.OpenroadmTpType;
import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev181130.IfOCHOTU4ODU4;
import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev181130.SupportedIfCapability;
import org.opendaylight.yang.gen.v1.http.org.openroadm.switching.pool.types.rev181130.SwitchingPoolTypes;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.xponder.rev181130.xpdr.otn.tp.attributes.OdtuTpnPool;
import org.opendaylight.yang.gen.v1.http.org.openroadm.xponder.rev181130.xpdr.otn.tp.attributes.OdtuTpnPoolBuilder;
import org.opendaylight.yang.gen.v1.http.transportpce.topology.rev200129.OtnLinkType;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.NetworkId;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.networks.network.node.TerminationPointKey;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.networks.network.node.termination.point.SupportingTerminationPoint;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.networks.network.node.termination.point.SupportingTerminationPointBuilder;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.networks.network.node.termination.point.SupportingTerminationPointKey;
import org.opendaylight.yangtools.yang.common.Uint16;
import org.opendaylight.yangtools.yang.common.Uint32;
import org.slf4j.Logger;
}
LinkBuilder ietfLinkAZBldr = TopologyUtils.createLink(nodeATopo, nodeZTopo, tpA, tpZ, linkIdPrefix);
ietfLinkAZBldr
- .addAugmentation(org.opendaylight.yang.gen.v1.http.transportpce.topology.rev200129.Link1.class, tpceLink1)
- .addAugmentation(Link1.class, otnLink1)
+ .addAugmentation(tpceLink1)
+ .addAugmentation(otnLink1)
.addAugmentation(
- org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Link1.class,
new org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Link1Builder(
ietfLinkAZBldr.augmentation(
org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Link1.class))
// create link Z-A
LinkBuilder ietfLinkZABldr = TopologyUtils.createLink(nodeZTopo, nodeATopo, tpZ, tpA, linkIdPrefix);
ietfLinkZABldr
- .addAugmentation(org.opendaylight.yang.gen.v1.http.transportpce.topology.rev200129.Link1.class, tpceLink1)
- .addAugmentation(Link1.class, otnLink1)
+ .addAugmentation(tpceLink1)
+ .addAugmentation(otnLink1)
.addAugmentation(
- org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Link1.class,
new org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Link1Builder(
ietfLinkZABldr.augmentation(
org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Link1.class))
Link1Builder updatedLink1Bldr = new Link1Builder(link.augmentation(Link1.class))
.setAvailableBandwidth(Uint32.valueOf(availBw))
.setUsedBandwidth(Uint32.valueOf(usedBw));
- updatedLinkBldr.addAugmentation(Link1.class, updatedLink1Bldr.build());
+ updatedLinkBldr.addAugmentation(updatedLink1Bldr.build());
return updatedLinkBldr.build();
}
for (int i = 1; i <= NB_TRIB_PORTS; i++) {
tpnPool.add(Uint16.valueOf(i));
}
- xtpcaBldr.setOdtuTpnPool(ImmutableList.of(new OdtuTpnPoolBuilder().setOdtuType(ODTU4TsAllocated.class)
- .setTpnPool(tpnPool).build()));
+ OdtuTpnPool oduTpnPool = new OdtuTpnPoolBuilder().setOdtuType(ODTU4TsAllocated.class)
+ .setTpnPool(tpnPool).build();
+ xtpcaBldr.setOdtuTpnPool(ImmutableMap.of(oduTpnPool.key(),oduTpnPool));
} else {
xtpcaBldr.setTsPool(null);
- xtpcaBldr.setOdtuTpnPool(null);
+ xtpcaBldr.setOdtuTpnPool(ImmutableMap.of());
}
- return tpBldr.addAugmentation(TerminationPoint1.class,
- otnTp1Bldr.setXpdrTpPortConnectionAttributes(xtpcaBldr.build()).build()).build();
+ return tpBldr.addAugmentation(otnTp1Bldr.setXpdrTpPortConnectionAttributes(xtpcaBldr.build()).build()).build();
}
private static TerminationPoint updateNodeTpTsPool(TerminationPoint tp, String serviceRate, Short tribPortNb,
}
xtpcaBldr.setTsPool(tsPool);
List<Uint16> tpnPool;
- if (xtpcaBldr.getOdtuTpnPool().get(0).getTpnPool() != null) {
- tpnPool = new ArrayList<>(xtpcaBldr.getOdtuTpnPool().get(0).getTpnPool());
+ List<OdtuTpnPool> odtuTpnPoolValues = new ArrayList<>(xtpcaBldr.getOdtuTpnPool().values());
+ if (odtuTpnPoolValues.get(0).getTpnPool() != null) {
+ tpnPool = new ArrayList<>(odtuTpnPoolValues.get(0).getTpnPool());
if (isDeletion) {
tpnPool.add(Uint16.valueOf(tribPortNb));
} else {
} else {
tpnPool = new ArrayList<>();
}
- xtpcaBldr.setOdtuTpnPool(ImmutableList.of(new OdtuTpnPoolBuilder().setOdtuType(ODTU4TsAllocated.class)
- .setTpnPool(tpnPool).build()));
+ OdtuTpnPool odtuTpnPool = new OdtuTpnPoolBuilder().setOdtuType(ODTU4TsAllocated.class)
+ .setTpnPool(tpnPool).build();
+ xtpcaBldr.setOdtuTpnPool(ImmutableMap.of(odtuTpnPool.key(),odtuTpnPool));
- tpBldr.addAugmentation(TerminationPoint1.class,
- new TerminationPoint1Builder(tp.augmentation(TerminationPoint1.class))
+ tpBldr.addAugmentation(new TerminationPoint1Builder(tp.augmentation(TerminationPoint1.class))
.setXpdrTpPortConnectionAttributes(xtpcaBldr.build()).build());
return tpBldr.build();
}
private static Map<Integer, OtnTopoNode> convertPortMappingToOtnNodeList(Nodes mappingNode) {
- List<Mapping> networkMappings = mappingNode.getMapping().stream().filter(k -> k.getLogicalConnectionPoint()
+ List<Mapping> networkMappings = mappingNode.nonnullMapping().values()
+ .stream().filter(k -> k.getLogicalConnectionPoint()
.contains("NETWORK")).collect(Collectors.toList());
Map<Integer, OtnTopoNode> xpdrMap = new HashMap<>();
for (Mapping mapping : networkMappings) {
Integer xpdrNb = Integer.parseInt(mapping.getLogicalConnectionPoint().split("XPDR")[1].split("-")[0]);
if (!xpdrMap.containsKey(xpdrNb)) {
- List<Mapping> xpdrNetMaps = mappingNode.getMapping().stream().filter(k -> k.getLogicalConnectionPoint()
+ List<Mapping> xpdrNetMaps = mappingNode.nonnullMapping().values()
+ .stream().filter(k -> k.getLogicalConnectionPoint()
.contains("XPDR" + xpdrNb + NETWORK)).collect(Collectors.toList());
- List<Mapping> xpdrClMaps = mappingNode.getMapping().stream().filter(k -> k.getLogicalConnectionPoint()
+ List<Mapping> xpdrClMaps = mappingNode.nonnullMapping().values()
+ .stream().filter(k -> k.getLogicalConnectionPoint()
.contains("XPDR" + xpdrNb + CLIENT)).collect(Collectors.toList());
OtnTopoNode otnNode = null;
if (mapping.getXponderType() != null) {
new org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Node1Builder()
.setNodeType(OpenroadmNodeType.TPDR).build();
// create ietf node augmentation to add TP list
- List<TerminationPoint> tpList = new ArrayList<>();
+ Map<TerminationPointKey,TerminationPoint> tpMap = new HashMap<>();
// creation of tps
- createTP(tpList, node, OpenroadmTpType.XPONDERCLIENT, If100GE.class, false);
- createTP(tpList, node, OpenroadmTpType.XPONDERNETWORK, IfOCHOTU4ODU4.class, true);
+ createTP(tpMap, node, OpenroadmTpType.XPONDERCLIENT, If100GE.class, false);
+ createTP(tpMap, node, OpenroadmTpType.XPONDERNETWORK, IfOCHOTU4ODU4.class, true);
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.Node1 ietfNodeAug =
new org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.Node1Builder()
- .setTerminationPoint(tpList)
+ .setTerminationPoint(tpMap)
.build();
// return ietfNode
.setNodeId(new NodeId(node.getNodeId() + XPDR + node.getXpdrNb()))
.withKey(new NodeKey(new NodeId(node.getNodeId() + XPDR + node.getXpdrNb())))
.setSupportingNode(createSupportingNodes(node))
- .addAugmentation(Node1.class, otnNodeAug)
- .addAugmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Node1.class,
- ocnNodeAug)
- .addAugmentation(
- org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.Node1.class,
- ietfNodeAug)
+ .addAugmentation(otnNodeAug)
+ .addAugmentation(ocnNodeAug)
+ .addAugmentation(ietfNodeAug)
.build();
}
.setXpdrNumber(Uint16.valueOf(node.getXpdrNb()))
.build();
- List<NonBlockingList> nblList = new ArrayList<>();
+ Map<NonBlockingListKey, NonBlockingList> nbMap = new HashMap<>();
for (int i = 1; i <= node.getNbTpClient(); i++) {
List<TpId> tpList = new ArrayList<>();
TpId tpId = new TpId("XPDR" + node.getXpdrNb() + CLIENT + i);
.setAvailableInterconnectBandwidth(Uint32.valueOf(node.getNbTpNetwork() * 10L))
.setInterconnectBandwidthUnit(Uint32.valueOf(1000000000))
.build();
- nblList.add(nbl);
+ nbMap.put(nbl.key(),nbl);
}
OduSwitchingPools oduSwitchPool = new OduSwitchingPoolsBuilder()
.setSwitchingPoolNumber(Uint16.valueOf(1))
.setSwitchingPoolType(SwitchingPoolTypes.NonBlocking)
- .setNonBlockingList(nblList)
+ .setNonBlockingList(nbMap)
.build();
- List<OduSwitchingPools> oduSwitchPoolList = new ArrayList<>();
- oduSwitchPoolList.add(oduSwitchPool);
SwitchingPools switchingPools = new SwitchingPoolsBuilder()
- .setOduSwitchingPools(oduSwitchPoolList)
+ .setOduSwitchingPools(Map.of(oduSwitchPool.key(),oduSwitchPool))
.build();
Node1 otnNodeAug = new Node1Builder()
.setTpBandwidthSharing(tpBwSh)
.setNodeType(OpenroadmNodeType.MUXPDR).build();
// create ietf node augmentation to add TP list
- List<TerminationPoint> tpList = new ArrayList<>();
+ Map<TerminationPointKey, TerminationPoint> tpMap = new HashMap<>();
// creation of tps
- createTP(tpList, node, OpenroadmTpType.XPONDERCLIENT, If10GEODU2e.class, true);
- createTP(tpList, node, OpenroadmTpType.XPONDERNETWORK, IfOCHOTU4ODU4.class, true);
+ createTP(tpMap, node, OpenroadmTpType.XPONDERCLIENT, If10GEODU2e.class, true);
+ createTP(tpMap, node, OpenroadmTpType.XPONDERNETWORK, IfOCHOTU4ODU4.class, true);
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.Node1 ietfNodeAug =
new org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.Node1Builder()
- .setTerminationPoint(tpList)
+ .setTerminationPoint(tpMap)
.build();
// return ietfNode
.setNodeId(new NodeId(node.getNodeId() + XPDR + node.getXpdrNb()))
.withKey(new NodeKey(new NodeId(node.getNodeId() + XPDR + node.getXpdrNb())))
.setSupportingNode(createSupportingNodes(node))
- .addAugmentation(Node1.class, otnNodeAug)
- .addAugmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Node1.class,
- ocnNodeAug)
- .addAugmentation(
- org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.Node1.class,
- ietfNodeAug)
+ .addAugmentation(otnNodeAug)
+ .addAugmentation(ocnNodeAug)
+ .addAugmentation(ietfNodeAug)
.build();
}
tpId = new TpId("XPDR" + node.getXpdrNb() + NETWORK + i);
tpl.add(tpId);
}
- List<NonBlockingList> nblList = new ArrayList<>();
+ Map<NonBlockingListKey, NonBlockingList> nbMap = new HashMap<>();
NonBlockingList nbl = new NonBlockingListBuilder()
.setNblNumber(Uint16.valueOf(1))
.setTpList(tpl)
.build();
- nblList.add(nbl);
+ nbMap.put(nbl.key(),nbl);
OduSwitchingPools oduSwitchPool = new OduSwitchingPoolsBuilder()
.setSwitchingPoolNumber(Uint16.valueOf(1))
.setSwitchingPoolType(SwitchingPoolTypes.NonBlocking)
- .setNonBlockingList(nblList)
+ .setNonBlockingList(nbMap)
.build();
- List<OduSwitchingPools> oduSwitchPoolList = new ArrayList<>();
- oduSwitchPoolList.add(oduSwitchPool);
+ Map<OduSwitchingPoolsKey, OduSwitchingPools> oduSwitchPoolList = new HashMap<>();
+ oduSwitchPoolList.put(oduSwitchPool.key(),oduSwitchPool);
SwitchingPools switchingPools = new SwitchingPoolsBuilder()
.setOduSwitchingPools(oduSwitchPoolList)
.build();
.setNodeType(OpenroadmNodeType.SWITCH).build();
// create ietf node augmentation to add TP list
- List<TerminationPoint> tpList = new ArrayList<>();
+ Map<TerminationPointKey, TerminationPoint> tpMap = new HashMap<>();
// creation of tps
- createTP(tpList, node, OpenroadmTpType.XPONDERCLIENT, If100GEODU4.class, true);
- createTP(tpList, node, OpenroadmTpType.XPONDERNETWORK, IfOCHOTU4ODU4.class, true);
+ createTP(tpMap, node, OpenroadmTpType.XPONDERCLIENT, If100GEODU4.class, true);
+ createTP(tpMap, node, OpenroadmTpType.XPONDERNETWORK, IfOCHOTU4ODU4.class, true);
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.Node1 ietfNodeAug =
new org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.Node1Builder()
- .setTerminationPoint(tpList)
+ .setTerminationPoint(tpMap)
.build();
// return ietfNode
.setNodeId(new NodeId(node.getNodeId() + XPDR + node.getXpdrNb()))
.withKey(new NodeKey(new NodeId(node.getNodeId() + XPDR + node.getXpdrNb())))
.setSupportingNode(createSupportingNodes(node))
- .addAugmentation(Node1.class, otnNodeAug)
- .addAugmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Node1.class,
- ocnNodeAug)
- .addAugmentation(
- org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.Node1.class,
- ietfNodeAug)
+ .addAugmentation(otnNodeAug)
+ .addAugmentation(ocnNodeAug)
+ .addAugmentation(ietfNodeAug)
.build();
}
- private static void createTP(List<TerminationPoint> tpList, OtnTopoNode node, OpenroadmTpType tpType,
+ private static void createTP(Map<TerminationPointKey, TerminationPoint> tpMap,
+ OtnTopoNode node, OpenroadmTpType tpType,
Class<? extends SupportedIfCapability> ifCapType, boolean withRate) {
long nbTps = 0;
if (OpenroadmTpType.XPONDERCLIENT.equals(tpType)) {
SupportedInterfaceCapability supIfCapa = new SupportedInterfaceCapabilityBuilder()
.setIfCapType(ifCapType)
.build();
- List<SupportedInterfaceCapability> supIfCapaList = new ArrayList<>();
- supIfCapaList.add(supIfCapa);
TpSupportedInterfaces tpSupIf = new TpSupportedInterfacesBuilder()
- .setSupportedInterfaceCapability(supIfCapaList)
+ .setSupportedInterfaceCapability(Map.of(supIfCapa.key(),supIfCapa))
.build();
XpdrTpPortConnectionAttributesBuilder xtpcaBldr = new XpdrTpPortConnectionAttributesBuilder();
.setNodeRef(new NodeId(node.getNodeId() + XPDR + node.getXpdrNb()))
.setTpRef("XPDR" + node.getXpdrNb() + NETWORK + i)
.build();
- List<SupportingTerminationPoint> supportTpList = new ArrayList<>();
- supportTpList.add(stp);
- tpList.add(buildIetfTp(tpceTp1Bldr, otnTp1, tpType, tpId, supportTpList));
+ TerminationPoint ietfTp = buildIetfTp(tpceTp1Bldr, otnTp1, tpType, tpId, Map.of(stp.key(), stp));
+ tpMap.put(ietfTp.key(),ietfTp);
} else if (OpenroadmTpType.XPONDERCLIENT.equals(tpType)) {
TpId tpId = new TpId("XPDR" + node.getXpdrNb() + CLIENT + i);
if (node.getXpdrCliConnectionMap().get(tpId.getValue()) != null) {
tpceTp1Bldr.setAssociatedConnectionMapPort(node.getXpdrCliConnectionMap().get(tpId.getValue()));
}
- tpList.add(buildIetfTp(tpceTp1Bldr, otnTp1, tpType, tpId, null));
+ TerminationPoint ietfTp = buildIetfTp(tpceTp1Bldr, otnTp1, tpType, tpId, null);
+ tpMap.put(ietfTp.key(),ietfTp);
}
}
}
}
}
- private static List<SupportingNode> createSupportingNodes(OtnTopoNode node) {
+ private static Map<SupportingNodeKey,SupportingNode> createSupportingNodes(OtnTopoNode node) {
SupportingNode suppNode1 = new SupportingNodeBuilder()
.setNetworkRef(new NetworkId(NetworkUtils.UNDERLAY_NETWORK_ID))
.setNodeRef(new NodeId(node.getNodeId()))
.withKey(new SupportingNodeKey(new NetworkId(NetworkUtils.CLLI_NETWORK_ID),
new NodeId(node.getClli())))
.build();
- List<SupportingNode> suppNodeList = new ArrayList<>();
- suppNodeList.add(suppNode1);
- suppNodeList.add(suppNode2);
- suppNodeList.add(suppNode3);
- return suppNodeList;
+ Map<SupportingNodeKey,SupportingNode> suppNodeMap = new HashMap<>();
+ suppNodeMap.put(suppNode1.key(),suppNode1);
+ suppNodeMap.put(suppNode2.key(),suppNode2);
+ suppNodeMap.put(suppNode3.key(),suppNode3);
+ return suppNodeMap;
}
private static TerminationPoint buildIetfTp(
org.opendaylight.yang.gen.v1.http.transportpce.topology.rev200129.TerminationPoint1Builder tpceTp1Bldr,
TerminationPoint1 otnTp1, OpenroadmTpType tpType, TpId tpId,
- List<SupportingTerminationPoint> supportTpList) {
+ Map<SupportingTerminationPointKey, SupportingTerminationPoint> supportTpMap) {
TerminationPointBuilder ietfTpBldr = new TerminationPointBuilder();
if (tpceTp1Bldr.getAssociatedConnectionMapPort() != null) {
- ietfTpBldr.addAugmentation(
- org.opendaylight.yang.gen.v1.http.transportpce.topology.rev200129.TerminationPoint1.class,
- tpceTp1Bldr.build());
+ ietfTpBldr.addAugmentation(tpceTp1Bldr.build());
}
- if (supportTpList != null) {
- ietfTpBldr.setSupportingTerminationPoint(supportTpList);
+ if (supportTpMap != null) {
+ ietfTpBldr.setSupportingTerminationPoint(supportTpMap);
}
org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.TerminationPoint1 ocnTp =
new org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.TerminationPoint1Builder()
ietfTpBldr.setTpId(tpId)
.withKey(new TerminationPointKey(tpId))
- .addAugmentation(TerminationPoint1.class, otnTp1)
- .addAugmentation(
- org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.TerminationPoint1.class,
- ocnTp);
+ .addAugmentation(otnTp1)
+ .addAugmentation(ocnTp);
return ietfTpBldr.build();
}
}
// transform flat mapping list to per degree and per srg mapping lists
Map<String, List<Mapping>> mapDeg = new HashMap<>();
Map<String, List<Mapping>> mapSrg = new HashMap<>();
- List<Mapping> mappingList = new ArrayList<>(mappingNode.getMapping());
+ List<Mapping> mappingList = new ArrayList<>(mappingNode.nonnullMapping().values());
mappingList.sort(Comparator.comparing(Mapping::getLogicalConnectionPoint));
List<String> nodeShardList = new ArrayList<>();
return new TopologyShard(nodes, links);
} else if (NodeTypes.Xpdr.getIntValue() == mappingNode.getNodeInfo().getNodeType().getIntValue()) {
// Check if node is Xpdr is a Transponder
- List<Mapping> networkMappings = mappingNode.getMapping().stream().filter(k -> k.getLogicalConnectionPoint()
+ List<Mapping> networkMappings = mappingNode.nonnullMapping().values()
+ .stream().filter(k -> k.getLogicalConnectionPoint()
.contains("NETWORK")).collect(Collectors.toList());
List<Integer> tpdrList = new ArrayList<>();
for (Mapping mapping : networkMappings) {
Integer xpdrNb = Integer.parseInt(mapping.getLogicalConnectionPoint().split("XPDR")[1].split("-")[0]);
if (!tpdrList.contains(xpdrNb)) {
tpdrList.add(xpdrNb);
- extractedMappings = mappingNode.getMapping().stream().filter(lcp -> lcp
+ extractedMappings = mappingNode.nonnullMapping().values().stream().filter(lcp -> lcp
.getLogicalConnectionPoint().contains("XPDR" + xpdrNb)).collect(Collectors.toList());
NodeBuilder ietfNode;
if (mapping.getXponderType() == null
String nodeIdtopo = new StringBuilder().append(nodeId).append("-XPDR").append(xpdrNb).toString();
ietfNodeBldr.setNodeId(new NodeId(nodeIdtopo))
.withKey((new NodeKey(new NodeId(nodeIdtopo))))
- .addAugmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130
- .Node1.class, ocnNode1);
+ .addAugmentation(ocnNode1);
- // Create tp-list
- List<TerminationPoint> tpList = new ArrayList<>();
+ // Create tp-map
+ Map<TerminationPointKey, TerminationPoint> tpMap = new HashMap<>();
TerminationPointBuilder ietfTpBldr;
for (Mapping m : mappings) {
if (!isOtn) {
new org.opendaylight.yang.gen.v1.http.transportpce.topology.rev200129
.TerminationPoint1Builder().setAssociatedConnectionMapPort(m.getConnectionMapLcp()).build();
ietfTpBldr
- .addAugmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.common.network
- .rev181130.TerminationPoint1.class, ocnTp1Bldr.build())
- .addAugmentation(org.opendaylight.yang.gen.v1.http.transportpce.topology.rev200129
- .TerminationPoint1.class, tpceTp1);
- tpList.add(ietfTpBldr.build());
+ .addAugmentation(ocnTp1Bldr.build())
+ .addAugmentation(tpceTp1);
+ TerminationPoint ietfTp = ietfTpBldr.build();
+ tpMap.put(ietfTp.key(),ietfTp);
} else if (m.getPortQual().equals("xpdr-client")) {
ocnTp1Bldr.setTpType(OpenroadmTpType.XPONDERCLIENT);
org.opendaylight.yang.gen.v1.http.transportpce.topology.rev200129.TerminationPoint1 tpceTp1 =
new org.opendaylight.yang.gen.v1.http.transportpce.topology.rev200129
.TerminationPoint1Builder().setAssociatedConnectionMapPort(m.getConnectionMapLcp()).build();
ietfTpBldr
- .addAugmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130
- .TerminationPoint1.class, ocnTp1Bldr.build())
- .addAugmentation(org.opendaylight.yang.gen.v1.http.transportpce.topology.rev200129
- .TerminationPoint1.class, tpceTp1);
- tpList.add(ietfTpBldr.build());
+ .addAugmentation(ocnTp1Bldr.build())
+ .addAugmentation(tpceTp1);
+ TerminationPoint ietfTp = ietfTpBldr.build();
+ tpMap.put(ietfTp.key(),ietfTp);
}
} else {
if (m.getPortQual().equals("xpdr-network") || m.getPortQual().equals("switch-network")) {
.TerminationPoint1Builder ocnTp1Bldr = new org.opendaylight.yang.gen.v1.http.org.openroadm
.common.network.rev181130.TerminationPoint1Builder().setTpType(OpenroadmTpType.XPONDERNETWORK);
ietfTpBldr
- .addAugmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.common.network
- .rev181130.TerminationPoint1.class, ocnTp1Bldr.build());
- tpList.add(ietfTpBldr.build());
+ .addAugmentation(ocnTp1Bldr.build());
+ TerminationPoint ietfTp = ietfTpBldr.build();
+ tpMap.put(ietfTp.key(),ietfTp);
}
}
}
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226
.Node1Builder ietfNode1 = new org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology
.rev180226.Node1Builder()
- .setTerminationPoint(tpList);
- ietfNodeBldr.addAugmentation(
- org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.Node1.class,
- ietfNode1.build());
+ .setTerminationPoint(tpMap);
+ ietfNodeBldr.addAugmentation(ietfNode1.build());
return ietfNodeBldr;
}
private static NodeBuilder createDegree(String degNb, List<Mapping> degListMap, String nodeId, String clli) {
// Create tp-list
- List<TerminationPoint> tpList = new ArrayList<>();
+ Map<TerminationPointKey,TerminationPoint> tpMap = new HashMap<>();
TerminationPointBuilder ietfTpBldr;
for (Mapping m : degListMap) {
ietfTpBldr = createTpBldr(m.getLogicalConnectionPoint());
default:
LOG.error("impossible to set tp-type to {}", m.getLogicalConnectionPoint());
}
- ietfTpBldr.addAugmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130
- .TerminationPoint1.class, ocnTp1Bldr.build());
- tpList.add(ietfTpBldr.build());
+ ietfTpBldr.addAugmentation(ocnTp1Bldr.build());
+ TerminationPoint ietfTp = ietfTpBldr.build();
+ tpMap.put(ietfTp.key(),ietfTp);
}
// Add CTP to tp-list
ietfTpBldr = createTpBldr(degNb + "-CTP-TXRX");
org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.TerminationPoint1 ocnTp1 =
new org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.TerminationPoint1Builder()
.setTpType(OpenroadmTpType.DEGREETXRXCTP).build();
- ietfTpBldr.addAugmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130
- .TerminationPoint1.class, ocnTp1);
- tpList.add(ietfTpBldr.build());
+ ietfTpBldr.addAugmentation(ocnTp1);
+ TerminationPoint ietfTp = ietfTpBldr.build();
+ tpMap.put(ietfTp.key(),ietfTp);
// set degree-attributes
DegreeAttributes degAtt = new DegreeAttributesBuilder()
.setDegreeNumber(Uint16.valueOf(degNb.split("DEG")[1]))
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226
.Node1Builder ietfNode1 = new org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology
.rev180226.Node1Builder()
- .setTerminationPoint(tpList);
+ .setTerminationPoint(tpMap);
// set node-id
String nodeIdtopo = new StringBuilder().append(nodeId).append("-").append(degNb).toString();
Node1 ontNode1 = new Node1Builder().setDegreeAttributes(degAtt).build();
return createTopoLayerNode(nodeId, clli)
.setNodeId(new NodeId(nodeIdtopo))
.withKey((new NodeKey(new NodeId(nodeIdtopo))))
- .addAugmentation(Node1.class, ontNode1)
- .addAugmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130
- .Node1.class, ocnNode1)
- .addAugmentation(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology
- .rev180226.Node1.class,
- ietfNode1.build());
+ .addAugmentation(ontNode1)
+ .addAugmentation(ocnNode1)
+ .addAugmentation(ietfNode1.build());
}
private static NodeBuilder createSrg(String srgNb, List<Mapping> srgListMap, String nodeId, String clli) {
// Create tp-list
- List<TerminationPoint> tpList = new ArrayList<>();
+ Map<TerminationPointKey,TerminationPoint> tpMap = new HashMap<>();
TerminationPointBuilder ietfTpBldr;
for (Mapping m : srgListMap) {
ietfTpBldr = createTpBldr(m.getLogicalConnectionPoint());
default:
LOG.error("impossible to set tp-type to {}", m.getLogicalConnectionPoint());
}
- ietfTpBldr.addAugmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130
- .TerminationPoint1.class, ocnTp1Bldr.build());
- tpList.add(ietfTpBldr.build());
+ ietfTpBldr.addAugmentation(ocnTp1Bldr.build());
+ TerminationPoint ietfTp = ietfTpBldr.build();
+ tpMap.put(ietfTp.key(),ietfTp);
}
// Add CP to tp-list
ietfTpBldr = createTpBldr(srgNb + "-CP-TXRX");
org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130
.TerminationPoint1 ocnTp1 = new org.opendaylight.yang.gen.v1.http.org.openroadm.common.network
.rev181130.TerminationPoint1Builder().setTpType(OpenroadmTpType.SRGTXRXCP).build();
- ietfTpBldr.addAugmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130
- .TerminationPoint1.class, ocnTp1);
- tpList.add(ietfTpBldr.build());
+ ietfTpBldr.addAugmentation(ocnTp1);
+ TerminationPoint ietfTp = ietfTpBldr.build();
+ tpMap.put(ietfTp.key(),ietfTp);
// Create openroadm-common-network augmentation to set node type to SRG
org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Node1 ocnNode1 =
new org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Node1Builder()
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226
.Node1Builder ietfNode1 = new org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology
.rev180226.Node1Builder()
- .setTerminationPoint(tpList);
+ .setTerminationPoint(tpMap);
// Create ietf node setting supporting-node data
String nodeIdtopo = new StringBuilder().append(nodeId).append("-").append(srgNb).toString();
return createTopoLayerNode(nodeId, clli)
.setNodeId(new NodeId(nodeIdtopo))
.withKey((new NodeKey(new NodeId(nodeIdtopo))))
- .addAugmentation(Node1.class, ontNode1)
- .addAugmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130
- .Node1.class, ocnNode1)
- .addAugmentation(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226
- .Node1.class, ietfNode1.build());
+ .addAugmentation(ontNode1)
+ .addAugmentation(ocnNode1)
+ .addAugmentation(ietfNode1.build());
}
private static NodeBuilder createTopoLayerNode(String nodeId, String clli) {
.withKey(new SupportingNodeKey(new NetworkId(NetworkUtils.CLLI_NETWORK_ID), new NodeId(clli)))
.setNetworkRef(new NetworkId(NetworkUtils.CLLI_NETWORK_ID))
.setNodeRef(new NodeId(clli));
- ArrayList<SupportingNode> supportlist = new ArrayList<>();
- supportlist.add(support1bldr.build());
- supportlist.add(support2bldr.build());
+ Map<SupportingNodeKey, SupportingNode> supportlist = new HashMap<>();
+ SupportingNode support1 = support1bldr.build();
+ supportlist.put(support1.key(),support1);
+ SupportingNode support2 = support2bldr.build();
+ supportlist.put(support2.key(),support2);
return new NodeBuilder().setSupportingNode(supportlist);
}
destNode = nodes.get(j).getNodeId().getValue();
// A to Z direction
srcTp = nodes.get(i).augmentation(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf
- .network.topology.rev180226.Node1.class).getTerminationPoint().stream()
+ .network.topology.rev180226.Node1.class).nonnullTerminationPoint().values().stream()
.filter(tp -> tp.getTpId().getValue().contains("CP") || tp.getTpId().getValue().contains("CTP"))
.findFirst().get().getTpId().getValue();
destTp = nodes.get(j).augmentation(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf
- .network.topology.rev180226.Node1.class).getTerminationPoint().stream()
+ .network.topology.rev180226.Node1.class).nonnullTerminationPoint().values().stream()
.filter(tp -> tp.getTpId().getValue().contains("CP") || tp.getTpId().getValue().contains("CTP"))
.findFirst().get().getTpId().getValue();
Link1Builder ocnAzLinkBldr = new Link1Builder();
LinkBuilder ietfAzLinkBldr = createLink(srcNode, destNode, srcTp, destTp);
LinkBuilder ietfZaLinkBldr = createLink(destNode, srcNode, destTp, srcTp);
ocnAzLinkBldr.setOppositeLink(ietfZaLinkBldr.getLinkId());
- ietfAzLinkBldr.addAugmentation(Link1.class, ocnAzLinkBldr.build());
+ ietfAzLinkBldr.addAugmentation(ocnAzLinkBldr.build());
ocnZaLinkBldr.setOppositeLink(ietfAzLinkBldr.getLinkId());
- ietfZaLinkBldr.addAugmentation(Link1.class, ocnZaLinkBldr.build());
+ ietfZaLinkBldr.addAugmentation(ocnZaLinkBldr.build());
links.add(ietfAzLinkBldr.build());
links.add(ietfZaLinkBldr.build());
}
.Link1.class))
.setAdministrativeState(State.OutOfService);
linkBuilder.removeAugmentation(Link1.class)
- .addAugmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130
- .Link1.class,link1Builder.build());
+ .addAugmentation(link1Builder.build());
networkTransactionService.merge(LogicalDatastoreType.CONFIGURATION, linkIID.build(),
linkBuilder.build());
networkTransactionService.commit().get(1, TimeUnit.SECONDS);
}
}
- private static List<AvailableWavelengths> create96AvalWaveDegree() {
- List<AvailableWavelengths> waveList = new ArrayList<>();
+ private static Map<AvailableWavelengthsKey,AvailableWavelengths> create96AvalWaveDegree() {
+ Map<AvailableWavelengthsKey,AvailableWavelengths> waveMap = new HashMap<>();
for (int i = 1; i < 97; i++) {
AvailableWavelengthsBuilder avalBldr = new AvailableWavelengthsBuilder()
.setIndex(Uint32.valueOf(i))
.withKey(new AvailableWavelengthsKey(Uint32.valueOf(i)));
- waveList.add(avalBldr.build());
+ AvailableWavelengths aval = avalBldr.build();
+ waveMap.put(aval.key(),aval);
}
- return waveList;
+ return waveMap;
}
- private static List<org.opendaylight.yang.gen.v1.http.org.openroadm.srg.rev181130.srg.node
- .attributes.AvailableWavelengths> create96AvalWaveSrg() {
+ private static Map<org.opendaylight.yang.gen.v1.http.org.openroadm.srg.rev181130.srg.node.attributes
+ .AvailableWavelengthsKey, org.opendaylight.yang.gen.v1.http.org.openroadm.srg.rev181130.srg.node.attributes
+ .AvailableWavelengths> create96AvalWaveSrg() {
- List<org.opendaylight.yang.gen.v1.http.org.openroadm.srg.rev181130.srg.node.attributes
- .AvailableWavelengths> waveList = new ArrayList<>();
+ Map<org.opendaylight.yang.gen.v1.http.org.openroadm.srg.rev181130.srg.node.attributes
+ .AvailableWavelengthsKey, org.opendaylight.yang.gen.v1.http.org.openroadm.srg.rev181130.srg.node.attributes
+ .AvailableWavelengths> waveMap = new HashMap<>();
for (int i = 1; i < 97; i++) {
org.opendaylight.yang.gen.v1.http.org.openroadm.srg.rev181130.srg.node.attributes
- .AvailableWavelengthsBuilder avalBldr = new org.opendaylight.yang.gen.v1.http.org.openroadm.srg
- .rev181130.srg.node.attributes.AvailableWavelengthsBuilder()
- .setIndex(Uint32.valueOf(i))
- .withKey(new org.opendaylight.yang.gen.v1.http.org.openroadm.srg.rev181130.srg.node.attributes
- .AvailableWavelengthsKey(Uint32.valueOf(i)));
- waveList.add(avalBldr.build());
+ .AvailableWavelengthsBuilder avalBldr =
+ new org.opendaylight.yang.gen.v1.http.org.openroadm.srg.rev181130.srg.node.attributes
+ .AvailableWavelengthsBuilder()
+ .setIndex(Uint32.valueOf(i))
+ .withKey(new org.opendaylight.yang.gen.v1.http.org.openroadm.srg.rev181130.srg.node.attributes
+ .AvailableWavelengthsKey(Uint32.valueOf(i)));
+ org.opendaylight.yang.gen.v1.http.org.openroadm.srg.rev181130.srg.node.attributes.AvailableWavelengths
+ aval = avalBldr.build();
+ waveMap.put(aval.key(),aval);
}
- return waveList;
+ return waveMap;
}
}
.setSource(srcNodeBldr.build())
.setLinkId(linkId)
.withKey(new LinkKey(linkId))
- .addAugmentation(Link1.class,lnk1);
+ .addAugmentation(lnk1);
return lnkBldr;
}
LinkBuilder linkBuilder = new LinkBuilder(link.get());
Link1Builder link1Builder = new Link1Builder(linkBuilder.augmentation(Link1.class));
linkBuilder.removeAugmentation(Link1.class);
- linkBuilder.addAugmentation(Link1.class,link1Builder.build());
+ linkBuilder.addAugmentation(link1Builder.build());
networkTransactionService.merge(LogicalDatastoreType.CONFIGURATION, linkIID.build(),
linkBuilder.build());
networkTransactionService.commit().get(1, TimeUnit.SECONDS);
import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
import org.opendaylight.transportpce.common.NetworkUtils;
import org.opendaylight.transportpce.common.network.NetworkTransactionService;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.clli.network.rev181130.NetworkTypes1;
import org.opendaylight.yang.gen.v1.http.org.openroadm.clli.network.rev181130.NetworkTypes1Builder;
import org.opendaylight.yang.gen.v1.http.org.openroadm.clli.network.rev181130.networks.network.network.types.ClliNetworkBuilder;
import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.networks.network.network.types.OpenroadmCommonNetworkBuilder;
Augmentation<NetworkTypes> ordClli = new NetworkTypes1Builder()
.setClliNetwork(new ClliNetworkBuilder().build())
.build();
- networkTypesBldr.addAugmentation(NetworkTypes1.class, ordClli);
+ networkTypesBldr.addAugmentation(ordClli);
break;
case NetworkUtils.UNDERLAY_NETWORK_ID:
case NetworkUtils.OVERLAY_NETWORK_ID:
.network.rev181130.NetworkTypes1Builder()
.setOpenroadmCommonNetwork(new OpenroadmCommonNetworkBuilder().build())
.build();
- networkTypesBldr.addAugmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.common.network
- .rev181130.NetworkTypes1.class, ordTopology);
+ networkTypesBldr.addAugmentation(ordTopology);
break;
default:
LOG.error("Unknown network type");
.build())
.build();
final NodeBuilder nn = new NodeBuilder().setNodeId(new NodeId(nodeId))
- .addAugmentation(NetconfNode.class, netconfNode);
+ .addAugmentation(netconfNode);
return nn.build();
}
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;
+import java.util.ArrayList;
+import java.util.List;
import org.junit.Ignore;
import org.junit.Test;
import org.opendaylight.transportpce.common.NetworkUtils;
private void supportingNodeTest(String clli, Node createdNode) {
SupportingNode supportingNode = computeSupportingNode(clli);
assertEquals(1, createdNode.getSupportingNode().size());
- assertEquals(supportingNode, createdNode.getSupportingNode().get(0));
+ List<SupportingNode> supportingNodeList = new ArrayList<>(createdNode.nonnullSupportingNode().values());
+ assertEquals(supportingNode, supportingNodeList.get(0));
}
}
\ No newline at end of file
import java.io.IOException;
import java.io.Reader;
import java.util.ArrayList;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
import java.util.stream.Collectors;
import org.junit.Test;
import org.opendaylight.transportpce.networkmodel.dto.TopologyShard;
import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200827.network.NodesBuilder;
import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200827.network.nodes.Mapping;
import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200827.network.nodes.MappingBuilder;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200827.network.nodes.MappingKey;
import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200827.network.nodes.NodeInfoBuilder;
import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Node1;
import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev181019.NodeTypes;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.types.rev181130.xpdr.odu.switching.pools.OduSwitchingPools;
import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.types.rev181130.xpdr.odu.switching.pools.odu.switching.pools.NonBlockingList;
import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev181130.OpenroadmLinkType;
import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev181130.OpenroadmNodeType;
JsonReader portMappingReader = new JsonReader(reader)) {
Network portMapping = (Network) JsonUtil.getInstance().getDataObjectFromJson(portMappingReader,
QName.create("http://org/opendaylight/transportpce/portmapping", "2020-08-27", "network"));
- for (Nodes nodes : portMapping.getNodes()) {
+ for (Nodes nodes : portMapping.nonnullNodes().values()) {
if (nodes.getNodeId().equals("XPDR-A1")) {
this.portMappingTpdr = nodes;
} else {
this.portMappingSpdr = nodes;
}
}
- List<Mapping> mappingList = new ArrayList<>();
- mappingList.add(new MappingBuilder().setLogicalConnectionPoint("XPDR0-NETWORK0").build());
+ Map<MappingKey,Mapping> mappingList = new HashMap<>();
+ Mapping mapping = new MappingBuilder().setLogicalConnectionPoint("XPDR0-NETWORK0").build();
+ mappingList.put(mapping.key(),mapping);
this.portMappingBad = new NodesBuilder()
.setNodeId(this.portMappingTpdr.getNodeId())
.setNodeInfo(new NodeInfoBuilder(this.portMappingTpdr.getNodeInfo()).setNodeType(NodeTypes.Ila).build())
Node node = topologyShard.getNodes().get(0);
assertEquals("XPDR-A1-XPDR1", node.getNodeId().getValue());
// tests supporting nodes
- List<SupportingNode> supportingNodes = node.getSupportingNode().stream()
+ List<SupportingNode> supportingNodes = node.nonnullSupportingNode().values().stream()
.sorted((sn1, sn2) -> sn1.getNetworkRef().getValue().compareTo(sn2.getNetworkRef().getValue()))
.collect(Collectors.toList());
assertEquals("Should contain 3 supporting nodes", 3, supportingNodes.size());
//tests list of TPs
List<TerminationPoint> tps = node.augmentation(
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.Node1.class)
- .getTerminationPoint().stream()
+ .nonnullTerminationPoint().values().stream()
.sorted((tp1, tp2) -> tp1.getTpId().getValue().compareTo(tp2.getTpId().getValue()))
.collect(Collectors.toList());
assertEquals("node should contain 4 TPs", 4, tps.size());
tps.get(0).augmentation(
org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130
.TerminationPoint1.class)
- .getTpSupportedInterfaces().getSupportedInterfaceCapability()
- .get(0).getIfCapType().getName());
+ .getTpSupportedInterfaces().nonnullSupportedInterfaceCapability()
+ .values().stream().findFirst()
+ .get().getIfCapType().getName());
assertEquals(
"first TP must be of type client",
OpenroadmTpType.XPONDERCLIENT,
.TerminationPoint1.class)
.getTpSupportedInterfaces()
.getSupportedInterfaceCapability()
- .get(0)
+ .values().stream().findFirst()
+ .get()
.getIfCapType()
.getName());
assertEquals(
org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130
.TerminationPoint1.class)
.getXpdrTpPortConnectionAttributes()
- .getOdtuTpnPool().get(0)
+ .getOdtuTpnPool().values().stream().findFirst()
+ .get()
.getTpnPool());
assertEquals(
"Tpn pool list should be full, with 80 trib ports",
org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130
.TerminationPoint1.class)
.getXpdrTpPortConnectionAttributes()
- .getOdtuTpnPool().get(0)
+ .getOdtuTpnPool().values().stream().findFirst()
+ .get()
.getTpnPool()
.size());
}
org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130
.TerminationPoint1.class)
.getXpdrTpPortConnectionAttributes()
- .getOdtuTpnPool().get(0)
+ .getOdtuTpnPool().values().stream().findFirst()
+ .get()
.getTpnPool()
.size());
assertThat(
org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130
.TerminationPoint1.class)
.getXpdrTpPortConnectionAttributes()
- .getOdtuTpnPool().get(0)
+ .getOdtuTpnPool().values().stream().findFirst()
+ .get()
.getTpnPool(),
not(hasItem(Uint16.valueOf(1))));
org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130
.TerminationPoint1.class)
.getXpdrTpPortConnectionAttributes()
- .getOdtuTpnPool().get(0)
+ .getOdtuTpnPool().values().stream().findFirst()
+ .get()
.getTpnPool()
.size());
assertThat(
org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130
.TerminationPoint1.class)
.getXpdrTpPortConnectionAttributes()
- .getOdtuTpnPool().get(0)
+ .getOdtuTpnPool().values().stream().findFirst()
+ .get()
.getTpnPool(),
hasItem(Uint16.valueOf(1)));
}
org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130
.TerminationPoint1.class)
.getXpdrTpPortConnectionAttributes()
- .getOdtuTpnPool().get(0)
+ .getOdtuTpnPool().values().stream().findFirst()
+ .get()
.getTpnPool()
.size());
assertThat(
org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130
.TerminationPoint1.class)
.getXpdrTpPortConnectionAttributes()
- .getOdtuTpnPool().get(0)
+ .getOdtuTpnPool().values().stream().findFirst()
+ .get()
.getTpnPool(),
not(hasItem(Uint16.valueOf(1))));
org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130
.TerminationPoint1.class)
.getXpdrTpPortConnectionAttributes()
- .getOdtuTpnPool().get(0)
+ .getOdtuTpnPool().values().stream().findFirst()
+ .get()
.getTpnPool()
.size());
assertThat(
org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130
.TerminationPoint1.class)
.getXpdrTpPortConnectionAttributes()
- .getOdtuTpnPool().get(0)
+ .getOdtuTpnPool().values().stream().findFirst()
+ .get()
.getTpnPool(),
hasItem(Uint16.valueOf(1)));
}
assertEquals(OpenroadmNodeType.SWITCH, node.augmentation(Node1.class).getNodeType());
}
// tests supporting nodes
- List<SupportingNode> supportingNodes = node.getSupportingNode().stream()
+ List<SupportingNode> supportingNodes = node.nonnullSupportingNode().values().stream()
.sorted((sn1, sn2) -> sn1.getNetworkRef().getValue().compareTo(sn2.getNetworkRef().getValue()))
.collect(Collectors.toList());
assertEquals("Should contain 3 supporting nodes", 3, supportingNodes.size());
.getSwitchingPools());
List<TerminationPoint> tpList = node.augmentation(
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.Node1.class)
- .getTerminationPoint().stream()
+ .nonnullTerminationPoint().values().stream()
.sorted((tp1, tp2) -> tp1.getTpId().getValue().compareTo(tp2.getTpId().getValue()))
.collect(Collectors.toList());
checkSpdrTpList(xpdrNb, tpList);
}
private void checkSpdrSwitchingPools(Uint16 xpdrNb, SwitchingPools sp) {
+ List<OduSwitchingPools> oduSwitchingPools = new ArrayList<>(sp.nonnullOduSwitchingPools().values());
assertEquals(
"switching-pools augmentation should contain a single odu-switching-pools",
1,
- sp.getOduSwitchingPools().size());
+ oduSwitchingPools.size());
assertEquals(
"switching-pool-number should be 1",
Uint16.valueOf(1),
- sp.getOduSwitchingPools().get(0).getSwitchingPoolNumber());
+ oduSwitchingPools.get(0).getSwitchingPoolNumber());
assertEquals(
"switching-pool-type should be non-blocking",
"non-blocking",
- sp.getOduSwitchingPools().get(0).getSwitchingPoolType().getName());
+ oduSwitchingPools.get(0).getSwitchingPoolType().getName());
+
+ List<NonBlockingList> nonBlockingList =
+ new ArrayList<>(oduSwitchingPools.get(0).nonnullNonBlockingList().values());
if (xpdrNb.equals(Uint16.valueOf(1))) {
assertEquals(
"Mux should contain 4 non blocking list",
4,
- sp.getOduSwitchingPools().get(0).getNonBlockingList().size());
+ nonBlockingList.size());
assertEquals(
Uint16.valueOf(1),
- sp.getOduSwitchingPools().get(0).getNonBlockingList().get(0).getNblNumber());
- List<NonBlockingList> nblList = sp.getOduSwitchingPools().get(0).getNonBlockingList().stream()
+ nonBlockingList.get(0).getNblNumber());
+ List<NonBlockingList> nblList = oduSwitchingPools.get(0).nonnullNonBlockingList().values().stream()
.sorted((nbl1, nbl2) -> nbl1.getNblNumber().compareTo(nbl2.getNblNumber()))
.collect(Collectors.toList());
for (NonBlockingList nbl : nblList) {
assertEquals(
"Switch should contain a single non blocking list",
1,
- sp.getOduSwitchingPools().get(0).getNonBlockingList().size());
+ nonBlockingList.size());
assertEquals(
Uint16.valueOf(1),
- sp.getOduSwitchingPools().get(0).getNonBlockingList().get(0).getNblNumber());
+ nonBlockingList.get(0).getNblNumber());
assertThat(
"for a 100G Switch, non blocking list should contain 8 entries (4 clients + 4 network ports)",
- sp.getOduSwitchingPools().get(0).getNonBlockingList().get(0).getTpList(),
+ nonBlockingList.get(0).getTpList(),
hasSize(8));
assertThat(
- sp.getOduSwitchingPools().get(0).getNonBlockingList().get(0).getTpList(),
+ nonBlockingList.get(0).getTpList(),
containsInAnyOrder(
new TpId("XPDR2-CLIENT1"), new TpId("XPDR2-NETWORK1"), new TpId("XPDR2-CLIENT2"),
new TpId("XPDR2-NETWORK2"), new TpId("XPDR2-CLIENT3"), new TpId("XPDR2-NETWORK3"),
org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130
.TerminationPoint1.class)
.getTpSupportedInterfaces()
- .getSupportedInterfaceCapability().get(0)
+ .getSupportedInterfaceCapability().values().stream().findFirst()
+ .get()
.getIfCapType());
assertEquals(
"the rate should be ODU4",
.getRate());
assertEquals(
"openroadm-topology",
- tpList.get(4).getSupportingTerminationPoint().get(0).getNetworkRef().getValue());
+ tpList.get(4).getSupportingTerminationPoint().values().stream().findFirst()
+ .get().getNetworkRef().getValue());
assertEquals(
"SPDR-SA1-XPDR" + xpdrNb,
- tpList.get(4).getSupportingTerminationPoint().get(0).getNodeRef().getValue());
+ tpList.get(4).getSupportingTerminationPoint().values().stream().findFirst()
+ .get().getNodeRef().getValue());
assertEquals(
"XPDR" + xpdrNb + "-NETWORK1",
- tpList.get(4).getSupportingTerminationPoint().get(0).getTpRef());
+ tpList.get(4).getSupportingTerminationPoint().values().stream().findFirst()
+ .get().getTpRef());
if (xpdrNb.equals(Uint16.valueOf(1))) {
assertEquals("should contain 5 TPs", 5, tpList.size());
assertEquals("XPDR1-CLIENT1", tpList.get(0).getTpId().getValue());
org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130
.TerminationPoint1.class)
.getTpSupportedInterfaces()
- .getSupportedInterfaceCapability().get(0)
+ .getSupportedInterfaceCapability().values().stream().findFirst()
+ .get()
.getIfCapType());
assertEquals(
"the rate should be ODU2e",
org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130
.TerminationPoint1.class)
.getTpSupportedInterfaces()
- .getSupportedInterfaceCapability().get(0)
+ .getSupportedInterfaceCapability().values().stream().findFirst()
+ .get()
.getIfCapType());
assertEquals(
"the rate should be ODU4",
.setLinkId(linkId)
.setSource(new SourceBuilder().setSourceNode(new NodeId(srcNode)).setSourceTp(srcTp).build())
.setDestination(new DestinationBuilder().setDestNode(new NodeId(dstNode)).setDestTp(destTp).build())
- .addAugmentation(
- org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.Link1.class, link1)
+ .addAugmentation(link1)
.build();
InstanceIdentifier<Link> linkIID = InstanceIdentifier.builder(Networks.class).child(Network.class,
new NetworkKey(new NetworkId(NetworkUtils.OVERLAY_NETWORK_ID))).augmentation(Network1.class)
private void checkDegreeNode(String nodeNb, Node node) {
assertEquals("ROADMA01-DEG" + nodeNb, node.getNodeId().getValue());
- List<SupportingNode> supportingNodes = node.getSupportingNode().stream()
+ List<SupportingNode> supportingNodes = node.nonnullSupportingNode().values().stream()
.sorted((sn1, sn2) -> sn1.getNetworkRef().getValue().compareTo(sn2.getNetworkRef().getValue()))
.collect(Collectors.toList());
assertEquals(2, supportingNodes.size());
.getDegreeAttributes().getAvailableWavelengths().size());
List<TerminationPoint> tps = node.augmentation(
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.Node1.class)
- .getTerminationPoint().stream()
+ .nonnullTerminationPoint().values().stream()
.sorted((tp1, tp2) -> tp1.getTpId().getValue().compareTo(tp2.getTpId().getValue()))
.collect(Collectors.toList());
assertEquals(2, tps.size());
private void checkSrgNode(String nodeNb, Node node) {
assertEquals("ROADMA01-SRG" + nodeNb, node.getNodeId().getValue());
- List<SupportingNode> supportingNodes = node.getSupportingNode().stream()
+ List<SupportingNode> supportingNodes = node.nonnullSupportingNode().values().stream()
.sorted((sn1, sn2) -> sn1.getNetworkRef().getValue().compareTo(sn2.getNetworkRef().getValue()))
.collect(Collectors.toList());
assertEquals(2, supportingNodes.size());
.getSrgAttributes().getAvailableWavelengths().size());
List<TerminationPoint> tps = node.augmentation(
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.Node1.class)
- .getTerminationPoint().stream()
+ .nonnullTerminationPoint().values().stream()
.sorted((tp1, tp2) -> tp1.getTpId().getValue().compareTo(tp2.getTpId().getValue()))
.collect(Collectors.toList());
assertEquals(5, tps.size());
private void checkTpdrNode(Node node) {
assertEquals("XPDRA01-XPDR1", node.getNodeId().getValue());
- List<SupportingNode> supportingNodes = node.getSupportingNode().stream()
+ List<SupportingNode> supportingNodes = node.nonnullSupportingNode().values().stream()
.sorted((sn1, sn2) -> sn1.getNetworkRef().getValue().compareTo(sn2.getNetworkRef().getValue()))
.collect(Collectors.toList());
assertEquals(2, supportingNodes.size());
assertEquals(OpenroadmNodeType.XPONDER, node.augmentation(Node1.class).getNodeType());
List<TerminationPoint> tps = node.augmentation(
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.Node1.class)
- .getTerminationPoint().stream()
+ .nonnullTerminationPoint().values().stream()
.sorted((tp1, tp2) -> tp1.getTpId().getValue().compareTo(tp2.getTpId().getValue()))
.collect(Collectors.toList());
assertEquals(4, tps.size());
private void checkOtnXpdrNode(Node node) {
assertEquals("XPDRA01-XPDR1", node.getNodeId().getValue());
- List<SupportingNode> supportingNodes = node.getSupportingNode().stream()
+ List<SupportingNode> supportingNodes = node.nonnullSupportingNode().values().stream()
.sorted((sn1, sn2) -> sn1.getNetworkRef().getValue().compareTo(sn2.getNetworkRef().getValue()))
.collect(Collectors.toList());
assertEquals(2, supportingNodes.size());
assertEquals(OpenroadmNodeType.XPONDER, node.augmentation(Node1.class).getNodeType());
List<TerminationPoint> tps = node.augmentation(
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.Node1.class)
- .getTerminationPoint().stream()
+ .nonnullTerminationPoint().values().stream()
.sorted((tp1, tp2) -> tp1.getTpId().getValue().compareTo(tp2.getTpId().getValue()))
.collect(Collectors.toList());
assertEquals(2, tps.size());
import java.util.LinkedList;
import java.util.List;
import java.util.ServiceLoader;
-import org.opendaylight.mdsal.binding.dom.codec.impl.BindingNormalizedNodeCodecRegistry;
-import org.opendaylight.mdsal.binding.generator.impl.ModuleInfoBackedContext;
-import org.opendaylight.mdsal.binding.generator.util.BindingRuntimeContext;
+import org.opendaylight.binding.runtime.api.BindingRuntimeContext;
+import org.opendaylight.binding.runtime.spi.BindingRuntimeHelpers;
+import org.opendaylight.mdsal.binding.dom.adapter.CurrentAdapterSerializer;
+import org.opendaylight.mdsal.binding.dom.codec.api.BindingNormalizedNodeSerializer;
+import org.opendaylight.mdsal.binding.dom.codec.impl.BindingCodecContext;
import org.opendaylight.yangtools.yang.binding.DataObject;
import org.opendaylight.yangtools.yang.binding.YangModelBindingProvider;
import org.opendaylight.yangtools.yang.binding.YangModuleInfo;
import org.opendaylight.yangtools.yang.data.codec.gson.JsonParserStream;
import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNormalizedNodeStreamWriter;
import org.opendaylight.yangtools.yang.data.impl.schema.NormalizedNodeResult;
-import org.opendaylight.yangtools.yang.model.api.SchemaContext;
+import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
private static final Logger LOG = LoggerFactory.getLogger(JsonUtil.class);
private static JsonUtil instance;
- private SchemaContext schemaCtx;
+ private EffectiveModelContext schemaCtx;
- private BindingNormalizedNodeCodecRegistry codecRegistry;
+ private BindingNormalizedNodeSerializer codecRegistry;
private JsonUtil() {
List<YangModuleInfo> moduleInfos = new LinkedList<>();
moduleInfos.add(yangModelBindingProvider.getModuleInfo());
}
/* Create the schema context for loaded models */
- ModuleInfoBackedContext moduleInfoBackedCntxt = ModuleInfoBackedContext.create();
- moduleInfoBackedCntxt.addModuleInfos(moduleInfos);
- schemaCtx = moduleInfoBackedCntxt.getSchemaContext();
+ schemaCtx = BindingRuntimeHelpers.createEffectiveModel(moduleInfos);
if (schemaCtx == null) {
throw new IllegalStateException("Failed to load schema context");
}
// Create the binding binding normalized node codec registry
- BindingRuntimeContext bindingRuntimeContext = BindingRuntimeContext.create(moduleInfoBackedCntxt, schemaCtx);
- codecRegistry = new BindingNormalizedNodeCodecRegistry(bindingRuntimeContext);
+ BindingRuntimeContext bindingContext =
+ BindingRuntimeHelpers.createRuntimeContext();
+ codecRegistry = new CurrentAdapterSerializer(new BindingCodecContext(bindingContext));
}
public static JsonUtil getInstance() {
*/
package org.opendaylight.transportpce.networkmodel.util.test;
-import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableMap;
import java.util.ArrayList;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
import org.opendaylight.transportpce.common.NetworkUtils;
import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200827.network.Nodes;
import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200827.network.NodesBuilder;
import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200827.network.nodes.Mapping;
import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200827.network.nodes.MappingBuilder;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200827.network.nodes.MappingKey;
import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200827.network.nodes.NodeInfoBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Link1;
import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Link1Builder;
import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev181019.NodeTypes;
import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev181019.PortQual;
import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev181130.OpenroadmTpType;
import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev181130.xpdr.tp.supported.interfaces.SupportedInterfaceCapability;
import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev181130.xpdr.tp.supported.interfaces.SupportedInterfaceCapabilityBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev181130.xpdr.tp.supported.interfaces.SupportedInterfaceCapabilityKey;
import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.common.types.rev181130.ODTU4TsAllocated;
import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.common.types.rev181130.ODU4;
import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130.TerminationPoint1;
import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev181019.IfOCH;
import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev181019.SupportedIfCapability;
import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev181130.IfOCHOTU4ODU4;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.xponder.rev181130.xpdr.otn.tp.attributes.OdtuTpnPool;
import org.opendaylight.yang.gen.v1.http.org.openroadm.xponder.rev181130.xpdr.otn.tp.attributes.OdtuTpnPoolBuilder;
import org.opendaylight.yang.gen.v1.http.transportpce.topology.rev200129.OtnLinkType;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.NetworkId;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.networks.network.node.TerminationPointBuilder;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.networks.network.node.termination.point.SupportingTerminationPoint;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.networks.network.node.termination.point.SupportingTerminationPointBuilder;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.networks.network.node.termination.point.SupportingTerminationPointKey;
import org.opendaylight.yangtools.yang.common.Uint16;
import org.opendaylight.yangtools.yang.common.Uint32;
import org.slf4j.Logger;
private static final Logger LOG = LoggerFactory.getLogger(NetworkmodelTestUtil.class);
public static Nodes createMappingForRdm(String nodeId, String clli, int degNb, int srgNb) {
- List<Mapping> mappingList = new ArrayList<>();
+ Map<MappingKey,Mapping> mappingList = new HashMap<>();
createDegreeMappings(mappingList, 1, degNb);
createSrgMappings(mappingList, 1, srgNb);
Nodes mappingNode = new NodesBuilder()
public static Nodes createMappingForXpdr(String nodeId, String clli, int networkPortNb, int clientPortNb,
XpdrNodeTypes xpdrNodeType) {
- List<Mapping> mappingList = new ArrayList<>();
- createXpdrMappings(mappingList, networkPortNb, clientPortNb, xpdrNodeType);
+ Map<MappingKey,Mapping> mappingMap = new HashMap<>();
+ createXpdrMappings(mappingMap, networkPortNb, clientPortNb, xpdrNodeType);
Nodes mappingNode = new NodesBuilder()
.setNodeId(nodeId)
.setNodeInfo(new NodeInfoBuilder().setNodeType(NodeTypes.Xpdr).setNodeClli(clli).build())
- .setMapping(mappingList)
+ .setMapping(mappingMap)
.build();
LOG.info("mapping = {}", mappingNode.toString());
return mappingNode;
.setDestNode(new NodeId("SPDRZ-XPDR1"))
.setDestTp("XPDR1-NETWORK1").build())
.addAugmentation(
- Link1.class,
new Link1Builder()
.setLinkType(OpenroadmLinkType.OTNLINK)
.setOppositeLink(new LinkId(prefix + "SPDRZ-XPDR1-XPDR1-NETWORK1toSPDRA-XPDR1-XPDR1-NETWORK1"))
.build())
.addAugmentation(
- org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130.Link1.class,
new org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130.Link1Builder()
.setAvailableBandwidth(Uint32.valueOf(availBW))
.setUsedBandwidth(Uint32.valueOf(100000 - availBW))
.build())
.addAugmentation(
- org.opendaylight.yang.gen.v1.http.transportpce.topology.rev200129.Link1.class,
new org.opendaylight.yang.gen.v1.http.transportpce.topology.rev200129.Link1Builder()
.setOtnLinkType(type)
.build())
.setDestNode(new NodeId("SPDRA-XPDR1"))
.setDestTp("XPDR1-NETWORK1").build())
.addAugmentation(
- Link1.class,
new Link1Builder()
.setLinkType(OpenroadmLinkType.OTNLINK)
.setOppositeLink(new LinkId(prefix + "SPDRA-XPDR1-XPDR1-NETWORK1toSPDRZ-XPDR1-XPDR1-NETWORK1"))
.build())
.addAugmentation(
- org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130.Link1.class,
new org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130.Link1Builder()
.setAvailableBandwidth(Uint32.valueOf(availBW))
.setUsedBandwidth(Uint32.valueOf(100000 - availBW))
.build())
.addAugmentation(
- org.opendaylight.yang.gen.v1.http.transportpce.topology.rev200129.Link1.class,
new org.opendaylight.yang.gen.v1.http.transportpce.topology.rev200129.Link1Builder()
.setOtnLinkType(type)
.build())
SupportedInterfaceCapability supCapa = new SupportedInterfaceCapabilityBuilder()
.setIfCapType(IfOCHOTU4ODU4.class)
.build();
- List<SupportedInterfaceCapability> supInterCapaList = new ArrayList<>();
- supInterCapaList.add(supCapa);
+ Map<SupportedInterfaceCapabilityKey,SupportedInterfaceCapability> supInterCapaList =
+ new HashMap<>();
+ supInterCapaList.put(supCapa.key(),supCapa);
TpSupportedInterfaces tpSuppInter = new TpSupportedInterfacesBuilder()
.setSupportedInterfaceCapability(supInterCapaList)
.build();
for (int i = 1; i <= 80; i++) {
tpnPool.add(Uint16.valueOf(i));
}
- xtpcaBldr.setOdtuTpnPool(
- ImmutableList.of(
- new OdtuTpnPoolBuilder().setOdtuType(ODTU4TsAllocated.class).setTpnPool(tpnPool).build()));
+ OdtuTpnPool odtuTpn = new OdtuTpnPoolBuilder()
+ .setOdtuType(ODTU4TsAllocated.class)
+ .setTpnPool(tpnPool).build();
+ xtpcaBldr.setOdtuTpnPool(ImmutableMap.of(odtuTpn.key(),odtuTpn));
}
TerminationPoint1 otnTp1 = new TerminationPoint1Builder()
.setTpSupportedInterfaces(tpSuppInter)
.setNodeRef(new NodeId("SPDRA-XPDR1"))
.setTpRef("XPDR1-NETWORK1")
.build();
- List<SupportingTerminationPoint> supTermPointListA = new ArrayList<>();
- supTermPointListA.add(supTermPointA);
+ Map<SupportingTerminationPointKey,SupportingTerminationPoint> supTermPointMapA =
+ Map.of(supTermPointA.key(), supTermPointA);
TerminationPoint tpA = new TerminationPointBuilder()
.setTpId(new TpId("XPDR1-NETWORK1"))
- .setSupportingTerminationPoint(supTermPointListA)
- .addAugmentation(TerminationPoint1.class, otnTp1)
+ .setSupportingTerminationPoint(supTermPointMapA)
+ .addAugmentation(otnTp1)
.addAugmentation(
- org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.TerminationPoint1.class,
new org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.TerminationPoint1Builder()
.setTpType(OpenroadmTpType.XPONDERNETWORK)
.build())
.setNodeRef(new NodeId("SPDRZ-XPDR1"))
.setTpRef("XPDR1-NETWORK1")
.build();
- List<SupportingTerminationPoint> supTermPointListZ = new ArrayList<>();
- supTermPointListZ.add(supTermPointZ);
+ Map<SupportingTerminationPointKey,SupportingTerminationPoint> supTermPointMapZ =
+ Map.of(supTermPointZ.key(), supTermPointZ);
TerminationPoint tpZ = new TerminationPointBuilder()
.setTpId(new TpId("XPDR1-NETWORK1"))
- .setSupportingTerminationPoint(supTermPointListZ)
- .addAugmentation(TerminationPoint1.class, otnTp1)
+ .setSupportingTerminationPoint(supTermPointMapZ)
+ .addAugmentation(otnTp1)
.addAugmentation(
- org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.TerminationPoint1.class,
new org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.TerminationPoint1Builder()
.setTpType(OpenroadmTpType.XPONDERNETWORK)
.build())
return tps;
}
- private static List<Mapping> createDegreeMappings(List<Mapping> mappingList, int degNbStart, int degNbStop) {
+ private static Map<MappingKey,Mapping> createDegreeMappings(Map<MappingKey,Mapping> mappingMap,
+ int degNbStart, int degNbStop) {
for (int i = degNbStart; i <= degNbStop; i++) {
Mapping mapping = new MappingBuilder()
.setLogicalConnectionPoint("DEG" + i + "-TTP-TXRX")
.setSupportingOts("OTS-DEG" + i + "-TTP-TXRX")
.setSupportingOms("OMS-DEG" + i + "-TTP-TXRX")
.build();
- mappingList.add(mapping);
+ mappingMap.put(mapping.key(),mapping);
}
- return mappingList;
+ return mappingMap;
}
- private static List<Mapping> createSrgMappings(List<Mapping> mappingList, int srgNbStart, int srgNbStop) {
+ private static Map<MappingKey,Mapping> createSrgMappings(Map<MappingKey,Mapping> mappingMap,
+ int srgNbStart, int srgNbStop) {
for (int i = srgNbStart; i <= srgNbStop; i++) {
for (int j = 1; j <= 4; j++) {
Mapping mapping = new MappingBuilder()
.setSupportingPort("C" + j)
.setSupportingCircuitPackName(3 + i + "/0")
.build();
- mappingList.add(mapping);
+ mappingMap.put(mapping.key(),mapping);
}
}
- return mappingList;
+ return mappingMap;
}
- private static List<Mapping> createXpdrMappings(List<Mapping> mappingList, int networkPortNb, int clientPortNb,
+ private static Map<MappingKey,Mapping> createXpdrMappings(Map<MappingKey,Mapping> mappingMap,
+ int networkPortNb, int clientPortNb,
XpdrNodeTypes xpdrNodeType) {
for (int i = 1; i <= networkPortNb; i++) {
List<Class<? extends SupportedIfCapability>> supportedIntf = new ArrayList<>();
if (xpdrNodeType != null) {
mappingBldr.setXponderType(xpdrNodeType);
}
- mappingList.add(mappingBldr.build());
+ Mapping mapping = mappingBldr.build();
+ mappingMap.put(mapping.key(),mapping);
}
for (int i = 1; i <= clientPortNb; i++) {
List<Class<? extends SupportedIfCapability>> supportedIntf = new ArrayList<>();
.setPortQual(PortQual.XpdrClient.getName())
.setSupportingCircuitPackName("1/0/" + i + "-PLUG-CLIENT")
.build();
- mappingList.add(mapping);
+ mappingMap.put(mapping.key(),mapping);
}
- return mappingList;
+ return mappingMap;
}
private NetworkmodelTestUtil() {