X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=pce%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Ftransportpce%2Fpce%2Fgnpy%2FGnpyServiceImpl.java;h=4c6beee8a3f49dee2eb1dad759a176e7774fcdf6;hb=3b1ac780f9fed4cddd3076a245746d48f74a6181;hp=34bbccb2d7ed0b20553f83f0cc64965e1915e3a7;hpb=56dd2add269f0fdc8efdc1e3bfece25301ba6a3f;p=transportpce.git diff --git a/pce/src/main/java/org/opendaylight/transportpce/pce/gnpy/GnpyServiceImpl.java b/pce/src/main/java/org/opendaylight/transportpce/pce/gnpy/GnpyServiceImpl.java index 34bbccb2d..4c6beee8a 100644 --- a/pce/src/main/java/org/opendaylight/transportpce/pce/gnpy/GnpyServiceImpl.java +++ b/pce/src/main/java/org/opendaylight/transportpce/pce/gnpy/GnpyServiceImpl.java @@ -19,31 +19,31 @@ import org.eclipse.jdt.annotation.Nullable; import org.opendaylight.transportpce.pce.constraints.PceConstraints; import org.opendaylight.transportpce.pce.constraints.PceConstraints.ResourcePair; import org.opendaylight.yang.gen.v1.gnpy.gnpy.network.topology.rev181214.topo.Elements; -import org.opendaylight.yang.gen.v1.gnpy.path.rev190502.RouteIncludeEro; -import org.opendaylight.yang.gen.v1.gnpy.path.rev190502.TeHopType; -import org.opendaylight.yang.gen.v1.gnpy.path.rev190502.TeNodeId; -import org.opendaylight.yang.gen.v1.gnpy.path.rev190502.TePathDisjointness; -import org.opendaylight.yang.gen.v1.gnpy.path.rev190502.TeTpId; -import org.opendaylight.yang.gen.v1.gnpy.path.rev190502.common.constraints_config.TeBandwidth; -import org.opendaylight.yang.gen.v1.gnpy.path.rev190502.common.constraints_config.TeBandwidthBuilder; -import org.opendaylight.yang.gen.v1.gnpy.path.rev190502.explicit.route.hop.Type; -import org.opendaylight.yang.gen.v1.gnpy.path.rev190502.explicit.route.hop.type.NumUnnumHopBuilder; -import org.opendaylight.yang.gen.v1.gnpy.path.rev190502.explicit.route.hop.type.num.unnum.hop.NumUnnumHop; -import org.opendaylight.yang.gen.v1.gnpy.path.rev190502.generic.path.constraints.PathConstraints; -import org.opendaylight.yang.gen.v1.gnpy.path.rev190502.generic.path.constraints.PathConstraintsBuilder; -import org.opendaylight.yang.gen.v1.gnpy.path.rev190502.gnpy.specific.parameters.EffectiveFreqSlot; -import org.opendaylight.yang.gen.v1.gnpy.path.rev190502.gnpy.specific.parameters.EffectiveFreqSlotBuilder; -import org.opendaylight.yang.gen.v1.gnpy.path.rev190502.path.route.objects.ExplicitRouteObjects; -import org.opendaylight.yang.gen.v1.gnpy.path.rev190502.path.route.objects.ExplicitRouteObjectsBuilder; -import org.opendaylight.yang.gen.v1.gnpy.path.rev190502.path.route.objects.explicit.route.objects.RouteObjectIncludeExclude; -import org.opendaylight.yang.gen.v1.gnpy.path.rev190502.path.route.objects.explicit.route.objects.RouteObjectIncludeExcludeBuilder; -import org.opendaylight.yang.gen.v1.gnpy.path.rev190502.service.PathRequest; -import org.opendaylight.yang.gen.v1.gnpy.path.rev190502.service.PathRequestBuilder; -import org.opendaylight.yang.gen.v1.gnpy.path.rev190502.synchronization.info.Synchronization; -import org.opendaylight.yang.gen.v1.gnpy.path.rev190502.synchronization.info.SynchronizationBuilder; -import org.opendaylight.yang.gen.v1.gnpy.path.rev190502.synchronization.info.synchronization.Svec; -import org.opendaylight.yang.gen.v1.gnpy.path.rev190502.synchronization.info.synchronization.SvecBuilder; -import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev190624.PathComputationRequestInput; +import org.opendaylight.yang.gen.v1.gnpy.path.rev200202.RouteIncludeEro; +import org.opendaylight.yang.gen.v1.gnpy.path.rev200202.TeHopType; +import org.opendaylight.yang.gen.v1.gnpy.path.rev200202.TeNodeId; +import org.opendaylight.yang.gen.v1.gnpy.path.rev200202.TePathDisjointness; +import org.opendaylight.yang.gen.v1.gnpy.path.rev200202.TeTpId; +import org.opendaylight.yang.gen.v1.gnpy.path.rev200202.common.constraints_config.TeBandwidth; +import org.opendaylight.yang.gen.v1.gnpy.path.rev200202.common.constraints_config.TeBandwidthBuilder; +import org.opendaylight.yang.gen.v1.gnpy.path.rev200202.explicit.route.hop.Type; +import org.opendaylight.yang.gen.v1.gnpy.path.rev200202.explicit.route.hop.type.NumUnnumHopBuilder; +import org.opendaylight.yang.gen.v1.gnpy.path.rev200202.explicit.route.hop.type.num.unnum.hop.NumUnnumHop; +import org.opendaylight.yang.gen.v1.gnpy.path.rev200202.generic.path.constraints.PathConstraints; +import org.opendaylight.yang.gen.v1.gnpy.path.rev200202.generic.path.constraints.PathConstraintsBuilder; +import org.opendaylight.yang.gen.v1.gnpy.path.rev200202.gnpy.specific.parameters.EffectiveFreqSlot; +import org.opendaylight.yang.gen.v1.gnpy.path.rev200202.gnpy.specific.parameters.EffectiveFreqSlotBuilder; +import org.opendaylight.yang.gen.v1.gnpy.path.rev200202.path.route.objects.ExplicitRouteObjects; +import org.opendaylight.yang.gen.v1.gnpy.path.rev200202.path.route.objects.ExplicitRouteObjectsBuilder; +import org.opendaylight.yang.gen.v1.gnpy.path.rev200202.path.route.objects.explicit.route.objects.RouteObjectIncludeExclude; +import org.opendaylight.yang.gen.v1.gnpy.path.rev200202.path.route.objects.explicit.route.objects.RouteObjectIncludeExcludeBuilder; +import org.opendaylight.yang.gen.v1.gnpy.path.rev200202.service.PathRequest; +import org.opendaylight.yang.gen.v1.gnpy.path.rev200202.service.PathRequestBuilder; +import org.opendaylight.yang.gen.v1.gnpy.path.rev200202.synchronization.info.Synchronization; +import org.opendaylight.yang.gen.v1.gnpy.path.rev200202.synchronization.info.SynchronizationBuilder; +import org.opendaylight.yang.gen.v1.gnpy.path.rev200202.synchronization.info.synchronization.Svec; +import org.opendaylight.yang.gen.v1.gnpy.path.rev200202.synchronization.info.synchronization.SvecBuilder; +import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev200128.PathComputationRequestInput; import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev171017.path.description.AToZDirection; import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev171017.path.description.ZToADirection; import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev171017.path.description.atoz.direction.AToZ; @@ -142,7 +142,8 @@ public class GnpyServiceImpl { List pathRequestList = new ArrayList<>(); PathRequest pathRequestEl = new PathRequestBuilder().setRequestId(requestId) .setSource(this.mapNodeRefIp.get(sourceNode)).setDestination(this.mapNodeRefIp.get(destNode)) - .setSrcTpId("srcTpId".getBytes()).setDstTpId("dstTpId".getBytes()).setPathConstraints(pathConstraints) + .setSrcTpId("srcTpId".getBytes()).setDstTpId("dstTpId".getBytes()) + .setBidirectional(false).setPathConstraints(pathConstraints).setPathConstraints(pathConstraints) .setExplicitRouteObjects(explicitRouteObjects).build(); pathRequestList.add(pathRequestEl); LOG.debug("In GnpyServiceImpl: path request AToZ is extracted"); @@ -167,14 +168,14 @@ public class GnpyServiceImpl { ExplicitRouteObjects explicitRouteObjects = new ExplicitRouteObjectsBuilder() .setRouteObjectIncludeExclude(routeObjectIncludeExcludes).build(); //Create Path Constraint - //to be deleted - //Long wavelengthNumber = (ztoa.getZToAWavelengthNumber() != null) ? ztoa.getZToAWavelengthNumber() : null; PathConstraints pathConstraints = createPathConstraints(ztoa.getRate(),ztoa.getZToAWavelengthNumber()); + // Create the path request List pathRequestList = new ArrayList<>(); PathRequest pathRequestEl = new PathRequestBuilder().setRequestId(requestId) .setSource(this.mapNodeRefIp.get(sourceNode)).setDestination(this.mapNodeRefIp.get(destNode)) - .setSrcTpId("srcTpId".getBytes()).setDstTpId("dstTpId".getBytes()).setPathConstraints(pathConstraints) + .setSrcTpId("srcTpId".getBytes()).setDstTpId("dstTpId".getBytes()) + .setBidirectional(false).setPathConstraints(pathConstraints) .setExplicitRouteObjects(explicitRouteObjects).build(); pathRequestList.add(pathRequestEl); LOG.debug("In GnpyServiceImpl: path request ZToA is extracted"); @@ -261,7 +262,7 @@ public class GnpyServiceImpl { } for (Elements element : this.elements) { - if (element.getUid().contains(ipAddress.getIpv4Address().getValue().toString())) { + if (element.getUid().contains(ipAddress.getIpv4Address().getValue())) { if ((this.currentNodeIpAddress == null) || (this.currentNodeIpAddress != ipAddress)) { this.currentNodeIpAddress = ipAddress; RouteObjectIncludeExclude routeObjectIncludeExclude = addRouteObjectIncludeExclude(ipAddress, 1); @@ -280,7 +281,7 @@ public class GnpyServiceImpl { //Add a link to the route object private void addLinkToRouteObject(String linkId) throws GnpyException { if (linkId == null) { - throw new GnpyException(String.format("In GnpyServiceImpl: the linkId %s does not exist",linkId)); + throw new GnpyException(String.format("In GnpyServiceImpl: the linkId does not exist")); } //Only the ROADM-to-ROADM link are included in the route object if (!mapLinkFiber.containsKey(linkId)) { @@ -306,9 +307,9 @@ public class GnpyServiceImpl { private RouteObjectIncludeExclude addRouteObjectIncludeExclude(IpAddress ipAddress, long teTpValue) { TeNodeId teNodeId = new TeNodeId(ipAddress); TeTpId teTpId = new TeTpId(teTpValue); - NumUnnumHop numUnnumHop = new org.opendaylight.yang.gen.v1.gnpy.path.rev190502.explicit.route.hop.type.num + NumUnnumHop numUnnumHop = new org.opendaylight.yang.gen.v1.gnpy.path.rev200202.explicit.route.hop.type.num .unnum.hop.NumUnnumHopBuilder() - .setNodeId(teNodeId.getIpv4Address().getValue().toString()) + .setNodeId(teNodeId.getIpv4Address().getValue()) .setLinkTpId(teTpId.getUint32().toString()) .setHopType(TeHopType.STRICT).build(); Type type1 = new NumUnnumHopBuilder().setNumUnnumHop(numUnnumHop).build(); @@ -348,8 +349,8 @@ public class GnpyServiceImpl { .setDisjointness(new TePathDisjointness(true, true, false)) .setRequestIdNumber(requestIdNumber).build(); List synchro = new ArrayList<>(); - Synchronization synchronization1 = new SynchronizationBuilder().setSynchronizationId(new Long(0)).setSvec(svec) - .build(); + Synchronization synchronization1 = new SynchronizationBuilder().setSynchronizationId(Long.valueOf(0)) + .setSvec(svec).build(); synchro.add(synchronization1); return (synchro); }