From: guillaume.lambert Date: Fri, 25 Feb 2022 11:04:19 +0000 (+0100) Subject: Refactor PCE network analyzer PceOtnNode step 6 X-Git-Tag: 5.0.0~78 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=transportpce.git;a=commitdiff_plain;h=refs%2Fchanges%2F73%2F99873%2F2 Refactor PCE network analyzer PceOtnNode step 6 Add 2 new methods to decrease checkSwPool cyclomatic complexity currently warned by Sonar JIRA: TRNSPRTPCE-572 Signed-off-by: guillaume.lambert Change-Id: Id5e4f4ee7f5f0204fe191e8c17255054c4a9adf4 --- diff --git a/pce/src/main/java/org/opendaylight/transportpce/pce/networkanalyzer/PceOtnNode.java b/pce/src/main/java/org/opendaylight/transportpce/pce/networkanalyzer/PceOtnNode.java index 3ef3cf2fb..2e61eb4bc 100644 --- a/pce/src/main/java/org/opendaylight/transportpce/pce/networkanalyzer/PceOtnNode.java +++ b/pce/src/main/java/org/opendaylight/transportpce/pce/networkanalyzer/PceOtnNode.java @@ -240,39 +240,14 @@ public class PceOtnNode implements PceNode { switch (modeType) { case "intermediate": - for (NonBlockingList nbl: nblList) { - for (TpId nwTp : netwTps) { - if (nbl.getTpList().contains(nwTp)) { - usableXpdrNWTps.add(nwTp); - } - if (usableXpdrNWTps.size() >= 2) { - return true; - } - } - } - return false; + return checkIntermediateSwPool(nblList, netwTps); case "AZ": if (clientTps == null) { return false; } clientTps.sort(Comparator.comparing(TpId::getValue)); - for (NonBlockingList nbl: nblList) { - for (TpId nwTp : netwTps) { - for (TpId clTp : clientTps) { - if (nbl.getTpList().contains(clTp) && nbl.getTpList().contains(nwTp)) { - usableXpdrClientTps.add(clTp); - usableXpdrNWTps.add(nwTp); - } - if (usableXpdrClientTps.size() >= 1 && usableXpdrNWTps.size() >= 1 - && (this.clientPort == null || this.clientPort.equals(clTp.getValue()))) { - clientPerNwTp.put(nwTp.getValue(), clTp.getValue()); - return true; - } - } - } - } - return false; + return checkAzSwPool(nblList, netwTps, clientTps); default: LOG.error("Unsupported mode type {}", modeType); @@ -280,6 +255,41 @@ public class PceOtnNode implements PceNode { } } + + private boolean checkIntermediateSwPool(List nblList, List netwTps) { + for (NonBlockingList nbl: nblList) { + for (TpId nwTp : netwTps) { + if (nbl.getTpList().contains(nwTp)) { + usableXpdrNWTps.add(nwTp); + } + if (usableXpdrNWTps.size() >= 2) { + return true; + } + } + } + return false; + } + + + private boolean checkAzSwPool(List nblList, List netwTps, List clientTps) { + for (NonBlockingList nbl: nblList) { + for (TpId nwTp : netwTps) { + for (TpId clTp : clientTps) { + if (nbl.getTpList().contains(clTp) && nbl.getTpList().contains(nwTp)) { + usableXpdrClientTps.add(clTp); + usableXpdrNWTps.add(nwTp); + } + if (usableXpdrClientTps.size() >= 1 && usableXpdrNWTps.size() >= 1 + && (this.clientPort == null || this.clientPort.equals(clTp.getValue()))) { + clientPerNwTp.put(nwTp.getValue(), clTp.getValue()); + return true; + } + } + } + } + return false; + } + private boolean checkTpForOdtuTermination(TerminationPoint1 ontTp1) { for (SupportedInterfaceCapability sic : ontTp1.getTpSupportedInterfaces().getSupportedInterfaceCapability() .values()) {