From c3efec00e96389da21bf81816f13ab9130c10c8f Mon Sep 17 00:00:00 2001 From: Shweta Vachhani Date: Wed, 21 Apr 2021 11:08:18 -0400 Subject: [PATCH] OTN-topology creation fix Moved ifCapType conversion method for different version of devices in portMapping, rather than in OtnTopology JIRA: TRNSPRTPCE-443 Signed-off-by: Shweta Vachhani Co-authored-by: Gilles Thouenon Change-Id: I3eb51b64d986ee6ab620a7142e1e3e83a67f7eaa --- .../common/mapping/MappingUtilsImpl.java | 41 +++++++++++++++++ .../common/mapping/PortMappingVersion221.java | 6 +-- .../util/OpenRoadmOtnTopology.java | 45 +------------------ 3 files changed, 44 insertions(+), 48 deletions(-) diff --git a/common/src/main/java/org/opendaylight/transportpce/common/mapping/MappingUtilsImpl.java b/common/src/main/java/org/opendaylight/transportpce/common/mapping/MappingUtilsImpl.java index 44dc8b3cb..57240ee6d 100644 --- a/common/src/main/java/org/opendaylight/transportpce/common/mapping/MappingUtilsImpl.java +++ b/common/src/main/java/org/opendaylight/transportpce/common/mapping/MappingUtilsImpl.java @@ -20,6 +20,18 @@ import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmappi import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev210315.network.Nodes; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev210315.network.NodesKey; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev210315.network.nodes.NodeInfo; +import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev200327.If100GE; +import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev200327.If100GEODU4; +import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev200327.If10GE; +import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev200327.If10GEODU2; +import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev200327.If10GEODU2e; +import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev200327.If1GE; +import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev200327.If1GEODU0; +import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev200327.If400GE; +import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev200327.IfOCH; +import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev200327.IfOCHOTU4ODU4; +import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev200327.IfOTUCnODUCn; +import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev200327.SupportedIfCapability; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -93,4 +105,33 @@ public class MappingUtilsImpl implements MappingUtils { LOG.info("Capabilitities for node {}: {}", nodeId, mcCapabilities); return mcCapabilities; } + + public static Class convertSupIfCapa(String ifCapType) { + switch (ifCapType) { + case "IfOTUCnODUCn": + return IfOTUCnODUCn.class; + case "IfOCHOTU4ODU4": + return IfOCHOTU4ODU4.class; + case "IfOCH": + return IfOCH.class; + case "If100GEODU4": + return If100GEODU4.class; + case "If10GEODU2e": + return If10GEODU2e.class; + case "If10GEODU2": + return If10GEODU2.class; + case "If1GEODU0": + return If1GEODU0.class; + case "If400GE": + return If400GE.class; + case "If100GE": + return If100GE.class; + case "If10GE": + return If10GE.class; + case "If1GE": + return If1GE.class; + default: + return null; + } + } } diff --git a/common/src/main/java/org/opendaylight/transportpce/common/mapping/PortMappingVersion221.java b/common/src/main/java/org/opendaylight/transportpce/common/mapping/PortMappingVersion221.java index fc9fc4892..a6295a876 100644 --- a/common/src/main/java/org/opendaylight/transportpce/common/mapping/PortMappingVersion221.java +++ b/common/src/main/java/org/opendaylight/transportpce/common/mapping/PortMappingVersion221.java @@ -874,11 +874,7 @@ public class PortMappingVersion221 { List> supportedIntf = new ArrayList<>(); for (Class sup: port.getSupportedInterfaceCapability()) { - @SuppressWarnings("unchecked") Class sup1 = - (Class) sup; - supportedIntf.add(sup1); + supportedIntf.add(MappingUtilsImpl.convertSupIfCapa(sup.getSimpleName())); } mpBldr.setSupportedInterfaceCapability(supportedIntf); } diff --git a/networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/util/OpenRoadmOtnTopology.java b/networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/util/OpenRoadmOtnTopology.java index 3f1b5388a..789bb57d6 100644 --- a/networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/util/OpenRoadmOtnTopology.java +++ b/networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/util/OpenRoadmOtnTopology.java @@ -56,17 +56,6 @@ import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev2 import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529.networks.network.node.termination.point.TpSupportedInterfaces; import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529.networks.network.node.termination.point.TpSupportedInterfacesBuilder; import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529.networks.network.node.termination.point.XpdrTpPortConnectionAttributesBuilder; -import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev200327.If100GE; -import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev200327.If100GEODU4; -import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev200327.If10GE; -import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev200327.If10GEODU2; -import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev200327.If10GEODU2e; -import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev200327.If1GE; -import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev200327.If1GEODU0; -import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev200327.If400GE; -import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev200327.IfOCH; -import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev200327.IfOCHOTU4ODU4; -import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev200327.IfOTUCnODUCn; import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev200327.SupportedIfCapability; import org.opendaylight.yang.gen.v1.http.org.openroadm.switching.pool.types.rev191129.SwitchingPoolTypes; import org.opendaylight.yang.gen.v1.http.org.openroadm.xponder.rev200529.xpdr.otn.tp.attributes.OdtuTpnPool; @@ -609,8 +598,8 @@ public final class OpenRoadmOtnTopology { XpdrTpPortConnectionAttributesBuilder xtpcaBldr = new XpdrTpPortConnectionAttributesBuilder(); for (Class supInterCapa : mapping.getSupportedInterfaceCapability()) { SupportedInterfaceCapability supIfCapa = new SupportedInterfaceCapabilityBuilder() - .withKey(new SupportedInterfaceCapabilityKey(convertSupIfCapa(supInterCapa))) - .setIfCapType(convertSupIfCapa(supInterCapa)) + .withKey(new SupportedInterfaceCapabilityKey(supInterCapa)) + .setIfCapType(supInterCapa) .build(); supIfMap.put(supIfCapa.key(), supIfCapa); } @@ -681,36 +670,6 @@ public final class OpenRoadmOtnTopology { } } - private static Class convertSupIfCapa(Class ifCapType) { - switch (ifCapType.getSimpleName()) { - case "IfOTUCnODUCn": - return IfOTUCnODUCn.class; - case "IfOCHOTU4ODU4": - return IfOCHOTU4ODU4.class; - case "IfOCH": - return IfOCH.class; - case "If100GEODU4": - return If100GEODU4.class; - case "If10GEODU2e": - return If10GEODU2e.class; - case "If10GEODU2": - return If10GEODU2.class; - case "If1GEODU0": - return If1GEODU0.class; - case "If400GE": - return If400GE.class; - case "If100GE": - return If100GE.class; - case "If10GE": - return If10GE.class; - case "If1GE": - return If1GE.class; - default: - return null; - } - } - private static Map createSupportingNodes(OtnTopoNode node) { SupportingNode suppNode1 = new SupportingNodeBuilder() .setNetworkRef(new NetworkId(NetworkUtils.UNDERLAY_NETWORK_ID)) -- 2.36.6