Portmapping-topologies code consolidation
[transportpce.git] / pce / src / main / java / org / opendaylight / transportpce / pce / networkanalyzer / MapUtils.java
index de9f0e72431b697637f36e54890d53c1daff6505..e6b9e3a4c06309e63a5f42fd5c2a7bb78e5efd3c 100644 (file)
@@ -10,7 +10,7 @@ package org.opendaylight.transportpce.pce.networkanalyzer;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
-
+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;
@@ -18,6 +18,7 @@ import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.span.attri
 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.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;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.networks.network.Link;
 import org.slf4j.Logger;
@@ -92,8 +93,13 @@ public final class MapUtils {
     }
 
     public static String getSupNode(Node node) {
-        // TODO: supporting IDs exist as a List. this code takes just the first element
-        return node.getSupportingNode().get(0).getNodeRef().getValue();
+        List<SupportingNode> supNodes = node.getSupportingNode();
+        for (SupportingNode snode : supNodes) {
+            if (NetworkUtils.UNDERLAY_NETWORK_ID.equals(snode.getNetworkRef().getValue())) {
+                return snode.getNodeRef().getValue();
+            }
+        }
+        return null;
     }
 
     public static OpenroadmLinkType calcType(Link link) {