From: guillaume.lambert Date: Fri, 29 Jan 2021 12:45:55 +0000 (+0100) Subject: Add portmapping methods to fill XpdR LCPs maps X-Git-Tag: 3.0.0~27^2~1 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=transportpce.git;a=commitdiff_plain;h=1bc8f0e1cb9f855a601fe5a392489002fddc9cf4 Add portmapping methods to fill XpdR LCPs maps JIRA: TRNSPRTPCE-354 Signed-off-by: guillaume.lambert Change-Id: I81b1016b032cb540440bc353fcf848a666b85536 --- diff --git a/common/src/main/java/org/opendaylight/transportpce/common/mapping/PortMappingVersion121.java b/common/src/main/java/org/opendaylight/transportpce/common/mapping/PortMappingVersion121.java index 00b4ec1cd..4fe79230c 100644 --- a/common/src/main/java/org/opendaylight/transportpce/common/mapping/PortMappingVersion121.java +++ b/common/src/main/java/org/opendaylight/transportpce/common/mapping/PortMappingVersion121.java @@ -222,59 +222,11 @@ public class PortMappingVersion121 { List portList = new ArrayList<>(cp.nonnullPorts().values()); portList.sort(Comparator.comparing(Ports::getPortName)); for (Ports port : portList) { - if (port.getPortQual() == null) { - LOG.warn("{} : port {} on {} - PortQual was not found", - nodeId, port.getPortName(), circuitPackName); - continue; - } - - switch (port.getPortQual()) { - - case XpdrClient: - String lcp0 = createXpdrLogicalConnectionPort(1, client, StringConstants.CLIENT_TOKEN); - lcpMap.put(circuitPackName + '+' + port.getPortName(), lcp0); - mappingMap.put(lcp0, - createXpdrMappingObject(nodeId, port, circuitPackName, lcp0, null, null, null)); - client++; - //continue; - break; - - case XpdrNetwork: - switch (port.getPortDirection()) { - - case Bidirectional: - String lcp = createXpdrLogicalConnectionPort(1, line, StringConstants.NETWORK_TOKEN); - lcpMap.put(circuitPackName + '+' + port.getPortName(), lcp); - mappingMap.put(lcp, - createXpdrMappingObject(nodeId, port, circuitPackName, lcp, null, null, null)); - line++; - break; - - case Rx: - case Tx: - StringBuilder circuitPackName2 = new StringBuilder(); - Ports port2 = getPort2(port, nodeId, circuitPackName, circuitPackName2, - circuitPackList, lcpMap); - if (port2 == null) { - //key already present or an error occured and was logged - continue; - } - putXpdrLcpsInMaps(line, nodeId, 1, - circuitPackName, circuitPackName2.toString(), port, port2, - lcpMap, mappingMap); - line += 2; - break; - - default: - LOG.error("{} : port {} on {} - unsupported Direction {}", - nodeId, port.getPortName(), circuitPackName, port.getPortDirection()); - } - break; - - default: - LOG.error("{} : port {} on {} - unsupported PortQual {}", - nodeId, port.getPortName(), circuitPackName, port.getPortQual()); - } + int[] counters = fillXpdrLcpsMaps(line, client, nodeId, + 1, circuitPackName, port, + circuitPackList, lcpMap, mappingMap); + line = counters[0]; + client = counters[1]; } } @@ -746,6 +698,81 @@ public class PortMappingVersion121 { return; } + private int[] fillXpdrLcpsMaps(int line, int client, String nodeId, + Integer xponderNb, + String circuitPackName, Ports port, + List circuitPackList, Map lcpMap, Map mappingMap) { + + if (port.getPortQual() == null) { + LOG.warn("{} : port {} on {} - PortQual was not found", + nodeId, port.getPortName(), circuitPackName); + return new int[] {line, client}; + } + + switch (port.getPortQual()) { + + case XpdrClient: + String lcp0 = createXpdrLogicalConnectionPort(xponderNb, client, StringConstants.CLIENT_TOKEN); + lcpMap.put(circuitPackName + '+' + port.getPortName(), lcp0); + mappingMap.put(lcp0, + createXpdrMappingObject(nodeId, port, circuitPackName, lcp0, null, null, null)); + client++; + break; + + case XpdrNetwork: + line = fillXpdrNetworkLcpsMaps(line, nodeId, + xponderNb, + circuitPackName, port, + circuitPackList, lcpMap, mappingMap); + break; + + default: + LOG.error("{} : port {} on {} - unsupported PortQual {}", + nodeId, port.getPortName(), circuitPackName, port.getPortQual()); + } + return new int[] {line, client}; + } + + private int fillXpdrNetworkLcpsMaps(int line, String nodeId, + Integer xponderNb, + String circuitPackName, Ports port, + List circuitPackList, Map lcpMap, Map mappingMap) { + + switch (port.getPortDirection()) { + + case Bidirectional: + String lcp = createXpdrLogicalConnectionPort(xponderNb, line, StringConstants.NETWORK_TOKEN); + lcpMap.put(circuitPackName + '+' + port.getPortName(), lcp); + mappingMap.put(lcp, + createXpdrMappingObject(nodeId, port, circuitPackName, lcp, null, null, null)); + line++; + break; + + case Rx: + case Tx: + StringBuilder circuitPackName2 = new StringBuilder(); + Ports port2 = getPort2(port, nodeId, circuitPackName, circuitPackName2, + circuitPackList, lcpMap); + + if (port2 == null) { + //key already present or an error occured and was logged + return line; + } + + putXpdrLcpsInMaps(line, nodeId, xponderNb, + circuitPackName, circuitPackName2.toString(), port, port2, + lcpMap, mappingMap); + + line += 2; + break; + + default: + LOG.error("{} : port {} on {} - unsupported Direction {}", + nodeId, port.getPortName(), circuitPackName, port.getPortDirection()); + } + + return line; + } private boolean createTtpPortMapping(String nodeId, Info deviceInfo, List portMapList) { // Creating mapping data for degree TTP's 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 1d0d767e0..cf144749f 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 @@ -247,66 +247,11 @@ public class PortMappingVersion221 { List portList = new ArrayList<>(cp.nonnullPorts().values()); portList.sort(Comparator.comparing(Ports::getPortName)); for (Ports port : portList) { - if (port.getPortQual() == null) { - LOG.warn("{} : port {} on {} - PortQual was not found", - nodeId, port.getPortName(), circuitPackName); - continue; - } - - switch (port.getPortQual()) { - - case XpdrClient: - case SwitchClient: - String lcp0 = createXpdrLogicalConnectionPort(1, client, StringConstants.CLIENT_TOKEN); - lcpMap.put(circuitPackName + '+' + port.getPortName(), lcp0); - mappingMap.put(lcp0, - createXpdrMappingObject(nodeId, port, circuitPackName, lcp0, null, null, null, null)); - client++; - //continue; - break; - - case XpdrNetwork: - case SwitchNetwork: - switch (port.getPortDirection()) { - - case Bidirectional: - String lcp = - createXpdrLogicalConnectionPort(1, line, StringConstants.NETWORK_TOKEN); - lcpMap.put(circuitPackName + '+' + port.getPortName(), lcp); - mappingMap.put(lcp, - createXpdrMappingObject(nodeId, port, circuitPackName, lcp, null, null, null, - null) - ); - line++; - break; - - case Rx: - case Tx: - StringBuilder circuitPackName2 = new StringBuilder(); - Ports port2 = getPort2(port, nodeId, circuitPackName, circuitPackName2, - circuitPackList, lcpMap); - - if (port2 == null) { - //key already present or an error occured and was logged - continue; - } - - putXpdrLcpsInMaps(line, nodeId, 1, null, - circuitPackName, circuitPackName2.toString(), port, port2, - lcpMap, mappingMap); - line += 2; - break; - - default: - LOG.error("{} : port {} on {} - unsupported Direction {}", - nodeId, port.getPortName(), circuitPackName, port.getPortDirection()); - } - break; - - default: - LOG.error("{} : port {} on {} - unsupported PortQual {}", - nodeId, port.getPortName(), circuitPackName, port.getPortQual()); - } + int[] counters = fillXpdrLcpsMaps(line, client, nodeId, + 1, null, circuitPackName, port, + circuitPackList, lcpMap, mappingMap); + line = counters[0]; + client = counters[1]; } } } else { @@ -343,66 +288,11 @@ public class PortMappingVersion221 { .findFirst().get().nonnullPorts().values().stream() .filter(p -> p.getPortName().equals(portName)) .findFirst().get(); - if (port.getPortQual() == null) { - LOG.warn("{} : port {} on {} - PortQual was not found", - nodeId, port.getPortName(), circuitPackName); - continue; - } - - switch (port.getPortQual()) { - - case XpdrClient: - case SwitchClient: - String lcp0 = - createXpdrLogicalConnectionPort(xponderNb, client, StringConstants.CLIENT_TOKEN); - lcpMap.put(circuitPackName + '+' + port.getPortName(), lcp0); - mappingMap.put(lcp0, - createXpdrMappingObject(nodeId, port, circuitPackName, lcp0, null, null, null, null)); - client++; - //continue; - break; - - case XpdrNetwork: - case SwitchNetwork: - switch (port.getPortDirection()) { - - case Bidirectional: - String lcp = - createXpdrLogicalConnectionPort(xponderNb, line, StringConstants.NETWORK_TOKEN); - lcpMap.put(circuitPackName + '+' + port.getPortName(), lcp); - mappingMap.put(lcp, - createXpdrMappingObject(nodeId, port, circuitPackName, lcp, null, null, null, - xponderType)); - line++; - break; - - case Rx: - case Tx: - StringBuilder circuitPackName2 = new StringBuilder(); - Ports port2 = getPort2(port, nodeId, circuitPackName, circuitPackName2, - circuitPackList, lcpMap); - - if (port2 == null) { - //key already present or an error occured and was logged - continue; - } - - putXpdrLcpsInMaps(line, nodeId, xponderNb, xponderType, - circuitPackName, circuitPackName2.toString(), port, port2, - lcpMap, mappingMap); - line += 2; - break; - - default: - LOG.error("{} : port {} on {} - unsupported Direction {}", - nodeId, port.getPortName(), circuitPackName, port.getPortDirection()); - } - break; - - default: - LOG.error("{} : port {} on {} - unsupported PortQual {}", - nodeId, port.getPortName(), circuitPackName, port.getPortQual()); - } + int[] counters = fillXpdrLcpsMaps(line, client, nodeId, + xponderNb, xponderType, circuitPackName, port, + circuitPackList, lcpMap, mappingMap); + line = counters[0]; + client = counters[1]; } } } @@ -1023,9 +913,84 @@ public class PortMappingVersion221 { return; } - private boolean createMcCapabilitiesList(String nodeId, Info deviceInfo, - Map mcCapabilitiesMap) { + private int[] fillXpdrLcpsMaps(int line, int client, String nodeId, + Integer xponderNb, XpdrNodeTypes xponderType, + String circuitPackName, Ports port, + List circuitPackList, Map lcpMap, Map mappingMap) { + if (port.getPortQual() == null) { + LOG.warn("{} : port {} on {} - PortQual was not found", + nodeId, port.getPortName(), circuitPackName); + return new int[] {line, client}; + } + + switch (port.getPortQual()) { + + case XpdrClient: + case SwitchClient: + String lcp0 = createXpdrLogicalConnectionPort(xponderNb, client, StringConstants.CLIENT_TOKEN); + lcpMap.put(circuitPackName + '+' + port.getPortName(), lcp0); + mappingMap.put(lcp0, + createXpdrMappingObject(nodeId, port, circuitPackName, lcp0, null, null, null, null)); + client++; + break; + + case XpdrNetwork: + case SwitchNetwork: + line = fillXpdrNetworkLcpsMaps(line, nodeId, + xponderNb, xponderType, + circuitPackName, port, + circuitPackList, lcpMap, mappingMap); + break; + + default: + LOG.error("{} : port {} on {} - unsupported PortQual {}", + nodeId, port.getPortName(), circuitPackName, port.getPortQual()); + } + return new int[] {line, client}; + } + + private int fillXpdrNetworkLcpsMaps(int line, String nodeId, + Integer xponderNb, XpdrNodeTypes xponderType, + String circuitPackName, Ports port, + List circuitPackList, Map lcpMap, Map mappingMap) { + + switch (port.getPortDirection()) { + case Bidirectional: + String lcp = createXpdrLogicalConnectionPort(xponderNb, line, StringConstants.NETWORK_TOKEN); + lcpMap.put(circuitPackName + '+' + port.getPortName(), lcp); + mappingMap.put(lcp, + createXpdrMappingObject(nodeId, port, circuitPackName, lcp, null, null, null, xponderType)); + line++; + break; + + case Rx: + case Tx: + StringBuilder circuitPackName2 = new StringBuilder(); + Ports port2 = getPort2(port, nodeId, circuitPackName, circuitPackName2, + circuitPackList, lcpMap); + + if (port2 == null) { + //key already present or an error occured and was logged + return line; + } + + putXpdrLcpsInMaps(line, nodeId, xponderNb, xponderType, + circuitPackName, circuitPackName2.toString(), port, port2, + lcpMap, mappingMap); + line += 2; + break; + + default: + LOG.error("{} : port {} on {} - unsupported Direction {}", + nodeId, port.getPortName(), circuitPackName, port.getPortDirection()); + } + + return line; + } + + private boolean createMcCapabilitiesList(String nodeId, Info deviceInfo, + Map mcCapabilitiesMap) { Map degrees = getDegreesMap(nodeId, deviceInfo); List srgs = getSrgs(nodeId, deviceInfo); mcCapabilitiesMap.putAll(getMcCapabilities(degrees, srgs, nodeId)); diff --git a/common/src/main/java/org/opendaylight/transportpce/common/mapping/PortMappingVersion710.java b/common/src/main/java/org/opendaylight/transportpce/common/mapping/PortMappingVersion710.java index a7b7cba01..ddd698a6c 100644 --- a/common/src/main/java/org/opendaylight/transportpce/common/mapping/PortMappingVersion710.java +++ b/common/src/main/java/org/opendaylight/transportpce/common/mapping/PortMappingVersion710.java @@ -246,66 +246,11 @@ public class PortMappingVersion710 { List portList = new ArrayList<>(cp.nonnullPorts().values()); portList.sort(Comparator.comparing(Ports::getPortName)); for (Ports port : portList) { - if (port.getPortQual() == null) { - LOG.warn("{} : port {} on {} - PortQual was not found", - nodeId, port.getPortName(), circuitPackName); - continue; - } - - switch (port.getPortQual()) { - - case XpdrClient: - case SwitchClient: - String lcp0 = createXpdrLogicalConnectionPort(1, client, StringConstants.CLIENT_TOKEN); - lcpMap.put(circuitPackName + '+' + port.getPortName(), lcp0); - mappingMap.put(lcp0, - createXpdrMappingObject(nodeId, port, circuitPackName, lcp0, null, null, null, null)); - client++; - //continue; - break; - - case XpdrNetwork: - case SwitchNetwork: - switch (port.getPortDirection()) { - - case Bidirectional: - String lcp = - createXpdrLogicalConnectionPort(1, line, StringConstants.NETWORK_TOKEN); - lcpMap.put(circuitPackName + '+' + port.getPortName(), lcp); - mappingMap.put(lcp, - createXpdrMappingObject(nodeId, port, circuitPackName, lcp, null, null, null, - null) - ); - line++; - break; - - case Rx: - case Tx: - StringBuilder circuitPackName2 = new StringBuilder(); - Ports port2 = getPort2(port, nodeId, circuitPackName, circuitPackName2, - circuitPackList, lcpMap); - - if (port2 == null) { - //key already present or an error occured and was logged - continue; - } - - putXpdrLcpsInMaps(line, nodeId, 1, null, - circuitPackName, circuitPackName2.toString(), port, port2, - lcpMap, mappingMap); - line += 2; - break; - - default: - LOG.error("{} : port {} on {} - unsupported Direction {}", - nodeId, port.getPortName(), circuitPackName, port.getPortDirection()); - } - break; - - default: - LOG.error("{} : port {} on {} - unsupported PortQual {}", - nodeId, port.getPortName(), circuitPackName, port.getPortQual()); - } + int[] counters = fillXpdrLcpsMaps(line, client, nodeId, + 1, null, circuitPackName, port, + circuitPackList, lcpMap, mappingMap); + line = counters[0]; + client = counters[1]; } } } else { @@ -342,66 +287,11 @@ public class PortMappingVersion710 { .findFirst().get().nonnullPorts().values().stream() .filter(p -> p.getPortName().equals(portName)) .findFirst().get(); - if (port.getPortQual() == null) { - LOG.warn("{} : port {} on {} - PortQual was not found", - nodeId, port.getPortName(), circuitPackName); - continue; - } - - switch (port.getPortQual()) { - - case XpdrClient: - case SwitchClient: - String lcp0 = - createXpdrLogicalConnectionPort(xponderNb , client, StringConstants.CLIENT_TOKEN); - lcpMap.put(circuitPackName + '+' + port.getPortName(), lcp0); - mappingMap.put(lcp0, - createXpdrMappingObject(nodeId, port, circuitPackName, lcp0, null, null, null, null)); - client++; - //continue; - break; - - case XpdrNetwork: - case SwitchNetwork: - switch (port.getPortDirection()) { - - case Bidirectional: - String lcp = - createXpdrLogicalConnectionPort(xponderNb, line, StringConstants.NETWORK_TOKEN); - lcpMap.put(circuitPackName + '+' + port.getPortName(), lcp); - mappingMap.put(lcp, - createXpdrMappingObject(nodeId, port, circuitPackName, lcp, null, null, null, - xponderType)); - line++; - break; - - case Rx: - case Tx: - StringBuilder circuitPackName2 = new StringBuilder(); - Ports port2 = getPort2(port, nodeId, circuitPackName, circuitPackName2, - circuitPackList, lcpMap); - - if (port2 == null) { - //key already present or an error occured and was logged - continue; - } - - putXpdrLcpsInMaps(line, nodeId, xponderNb, xponderType, - circuitPackName, circuitPackName2.toString(), port, port2, - lcpMap, mappingMap); - line += 2; - break; - - default: - LOG.error("{} : port {} on {} - unsupported Direction {}", - nodeId, port.getPortName(), circuitPackName, port.getPortDirection()); - } - break; - - default: - LOG.error("{} : port {} on {} - unsupported PortQual {}", - nodeId, port.getPortName(), circuitPackName, port.getPortQual()); - } + int[] counters = fillXpdrLcpsMaps(line, client, nodeId, + xponderNb, xponderType, circuitPackName, port, + circuitPackList, lcpMap, mappingMap); + line = counters[0]; + client = counters[1]; } } } @@ -1062,9 +952,85 @@ public class PortMappingVersion710 { return; } - private boolean createMcCapabilitiesList(String nodeId, Info deviceInfo, - Map mcCapabilitiesMap) { + private int[] fillXpdrLcpsMaps(int line, int client, String nodeId, + Integer xponderNb, XpdrNodeTypes xponderType, + String circuitPackName, Ports port, + List circuitPackList, Map lcpMap, Map mappingMap) { + if (port.getPortQual() == null) { + LOG.warn("{} : port {} on {} - PortQual was not found", + nodeId, port.getPortName(), circuitPackName); + return new int[] {line, client}; + } + + switch (port.getPortQual()) { + + case XpdrClient: + case SwitchClient: + String lcp0 = createXpdrLogicalConnectionPort(xponderNb, client, StringConstants.CLIENT_TOKEN); + lcpMap.put(circuitPackName + '+' + port.getPortName(), lcp0); + mappingMap.put(lcp0, + createXpdrMappingObject(nodeId, port, circuitPackName, lcp0, null, null, null, null)); + client++; + break; + + case XpdrNetwork: + case SwitchNetwork: + line = fillXpdrNetworkLcpsMaps(line, nodeId, + xponderNb, xponderType, + circuitPackName, port, + circuitPackList, lcpMap, mappingMap); + break; + + default: + LOG.error("{} : port {} on {} - unsupported PortQual {}", + nodeId, port.getPortName(), circuitPackName, port.getPortQual()); + } + return new int[] {line, client}; + } + + private int fillXpdrNetworkLcpsMaps(int line, String nodeId, + Integer xponderNb, XpdrNodeTypes xponderType, + String circuitPackName, Ports port, + List circuitPackList, Map lcpMap, Map mappingMap) { + + switch (port.getPortDirection()) { + + case Bidirectional: + String lcp = createXpdrLogicalConnectionPort(xponderNb, line, StringConstants.NETWORK_TOKEN); + lcpMap.put(circuitPackName + '+' + port.getPortName(), lcp); + mappingMap.put(lcp, + createXpdrMappingObject(nodeId, port, circuitPackName, lcp, null, null, null, xponderType)); + line++; + break; + + case Rx: + case Tx: + StringBuilder circuitPackName2 = new StringBuilder(); + Ports port2 = getPort2(port, nodeId, circuitPackName, circuitPackName2, + circuitPackList, lcpMap); + + if (port2 == null) { + //key already present or an error occured and was logged + return line; + } + + putXpdrLcpsInMaps(line, nodeId, xponderNb, xponderType, + circuitPackName, circuitPackName2.toString(), port, port2, + lcpMap, mappingMap); + line += 2; + break; + + default: + LOG.error("{} : port {} on {} - unsupported Direction {}", + nodeId, port.getPortName(), circuitPackName, port.getPortDirection()); + } + + return line; + } + + private boolean createMcCapabilitiesList(String nodeId, Info deviceInfo, + Map mcCapabilitiesMap) { Map degrees = getDegreesMap(nodeId, deviceInfo); List srgs = getSrgs(nodeId, deviceInfo); mcCapabilitiesMap.putAll(getMcCapabilities(degrees, srgs, deviceInfo, nodeId));