X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=common%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Ftransportpce%2Fcommon%2Fmapping%2FPortMappingVersion221.java;h=f8866dc42a3c5099b0d01bdc37e1ba240e9c9882;hb=refs%2Fchanges%2F67%2F94867%2F4;hp=ace72bda9bca482e9c205d590699ad940f00bac1;hpb=9338fc4be627ccfdab73602604a78812b748d88d;p=transportpce.git 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 ace72bda9..f8866dc42 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 @@ -274,41 +274,18 @@ public class PortMappingVersion221 { continue; } - if (!checkPartnerPortNotNull(port)) { - LOG.warn("Error in the configuration of port {} of {} for {}", - port.getPortName(), circuitPackName, nodeId); - continue; - } - if (lcpMap.containsKey(circuitPackName + '+' + port.getPortName())) { - continue; - } - Optional cpOpt = circuitPackList.stream() - .filter( - cP -> cP.getCircuitPackName().equals(port.getPartnerPort().getCircuitPackName())) - .findFirst(); - if (!cpOpt.isPresent()) { - LOG.error("Error fetching circuit-pack {} for {}", - port.getPartnerPort().getCircuitPackName(), nodeId); - continue; - } - Optional poOpt = cpOpt.get().nonnullPorts().values().stream() - .filter(p -> p.getPortName().equals(port.getPartnerPort().getPortName().toString())) - .findFirst(); - if (!poOpt.isPresent()) { - LOG.error("Error fetching port {} on {} for {}", port.getPartnerPort().getPortName(), - port.getPartnerPort().getCircuitPackName(), nodeId); - continue; - } - Ports port2 = poOpt.get(); - if (!checkPartnerPort(circuitPackName, port, port2)) { - LOG.error("port {} on {} is not a correct partner port of {} on {}", - port2.getPortName(), cpOpt.get().getCircuitPackName(), port.getPortName(), - circuitPackName); + 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, cpOpt.get().getCircuitPackName(), port, port2, + circuitPackName, circuitPackName2.toString(), port, port2, lcpMap, mappingMap); line += 2; break; @@ -386,43 +363,17 @@ public class PortMappingVersion221 { continue; } - if (!checkPartnerPortNotNull(port)) { - LOG.warn("Error in the configuration of port {} of {} for {}", - port.getPortName(), circuitPackName, nodeId); - continue; - } - - if (lcpMap.containsKey(circuitPackName + '+' + port.getPortName())) { - continue; - } + StringBuilder circuitPackName2 = new StringBuilder(); + Ports port2 = getPort2(port, nodeId, circuitPackName, circuitPackName2, + circuitPackList, lcpMap); - Optional cpOpt = circuitPackList.stream() - .filter( - cP -> cP.getCircuitPackName().equals(port.getPartnerPort().getCircuitPackName())) - .findFirst(); - if (!cpOpt.isPresent()) { - LOG.error("Error fetching circuit-pack {} for {}", - port.getPartnerPort().getCircuitPackName(), nodeId); + if (port2 == null) { + //key already present or an error occured and was logged continue; } - Optional poOpt = cpOpt.get().nonnullPorts().values().stream() - .filter(p -> p.getPortName().equals(port.getPartnerPort().getPortName().toString())) - .findFirst(); - if (!poOpt.isPresent()) { - LOG.error("Error fetching port {} on {} for {}", port.getPartnerPort().getPortName(), - port.getPartnerPort().getCircuitPackName(), nodeId); - continue; - } - Ports port2 = poOpt.get(); - if (!checkPartnerPort(circuitPackName, port, port2)) { - LOG.error("port {} on {} is not a correct partner port of {} on {}", - port2.getPortName(), cpOpt.get().getCircuitPackName(), port.getPortName(), - circuitPackName); - continue; - } putXpdrLcpsInMaps(line, nodeId, xponderNb, xponderType, - circuitPackName, cpOpt.get().getCircuitPackName(), port, port2, + circuitPackName, circuitPackName2.toString(), port, port2, lcpMap, mappingMap); line += 2; break; @@ -993,6 +944,45 @@ public class PortMappingVersion221 { return mpBldr.build(); } + private Ports getPort2(Ports port, String nodeId, String circuitPackName, StringBuilder circuitPackName2, + //circuitPackName2 will be updated by reference contrary to circuitPackName + List circuitPackList, Map lcpMap) { + if (!checkPartnerPortNotNull(port)) { + LOG.warn("Error in the configuration of port {} of {} for {}", + port.getPortName(), circuitPackName, nodeId); + return null; + } + if (lcpMap.containsKey(circuitPackName + '+' + port.getPortName())) { + return null; + } + Optional cpOpt = circuitPackList.stream() + .filter( + cP -> cP.getCircuitPackName().equals(port.getPartnerPort().getCircuitPackName())) + .findFirst(); + if (!cpOpt.isPresent()) { + LOG.error("Error fetching circuit-pack {} for {}", + port.getPartnerPort().getCircuitPackName(), nodeId); + return null; + } + Optional poOpt = cpOpt.get().nonnullPorts().values().stream() + .filter(p -> p.getPortName().equals(port.getPartnerPort().getPortName().toString())) + .findFirst(); + if (!poOpt.isPresent()) { + LOG.error("Error fetching port {} on {} for {}", + port.getPartnerPort().getPortName(), port.getPartnerPort().getCircuitPackName(), nodeId); + return null; + } + Ports port2 = poOpt.get(); + circuitPackName2.append(cpOpt.get().getCircuitPackName()); + if (!checkPartnerPort(circuitPackName, port, port2)) { + LOG.error("port {} on {} is not a correct partner port of {} on {}", + port2.getPortName(), circuitPackName2, port.getPortName(), circuitPackName); + return null; + } + return port2; + } + + private void putXpdrLcpsInMaps(int line, String nodeId, Integer xponderNb, XpdrNodeTypes xponderType, String circuitPackName, String circuitPackName2, Ports port, Ports port2,