X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=renderer%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Ftransportpce%2Frenderer%2Fprovisiondevice%2FDeviceRendererServiceImpl.java;h=6a310929e8ee0ae5ca979f2aa447fe905d2ea17e;hb=0f9a451081238311c3f1f30e97aa22dcc5998a8a;hp=1c6d237d82b7d71a7fdae0103207fd88c4d24e3c;hpb=31bc01d3dab733bbb6ad48cc43586de43cb6c5c9;p=transportpce.git diff --git a/renderer/src/main/java/org/opendaylight/transportpce/renderer/provisiondevice/DeviceRendererServiceImpl.java b/renderer/src/main/java/org/opendaylight/transportpce/renderer/provisiondevice/DeviceRendererServiceImpl.java index 1c6d237d8..6a310929e 100644 --- a/renderer/src/main/java/org/opendaylight/transportpce/renderer/provisiondevice/DeviceRendererServiceImpl.java +++ b/renderer/src/main/java/org/opendaylight/transportpce/renderer/provisiondevice/DeviceRendererServiceImpl.java @@ -109,8 +109,11 @@ public class DeviceRendererServiceImpl implements DeviceRendererService { ServiceListTopology topology = new ServiceListTopology(); AtomicBoolean success = new AtomicBoolean(true); ForkJoinPool forkJoinPool = new ForkJoinPool(); + ForkJoinTask forkJoinTask = forkJoinPool.submit(() -> nodes.parallelStream().forEach(node -> { String nodeId = node.getNodeId(); + // take the index of the node + int nodeIndex = nodes.indexOf(node); LOG.info("Starting provisioning for node : {}", nodeId); List createdEthInterfaces = new ArrayList<>(); List createdOtuInterfaces = new ArrayList<>(); @@ -129,8 +132,18 @@ public class DeviceRendererServiceImpl implements DeviceRendererService { String supportingOchInterface = this.openRoadmInterfaceFactory.createOpenRoadmOchInterface( nodeId, destTp, waveNumber, ModulationFormat.DpQpsk); createdOchInterfaces.add(supportingOchInterface); + // Here we pass logical connection-point of z-end to set SAPI and DAPI + Nodes tgtNode = null; + if (nodeIndex + 1 == nodes.size()) { + // For the end node, tgtNode becomes the first node in the list + tgtNode = nodes.get(0); + } else { + tgtNode = nodes.get(nodeIndex + 1); + } + // tgtNode srcTp is null in this if cond String supportingOtuInterface = this.openRoadmInterfaceFactory - .createOpenRoadmOtu4Interface(nodeId, destTp, supportingOchInterface); + .createOpenRoadmOtu4Interface(nodeId, destTp, supportingOchInterface, + tgtNode.getNodeId(), tgtNode.getDestTp()); createdOtuInterfaces.add(supportingOtuInterface); if (srcTp == null) { otnNodesProvisioned.add(node);