X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=pce%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Ftransportpce%2Fpce%2Fnetworkanalyzer%2FMapUtils.java;h=1dcf97e24b5308f3785a1687150f2e1e15a889f3;hb=refs%2Fchanges%2F46%2F100646%2F27;hp=f394e2b0298dd5cbcfb18781886a37b6d1e1f2d2;hpb=3698762c472dcee815709036258f76af446bec35;p=transportpce.git diff --git a/pce/src/main/java/org/opendaylight/transportpce/pce/networkanalyzer/MapUtils.java b/pce/src/main/java/org/opendaylight/transportpce/pce/networkanalyzer/MapUtils.java index f394e2b02..1dcf97e24 100644 --- a/pce/src/main/java/org/opendaylight/transportpce/pce/networkanalyzer/MapUtils.java +++ b/pce/src/main/java/org/opendaylight/transportpce/pce/networkanalyzer/MapUtils.java @@ -12,14 +12,15 @@ import java.util.Arrays; import java.util.Iterator; import java.util.List; import java.util.Map; +import java.util.SortedMap; import java.util.TreeMap; import org.opendaylight.transportpce.common.NetworkUtils; import org.opendaylight.transportpce.pce.constraints.PceConstraints; -import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Link1; -import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.span.attributes.LinkConcatenation; -import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.span.attributes.LinkConcatenationKey; -import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.link.oms.attributes.Span; -import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev181130.OpenroadmLinkType; +import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev211210.Link1; +import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev211210.networks.network.link.oms.attributes.Span; +import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev211210.OpenroadmLinkType; +import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev211210.link.concatenation.LinkConcatenation; +import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev211210.link.concatenation.LinkConcatenationKey; 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.node.SupportingNode; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.LinkId; @@ -29,6 +30,8 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; public final class MapUtils { + private static final String MAP_UTILS_NO_LINK_AUGMENTATION_AVAILABLE_MSG = + "MapUtils: No Link augmentation available. {}"; /* Logging. */ private static final Logger LOG = LoggerFactory.getLogger(MapUtils.class); @@ -47,7 +50,7 @@ public final class MapUtils { for (Node node : allNodes) { if (excClliNodes.contains(node.getNodeId().getValue())) { LOG.debug("mapDiversityConstraints setExcludeCLLI for node {}", node.getNodeId().getValue()); - pceHardConstraints.setExcludeCLLI(Arrays.asList(getCLLI(node))); + pceHardConstraints.setExcludeCLLI(List.of(getCLLI(node))); } if (excNodes.contains(node.getNodeId().getValue())) { @@ -84,33 +87,34 @@ public final class MapUtils { } public static List getSRLG(Link link) { + Span omsAttributesSpan = getOmsAttributesSpan(link); + if (omsAttributesSpan == null) { + LOG.debug("No concatenation for this link"); + return new ArrayList<>(); + } List srlgList = new ArrayList<>(); - try { - Map linkList = getOmsAttributesSpan(link).getLinkConcatenation(); - for (LinkConcatenation lc : linkList.values()) { + Map linkList = omsAttributesSpan.nonnullLinkConcatenation(); + for (LinkConcatenation lc : linkList.values()) { + if (lc != null && lc.getSRLGId() != null) { srlgList.add(lc.getSRLGId().toJava()); } - } catch (NullPointerException e) { - LOG.debug("No concatenation for this link"); } return srlgList; } public static List getSRLGfromLink(Link link) { - List srlgList = new ArrayList<>(); - org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Link1 linkC = - link.augmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Link1.class); + org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev211210.Link1 linkC = link + .augmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev211210.Link1.class); if (linkC == null) { - LOG.error("MapUtils: No Link augmentation available. {}", link.getLinkId().getValue()); - - } else { - try { - for (org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.networks.network.link - .LinkConcatenation lc : linkC.nonnullLinkConcatenation().values()) { - srlgList.add(lc.getSRLGId().toJava()); - } - } catch (NullPointerException e) { - LOG.debug("No concatenation for this link"); + LOG.error(MAP_UTILS_NO_LINK_AUGMENTATION_AVAILABLE_MSG, link.getLinkId().getValue()); + return new ArrayList<>(); + } + List srlgList = new ArrayList<>(); + for (LinkConcatenation lc : linkC.nonnullLinkConcatenation().values()) { + if (lc != null && lc.getSRLGId() != null) { + srlgList.add(lc.getSRLGId().toJava()); + } else { + LOG.debug("No concatenation or SLRG id for this link"); } } return srlgList; @@ -134,7 +138,7 @@ public final class MapUtils { return null; } - public static TreeMap getAllSupNode(Node node) { + public static SortedMap getAllSupNode(Node node) { TreeMap allSupNodes = new TreeMap<>(); for (SupportingNode supnode : node.nonnullSupportingNode().values()) { allSupNodes.put(supnode.getNetworkRef().getValue(), @@ -157,11 +161,11 @@ public final class MapUtils { public static Long getAvailableBandwidth(Link link) { - if (link.augmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130 + if (link.augmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev211210 .Link1.class) != null - && link.augmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130 + && link.augmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev211210 .Link1.class).getAvailableBandwidth() != null) { - return link.augmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130 + return link.augmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev211210 .Link1.class).getAvailableBandwidth().toJava(); } else { LOG.warn("MapUtils: no Available Bandwidth available for link {}", link.getLinkId()); @@ -170,11 +174,11 @@ public final class MapUtils { } public static Long getUsedBandwidth(Link link) { - if (link.augmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130 + if (link.augmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev211210 .Link1.class) != null - && link.augmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130 + && link.augmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev211210 .Link1.class).getUsedBandwidth() != null) { - return link.augmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev181130 + return link.augmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev211210 .Link1.class).getUsedBandwidth().toJava(); } else { LOG.warn("MapUtils: no Available Bandwidth available for link {}", link.getLinkId()); @@ -188,7 +192,7 @@ public final class MapUtils { // ID and type link1 = link.augmentation(Link1.class); if (link1 == null) { - LOG.error("MapUtils: No Link augmentation available. {}", link.getLinkId().getValue()); + LOG.error(MAP_UTILS_NO_LINK_AUGMENTATION_AVAILABLE_MSG, link.getLinkId().getValue()); return null; } @@ -202,28 +206,25 @@ public final class MapUtils { } public static Span getOmsAttributesSpan(Link link) { - org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.Link1 link1 = null; - Span tempSpan = null; + org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev211210.Link1 link1 = null; link1 = - link.augmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.Link1.class); + link.augmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev211210.Link1.class); if (link1 == null) { - LOG.error("MapUtils: No Link augmentation available. {}", link.getLinkId().getValue()); - } - try { - tempSpan = link1.getOMSAttributes().getSpan(); + LOG.error(MAP_UTILS_NO_LINK_AUGMENTATION_AVAILABLE_MSG, link.getLinkId().getValue()); + return null; } - catch (NullPointerException e) { + if (link1.getOMSAttributes() == null) { LOG.error("MapUtils: No Link getOMSAttributes available. {}", link.getLinkId().getValue()); + return null; } - - return tempSpan; + return link1.getOMSAttributes().getSpan(); } public static LinkId extractOppositeLink(Link link) { LinkId tmpoppositeLink = null; - org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Link1 linkOpposite - = link.augmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Link1.class); + org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev211210.Link1 linkOpposite + = link.augmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev211210.Link1.class); tmpoppositeLink = linkOpposite.getOppositeLink(); LOG.debug("PceLink: reading oppositeLink. {}", linkOpposite); if (tmpoppositeLink == null) {