X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=pce%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Ftransportpce%2Fpce%2Fgnpy%2FGnpyResult.java;h=d5e27d18fc2785a9d9b6a740c0d4c21e399a7013;hb=refs%2Fchanges%2F46%2F100646%2F27;hp=59cd3a02eafe5050df1b70eabc44466312b65a23;hpb=f16a23bbe46cdff5c2f97f7229a29563090ae81e;p=transportpce.git diff --git a/pce/src/main/java/org/opendaylight/transportpce/pce/gnpy/GnpyResult.java b/pce/src/main/java/org/opendaylight/transportpce/pce/gnpy/GnpyResult.java index 59cd3a02e..d5e27d18f 100644 --- a/pce/src/main/java/org/opendaylight/transportpce/pce/gnpy/GnpyResult.java +++ b/pce/src/main/java/org/opendaylight/transportpce/pce/gnpy/GnpyResult.java @@ -8,30 +8,24 @@ package org.opendaylight.transportpce.pce.gnpy; -import java.math.BigDecimal; import java.util.ArrayList; import java.util.Collection; +import java.util.HashSet; import java.util.List; -import java.util.stream.Collectors; -import org.opendaylight.yang.gen.v1.gnpy.path.rev220221.Result; -import org.opendaylight.yang.gen.v1.gnpy.path.rev220221.explicit.route.hop.type.NumUnnumHop; -import org.opendaylight.yang.gen.v1.gnpy.path.rev220221.generic.path.properties.path.properties.PathMetric; -import org.opendaylight.yang.gen.v1.gnpy.path.rev220221.generic.path.properties.path.properties.PathRouteObjects; -import org.opendaylight.yang.gen.v1.gnpy.path.rev220221.result.Response; -import org.opendaylight.yang.gen.v1.gnpy.path.rev220221.result.response.response.type.NoPathCase; -import org.opendaylight.yang.gen.v1.gnpy.path.rev220221.result.response.response.type.PathCase; -import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing.constraints.rev171017.constraints.sp.co.routing.or.general.General; -import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing.constraints.rev171017.constraints.sp.co.routing.or.general.GeneralBuilder; -import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing.constraints.rev171017.constraints.sp.co.routing.or.general.general.Include; -import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing.constraints.rev171017.constraints.sp.co.routing.or.general.general.IncludeBuilder; -import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing.constraints.rev171017.constraints.sp.co.routing.or.general.general.include_.OrderedHops; -import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing.constraints.rev171017.constraints.sp.co.routing.or.general.general.include_.OrderedHopsBuilder; -import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing.constraints.rev171017.ordered.constraints.sp.HopType; -import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing.constraints.rev171017.ordered.constraints.sp.HopTypeBuilder; -import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing.constraints.rev171017.ordered.constraints.sp.hop.type.hop.type.NodeBuilder; -import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing.constraints.rev171017.routing.constraints.sp.HardConstraints; -import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing.constraints.rev171017.routing.constraints.sp.HardConstraintsBuilder; -import org.opendaylight.yangtools.yang.common.Uint16; +import java.util.Set; +import org.opendaylight.yang.gen.v1.gnpy.path.rev220615.Result; +import org.opendaylight.yang.gen.v1.gnpy.path.rev220615.explicit.route.hop.type.NumUnnumHop; +import org.opendaylight.yang.gen.v1.gnpy.path.rev220615.generic.path.properties.path.properties.PathMetric; +import org.opendaylight.yang.gen.v1.gnpy.path.rev220615.generic.path.properties.path.properties.PathRouteObjects; +import org.opendaylight.yang.gen.v1.gnpy.path.rev220615.result.Response; +import org.opendaylight.yang.gen.v1.gnpy.path.rev220615.result.response.response.type.NoPathCase; +import org.opendaylight.yang.gen.v1.gnpy.path.rev220615.result.response.response.type.PathCase; +import org.opendaylight.yang.gen.v1.http.org.openroadm.common.node.types.rev210528.NodeIdType; +import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev211210.constraints.Include; +import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev211210.constraints.IncludeBuilder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev211210.routing.constraints.HardConstraints; +import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev211210.routing.constraints.HardConstraintsBuilder; +import org.opendaylight.yangtools.yang.common.Decimal64; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -56,7 +50,6 @@ public class GnpyResult { } LOG.info("The response id is {}; ", responses.get(0).getResponseId()); this.response = responses.get(0); - analyzeResult(); } public boolean getPathFeasibility() { @@ -87,7 +80,7 @@ public class GnpyResult { LOG.info("GNPy : path is not feasible : {}", noPathType); for (PathMetric pathMetric : pathMetricList) { String metricType = pathMetric.getMetricType().getSimpleName(); - BigDecimal accumulativeValue = pathMetric.getAccumulativeValue(); + Decimal64 accumulativeValue = pathMetric.getAccumulativeValue(); LOG.info("Metric type {} // AccumulatriveValue {}", metricType, accumulativeValue); } } @@ -99,7 +92,7 @@ public class GnpyResult { // Path metrics for (PathMetric pathMetric : pathMetricList) { String metricType = pathMetric.getMetricType().getSimpleName(); - BigDecimal accumulativeValue = pathMetric.getAccumulativeValue(); + Decimal64 accumulativeValue = pathMetric.getAccumulativeValue(); LOG.info("Metric type {} // AccumulatriveValue {}", metricType, accumulativeValue); } // Path route objects @@ -114,31 +107,19 @@ public class GnpyResult { HardConstraints hardConstraints = null; // Includes the list of nodes in the GNPy computed path as constraints // for the PCE - List orderedHopsList = new ArrayList<>(); - int counter = 0; + Set nodeIdList = new HashSet<>(); for (PathRouteObjects pathRouteObjects : pathRouteObjectList) { if (pathRouteObjects.getPathRouteObject().getType() instanceof NumUnnumHop) { NumUnnumHop numUnnumHop = (NumUnnumHop) pathRouteObjects.getPathRouteObject().getType(); String nodeId = numUnnumHop.getNumUnnumHop().getNodeId(); if (nodeId != null && this.ordNodeList.contains(nodeId)) { - org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing.constraints.rev171017 - .ordered.constraints.sp.hop.type.hop.type.Node node = new NodeBuilder().setNodeId(nodeId) - .build(); - HopType hopType = new HopTypeBuilder().setHopType(node).build(); - OrderedHops orderedHops = new OrderedHopsBuilder() - .setHopNumber(Uint16.valueOf(counter)).setHopType(hopType) - .build(); - orderedHopsList.add(orderedHops); - counter++; + nodeIdList.add(new NodeIdType(nodeId)); } } } - Include include = new IncludeBuilder() - .setOrderedHops(orderedHopsList.stream() - .collect(Collectors.toMap(OrderedHops::key, orderedHops -> orderedHops))) - .build(); - General general = new GeneralBuilder().setInclude(include).build(); - hardConstraints = new HardConstraintsBuilder().setCoRoutingOrGeneral(general).build(); + + Include include = new IncludeBuilder().setNodeId(nodeIdList).build(); + hardConstraints = new HardConstraintsBuilder().setInclude(include).build(); return hardConstraints; }