X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=common%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Ftransportpce%2Fcommon%2Fcrossconnect%2FCrossConnectImpl221.java;h=e730150c0d24619c783791cf60b1c24c50ed5471;hb=bf047c9d77aa191d98749aa95b683f517aeea542;hp=52abeced10d6d0937e19c49bbbf12aedd49ed612;hpb=f5a8fe61d265bce36b2fca393d82685a22ac326a;p=transportpce.git diff --git a/common/src/main/java/org/opendaylight/transportpce/common/crossconnect/CrossConnectImpl221.java b/common/src/main/java/org/opendaylight/transportpce/common/crossconnect/CrossConnectImpl221.java index 52abeced1..e730150c0 100644 --- a/common/src/main/java/org/opendaylight/transportpce/common/crossconnect/CrossConnectImpl221.java +++ b/common/src/main/java/org/opendaylight/transportpce/common/crossconnect/CrossConnectImpl221.java @@ -23,6 +23,8 @@ import org.opendaylight.mdsal.common.api.LogicalDatastoreType; import org.opendaylight.transportpce.common.Timeouts; import org.opendaylight.transportpce.common.device.DeviceTransaction; import org.opendaylight.transportpce.common.device.DeviceTransactionManager; +import org.opendaylight.transportpce.common.fixedflex.GridConstant; +import org.opendaylight.transportpce.common.fixedflex.SpectrumInformation; import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfaceException; import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev181019.OpticalControlMode; import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev181019.PowerDBm; @@ -39,7 +41,7 @@ import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.org.open import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.org.openroadm.device.container.org.openroadm.device.RoadmConnections; import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.org.openroadm.device.container.org.openroadm.device.RoadmConnectionsBuilder; import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.org.openroadm.device.container.org.openroadm.device.RoadmConnectionsKey; -import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev200128.otn.renderer.input.Nodes; +import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev201211.otn.renderer.input.Nodes; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.opendaylight.yangtools.yang.common.RpcResult; import org.slf4j.Logger; @@ -69,14 +71,18 @@ public class CrossConnectImpl221 { Timeouts.DEVICE_READ_TIMEOUT_UNIT); } - public Optional postCrossConnect(String deviceId, Long waveNumber, String srcTp, String destTp) { - String connectionNumber = generateConnectionName(srcTp, destTp, waveNumber); + public Optional postCrossConnect(String deviceId, String srcTp, String destTp, + SpectrumInformation spectrumInformation) { + String connectionNumber = spectrumInformation.getIdentifierFromParams(srcTp, destTp); RoadmConnectionsBuilder rdmConnBldr = new RoadmConnectionsBuilder() .setConnectionName(connectionNumber) .setOpticalControlMode(OpticalControlMode.Off) - .setSource(new SourceBuilder().setSrcIf(srcTp + "-nmc-" + waveNumber).build()) - .setDestination(new DestinationBuilder().setDstIf(destTp + "-nmc-" + waveNumber) - .build()); + .setSource(new SourceBuilder() + .setSrcIf(spectrumInformation.getIdentifierFromParams(srcTp,"nmc")) + .build()) + .setDestination(new DestinationBuilder() + .setDstIf(spectrumInformation.getIdentifierFromParams(destTp,"nmc")) + .build()); InstanceIdentifier rdmConnectionIID = InstanceIdentifier.create(OrgOpenroadmDevice.class) @@ -103,7 +109,9 @@ public class CrossConnectImpl221 { deviceTx.commit(Timeouts.DEVICE_WRITE_TIMEOUT, Timeouts.DEVICE_WRITE_TIMEOUT_UNIT); try { commit.get(); - LOG.info("Roadm-connection successfully created: {}-{}-{}", srcTp, destTp, waveNumber); + LOG.info("Roadm-connection successfully created: {}-{}-{}-{}", srcTp, destTp, + spectrumInformation.getLowerSpectralSlotNumber(), + spectrumInformation.getHigherSpectralSlotNumber()); return Optional.of(connectionNumber); } catch (InterruptedException | ExecutionException e) { LOG.warn("Failed to post {}. Exception: ", rdmConnBldr.build(), e); @@ -164,9 +172,13 @@ public class CrossConnectImpl221 { } - public List getConnectionPortTrail(String nodeId, Long waveNumber, String srcTp, String destTp) + public List getConnectionPortTrail(String nodeId, String srcTp, String destTp, + int lowerSpectralSlotNumber, int higherSpectralSlotNumber) throws OpenRoadmInterfaceException { - String connectionName = generateConnectionName(srcTp, destTp, waveNumber); + String spectralSlotName = String.join(GridConstant.SPECTRAL_SLOT_SEPARATOR, + String.valueOf(lowerSpectralSlotNumber), + String.valueOf(higherSpectralSlotNumber)); + String connectionName = generateConnectionName(srcTp, destTp, spectralSlotName); Optional mountPointOpt = deviceTransactionManager.getDeviceMountPoint(nodeId); List ports = null; MountPoint mountPoint; @@ -266,8 +278,8 @@ public class CrossConnectImpl221 { new OduConnectionKey(connectionNumber)); } - private String generateConnectionName(String srcTp, String destTp, Long waveNumber) { - return srcTp + "-" + destTp + "-" + waveNumber; + private String generateConnectionName(String srcTp, String destTp, String spectralSlotName) { + return String.join(GridConstant.NAME_PARAMETERS_SEPARATOR,srcTp, destTp, spectralSlotName); } public Optional postOtnCrossConnect(List createdOduInterfaces, Nodes node) {