From: Christophe Betoule Date: Wed, 25 Mar 2020 13:05:55 +0000 (+0100) Subject: Fix spotbugs issues in common module X-Git-Tag: 1.1.0~30 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=commitdiff_plain;h=addb42eafe72b266ba7bdeb8a5416f3ac18eb2e8;p=transportpce.git Fix spotbugs issues in common module JIRA: TRNSPRTPCE-206 Signed-off-by: Christophe Betoule Change-Id: I818d9f1c9cd81d06468f23d36fad14feebf840f5 --- diff --git a/common/pom.xml b/common/pom.xml index 05a145d6f..1ca0a7309 100644 --- a/common/pom.xml +++ b/common/pom.xml @@ -81,10 +81,4 @@ - - - - false - - diff --git a/common/src/main/java/org/opendaylight/transportpce/common/converter/JSONDataObjectConverter.java b/common/src/main/java/org/opendaylight/transportpce/common/converter/JSONDataObjectConverter.java index 9ee941961..306b18d1a 100644 --- a/common/src/main/java/org/opendaylight/transportpce/common/converter/JSONDataObjectConverter.java +++ b/common/src/main/java/org/opendaylight/transportpce/common/converter/JSONDataObjectConverter.java @@ -15,6 +15,7 @@ import java.io.InputStreamReader; import java.io.Reader; import java.io.StringWriter; import java.io.Writer; +import java.nio.charset.StandardCharsets; import java.util.Optional; import javax.annotation.Nonnull; import org.opendaylight.mdsal.binding.dom.codec.impl.BindingNormalizedNodeCodecRegistry; @@ -77,13 +78,8 @@ public final class JSONDataObjectConverter extends AbstractDataObjectConverter { @Override public Optional> transformIntoNormalizedNode( @Nonnull InputStream inputStream) { - try { - JsonReader reader = new JsonReader(new InputStreamReader(inputStream, "UTF-8")); - return parseInputJSON(reader); - } catch (IOException e) { - LOG.warn("IOException {}",e.getMessage()); - return Optional.empty(); - } + JsonReader reader = new JsonReader(new InputStreamReader(inputStream, StandardCharsets.UTF_8)); + return parseInputJSON(reader); } @Override diff --git a/common/src/main/java/org/opendaylight/transportpce/common/crossconnect/CrossConnect.java b/common/src/main/java/org/opendaylight/transportpce/common/crossconnect/CrossConnect.java index 59ea0fb0d..f8dac83a2 100644 --- a/common/src/main/java/org/opendaylight/transportpce/common/crossconnect/CrossConnect.java +++ b/common/src/main/java/org/opendaylight/transportpce/common/crossconnect/CrossConnect.java @@ -97,7 +97,7 @@ public interface CrossConnect { * Name of the cross connect. * @return true/false based on status of operation. */ - boolean setPowerLevel(String deviceId, Enum mode, BigDecimal powerValue, + boolean setPowerLevel(String deviceId, String mode, BigDecimal powerValue, String connectionNumber); Optional postOtnCrossConnect(List createdOduInterfaces, Nodes node) throws 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 0e6774d8a..a4bc0dfaf 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 @@ -18,6 +18,7 @@ import java.util.Optional; import org.opendaylight.transportpce.common.device.DeviceTransactionManager; 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.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -93,14 +94,18 @@ public class CrossConnectImpl implements CrossConnect { return null; } - public boolean setPowerLevel(String nodeId, Enum mode, BigDecimal powerValue, - String connectionNumber) { + public boolean setPowerLevel(String nodeId, String mode, BigDecimal powerValue, String connectionNumber) { String openRoadmVersion = mappingUtils.getOpenRoadmVersion(nodeId); - if (OPENROADM_DEVICE_VERSION_1_2_1.equals(openRoadmVersion)) { - return crossConnectImpl121.setPowerLevel(nodeId,mode,powerValue,connectionNumber); + if (OPENROADM_DEVICE_VERSION_1_2_1.equals(openRoadmVersion) && OpticalControlMode.forName(mode).isPresent()) { + return crossConnectImpl121.setPowerLevel(nodeId,OpticalControlMode.forName(mode).get(), + powerValue,connectionNumber); } - else if (OPENROADM_DEVICE_VERSION_2_2_1.equals(openRoadmVersion)) { - return crossConnectImpl221.setPowerLevel(nodeId,mode,powerValue,connectionNumber); + else if (OPENROADM_DEVICE_VERSION_2_2_1.equals(openRoadmVersion) + && org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev181019.OpticalControlMode.forName(mode) + .isPresent()) { + return crossConnectImpl221.setPowerLevel(nodeId, + org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev181019.OpticalControlMode.forName(mode) + .get(), powerValue,connectionNumber); } return false; } diff --git a/common/src/main/java/org/opendaylight/transportpce/common/crossconnect/CrossConnectImpl121.java b/common/src/main/java/org/opendaylight/transportpce/common/crossconnect/CrossConnectImpl121.java index 83133b16e..8ee2350d0 100644 --- a/common/src/main/java/org/opendaylight/transportpce/common/crossconnect/CrossConnectImpl121.java +++ b/common/src/main/java/org/opendaylight/transportpce/common/crossconnect/CrossConnectImpl121.java @@ -189,12 +189,12 @@ public class CrossConnectImpl121 { return srcTp + "-" + destTp + "-" + waveNumber; } - public boolean setPowerLevel(String deviceId, Enum mode, BigDecimal powerValue, String connectionNumber) { + public boolean setPowerLevel(String deviceId, OpticalControlMode mode, BigDecimal powerValue, String ctNumber) { - Optional rdmConnOpt = getCrossConnect(deviceId, connectionNumber); + Optional rdmConnOpt = getCrossConnect(deviceId, ctNumber); if (rdmConnOpt.isPresent()) { RoadmConnectionsBuilder rdmConnBldr = new RoadmConnectionsBuilder(rdmConnOpt.get()) - .setOpticalControlMode(OpticalControlMode.class.cast(mode)); + .setOpticalControlMode(mode); if (powerValue != null) { rdmConnBldr.setTargetOutputPower(new PowerDBm(powerValue)); } @@ -218,7 +218,7 @@ public class CrossConnectImpl121 { // post the cross connect on the device InstanceIdentifier roadmConnIID = InstanceIdentifier.create(OrgOpenroadmDevice.class) - .child(RoadmConnections.class, new RoadmConnectionsKey(connectionNumber)); + .child(RoadmConnections.class, new RoadmConnectionsKey(ctNumber)); deviceTx.put(LogicalDatastoreType.CONFIGURATION, roadmConnIID, newRdmConn); FluentFuture commit = deviceTx.commit(Timeouts.DEVICE_WRITE_TIMEOUT, Timeouts.DEVICE_WRITE_TIMEOUT_UNIT); @@ -231,7 +231,7 @@ public class CrossConnectImpl121 { } } else { - LOG.warn("Roadm-Connection is null in set power level ({})", connectionNumber); + LOG.warn("Roadm-Connection is null in set power level ({})", ctNumber); } return false; } 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 3141e5142..dec295b58 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 @@ -120,7 +120,6 @@ public class CrossConnectImpl221 { .openroadm.device.OduConnection> otnXc = getOtnCrossConnect(deviceId, connectionName); //Check if cross connect exists before delete if (xc.isPresent()) { - String name = xc.get().getSource().getSrcIf().replace("nmc", "mc"); interfList.add(xc.get().getSource().getSrcIf()); interfList.add(xc.get().getDestination().getDstIf()); interfList.add(xc.get().getSource().getSrcIf().replace("nmc", "mc")); @@ -210,11 +209,11 @@ public class CrossConnectImpl221 { } - public boolean setPowerLevel(String deviceId, Enum mode, BigDecimal powerValue, String connectionName) { - Optional rdmConnOpt = getCrossConnect(deviceId, connectionName); + public boolean setPowerLevel(String deviceId, OpticalControlMode mode, BigDecimal powerValue, String ctName) { + Optional rdmConnOpt = getCrossConnect(deviceId, ctName); if (rdmConnOpt.isPresent()) { RoadmConnectionsBuilder rdmConnBldr = new RoadmConnectionsBuilder(rdmConnOpt.get()); - rdmConnBldr.setOpticalControlMode(OpticalControlMode.values()[mode.ordinal()]); + rdmConnBldr.setOpticalControlMode(mode); if (powerValue != null) { rdmConnBldr.setTargetOutputPower(new PowerDBm(powerValue)); } @@ -238,7 +237,7 @@ public class CrossConnectImpl221 { // post the cross connect on the device InstanceIdentifier roadmConnIID = InstanceIdentifier.create(OrgOpenroadmDevice.class) - .child(RoadmConnections.class, new RoadmConnectionsKey(connectionName)); + .child(RoadmConnections.class, new RoadmConnectionsKey(ctName)); deviceTx.put(LogicalDatastoreType.CONFIGURATION, roadmConnIID, newRdmConn); FluentFuture commit = deviceTx.commit(Timeouts.DEVICE_WRITE_TIMEOUT, Timeouts.DEVICE_WRITE_TIMEOUT_UNIT); @@ -251,7 +250,7 @@ public class CrossConnectImpl221 { } } else { - LOG.warn("Roadm-Connection is null in set power level ({})", connectionName); + LOG.warn("Roadm-Connection is null in set power level ({})", ctName); } return false; } @@ -316,7 +315,7 @@ public class CrossConnectImpl221 { LOG.info("Otn-connection successfully created: {}-{}", srcTp, dstTp); return Optional.of(srcTp + "-x-" + dstTp); } catch (InterruptedException | ExecutionException e) { - LOG.warn("Failed to post {}. Exception: {}", oduConnectionBuilder.build(), e); + LOG.warn("Failed to post {}.", oduConnectionBuilder.build(), e); } return Optional.empty(); } diff --git a/common/src/main/java/org/opendaylight/transportpce/common/device/DeviceTransaction.java b/common/src/main/java/org/opendaylight/transportpce/common/device/DeviceTransaction.java index 598229c22..a5ae2a013 100644 --- a/common/src/main/java/org/opendaylight/transportpce/common/device/DeviceTransaction.java +++ b/common/src/main/java/org/opendaylight/transportpce/common/device/DeviceTransaction.java @@ -12,8 +12,6 @@ import com.google.common.util.concurrent.FluentFuture; import com.google.common.util.concurrent.FutureCallback; import com.google.common.util.concurrent.ListenableFuture; -import edu.umd.cs.findbugs.annotations.Nullable; - import java.util.Optional; import java.util.concurrent.CountDownLatch; import java.util.concurrent.Executors; @@ -123,7 +121,7 @@ public class DeviceTransaction { future.addCallback(new FutureCallback() { @Override - public void onSuccess(@Nullable CommitInfo result) { + public void onSuccess(CommitInfo result) { LOG.debug("Transaction with lock {} successfully committed: {}", deviceLock, result); afterClose(); } diff --git a/common/src/main/java/org/opendaylight/transportpce/common/mapping/PortMappingVersion121.java b/common/src/main/java/org/opendaylight/transportpce/common/mapping/PortMappingVersion121.java index af83b8b02..07db2701b 100644 --- a/common/src/main/java/org/opendaylight/transportpce/common/mapping/PortMappingVersion121.java +++ b/common/src/main/java/org/opendaylight/transportpce/common/mapping/PortMappingVersion121.java @@ -16,6 +16,7 @@ import java.util.Comparator; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Map.Entry; import java.util.Optional; import java.util.concurrent.ExecutionException; import java.util.stream.Collectors; @@ -76,7 +77,7 @@ import org.slf4j.LoggerFactory; public class PortMappingVersion121 { - private static final Logger LOG = LoggerFactory.getLogger(PortMappingImpl.class); + private static final Logger LOG = LoggerFactory.getLogger(PortMappingVersion121.class); private final DataBroker dataBroker; private final DeviceTransactionManager deviceTransactionManager; @@ -353,9 +354,9 @@ public class PortMappingVersion121 { HashMap> srgCps = getSrgCps(nodeId, deviceInfo); - for (Integer k : srgCps.keySet()) { + for (Entry> srgCpEntry : srgCps.entrySet()) { List cpList = - srgCps.get(k); + srgCps.get(srgCpEntry.getKey()); List keys = new ArrayList<>(); for (org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.srg.CircuitPacks cp : cpList) { String circuitPackName = cp.getCircuitPackName(); @@ -381,7 +382,7 @@ public class PortMappingVersion121 { } else if (Port.PortQual.RoadmExternal.getIntValue() == port.getPortQual().getIntValue() && Direction.Bidirectional.getIntValue() == port.getPortDirection().getIntValue() && !keys.contains(currentKey)) { - String logicalConnectionPoint = createLogicalConnectionPort(port, k, portIndex); + String logicalConnectionPoint = createLogicalConnectionPort(port, srgCpEntry.getKey(), portIndex); LOG.info("{} : Logical Connection Point for {} {} is {}", nodeId, circuitPackName, port.getPortName(), logicalConnectionPoint); portMapList.add(createMappingObject(nodeId, port, circuitPackName, logicalConnectionPoint)); @@ -392,7 +393,8 @@ public class PortMappingVersion121 { || Direction.Tx.getIntValue() == port.getPortDirection().getIntValue()) && !keys.contains(currentKey) && port.getPartnerPort() != null) { - String logicalConnectionPoint1 = createLogicalConnectionPort(port, k, portIndex); + String logicalConnectionPoint1 = createLogicalConnectionPort(port, srgCpEntry.getKey(), + portIndex); LOG.info("{} : Logical Connection Point for {} {} is {}", nodeId, circuitPackName, port.getPortName(), logicalConnectionPoint1); InstanceIdentifier port2ID = InstanceIdentifier.create(OrgOpenroadmDevice.class) @@ -416,7 +418,8 @@ public class PortMappingVersion121 { && port2.getPartnerPort() != null && port2.getPartnerPort().getCircuitPackName().equals(circuitPackName) && port2.getPartnerPort().getPortName().toString().equals(port.getPortName()))) { - String logicalConnectionPoint2 = createLogicalConnectionPort(port2, k, portIndex); + String logicalConnectionPoint2 = createLogicalConnectionPort(port2, srgCpEntry.getKey(), + portIndex); LOG.info("{} : Logical Connection Point for {} {} is {}", nodeId, circuitPackName, port2.getPortName(), logicalConnectionPoint2); portMapList.add(createMappingObject(nodeId, port, circuitPackName, @@ -688,17 +691,18 @@ public class PortMappingVersion121 { postPortMapping(nodeId, null, null, cpToDegreeList); Map> connectionPortMap = getPerDegreePorts(nodeId, deviceInfo); - for (Integer k : connectionPortMap.keySet()) { - switch (connectionPortMap.get(k).size()) { + for (Entry> cpMapEntry : connectionPortMap.entrySet()) { + switch (connectionPortMap.get(cpMapEntry.getKey()).size()) { case 1: // port is bidirectional InstanceIdentifier portID = InstanceIdentifier.create(OrgOpenroadmDevice.class) - .child(CircuitPacks.class, new CircuitPacksKey(connectionPortMap.get(k).get(0) + .child(CircuitPacks.class, new CircuitPacksKey(connectionPortMap.get(cpMapEntry.getKey()).get(0) .getCircuitPackName())) - .child(Ports.class, new PortsKey(connectionPortMap.get(k).get(0) + .child(Ports.class, new PortsKey(connectionPortMap.get(cpMapEntry.getKey()).get(0) .getPortName().toString())); - LOG.info("Fetching connection-port {} at circuit pack {}", connectionPortMap.get(k).get(0) - .getPortName().toString(), connectionPortMap.get(k).get(0).getCircuitPackName()); + LOG.info("Fetching connection-port {} at circuit pack {}", connectionPortMap + .get(cpMapEntry.getKey()).get(0).getPortName().toString(), connectionPortMap + .get(cpMapEntry.getKey()).get(0).getCircuitPackName()); Optional portObject = this.deviceTransactionManager.getDataFromDevice(nodeId, LogicalDatastoreType.OPERATIONAL, portID, Timeouts.DEVICE_READ_TIMEOUT, Timeouts.DEVICE_READ_TIMEOUT_UNIT); @@ -708,42 +712,46 @@ public class PortMappingVersion121 { continue; } else if (Port.PortQual.RoadmExternal.getIntValue() == port.getPortQual().getIntValue() && Direction.Bidirectional.getIntValue() == port.getPortDirection().getIntValue()) { - String logicalConnectionPoint = new StringBuilder("DEG").append(k).append("-TTP-TXRX") - .toString(); + String logicalConnectionPoint = new StringBuilder("DEG").append(cpMapEntry.getKey()) + .append("-TTP-TXRX").toString(); LOG.info("{} : Logical Connection Point for {} {} is {}", nodeId, - connectionPortMap.get(k).get(0).getCircuitPackName(), port.getPortName(), - logicalConnectionPoint); + connectionPortMap.get(cpMapEntry.getKey()).get(0).getCircuitPackName(), + port.getPortName(), logicalConnectionPoint); portMapList.add(createMappingObject(nodeId, port, - connectionPortMap.get(k).get(0).getCircuitPackName(), logicalConnectionPoint)); + connectionPortMap.get(cpMapEntry.getKey()).get(0).getCircuitPackName(), + logicalConnectionPoint)); } else { LOG.error( "Impossible to create logical connection point for port {} of {} on node {} - Error in configuration with port-qual or port-direction", - port.getPortName(), connectionPortMap.get(k).get(0).getCircuitPackName(), nodeId); + port.getPortName(), connectionPortMap + .get(cpMapEntry.getKey()).get(0).getCircuitPackName(), nodeId); } } else { LOG.error("No port {} on circuit pack {} for node {}", - connectionPortMap.get(k).get(0).getPortName().toString(), - connectionPortMap.get(k).get(0).getCircuitPackName(), nodeId); + connectionPortMap.get(cpMapEntry.getKey()).get(0).getPortName().toString(), + connectionPortMap.get(cpMapEntry.getKey()).get(0).getCircuitPackName(), nodeId); return false; } break; case 2: // ports are unidirectionals - String cp1Name = connectionPortMap.get(k).get(0).getCircuitPackName(); - String cp2Name = connectionPortMap.get(k).get(1).getCircuitPackName(); + String cp1Name = connectionPortMap.get(cpMapEntry.getKey()).get(0).getCircuitPackName(); + String cp2Name = connectionPortMap.get(cpMapEntry.getKey()).get(1).getCircuitPackName(); InstanceIdentifier port1ID = InstanceIdentifier.create(OrgOpenroadmDevice.class) .child(CircuitPacks.class, new CircuitPacksKey(cp1Name)) - .child(Ports.class, new PortsKey(connectionPortMap.get(k).get(0).getPortName().toString())); - LOG.info("Fetching connection-port {} at circuit pack {}", connectionPortMap.get(k).get(0) - .getPortName().toString(), cp1Name); + .child(Ports.class, new PortsKey(connectionPortMap.get(cpMapEntry.getKey()).get(0).getPortName() + .toString())); + LOG.info("Fetching connection-port {} at circuit pack {}", connectionPortMap + .get(cpMapEntry.getKey()).get(0).getPortName().toString(), cp1Name); Optional port1Object = this.deviceTransactionManager.getDataFromDevice(nodeId, LogicalDatastoreType.OPERATIONAL, port1ID, Timeouts.DEVICE_READ_TIMEOUT, Timeouts.DEVICE_READ_TIMEOUT_UNIT); InstanceIdentifier port2ID = InstanceIdentifier.create(OrgOpenroadmDevice.class) .child(CircuitPacks.class, new CircuitPacksKey(cp2Name)) - .child(Ports.class, new PortsKey(connectionPortMap.get(k).get(1).getPortName().toString())); + .child(Ports.class, new PortsKey(connectionPortMap.get(cpMapEntry.getKey()).get(1).getPortName() + .toString())); LOG.info("Fetching connection-port {} at circuit pack {}", - connectionPortMap.get(k).get(1).getPortName().toString(), cp2Name); + connectionPortMap.get(cpMapEntry.getKey()).get(1).getPortName().toString(), cp2Name); Optional port2Object = this.deviceTransactionManager.getDataFromDevice(nodeId, LogicalDatastoreType.OPERATIONAL, port2ID, Timeouts.DEVICE_READ_TIMEOUT, Timeouts.DEVICE_READ_TIMEOUT_UNIT); @@ -771,20 +779,20 @@ public class PortMappingVersion121 { && port1.getPartnerPort().getPortName().equals(port2.getPortName()) && port2.getPartnerPort().getCircuitPackName().equals(cp1Name) && port2.getPartnerPort().getPortName().equals(port1.getPortName()))) { - String logicalConnectionPoint1 = new StringBuilder("DEG").append(k).append("-TTP-") - .append(port1.getPortDirection().getName().toUpperCase()).toString(); + String logicalConnectionPoint1 = new StringBuilder("DEG").append(cpMapEntry.getKey()) + .append("-TTP-").append(port1.getPortDirection().getName().toUpperCase()).toString(); LOG.info("{} : Logical Connection Point for {} {} is {}", nodeId, - connectionPortMap.get(k).get(0).getCircuitPackName(), port1.getPortName(), - logicalConnectionPoint1); - portMapList.add(createMappingObject(nodeId, port1, connectionPortMap.get(k).get(0) - .getCircuitPackName(), logicalConnectionPoint1)); - String logicalConnectionPoint2 = new StringBuilder("DEG").append(k).append("-TTP-") - .append(port2.getPortDirection().getName().toUpperCase()).toString(); + connectionPortMap.get(cpMapEntry.getKey()).get(0).getCircuitPackName(), + port1.getPortName(), logicalConnectionPoint1); + portMapList.add(createMappingObject(nodeId, port1, connectionPortMap + .get(cpMapEntry.getKey()).get(0).getCircuitPackName(), logicalConnectionPoint1)); + String logicalConnectionPoint2 = new StringBuilder("DEG").append(cpMapEntry.getKey()) + .append("-TTP-").append(port2.getPortDirection().getName().toUpperCase()).toString(); LOG.info("{} : Logical Connection Point for {} {} is {}", nodeId, - connectionPortMap.get(k).get(1).getCircuitPackName(), port2.getPortName(), - logicalConnectionPoint2); - portMapList.add(createMappingObject(nodeId, port2, connectionPortMap.get(k).get(1) - .getCircuitPackName(), logicalConnectionPoint2)); + connectionPortMap.get(cpMapEntry.getKey()).get(1).getCircuitPackName(), + port2.getPortName(), logicalConnectionPoint2); + portMapList.add(createMappingObject(nodeId, port2, connectionPortMap + .get(cpMapEntry.getKey()).get(1).getCircuitPackName(), logicalConnectionPoint2)); } else { LOG.error( "Impossible to create logical connection point for port {} or port {} on node {} - Error in configuration with port-qual, port-direction or partner-port configuration", @@ -792,14 +800,14 @@ public class PortMappingVersion121 { } } else { LOG.error("No port {} on circuit pack {} for node {}", - connectionPortMap.get(k).get(0).getPortName().toString(), - connectionPortMap.get(k).get(0).getCircuitPackName(), nodeId); + connectionPortMap.get(cpMapEntry.getKey()).get(0).getPortName().toString(), + connectionPortMap.get(cpMapEntry.getKey()).get(0).getCircuitPackName(), nodeId); return false; } break; default: - LOG.error("Number of connection port for DEG{} on {} is incorrect", k, nodeId); + LOG.error("Number of connection port for DEG{} on {} is incorrect", cpMapEntry.getKey(), nodeId); continue; } } @@ -809,8 +817,7 @@ public class PortMappingVersion121 { private NodeInfo createNodeInfo(Info deviceInfo) { NodeInfoBuilder nodeInfoBldr = new NodeInfoBuilder(); if (deviceInfo.getNodeType() != null) { - nodeInfoBldr = new NodeInfoBuilder() - .setOpenroadmVersion(OpenroadmVersion._121); + nodeInfoBldr.setOpenroadmVersion(OpenroadmVersion._121); if (deviceInfo.getNodeType().getIntValue() == 1) { nodeInfoBldr.setNodeType(NodeTypes.Rdm); } else if (deviceInfo.getNodeType().getIntValue() == 2) { diff --git a/common/src/main/java/org/opendaylight/transportpce/common/mapping/PortMappingVersion221.java b/common/src/main/java/org/opendaylight/transportpce/common/mapping/PortMappingVersion221.java index ac05d9f09..591e1b25a 100644 --- a/common/src/main/java/org/opendaylight/transportpce/common/mapping/PortMappingVersion221.java +++ b/common/src/main/java/org/opendaylight/transportpce/common/mapping/PortMappingVersion221.java @@ -16,6 +16,7 @@ import java.util.Comparator; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Map.Entry; import java.util.Optional; import java.util.concurrent.ExecutionException; import java.util.stream.Collectors; @@ -83,7 +84,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class PortMappingVersion221 { - private static final Logger LOG = LoggerFactory.getLogger(PortMappingImpl.class); + private static final Logger LOG = LoggerFactory.getLogger(PortMappingVersion221.class); private final DataBroker dataBroker; private final DeviceTransactionManager deviceTransactionManager; @@ -503,9 +504,9 @@ public class PortMappingVersion221 { HashMap> srgCps = getSrgCps(nodeId, deviceInfo); - for (Integer k : srgCps.keySet()) { + for (Entry> srgCpEntry : srgCps.entrySet()) { List cpList = - srgCps.get(k); + srgCps.get(srgCpEntry.getKey()); List keys = new ArrayList<>(); for (org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.srg.CircuitPacks cp : cpList) { String circuitPackName = cp.getCircuitPackName(); @@ -529,7 +530,7 @@ public class PortMappingVersion221 { } else if (PortQual.RoadmExternal.getIntValue() == port.getPortQual().getIntValue() && Direction.Bidirectional.getIntValue() == port.getPortDirection().getIntValue() && !keys.contains(currentKey)) { - String logicalConnectionPoint = createLogicalConnectionPort(port, k, portIndex); + String logicalConnectionPoint = createLogicalConnectionPort(port, srgCpEntry.getKey(), portIndex); LOG.info("{} : Logical Connection Point for {} {} is {}", nodeId, circuitPackName, port.getPortName(), logicalConnectionPoint); portMapList.add(createMappingObject(nodeId, port, circuitPackName, logicalConnectionPoint)); @@ -540,7 +541,7 @@ public class PortMappingVersion221 { || Direction.Tx.getIntValue() == port.getPortDirection().getIntValue()) && !keys.contains(currentKey) && port.getPartnerPort() != null) { - String logicalConnectionPoint1 = createLogicalConnectionPort(port, k, portIndex); + String logicalConnectionPoint1 = createLogicalConnectionPort(port, srgCpEntry.getKey(), portIndex); LOG.info("{} : Logical Connection Point for {} {} is {}", nodeId, circuitPackName, port.getPortName(), logicalConnectionPoint1); InstanceIdentifier port2ID = InstanceIdentifier.create(OrgOpenroadmDevice.class) @@ -554,7 +555,7 @@ public class PortMappingVersion221 { == PortQual.RoadmExternal.getIntValue()) { Ports port2 = port2Object.get(); if (checkPartnerPort(circuitPackName, port, port2)) { - String logicalConnectionPoint2 = createLogicalConnectionPort(port2, k, portIndex); + String logicalConnectionPoint2 = createLogicalConnectionPort(port2, srgCpEntry.getKey(), portIndex); LOG.info("{} : Logical Connection Point for {} {} is {}", nodeId, circuitPackName, port2.getPortName(), logicalConnectionPoint2); portMapList.add(createMappingObject(nodeId, port, circuitPackName, @@ -837,17 +838,17 @@ public class PortMappingVersion221 { postPortMapping(nodeId, null, null, cpToDegreeList, null); Map> connectionPortMap = getPerDegreePorts(nodeId, deviceInfo); - for (Integer k : connectionPortMap.keySet()) { - switch (connectionPortMap.get(k).size()) { + for (Entry> cpMapEntry : connectionPortMap.entrySet()) { + switch (connectionPortMap.get(cpMapEntry.getKey()).size()) { case 1: // port is bidirectional InstanceIdentifier portID = InstanceIdentifier.create(OrgOpenroadmDevice.class) - .child(CircuitPacks.class, new CircuitPacksKey(connectionPortMap.get(k).get(0) + .child(CircuitPacks.class, new CircuitPacksKey(connectionPortMap.get(cpMapEntry.getKey()).get(0) .getCircuitPackName())) - .child(Ports.class, new PortsKey(connectionPortMap.get(k).get(0) + .child(Ports.class, new PortsKey(connectionPortMap.get(cpMapEntry.getKey()).get(0) .getPortName().toString())); - LOG.info("Fetching connection-port {} at circuit pack {}", connectionPortMap.get(k).get(0) - .getPortName().toString(), connectionPortMap.get(k).get(0).getCircuitPackName()); + LOG.info("Fetching connection-port {} at circuit pack {}", connectionPortMap.get(cpMapEntry.getKey()).get(0) + .getPortName().toString(), connectionPortMap.get(cpMapEntry.getKey()).get(0).getCircuitPackName()); Optional portObject = this.deviceTransactionManager.getDataFromDevice(nodeId, LogicalDatastoreType.OPERATIONAL, portID, Timeouts.DEVICE_READ_TIMEOUT, Timeouts.DEVICE_READ_TIMEOUT_UNIT); @@ -857,43 +858,43 @@ public class PortMappingVersion221 { continue; } else if (PortQual.RoadmExternal.getIntValue() == port.getPortQual().getIntValue() && Direction.Bidirectional.getIntValue() == port.getPortDirection().getIntValue()) { - String logicalConnectionPoint = new StringBuilder("DEG").append(k).append("-TTP-TXRX") + String logicalConnectionPoint = new StringBuilder("DEG").append(cpMapEntry.getKey()).append("-TTP-TXRX") .toString(); LOG.info("{} : Logical Connection Point for {} {} is {}", nodeId, - connectionPortMap.get(k).get(0).getCircuitPackName(), port.getPortName(), + connectionPortMap.get(cpMapEntry.getKey()).get(0).getCircuitPackName(), port.getPortName(), logicalConnectionPoint); portMapList.add(createMappingObject(nodeId, port, - connectionPortMap.get(k).get(0).getCircuitPackName(), logicalConnectionPoint)); + connectionPortMap.get(cpMapEntry.getKey()).get(0).getCircuitPackName(), logicalConnectionPoint)); } else { LOG.error( "Impossible to create logical connection point for port {} of {} on node {}" + "- Error in configuration with port-qual or port-direction", - port.getPortName(), connectionPortMap.get(k).get(0).getCircuitPackName(), nodeId); + port.getPortName(), connectionPortMap.get(cpMapEntry.getKey()).get(0).getCircuitPackName(), nodeId); } } else { LOG.error("No port {} on circuit pack {} for node {}", - connectionPortMap.get(k).get(0).getPortName().toString(), - connectionPortMap.get(k).get(0).getCircuitPackName(), nodeId); + connectionPortMap.get(cpMapEntry.getKey()).get(0).getPortName().toString(), + connectionPortMap.get(cpMapEntry.getKey()).get(0).getCircuitPackName(), nodeId); return false; } break; case 2: // ports are unidirectionals - String cp1Name = connectionPortMap.get(k).get(0).getCircuitPackName(); - String cp2Name = connectionPortMap.get(k).get(1).getCircuitPackName(); + String cp1Name = connectionPortMap.get(cpMapEntry.getKey()).get(0).getCircuitPackName(); + String cp2Name = connectionPortMap.get(cpMapEntry.getKey()).get(1).getCircuitPackName(); InstanceIdentifier port1ID = InstanceIdentifier.create(OrgOpenroadmDevice.class) .child(CircuitPacks.class, new CircuitPacksKey(cp1Name)) - .child(Ports.class, new PortsKey(connectionPortMap.get(k).get(0).getPortName().toString())); - LOG.info("Fetching connection-port {} at circuit pack {}", connectionPortMap.get(k).get(0) + .child(Ports.class, new PortsKey(connectionPortMap.get(cpMapEntry.getKey()).get(0).getPortName().toString())); + LOG.info("Fetching connection-port {} at circuit pack {}", connectionPortMap.get(cpMapEntry.getKey()).get(0) .getPortName().toString(), cp1Name); Optional port1Object = this.deviceTransactionManager.getDataFromDevice(nodeId, LogicalDatastoreType.OPERATIONAL, port1ID, Timeouts.DEVICE_READ_TIMEOUT, Timeouts.DEVICE_READ_TIMEOUT_UNIT); InstanceIdentifier port2ID = InstanceIdentifier.create(OrgOpenroadmDevice.class) .child(CircuitPacks.class, new CircuitPacksKey(cp2Name)) - .child(Ports.class, new PortsKey(connectionPortMap.get(k).get(1).getPortName().toString())); + .child(Ports.class, new PortsKey(connectionPortMap.get(cpMapEntry.getKey()).get(1).getPortName().toString())); LOG.info("Fetching connection-port {} at circuit pack {}", - connectionPortMap.get(k).get(1).getPortName().toString(), cp2Name); + connectionPortMap.get(cpMapEntry.getKey()).get(1).getPortName().toString(), cp2Name); Optional port2Object = this.deviceTransactionManager.getDataFromDevice(nodeId, LogicalDatastoreType.OPERATIONAL, port2ID, Timeouts.DEVICE_READ_TIMEOUT, Timeouts.DEVICE_READ_TIMEOUT_UNIT); @@ -921,19 +922,19 @@ public class PortMappingVersion221 { && port1.getPartnerPort().getPortName().equals(port2.getPortName()) && port2.getPartnerPort().getCircuitPackName().equals(cp1Name) && port2.getPartnerPort().getPortName().equals(port1.getPortName()))) { - String logicalConnectionPoint1 = new StringBuilder("DEG").append(k).append("-TTP-") + String logicalConnectionPoint1 = new StringBuilder("DEG").append(cpMapEntry.getKey()).append("-TTP-") .append(port1.getPortDirection().getName().toUpperCase()).toString(); LOG.info("{} : Logical Connection Point for {} {} is {}", nodeId, - connectionPortMap.get(k).get(0).getCircuitPackName(), port1.getPortName(), + connectionPortMap.get(cpMapEntry.getKey()).get(0).getCircuitPackName(), port1.getPortName(), logicalConnectionPoint1); - portMapList.add(createMappingObject(nodeId, port1, connectionPortMap.get(k).get(0) + portMapList.add(createMappingObject(nodeId, port1, connectionPortMap.get(cpMapEntry.getKey()).get(0) .getCircuitPackName(), logicalConnectionPoint1)); - String logicalConnectionPoint2 = new StringBuilder("DEG").append(k).append("-TTP-") + String logicalConnectionPoint2 = new StringBuilder("DEG").append(cpMapEntry.getKey()).append("-TTP-") .append(port2.getPortDirection().getName().toUpperCase()).toString(); LOG.info("{} : Logical Connection Point for {} {} is {}", nodeId, - connectionPortMap.get(k).get(1).getCircuitPackName(), port2.getPortName(), + connectionPortMap.get(cpMapEntry.getKey()).get(1).getCircuitPackName(), port2.getPortName(), logicalConnectionPoint2); - portMapList.add(createMappingObject(nodeId, port2, connectionPortMap.get(k).get(1) + portMapList.add(createMappingObject(nodeId, port2, connectionPortMap.get(cpMapEntry.getKey()).get(1) .getCircuitPackName(), logicalConnectionPoint2)); } else { LOG.error( @@ -943,14 +944,14 @@ public class PortMappingVersion221 { } } else { LOG.error("No port {} on circuit pack {} for node {}", - connectionPortMap.get(k).get(0).getPortName().toString(), - connectionPortMap.get(k).get(0).getCircuitPackName(), nodeId); + connectionPortMap.get(cpMapEntry.getKey()).get(0).getPortName().toString(), + connectionPortMap.get(cpMapEntry.getKey()).get(0).getCircuitPackName(), nodeId); return false; } break; default: - LOG.error("Number of connection port for DEG{} on {} is incorrect", k, nodeId); + LOG.error("Number of connection port for DEG{} on {} is incorrect", cpMapEntry.getKey(), nodeId); continue; } } @@ -960,9 +961,7 @@ public class PortMappingVersion221 { private NodeInfo createNodeInfo(Info deviceInfo) { NodeInfoBuilder nodeInfoBldr = new NodeInfoBuilder(); if (deviceInfo.getNodeType() != null) { - nodeInfoBldr = new NodeInfoBuilder() - .setOpenroadmVersion(OpenroadmVersion._221) - .setNodeType(deviceInfo.getNodeType()); + nodeInfoBldr.setOpenroadmVersion(OpenroadmVersion._221).setNodeType(deviceInfo.getNodeType()); if (deviceInfo.getClli() != null && !deviceInfo.getClli().isEmpty()) { nodeInfoBldr.setNodeClli(deviceInfo.getClli()); } else { diff --git a/common/src/main/java/org/opendaylight/transportpce/common/mapping/SortPort121ByName.java b/common/src/main/java/org/opendaylight/transportpce/common/mapping/SortPort121ByName.java index 56672a827..fe7b917a2 100644 --- a/common/src/main/java/org/opendaylight/transportpce/common/mapping/SortPort121ByName.java +++ b/common/src/main/java/org/opendaylight/transportpce/common/mapping/SortPort121ByName.java @@ -7,6 +7,7 @@ */ package org.opendaylight.transportpce.common.mapping; +import java.io.Serializable; import java.util.Comparator; import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.Port; @@ -18,7 +19,9 @@ import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.Port; * @author Martial Coulibaly (martial.coulibaly@gfi.com) on behalf of Orange * */ -public class SortPort121ByName implements Comparator { +public class SortPort121ByName implements Comparator, Serializable { + + private static final long serialVersionUID = 1L; @Override public int compare(Port port1, Port port2) { diff --git a/common/src/main/java/org/opendaylight/transportpce/common/mapping/SortPort221ByName.java b/common/src/main/java/org/opendaylight/transportpce/common/mapping/SortPort221ByName.java index 4564a2338..f58d91580 100644 --- a/common/src/main/java/org/opendaylight/transportpce/common/mapping/SortPort221ByName.java +++ b/common/src/main/java/org/opendaylight/transportpce/common/mapping/SortPort221ByName.java @@ -7,6 +7,7 @@ */ package org.opendaylight.transportpce.common.mapping; +import java.io.Serializable; import java.util.Comparator; import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.Port; @@ -18,7 +19,9 @@ import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.Port; * @author Martial Coulibaly (martial.coulibaly@gfi.com) on behalf of Orange * */ -public class SortPort221ByName implements Comparator { +public class SortPort221ByName implements Comparator, Serializable { + + private static final long serialVersionUID = 1L; @Override public int compare(Port port1, Port port2) { diff --git a/common/src/main/java/org/opendaylight/transportpce/common/openroadminterfaces/OpenRoadmInterfacesImpl221.java b/common/src/main/java/org/opendaylight/transportpce/common/openroadminterfaces/OpenRoadmInterfacesImpl221.java index 3c8c95a1a..150b8fd63 100755 --- a/common/src/main/java/org/opendaylight/transportpce/common/openroadminterfaces/OpenRoadmInterfacesImpl221.java +++ b/common/src/main/java/org/opendaylight/transportpce/common/openroadminterfaces/OpenRoadmInterfacesImpl221.java @@ -199,12 +199,12 @@ public class OpenRoadmInterfacesImpl221 { boolean change = false; if (activate) { if (cpBldr.getEquipmentState() != null - && !cpBldr.getEquipmentState().getName().equals(States.NotReservedInuse)) { + && !States.NotReservedInuse.equals(cpBldr.getEquipmentState())) { cpBldr.setEquipmentState(States.NotReservedInuse); change = true; } } else if ((cpBldr.getEquipmentState() != null - && !cpBldr.getEquipmentState().getName().equals(States.NotReservedAvailable))) { + && !States.NotReservedAvailable.equals(cpBldr.getEquipmentState()))) { cpBldr.setEquipmentState(States.NotReservedAvailable); change = true; } diff --git a/olm/src/main/java/org/opendaylight/transportpce/olm/power/PowerMgmtImpl.java b/olm/src/main/java/org/opendaylight/transportpce/olm/power/PowerMgmtImpl.java index 094bf32c4..0c0dbfe17 100644 --- a/olm/src/main/java/org/opendaylight/transportpce/olm/power/PowerMgmtImpl.java +++ b/olm/src/main/java/org/opendaylight/transportpce/olm/power/PowerMgmtImpl.java @@ -8,7 +8,6 @@ package org.opendaylight.transportpce.olm.power; -//import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.math.BigDecimal; import java.util.HashMap; import java.util.Map; @@ -260,7 +259,7 @@ public class PowerMgmtImpl implements PowerMgmt { } try { Boolean setXconnPowerSuccessVal = crossConnect.setPowerLevel(nodeId, - OpticalControlMode.Power, powerValue, connectionNumber); + OpticalControlMode.Power.getName(), powerValue, connectionNumber); LOG.info("Success Value is {}", setXconnPowerSuccessVal); if (setXconnPowerSuccessVal) { LOG.info("Roadm-connection: {} updated ", connectionNumber); @@ -268,7 +267,7 @@ public class PowerMgmtImpl implements PowerMgmt { //TODO - commented code because one vendor is not supporting //GainLoss with target-output-power Thread.sleep(OlmUtils.OLM_TIMER_1); - crossConnect.setPowerLevel(nodeId, OpticalControlMode.GainLoss, powerValue, + crossConnect.setPowerLevel(nodeId, OpticalControlMode.GainLoss.getName(), powerValue, connectionNumber); } else { LOG.info("Set Power failed for Roadm-connection: {} on Node: {}", connectionNumber, @@ -283,7 +282,7 @@ public class PowerMgmtImpl implements PowerMgmt { // If Drop node leave node is power mode } else if (destTpId.toLowerCase().contains("srg")) { LOG.info("Setting power at drop node"); - crossConnect.setPowerLevel(nodeId, OpticalControlMode.Power, null, connectionNumber); + crossConnect.setPowerLevel(nodeId, OpticalControlMode.Power.getName(), null, connectionNumber); } } else { LOG.error("OLM-PowerMgmtImpl : Error with node type for node {}", nodeId); @@ -323,16 +322,17 @@ public class PowerMgmtImpl implements PowerMgmt { Long wlNumber = input.getWaveNumber().toJava(); String connectionNumber = srcTpId + "-" + destTpId + "-" + wlNumber; if (destTpId.toLowerCase().contains("srg")) { - crossConnect.setPowerLevel(nodeId, OpticalControlMode.Off, null, connectionNumber); + crossConnect.setPowerLevel(nodeId, OpticalControlMode.Off.getName(), null, connectionNumber); } else if (destTpId.toLowerCase().contains("deg")) { try { - if (!crossConnect.setPowerLevel(nodeId, OpticalControlMode.Power , new BigDecimal(-60), + if (!crossConnect.setPowerLevel(nodeId, OpticalControlMode.Power.getName(), new BigDecimal(-60), connectionNumber)) { LOG.warn("Power down failed for Roadm-connection: {}", connectionNumber); return false; } Thread.sleep(OlmUtils.OLM_TIMER_2); - if (! crossConnect.setPowerLevel(nodeId, OpticalControlMode.Off , null, connectionNumber)) { + if (! crossConnect.setPowerLevel(nodeId, OpticalControlMode.Off.getName(), null, + connectionNumber)) { LOG.warn("Setting power-control mode off failed for Roadm-connection: {}", connectionNumber); return false; } diff --git a/olm/src/test/java/org/opendaylight/transportpce/olm/power/PowerMgmtPowerMockTest.java b/olm/src/test/java/org/opendaylight/transportpce/olm/power/PowerMgmtPowerMockTest.java index aeb517271..7278f4dfe 100644 --- a/olm/src/test/java/org/opendaylight/transportpce/olm/power/PowerMgmtPowerMockTest.java +++ b/olm/src/test/java/org/opendaylight/transportpce/olm/power/PowerMgmtPowerMockTest.java @@ -225,7 +225,7 @@ public class PowerMgmtPowerMockTest extends AbstractTest { .build())); CrossConnect crossConnectMock = Mockito.mock(CrossConnectImpl.class); Mockito.when(crossConnectMock - .setPowerLevel(Mockito.anyString(), ArgumentMatchers.eq(OpticalControlMode.Power), Mockito.any(), + .setPowerLevel(Mockito.anyString(), OpticalControlMode.Power.getName(), Mockito.any(), Mockito.anyString())).thenReturn(true); PowerMgmtImpl powerMgmtImpl = getNewPowerMgmt(openRoadmInterfacesImpl121Spy,crossConnectMock); boolean output = powerMgmtImpl.setPower(input);