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=b2c6edc01a6d69beb23bb89c56a96e609ef26132;hpb=79249b3cbb0c888563fa049737121137541adc81;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 b2c6edc01..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 @@ -9,7 +9,6 @@ package org.opendaylight.transportpce.renderer.provisiondevice; import com.google.common.collect.Sets; import com.google.common.util.concurrent.FluentFuture; - import java.util.ArrayList; import java.util.LinkedList; import java.util.List; @@ -24,7 +23,6 @@ import java.util.concurrent.Future; import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeoutException; import java.util.concurrent.atomic.AtomicBoolean; - import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.mdsal.binding.api.DataBroker; import org.opendaylight.mdsal.binding.api.ReadTransaction; @@ -45,7 +43,7 @@ import org.opendaylight.transportpce.renderer.provisiondevice.servicepath.Servic import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.alarmsuppression.rev171102.ServiceNodelist; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.alarmsuppression.rev171102.service.nodelist.NodelistBuilder; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.alarmsuppression.rev171102.service.nodelist.NodelistKey; -import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200128.network.nodes.Mapping; +import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200429.network.nodes.Mapping; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.device.rev200128.CreateOtsOmsInput; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.device.rev200128.CreateOtsOmsOutput; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.device.rev200128.CreateOtsOmsOutputBuilder; @@ -64,10 +62,10 @@ import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.Service import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.service.list.Services; import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.service.list.ServicesBuilder; import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.service.list.ServicesKey; -import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev200128.node.interfaces.NodeInterface; -import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev200128.node.interfaces.NodeInterfaceBuilder; -import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev200128.node.interfaces.NodeInterfaceKey; -import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev200128.olm.renderer.input.Nodes; +import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev200615.node.interfaces.NodeInterface; +import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev200615.node.interfaces.NodeInterfaceBuilder; +import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev200615.node.interfaces.NodeInterfaceKey; +import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev200615.olm.renderer.input.Nodes; import org.opendaylight.yang.gen.v1.http.transportpce.topology.rev200129.OtnLinkType; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.slf4j.Logger; @@ -111,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<>(); @@ -131,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);