Fix issues related to Magnesium bump 02/88102/3
authorGilles Thouenon <gilles.thouenon@orange.com>
Fri, 14 Feb 2020 17:18:25 +0000 (18:18 +0100)
committerguillaume.lambert <guillaume.lambert@orange.com>
Thu, 27 Feb 2020 17:04:38 +0000 (18:04 +0100)
- use of some Uint32 (instead of Long)
- use of ImmutableList

JIRA: TRNSPRTPCE-198
Signed-off-by: Gilles Thouenon <gilles.thouenon@orange.com>
Co-authored-by: Christophe Betoule <christophe.betoule@orange.com>
Co-authored-by: Emmanuelle Delfour <emmanuelle.delfour@gmail.com>
Change-Id: Iaba3dda0941e957f549da0e9ca7ddbeb485c7dfe

common/src/main/java/org/opendaylight/transportpce/common/device/DeviceTransaction.java
common/src/main/java/org/opendaylight/transportpce/common/mapping/PortMappingVersion121.java
common/src/main/java/org/opendaylight/transportpce/common/mapping/PortMappingVersion221.java
networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/util/OpenRoadmTopology.java
pce/src/main/java/org/opendaylight/transportpce/pce/gnpy/GnpyServiceImpl.java
pce/src/main/java/org/opendaylight/transportpce/pce/networkanalyzer/PceLink.java
renderer/src/main/java/org/opendaylight/transportpce/renderer/NetworkModelWavelengthServiceImpl.java
renderer/src/main/java/org/opendaylight/transportpce/renderer/provisiondevice/RendererServiceOperationsImpl.java

index e4232ff535dcb06c0bb4ea9cb6c49088f89e0347..598229c22cb46af82e3a7a8da63d0b012602d820 100644 (file)
@@ -11,13 +11,15 @@ package org.opendaylight.transportpce.common.device;
 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;
 import java.util.concurrent.ScheduledExecutorService;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicBoolean;
-import javax.annotation.Nullable;
 import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.mdsal.binding.api.ReadWriteTransaction;
 import org.opendaylight.mdsal.common.api.CommitInfo;
index e4fc4a09306b2c9883279f90dea3a095a9d035a3..af83b8b02b8e26a3d57030e7591f18936f75a998 100644 (file)
@@ -195,7 +195,8 @@ public class PortMappingVersion121 {
         Map<String, String> lcpMap = new HashMap<>();
         Map<String, Mapping> mappingMap = new HashMap<>();
 
-        List<CircuitPacks> circuitPackList = deviceObject.get().getCircuitPacks();
+        // com.google.common.collect.ImmutableList implementation of List
+        List<CircuitPacks> circuitPackList = new ArrayList<>(deviceObject.get().getCircuitPacks());
         circuitPackList.sort(Comparator.comparing(CircuitPack::getCircuitPackName));
 
         for (CircuitPacks cp : circuitPackList) {
@@ -204,7 +205,9 @@ public class PortMappingVersion121 {
                 LOG.warn("Ports were not found for circuit pack: {}", circuitPackName);
                 continue;
             }
-            List<Ports> portList = cp.getPorts();
+
+            // com.google.common.collect.ImmutableList implementation of List
+            List<Ports> portList = new ArrayList<>(cp.getPorts());
             portList.sort(Comparator.comparing(Ports::getPortName));
             for (Ports port : portList) {
                 if (port.getPortQual() == null) {
@@ -366,8 +369,9 @@ public class PortMappingVersion121 {
                     LOG.warn("{} : Circuit pack {} not found or without ports.", nodeId, circuitPackName);
                     continue;
                 }
+                // com.google.common.collect.ImmutableList implementation of List
                 @Nullable
-                List<Ports> portList = circuitPackObject.get().getPorts();
+                List<Ports> portList = new ArrayList<>(circuitPackObject.get().getPorts());
                 Collections.sort(portList, new SortPort121ByName());
                 int portIndex = 1;
                 for (Ports port : portList) {
index 7f06049523dceedb9fdba946fe310572495608b1..ac05d9f090e2991d0bf098f89e0449cd04df214a 100644 (file)
@@ -208,7 +208,7 @@ public class PortMappingVersion221 {
             LOG.warn("Circuit Packs are not present for {}", nodeId);
             return false;
         } else {
-            circuitPackList = deviceObject.get().getCircuitPacks();
+            circuitPackList = new ArrayList<>(deviceObject.get().getCircuitPacks());
             circuitPackList.sort(Comparator.comparing(CircuitPack::getCircuitPackName));
         }
         if (device.getXponder() == null) {
@@ -219,7 +219,7 @@ public class PortMappingVersion221 {
                     LOG.warn("Ports were not found for circuit pack: {}", circuitPackName);
                     continue;
                 }
-                List<Ports> portList = cp.getPorts();
+                List<Ports> portList = new ArrayList<>(cp.getPorts());
                 portList.sort(Comparator.comparing(Ports::getPortName));
                 for (Ports port : portList) {
                     if (port.getPortQual() == null) {
@@ -519,7 +519,7 @@ public class PortMappingVersion221 {
                     LOG.warn("{} : Circuit pack {} not found or without ports.", nodeId, circuitPackName);
                     continue;
                 }
-                List<Ports> portList = circuitPackObject.get().getPorts();
+                List<Ports> portList = new ArrayList<>(circuitPackObject.get().getPorts());
                 Collections.sort(portList, new SortPort221ByName());
                 int portIndex = 1;
                 for (Ports port : portList) {
index 05c15e13d21858b0e623f1fdbf05d599d33a2b76..2425f70f4f13833d18d77eb011f4741e2729e20e 100644 (file)
@@ -87,7 +87,7 @@ public final class OpenRoadmTopology {
             // transform flat mapping list to per degree and per srg mapping lists
             Map<String, List<Mapping>> mapDeg = new HashMap<>();
             Map<String, List<Mapping>> mapSrg = new HashMap<>();
-            List<Mapping> mappingList = mappingNode.getMapping();
+            List<Mapping> mappingList = new ArrayList<>(mappingNode.getMapping());
             mappingList.sort(Comparator.comparing(Mapping::getLogicalConnectionPoint));
 
             List<String> nodeShardList = new ArrayList<>();
index 4bc475a9829810595e5eb59817adfca037900540..44ba0f543d84e9b23023c111007b036d0f475574 100644 (file)
@@ -170,7 +170,8 @@ public class GnpyServiceImpl {
         ExplicitRouteObjects explicitRouteObjects = new ExplicitRouteObjectsBuilder()
             .setRouteObjectIncludeExclude(routeObjectIncludeExcludes).build();
         //Create Path Constraint
-        PathConstraints pathConstraints = createPathConstraints(ztoa.getRate(),ztoa.getZToAWavelengthNumber());
+        PathConstraints pathConstraints = createPathConstraints(ztoa.getRate().toJava(),
+            ztoa.getZToAWavelengthNumber().toJava());
 
         // Create the path request
         List<PathRequest> pathRequestList = new ArrayList<>();
index e07459d0a74ee128ea6c660f67dde3a9635ec9fc..c8afb4c8a2b20d46ab752aa883194bd07b48ac6f 100644 (file)
@@ -115,12 +115,13 @@ public class PceLink {
         return tmpoppositeLink;
     }
 
-    //Compute the link latency : if the latency is not defined, the latency it is computed from the omsAttributesSpan
+    //Compute the link latency : if the latency is not defined, the latency is computed from the omsAttributesSpan
     private Long calcLatency(Link link) {
         Link1 link1 = null;
+        Long tmplatency;
         link1 = link.augmentation(Link1.class);
-        Long tmplatency = link1.getLinkLatency().toJava();
-        if (tmplatency != null) {
+        if (link1.getLinkLatency() != null) {
+            tmplatency = link1.getLinkLatency().toJava();
             return tmplatency;
         }
 
index 9aaa23e006e511c175b841c58df28cec232699b3..b75a46b01d2684eae2f5cad2b610467528b5f181 100644 (file)
@@ -89,13 +89,11 @@ public class NetworkModelWavelengthServiceImpl implements NetworkModelWavelength
     public void useWavelengths(PathDescription pathDescription) {
 
         List<NodeIdPair> atozTpIds = getAToZTpList(pathDescription);
-        List<NodeIdPair> ztoaTpIds = getZToATpList(pathDescription);
-
         deleteAvailableWL(atozTpIds.stream().map(NodeIdPair::getNodeID).distinct().collect(Collectors.toList()),
                 pathDescription.getAToZDirection().getAToZWavelengthNumber().toJava());
+        List<NodeIdPair> ztoaTpIds = getZToATpList(pathDescription);
         deleteAvailableWL(ztoaTpIds.stream().map(NodeIdPair::getNodeID).distinct().collect(Collectors.toList()),
                 pathDescription.getZToADirection().getZToAWavelengthNumber().toJava());
-
         addUsedWL(pathDescription.getAToZDirection().getAToZWavelengthNumber().toJava(), atozTpIds);
         addUsedWL(pathDescription.getZToADirection().getZToAWavelengthNumber().toJava(), ztoaTpIds);
     }
@@ -107,7 +105,6 @@ public class NetworkModelWavelengthServiceImpl implements NetworkModelWavelength
 
         deleteUsedWL(pathDescription.getAToZDirection().getAToZWavelengthNumber().toJava(), atozTpIds);
         deleteUsedWL(pathDescription.getZToADirection().getZToAWavelengthNumber().toJava(), ztoaTpIds);
-
         addAvailableWL(atozTpIds.stream().map(NodeIdPair::getNodeID).distinct().collect(Collectors.toList()),
                 pathDescription.getAToZDirection().getAToZWavelengthNumber().toJava());
         addAvailableWL(ztoaTpIds.stream().map(NodeIdPair::getNodeID).distinct().collect(Collectors.toList()),
@@ -234,14 +231,11 @@ public class NetworkModelWavelengthServiceImpl implements NetworkModelWavelength
                         degreeAttributesBuilder = new DegreeAttributesBuilder(degreeAttributes);
                     }
                     List<org.opendaylight.yang.gen.v1.http.org.openroadm.degree.rev181130.degree.node.attributes
-                            .AvailableWavelengths> availableDegreeWLs =
-                            degreeAttributesBuilder.getAvailableWavelengths();
-                    if (availableDegreeWLs == null) {
-                        availableDegreeWLs = new ArrayList<>();
-                        degreeAttributesBuilder.setAvailableWavelengths(availableDegreeWLs);
-                    }
+                        .AvailableWavelengths> availableDegreeWLs = new ArrayList<>(degreeAttributesBuilder
+                        .getAvailableWavelengths());
                     availableDegreeWLs.add(new org.opendaylight.yang.gen.v1.http.org.openroadm.degree.rev181130.degree
                             .node.attributes.AvailableWavelengthsBuilder().setIndex(wavelengthNumber).build());
+                    degreeAttributesBuilder.setAvailableWavelengths(availableDegreeWLs);
                     node1Builder.setDegreeAttributes(degreeAttributesBuilder.build());
                     break;
                 case SRG:
@@ -253,12 +247,10 @@ public class NetworkModelWavelengthServiceImpl implements NetworkModelWavelength
                         srgAttributesBuilder = new SrgAttributesBuilder(srgAttributes);
                     }
                     List<org.opendaylight.yang.gen.v1.http.org.openroadm.srg.rev181130.srg.node.attributes
-                            .AvailableWavelengths> availableSrgWLs = srgAttributesBuilder.getAvailableWavelengths();
-                    if (availableSrgWLs == null) {
-                        availableSrgWLs = new ArrayList<>();
-                        srgAttributesBuilder.setAvailableWavelengths(availableSrgWLs);
-                    }
+                        .AvailableWavelengths> availableSrgWLs = new ArrayList<>(srgAttributesBuilder
+                        .getAvailableWavelengths());
                     availableSrgWLs.add(new AvailableWavelengthsBuilder().setIndex(wavelengthNumber).build());
+                    srgAttributesBuilder.setAvailableWavelengths(availableSrgWLs);
                     node1Builder.setSrgAttributes(srgAttributesBuilder.build());
                     break;
 
@@ -494,43 +486,41 @@ public class NetworkModelWavelengthServiceImpl implements NetworkModelWavelength
                 case DEGREETXTTP:
                 case DEGREETXRXTTP:
                     TxTtpAttributes txTtpAttributes = null;
+                    List<UsedWavelengths> usedDegreeTxTtpWls;
                     if (tp1 != null) {
                         txTtpAttributes = tp1.getTxTtpAttributes();
                     }
                     TxTtpAttributesBuilder txTtpAttributesBuilder;
                     if (txTtpAttributes == null) {
                         txTtpAttributesBuilder = new TxTtpAttributesBuilder();
+                        usedDegreeTxTtpWls = new ArrayList<>();
                     } else {
                         txTtpAttributesBuilder = new TxTtpAttributesBuilder(txTtpAttributes);
-                    }
-                    List<UsedWavelengths> usedDegreeTxTtpWls = txTtpAttributesBuilder.getUsedWavelengths();
-                    if (usedDegreeTxTtpWls == null) {
-                        usedDegreeTxTtpWls = new ArrayList<>();
-                        txTtpAttributesBuilder.setUsedWavelengths(usedDegreeTxTtpWls);
+                        usedDegreeTxTtpWls = new ArrayList<>(txTtpAttributesBuilder.getUsedWavelengths());
                     }
                     usedDegreeTxTtpWls.add(new UsedWavelengthsBuilder().setIndex(wavelengthIndex)
                         .setFrequency(centralTHz).setWidth(FrequencyGHz.getDefaultInstance("40")).build());
+                    txTtpAttributesBuilder.setUsedWavelengths(usedDegreeTxTtpWls);
                     tp1Builder.setTxTtpAttributes(txTtpAttributesBuilder.build());
                     break;
 
                 case DEGREERXTTP:
                     RxTtpAttributes rxTtpAttributes = null;
+                    List<UsedWavelengths> usedDegreeRxTtpWls;
                     if (tp1 != null) {
                         rxTtpAttributes = tp1.getRxTtpAttributes();
                     }
                     RxTtpAttributesBuilder rxTtpAttributesBuilder;
                     if (rxTtpAttributes == null) {
                         rxTtpAttributesBuilder = new RxTtpAttributesBuilder();
+                        usedDegreeRxTtpWls = new ArrayList<>();
                     } else {
                         rxTtpAttributesBuilder = new RxTtpAttributesBuilder(rxTtpAttributes);
-                    }
-                    List<UsedWavelengths> usedDegreeRxTtpWls = rxTtpAttributesBuilder.getUsedWavelengths();
-                    if (usedDegreeRxTtpWls == null) {
-                        usedDegreeRxTtpWls = new ArrayList<>();
-                        rxTtpAttributesBuilder.setUsedWavelengths(usedDegreeRxTtpWls);
+                        usedDegreeRxTtpWls = new ArrayList<>(rxTtpAttributesBuilder.getUsedWavelengths());
                     }
                     usedDegreeRxTtpWls.add(new UsedWavelengthsBuilder().setIndex(wavelengthIndex)
                         .setFrequency(centralTHz).setWidth(FrequencyGHz.getDefaultInstance("40")).build());
+                    rxTtpAttributesBuilder.setUsedWavelengths(usedDegreeRxTtpWls);
                     tp1Builder.setRxTtpAttributes(rxTtpAttributesBuilder.build());
                     break;
 
@@ -538,22 +528,21 @@ public class NetworkModelWavelengthServiceImpl implements NetworkModelWavelength
                 case DEGREERXCTP:
                 case DEGREETXRXCTP:
                     CtpAttributes ctpAttributes = null;
+                    List<UsedWavelengths> usedDegreeCtpWls;
                     if (tp1 != null) {
                         ctpAttributes = tp1.getCtpAttributes();
                     }
                     CtpAttributesBuilder ctpAttributesBuilder;
                     if (ctpAttributes == null) {
                         ctpAttributesBuilder = new CtpAttributesBuilder();
+                        usedDegreeCtpWls = new ArrayList<>();
                     } else {
                         ctpAttributesBuilder = new CtpAttributesBuilder(ctpAttributes);
-                    }
-                    List<UsedWavelengths> usedDegreeCtpWls = ctpAttributesBuilder.getUsedWavelengths();
-                    if (usedDegreeCtpWls == null) {
-                        usedDegreeCtpWls = new ArrayList<>();
-                        ctpAttributesBuilder.setUsedWavelengths(usedDegreeCtpWls);
+                        usedDegreeCtpWls = new ArrayList<>(ctpAttributesBuilder.getUsedWavelengths());
                     }
                     usedDegreeCtpWls.add(new UsedWavelengthsBuilder().setIndex(wavelengthIndex)
                         .setFrequency(centralTHz).setWidth(FrequencyGHz.getDefaultInstance("40")).build());
+                    ctpAttributesBuilder.setUsedWavelengths(usedDegreeCtpWls);
                     tp1Builder.setCtpAttributes(ctpAttributesBuilder.build());
                     break;
 
@@ -561,26 +550,24 @@ public class NetworkModelWavelengthServiceImpl implements NetworkModelWavelength
                 case SRGRXCP:
                 case SRGTXRXCP:
                     CpAttributes cpAttributes = null;
+                    List<org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network
+                        .node.termination.point.cp.attributes.UsedWavelengths> usedDegreeCpWls;
                     if (tp1 != null) {
                         cpAttributes = tp1.getCpAttributes();
                     }
                     CpAttributesBuilder cpAttributesBuilder;
                     if (cpAttributes == null) {
                         cpAttributesBuilder = new CpAttributesBuilder();
+                        usedDegreeCpWls = new ArrayList<>();
                     } else {
                         cpAttributesBuilder = new CpAttributesBuilder(cpAttributes);
-                    }
-                    List<org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network
-                        .node.termination.point.cp.attributes.UsedWavelengths> usedDegreeCpWls = cpAttributesBuilder
-                        .getUsedWavelengths();
-                    if (usedDegreeCpWls == null) {
-                        usedDegreeCpWls = new ArrayList<>();
-                        cpAttributesBuilder.setUsedWavelengths(usedDegreeCpWls);
+                        usedDegreeCpWls = new ArrayList<>(cpAttributesBuilder.getUsedWavelengths());
                     }
                     usedDegreeCpWls.add(new org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130
-                            .networks.network.node.termination.point.cp.attributes.UsedWavelengthsBuilder()
-                            .setIndex(wavelengthIndex)
-                            .setFrequency(centralTHz).setWidth(FrequencyGHz.getDefaultInstance("40")).build());
+                        .networks.network.node.termination.point.cp.attributes.UsedWavelengthsBuilder()
+                        .setIndex(wavelengthIndex)
+                        .setFrequency(centralTHz).setWidth(FrequencyGHz.getDefaultInstance("40")).build());
+                    cpAttributesBuilder.setUsedWavelengths(usedDegreeCpWls);
                     tp1Builder.setCpAttributes(cpAttributesBuilder.build());
                     break;
 
@@ -588,22 +575,21 @@ public class NetworkModelWavelengthServiceImpl implements NetworkModelWavelength
                 case SRGRXPP:
                 case SRGTXPP:
                     PpAttributes ppAttributes = null;
+                    List<UsedWavelength> usedDegreePpWls;
                     if (tp1 != null) {
                         ppAttributes = tp1.getPpAttributes();
                     }
                     PpAttributesBuilder ppAttributesBuilder;
                     if (ppAttributes == null) {
                         ppAttributesBuilder = new PpAttributesBuilder();
+                        usedDegreePpWls = new ArrayList<>();
                     } else {
                         ppAttributesBuilder = new PpAttributesBuilder(ppAttributes);
-                    }
-                    List<UsedWavelength> usedDegreePpWls = ppAttributesBuilder.getUsedWavelength();
-                    if (usedDegreePpWls == null) {
-                        usedDegreePpWls = new ArrayList<>();
-                        ppAttributesBuilder.setUsedWavelength(usedDegreePpWls);
+                        usedDegreePpWls = new ArrayList<>(ppAttributesBuilder.getUsedWavelength());
                     }
                     usedDegreePpWls.add(new UsedWavelengthBuilder().setIndex(wavelengthIndex)
                         .setFrequency(centralTHz).setWidth(FrequencyGHz.getDefaultInstance("40")).build());
+                    ppAttributesBuilder.setUsedWavelength(usedDegreePpWls);
                     tp1Builder.setPpAttributes(ppAttributesBuilder.build());
                     break;
 
index bee4d90eb2697d7d85af7a956d26d8b72a17bcad..cfcb2abc3fa0566dda8517b3a065c6c44cc7f526 100644 (file)
@@ -172,7 +172,6 @@ public class RendererServiceOperationsImpl implements RendererServiceOperations
                 return ModelMappingUtils.createServiceImplResponse(ResponseCodes.RESPONSE_OK, OPERATION_SUCCESSFUL);
             }
         });
-
     }
 
     @SuppressWarnings("checkstyle:IllegalCatch")