X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=common%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Ftransportpce%2Fcommon%2Fcrossconnect%2FCrossConnectImpl.java;h=4c9d3272171f32886915ea4e7d94a87e9d60bf13;hb=ed0789eb5b14e334c5750e73e456157d9076b1bc;hp=a4bc0dfafa65727231015de235b503e921c95a52;hpb=a0c703ac04217369edcc80c55d2fafd1a0efefe4;p=transportpce.git diff --git a/common/src/main/java/org/opendaylight/transportpce/common/crossconnect/CrossConnectImpl.java b/common/src/main/java/org/opendaylight/transportpce/common/crossconnect/CrossConnectImpl.java index a4bc0dfaf..4c9d32721 100644 --- a/common/src/main/java/org/opendaylight/transportpce/common/crossconnect/CrossConnectImpl.java +++ b/common/src/main/java/org/opendaylight/transportpce/common/crossconnect/CrossConnectImpl.java @@ -10,16 +10,17 @@ package org.opendaylight.transportpce.common.crossconnect; import static org.opendaylight.transportpce.common.StringConstants.OPENROADM_DEVICE_VERSION_1_2_1; import static org.opendaylight.transportpce.common.StringConstants.OPENROADM_DEVICE_VERSION_2_2_1; +import static org.opendaylight.transportpce.common.StringConstants.OPENROADM_DEVICE_VERSION_7_1; import java.math.BigDecimal; import java.util.List; import java.util.Optional; - import org.opendaylight.transportpce.common.device.DeviceTransactionManager; +import org.opendaylight.transportpce.common.fixedflex.SpectrumInformation; import org.opendaylight.transportpce.common.mapping.MappingUtils; import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfaceException; import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev161014.OpticalControlMode; -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.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -31,13 +32,16 @@ public class CrossConnectImpl implements CrossConnect { private final MappingUtils mappingUtils; private CrossConnectImpl121 crossConnectImpl121; private CrossConnectImpl221 crossConnectImpl221; + private CrossConnectImpl710 crossConnectImpl710; public CrossConnectImpl(DeviceTransactionManager deviceTransactionManager, MappingUtils mappingUtils, CrossConnectImpl121 crossConnectImpl121, - CrossConnectImpl221 crossConnectImpl221) { + CrossConnectImpl221 crossConnectImpl221, + CrossConnectImpl710 crossConnectImpl710) { this.mappingUtils = mappingUtils; this.crossConnectImpl121 = crossConnectImpl121; this.crossConnectImpl221 = crossConnectImpl221; + this.crossConnectImpl710 = crossConnectImpl710; this.crossConnect = null; } @@ -53,16 +57,18 @@ public class CrossConnectImpl implements CrossConnect { } - public Optional postCrossConnect(String nodeId, Long waveNumber, String srcTp, String destTp) { + public Optional postCrossConnect(String nodeId, String srcTp, String destTp, + SpectrumInformation spectrumInformation) { String openRoadmVersion = mappingUtils.getOpenRoadmVersion(nodeId); LOG.info("Cross Connect post request received for node {} with version {}",nodeId,openRoadmVersion); if (OPENROADM_DEVICE_VERSION_1_2_1.equals(openRoadmVersion)) { LOG.info("Device Version is 1.2.1"); - return crossConnectImpl121.postCrossConnect(nodeId, waveNumber, srcTp, destTp); + return crossConnectImpl121.postCrossConnect(nodeId, srcTp, destTp, spectrumInformation); } else if (OPENROADM_DEVICE_VERSION_2_2_1.equals(openRoadmVersion)) { LOG.info("Device Version is 2.2"); - return crossConnectImpl221.postCrossConnect(nodeId, waveNumber, srcTp, destTp); + return crossConnectImpl221.postCrossConnect(nodeId, srcTp, destTp, + spectrumInformation); } LOG.info("Device Version not found"); return Optional.empty(); @@ -82,14 +88,25 @@ public class CrossConnectImpl implements CrossConnect { return null; } - public List getConnectionPortTrail(String nodeId, Long waveNumber, String srcTp, String destTp) + public List deleteCrossConnect(String nodeId, String connectionNumber) { + String openRoadmVersion = mappingUtils.getOpenRoadmVersion(nodeId); + if (OPENROADM_DEVICE_VERSION_7_1.equals(openRoadmVersion)) { + return crossConnectImpl710.deleteOtnCrossConnect(nodeId, connectionNumber); + } + return null; + } + + public List getConnectionPortTrail(String nodeId, String srcTp, String destTp, int lowerSpectralSlotNumber, + int higherSpectralSlotNumber) throws OpenRoadmInterfaceException { String openRoadmVersion = mappingUtils.getOpenRoadmVersion(nodeId); if (OPENROADM_DEVICE_VERSION_1_2_1.equals(openRoadmVersion)) { - return crossConnectImpl121.getConnectionPortTrail(nodeId, waveNumber, srcTp, destTp); + return crossConnectImpl121.getConnectionPortTrail(nodeId, srcTp, destTp, + lowerSpectralSlotNumber, higherSpectralSlotNumber); } else if (OPENROADM_DEVICE_VERSION_2_2_1.equals(openRoadmVersion)) { - return crossConnectImpl221.getConnectionPortTrail(nodeId, waveNumber, srcTp, destTp); + return crossConnectImpl221 + .getConnectionPortTrail(nodeId, srcTp, destTp, lowerSpectralSlotNumber, higherSpectralSlotNumber); } return null; } @@ -113,6 +130,14 @@ public class CrossConnectImpl implements CrossConnect { @Override public Optional postOtnCrossConnect(List createdOduInterfaces, Nodes node) throws OpenRoadmInterfaceException { - return crossConnectImpl221.postOtnCrossConnect(createdOduInterfaces, node); + String openRoadmVersion = mappingUtils.getOpenRoadmVersion(node.getNodeId()); + + if (OPENROADM_DEVICE_VERSION_2_2_1.equals(openRoadmVersion)) { + return crossConnectImpl221.postOtnCrossConnect(createdOduInterfaces, node); + } + else if (OPENROADM_DEVICE_VERSION_7_1.equals(openRoadmVersion)) { + return crossConnectImpl710.postOtnCrossConnect(createdOduInterfaces, node); + } + return Optional.empty(); } }