Migrate renderer module to Aluminium 82/92182/10
authormanuedelf <emmanuelle.delfour@orange.com>
Tue, 18 Aug 2020 07:02:13 +0000 (09:02 +0200)
committerguillaume.lambert <guillaume.lambert@orange.com>
Thu, 17 Sep 2020 08:28:00 +0000 (10:28 +0200)
JIRA: TRNSPRTPCE-292 TRNSPRTPCE-299
Signed-off-by: guillaume.lambert <guillaume.lambert@orange.com>
Co-authored-by: Gilles Thouenon <gilles.thouenon@orange.com>
Change-Id: I7c63b5b2edd53ec5424925449825e36a4edeacd7

18 files changed:
renderer/src/main/java/org/opendaylight/transportpce/renderer/ModelMappingUtils.java
renderer/src/main/java/org/opendaylight/transportpce/renderer/NetworkModelWavelengthServiceImpl.java
renderer/src/main/java/org/opendaylight/transportpce/renderer/openroadminterface/OpenRoadmInterface121.java
renderer/src/main/java/org/opendaylight/transportpce/renderer/openroadminterface/OpenRoadmInterface221.java
renderer/src/main/java/org/opendaylight/transportpce/renderer/openroadminterface/OpenRoadmOtnInterface221.java
renderer/src/main/java/org/opendaylight/transportpce/renderer/provisiondevice/DeviceRendererServiceImpl.java
renderer/src/main/java/org/opendaylight/transportpce/renderer/provisiondevice/OtnDeviceRendererServiceImpl.java
renderer/src/main/java/org/opendaylight/transportpce/renderer/provisiondevice/otn/OtnDeviceOperationsImpl.java
renderer/src/main/java/org/opendaylight/transportpce/renderer/provisiondevice/servicepath/ServiceListTopology.java
renderer/src/main/java/org/opendaylight/transportpce/renderer/provisiondevice/tasks/DeviceRenderingRollbackTask.java
renderer/src/main/java/org/opendaylight/transportpce/renderer/provisiondevice/tasks/DeviceRenderingTask.java
renderer/src/main/java/org/opendaylight/transportpce/renderer/provisiondevice/tasks/OtnDeviceRenderingTask.java
renderer/src/test/java/org/opendaylight/transportpce/renderer/NetworkModelWaveLengthServiceFreeTest.java
renderer/src/test/java/org/opendaylight/transportpce/renderer/NetworkModelWaveLengthServiceUseTest.java
renderer/src/test/java/org/opendaylight/transportpce/renderer/provisiondevice/DeviceRendererServiceImplCreateOtsOmsTest.java
renderer/src/test/java/org/opendaylight/transportpce/renderer/utils/ServiceDataUtils.java
renderer/src/test/java/org/opendaylight/transportpce/renderer/utils/ServiceDeleteDataUtils.java
renderer/src/test/java/org/opendaylight/transportpce/renderer/utils/TransactionUtils.java

index 41d46c3b4d2a4e902f3a678a3390606010e1a98c..3f4e75e27e6231f1a7c6efaf7ccc5dce7d167322 100644 (file)
@@ -94,7 +94,7 @@ public final class ModelMappingUtils {
 
     public static ServicePathInputData rendererCreateServiceInputAToZ(String serviceName,
             PathDescription pathDescription) {
-        NodeLists nodeLists = getNodesListAToZ(pathDescription.getAToZDirection().getAToZ().iterator());
+        NodeLists nodeLists = getNodesListAToZ(pathDescription.getAToZDirection().nonnullAToZ().values().iterator());
         ServicePathInputBuilder servicePathInputBuilder = new ServicePathInputBuilder()
             .setServiceName(serviceName)
             .setOperation(ServicePathInput.Operation.Create)
@@ -108,7 +108,7 @@ public final class ModelMappingUtils {
 
     public static ServicePathInputData rendererCreateServiceInputZToA(String serviceName,
             PathDescription pathDescription) {
-        NodeLists nodeLists = getNodesListZtoA(pathDescription.getZToADirection().getZToA().iterator());
+        NodeLists nodeLists = getNodesListZtoA(pathDescription.getZToADirection().nonnullZToA().values().iterator());
         ServicePathInputBuilder servicePathInputBuilder = new ServicePathInputBuilder()
             .setOperation(ServicePathInput.Operation.Create)
             .setServiceName(serviceName)
@@ -126,9 +126,9 @@ public final class ModelMappingUtils {
         // If atoZ is set true use A-to-Z direction otherwise use Z-to-A
         List<org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev200615.otn.renderer.input.Nodes> nodes =
             new ArrayList<>();
-        NodeLists nodeLists = getNodesListAToZ(pathDescription.getAToZDirection().getAToZ().iterator());
+        NodeLists nodeLists = getNodesListAToZ(pathDescription.getAToZDirection().nonnullAToZ().values().iterator());
         if (!asideToZside) {
-            nodeLists = getNodesListZtoA(pathDescription.getZToADirection().getZToA().iterator());
+            nodeLists = getNodesListZtoA(pathDescription.getZToADirection().nonnullZToA().values().iterator());
         }
         LOG.info("These are node-lists {}, {}", nodeLists.getList(), nodeLists.getOlmList());
         for (Nodes node: nodeLists.getList()) {
index 1bb9ce0eba1c3811c277783f339bbacb11429e68..df0dcb7547e54c9ba34a883df343ef0a9e31433a 100644 (file)
@@ -8,8 +8,10 @@
 package org.opendaylight.transportpce.renderer;
 
 import java.math.BigDecimal;
-import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 import java.util.Objects;
 import java.util.Optional;
 import java.util.concurrent.ExecutionException;
@@ -25,6 +27,7 @@ import org.opendaylight.transportpce.common.Timeouts;
 import org.opendaylight.transportpce.common.fixedflex.FixedFlexImpl;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.optical.channel.types.rev181130.FrequencyGHz;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.optical.channel.types.rev181130.FrequencyTHz;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.degree.rev181130.degree.node.attributes.AvailableWavelengths;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.degree.rev181130.degree.node.attributes.AvailableWavelengthsKey;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.degree.rev181130.degree.used.wavelengths.UsedWavelengths;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.degree.rev181130.degree.used.wavelengths.UsedWavelengthsBuilder;
@@ -89,7 +92,6 @@ public class NetworkModelWavelengthServiceImpl implements NetworkModelWavelength
 
     @Override
     public void useWavelengths(PathDescription pathDescription) {
-
         List<NodeIdPair> atozTpIds = getAToZTpList(pathDescription);
         atozTpIds.removeIf(Objects::isNull);
         deleteAvailableWL(atozTpIds.stream().map(NodeIdPair::getNodeID).distinct().collect(Collectors.toList()),
@@ -117,7 +119,7 @@ public class NetworkModelWavelengthServiceImpl implements NetworkModelWavelength
     }
 
     private List<NodeIdPair> getAToZTpList(PathDescription pathDescription) {
-        List<AToZ> atozList = pathDescription.getAToZDirection().getAToZ();
+        Collection<AToZ> atozList = pathDescription.getAToZDirection().nonnullAToZ().values();
         return atozList.stream()
                 .filter(aToZ -> {
                     if ((aToZ.getResource() == null) || (aToZ.getResource().getResource() == null)) {
@@ -137,7 +139,7 @@ public class NetworkModelWavelengthServiceImpl implements NetworkModelWavelength
     }
 
     private List<NodeIdPair> getZToATpList(PathDescription pathDescription) {
-        List<ZToA> ztoaList = pathDescription.getZToADirection().getZToA();
+        Collection<ZToA> ztoaList = pathDescription.getZToADirection().nonnullZToA().values();
         return ztoaList.stream()
                 .filter(zToA -> {
                     if ((zToA.getResource() == null) || (zToA.getResource().getResource() == null)) {
@@ -236,12 +238,15 @@ public class NetworkModelWavelengthServiceImpl implements NetworkModelWavelength
                     } else {
                         degreeAttributesBuilder = new DegreeAttributesBuilder(degreeAttributes);
                     }
-                    List<org.opendaylight.yang.gen.v1.http.org.openroadm.degree.rev181130.degree.node.attributes
-                        .AvailableWavelengths> availableDegreeWLs = new ArrayList<>(degreeAttributesBuilder
-                        .getAvailableWavelengths());
-                    availableDegreeWLs.add(new org.opendaylight.yang.gen.v1.http.org.openroadm.degree.rev181130.degree
-                            .node.attributes.AvailableWavelengthsBuilder().setIndex(Uint32.valueOf(wavelengthNumber))
-                            .build());
+                    Map<org.opendaylight.yang.gen.v1.http.org.openroadm.degree.rev181130
+                            .degree.node.attributes.AvailableWavelengthsKey,
+                        org.opendaylight.yang.gen.v1.http.org.openroadm.degree.rev181130
+                            .degree.node.attributes.AvailableWavelengths> availableDegreeWLs = new HashMap<>();
+                    availableDegreeWLs.putAll(degreeAttributesBuilder.getAvailableWavelengths());
+                    AvailableWavelengths availableWaveLength =
+                        new org.opendaylight.yang.gen.v1.http.org.openroadm.degree.rev181130.degree.node.attributes
+                            .AvailableWavelengthsBuilder().setIndex(Uint32.valueOf(wavelengthNumber)).build();
+                    availableDegreeWLs.put(availableWaveLength.key(), availableWaveLength);
                     degreeAttributesBuilder.setAvailableWavelengths(availableDegreeWLs);
                     node1Builder.setDegreeAttributes(degreeAttributesBuilder.build());
                     break;
@@ -253,11 +258,16 @@ public class NetworkModelWavelengthServiceImpl implements NetworkModelWavelength
                     } else {
                         srgAttributesBuilder = new SrgAttributesBuilder(srgAttributes);
                     }
-                    List<org.opendaylight.yang.gen.v1.http.org.openroadm.srg.rev181130.srg.node.attributes
-                        .AvailableWavelengths> availableSrgWLs = new ArrayList<>(srgAttributesBuilder
-                        .getAvailableWavelengths());
-                    availableSrgWLs.add(new AvailableWavelengthsBuilder().setIndex(Uint32.valueOf(wavelengthNumber))
-                            .build());
+                    Map<org.opendaylight.yang.gen.v1.http.org.openroadm.srg.rev181130.srg.node.attributes
+                        .AvailableWavelengthsKey,
+                        org.opendaylight.yang.gen.v1.http.org.openroadm.srg.rev181130.srg.node.attributes
+                        .AvailableWavelengths> availableSrgWLs = new HashMap<>();
+                    availableSrgWLs.putAll(srgAttributesBuilder.getAvailableWavelengths());
+                    org.opendaylight.yang.gen.v1.http.org.openroadm.srg.rev181130
+                        .srg.node.attributes.AvailableWavelengths aval =
+                            new AvailableWavelengthsBuilder().setIndex(Uint32.valueOf(wavelengthNumber))
+                                    .build();
+                    availableSrgWLs.put(aval.key(),aval);
                     srgAttributesBuilder.setAvailableWavelengths(availableSrgWLs);
                     node1Builder.setSrgAttributes(srgAttributesBuilder.build());
                     break;
@@ -488,46 +498,46 @@ public class NetworkModelWavelengthServiceImpl implements NetworkModelWavelength
                 tp1Builder = new TerminationPoint1Builder();
             }
 
+            UsedWavelengths usedWaveLength = new UsedWavelengthsBuilder().setIndex(Uint32.valueOf(wavelengthIndex))
+                .setFrequency(centralTHz).setWidth(FrequencyGHz.getDefaultInstance("40")).build();
             switch (tp2.getTpType()) {
             //switch (((org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.TerminationPoint1) tp)
             //        .getTpType()) {
                 case DEGREETXTTP:
                 case DEGREETXRXTTP:
                     TxTtpAttributes txTtpAttributes = null;
-                    List<UsedWavelengths> usedDegreeTxTtpWls;
+                    Map<UsedWavelengthsKey,UsedWavelengths> usedDegreeTxTtpWls;
                     if (tp1 != null) {
                         txTtpAttributes = tp1.getTxTtpAttributes();
                     }
                     TxTtpAttributesBuilder txTtpAttributesBuilder;
+                    usedDegreeTxTtpWls = new HashMap<>();
                     if (txTtpAttributes == null) {
                         txTtpAttributesBuilder = new TxTtpAttributesBuilder();
-                        usedDegreeTxTtpWls = new ArrayList<>();
                     } else {
                         txTtpAttributesBuilder = new TxTtpAttributesBuilder(txTtpAttributes);
-                        usedDegreeTxTtpWls = new ArrayList<>(txTtpAttributesBuilder.getUsedWavelengths());
+                        usedDegreeTxTtpWls.putAll(txTtpAttributesBuilder.getUsedWavelengths());
                     }
-                    usedDegreeTxTtpWls.add(new UsedWavelengthsBuilder().setIndex(Uint32.valueOf(wavelengthIndex))
-                        .setFrequency(centralTHz).setWidth(FrequencyGHz.getDefaultInstance("40")).build());
+                    usedDegreeTxTtpWls.put(usedWaveLength.key(),usedWaveLength);
                     txTtpAttributesBuilder.setUsedWavelengths(usedDegreeTxTtpWls);
                     tp1Builder.setTxTtpAttributes(txTtpAttributesBuilder.build());
                     break;
 
                 case DEGREERXTTP:
                     RxTtpAttributes rxTtpAttributes = null;
-                    List<UsedWavelengths> usedDegreeRxTtpWls;
+                    Map<UsedWavelengthsKey,UsedWavelengths> usedDegreeRxTtpWls;
                     if (tp1 != null) {
                         rxTtpAttributes = tp1.getRxTtpAttributes();
                     }
                     RxTtpAttributesBuilder rxTtpAttributesBuilder;
+                    usedDegreeRxTtpWls = new HashMap<>();
                     if (rxTtpAttributes == null) {
                         rxTtpAttributesBuilder = new RxTtpAttributesBuilder();
-                        usedDegreeRxTtpWls = new ArrayList<>();
                     } else {
                         rxTtpAttributesBuilder = new RxTtpAttributesBuilder(rxTtpAttributes);
-                        usedDegreeRxTtpWls = new ArrayList<>(rxTtpAttributesBuilder.getUsedWavelengths());
+                        usedDegreeRxTtpWls.putAll(rxTtpAttributesBuilder.getUsedWavelengths());
                     }
-                    usedDegreeRxTtpWls.add(new UsedWavelengthsBuilder().setIndex(Uint32.valueOf(wavelengthIndex))
-                        .setFrequency(centralTHz).setWidth(FrequencyGHz.getDefaultInstance("40")).build());
+                    usedDegreeRxTtpWls.put(usedWaveLength.key(),usedWaveLength);
                     rxTtpAttributesBuilder.setUsedWavelengths(usedDegreeRxTtpWls);
                     tp1Builder.setRxTtpAttributes(rxTtpAttributesBuilder.build());
                     break;
@@ -536,20 +546,19 @@ public class NetworkModelWavelengthServiceImpl implements NetworkModelWavelength
                 case DEGREERXCTP:
                 case DEGREETXRXCTP:
                     CtpAttributes ctpAttributes = null;
-                    List<UsedWavelengths> usedDegreeCtpWls;
+                    Map<UsedWavelengthsKey,UsedWavelengths> usedDegreeCtpWls;
                     if (tp1 != null) {
                         ctpAttributes = tp1.getCtpAttributes();
                     }
                     CtpAttributesBuilder ctpAttributesBuilder;
+                    usedDegreeCtpWls = new HashMap<>();
                     if (ctpAttributes == null) {
                         ctpAttributesBuilder = new CtpAttributesBuilder();
-                        usedDegreeCtpWls = new ArrayList<>();
                     } else {
                         ctpAttributesBuilder = new CtpAttributesBuilder(ctpAttributes);
-                        usedDegreeCtpWls = new ArrayList<>(ctpAttributesBuilder.getUsedWavelengths());
+                        usedDegreeCtpWls.putAll(ctpAttributesBuilder.getUsedWavelengths());
                     }
-                    usedDegreeCtpWls.add(new UsedWavelengthsBuilder().setIndex(Uint32.valueOf(wavelengthIndex))
-                        .setFrequency(centralTHz).setWidth(FrequencyGHz.getDefaultInstance("40")).build());
+                    usedDegreeCtpWls.put(usedWaveLength.key(),usedWaveLength);
                     ctpAttributesBuilder.setUsedWavelengths(usedDegreeCtpWls);
                     tp1Builder.setCtpAttributes(ctpAttributesBuilder.build());
                     break;
@@ -558,23 +567,28 @@ 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
+                    Map<org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network
+                        .node.termination.point.cp.attributes.UsedWavelengthsKey,
+                        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;
+                    usedDegreeCpWls = new HashMap<>();
                     if (cpAttributes == null) {
                         cpAttributesBuilder = new CpAttributesBuilder();
-                        usedDegreeCpWls = new ArrayList<>();
                     } else {
                         cpAttributesBuilder = new CpAttributesBuilder(cpAttributes);
-                        usedDegreeCpWls = new ArrayList<>(cpAttributesBuilder.getUsedWavelengths());
+                        usedDegreeCpWls.putAll(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(Uint32.valueOf(wavelengthIndex))
-                        .setFrequency(centralTHz).setWidth(FrequencyGHz.getDefaultInstance("40")).build());
+                    org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks
+                        .network.node.termination.point.cp.attributes.UsedWavelengths cpUsedWaveLength =
+                            new org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130
+                                .networks.network.node.termination.point.cp.attributes.UsedWavelengthsBuilder()
+                                .setIndex(Uint32.valueOf(wavelengthIndex))
+                                .setFrequency(centralTHz).setWidth(FrequencyGHz.getDefaultInstance("40")).build();
+                    usedDegreeCpWls.put(cpUsedWaveLength.key(),cpUsedWaveLength);
                     cpAttributesBuilder.setUsedWavelengths(usedDegreeCpWls);
                     tp1Builder.setCpAttributes(cpAttributesBuilder.build());
                     break;
@@ -583,20 +597,22 @@ public class NetworkModelWavelengthServiceImpl implements NetworkModelWavelength
                 case SRGRXPP:
                 case SRGTXPP:
                     PpAttributes ppAttributes = null;
-                    List<UsedWavelength> usedDegreePpWls;
+                    Map<UsedWavelengthKey, UsedWavelength> usedDegreePpWls;
                     if (tp1 != null) {
                         ppAttributes = tp1.getPpAttributes();
                     }
                     PpAttributesBuilder ppAttributesBuilder;
+                    usedDegreePpWls = new HashMap<>();
                     if (ppAttributes == null) {
                         ppAttributesBuilder = new PpAttributesBuilder();
-                        usedDegreePpWls = new ArrayList<>();
                     } else {
                         ppAttributesBuilder = new PpAttributesBuilder(ppAttributes);
-                        usedDegreePpWls = new ArrayList<>(ppAttributesBuilder.getUsedWavelength());
+                        usedDegreePpWls.putAll(ppAttributesBuilder.getUsedWavelength());
                     }
-                    usedDegreePpWls.add(new UsedWavelengthBuilder().setIndex(Uint32.valueOf(wavelengthIndex))
-                        .setFrequency(centralTHz).setWidth(FrequencyGHz.getDefaultInstance("40")).build());
+                    UsedWavelength usedDegreeWaveLength = new UsedWavelengthBuilder()
+                            .setIndex(Uint32.valueOf(wavelengthIndex))
+                            .setFrequency(centralTHz).setWidth(FrequencyGHz.getDefaultInstance("40")).build();
+                    usedDegreePpWls.put(usedDegreeWaveLength.key(),usedDegreeWaveLength);
                     ppAttributesBuilder.setUsedWavelength(usedDegreePpWls);
                     tp1Builder.setPpAttributes(ppAttributesBuilder.build());
                     break;
index 0db9a5a08d096dd77b0c5b8891b5ef09bcaa0a08..1d9ebc455a05cd0fab9dfa31e4704f4557e65bed 100644 (file)
@@ -28,7 +28,6 @@ import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.org.open
 import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.org.openroadm.device.container.org.openroadm.device.RoadmConnectionsKey;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.equipment.states.types.rev161014.AdminStates;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.ethernet.interfaces.rev161014.EthAttributes;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.ethernet.interfaces.rev161014.Interface1;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.ethernet.interfaces.rev161014.Interface1Builder;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.ethernet.interfaces.rev161014.ethernet.container.EthernetBuilder;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.interfaces.rev161014.EthernetCsmacd;
@@ -51,6 +50,7 @@ import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.otu.interfaces.rev161
 import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.otu.interfaces.rev161014.OtuAttributes;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.otu.interfaces.rev161014.otu.container.OtuBuilder;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
+import org.opendaylight.yangtools.yang.common.Uint32;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -79,15 +79,15 @@ public class OpenRoadmInterface121 {
                 .setAutoNegotiation(EthAttributes.AutoNegotiation.Enabled)
                 .setDuplex(EthAttributes.Duplex.Full)
                 .setFec(EthAttributes.Fec.Off)
-                .setSpeed(100000L)
-                .setMtu(9000L);
+                .setSpeed(Uint32.valueOf(100000))
+                .setMtu(Uint32.valueOf(9000));
 
         InterfaceBuilder ethInterfaceBldr = createGenericInterfaceBuilder(portMap, EthernetCsmacd.class,
                                                                           logicalConnPoint + "-ETHERNET");
 
         // Create Interface1 type object required for adding as augmentation
         Interface1Builder ethIf1Builder = new Interface1Builder();
-        ethInterfaceBldr.addAugmentation(Interface1.class, ethIf1Builder.setEthernet(ethIfBuilder.build()).build());
+        ethInterfaceBldr.addAugmentation(ethIf1Builder.setEthernet(ethIfBuilder.build()).build());
 
         // Post interface on the device
         this.openRoadmInterfaces.postInterface(nodeId, ethInterfaceBldr);
@@ -100,7 +100,7 @@ public class OpenRoadmInterface121 {
 
     private InterfaceBuilder createGenericInterfaceBuilder(Mapping portMap, Class<? extends InterfaceType> type,
                                                            String key) {
-        InterfaceBuilder interfaceBuilder = new InterfaceBuilder()
+        return new InterfaceBuilder()
                 .setDescription("  TBD   ")
                 .setCircuitId("   TBD    ")
                 .setSupportingCircuitPackName(portMap.getSupportingCircuitPackName())
@@ -109,7 +109,6 @@ public class OpenRoadmInterface121 {
                 .setType(type)
                 .setName(key)
                 .withKey(new InterfaceKey(key));
-        return interfaceBuilder;
     }
     /**
      * This methods creates an OTU interface on the given termination point.
@@ -142,9 +141,7 @@ public class OpenRoadmInterface121 {
         // TODO look at imports of different versions of class
         org.opendaylight.yang.gen.v1.http.org.openroadm.otn.otu.interfaces.rev161014.Interface1Builder otuIf1Builder =
                 new org.opendaylight.yang.gen.v1.http.org.openroadm.otn.otu.interfaces.rev161014.Interface1Builder();
-        otuInterfaceBldr.addAugmentation(
-                org.opendaylight.yang.gen.v1.http.org.openroadm.otn.otu.interfaces.rev161014.Interface1.class,
-                        otuIf1Builder.setOtu(otuIfBuilder.build()).build());
+        otuInterfaceBldr.addAugmentation(otuIf1Builder.setOtu(otuIfBuilder.build()).build());
 
         // Post interface on the device
         this.openRoadmInterfaces.postInterface(nodeId, otuInterfaceBldr);
@@ -186,9 +183,7 @@ public class OpenRoadmInterface121 {
         // TODO look at imports of different versions of class
         org.opendaylight.yang.gen.v1.http.org.openroadm.otn.odu.interfaces.rev161014.Interface1Builder oduIf1Builder =
                 new org.opendaylight.yang.gen.v1.http.org.openroadm.otn.odu.interfaces.rev161014.Interface1Builder();
-        oduInterfaceBldr.addAugmentation(
-                org.opendaylight.yang.gen.v1.http.org.openroadm.otn.odu.interfaces.rev161014.Interface1.class,
-                oduIf1Builder.setOdu(oduIfBuilder.build()).build());
+        oduInterfaceBldr.addAugmentation(oduIf1Builder.setOdu(oduIfBuilder.build()).build());
 
         // Post interface on the device
         this.openRoadmInterfaces.postInterface(nodeId, oduInterfaceBldr);
@@ -221,7 +216,7 @@ public class OpenRoadmInterface121 {
             createOpenRoadmOchInterfaceName(logicalConnPoint, waveNumber));
 
         // OCH interface specific data
-        OchBuilder ocIfBuilder = new OchBuilder().setWavelengthNumber(waveNumber);
+        OchBuilder ocIfBuilder = new OchBuilder().setWavelengthNumber(Uint32.valueOf(waveNumber));
 
         // Add supporting OMS interface
         if (portMap.getSupportingOms() != null) {
@@ -232,9 +227,7 @@ public class OpenRoadmInterface121 {
         org.opendaylight.yang.gen.v1.http.org.openroadm.optical.channel.interfaces.rev161014.Interface1Builder
                 ochIf1Builder = new org.opendaylight.yang.gen.v1.http.org.openroadm.optical.channel.interfaces
                 .rev161014.Interface1Builder();
-        ochInterfaceBldr.addAugmentation(
-                org.opendaylight.yang.gen.v1.http.org.openroadm.optical.channel.interfaces.rev161014.Interface1.class,
-                ochIf1Builder.setOch(ocIfBuilder.build()).build());
+        ochInterfaceBldr.addAugmentation(ochIf1Builder.setOch(ocIfBuilder.build()).build());
 
         List<String> interfacesCreated = new ArrayList<>();
         // Post interface on the device
@@ -254,7 +247,7 @@ public class OpenRoadmInterface121 {
 
         // OCH interface specific data
         OchBuilder ocIfBuilder = new OchBuilder()
-                .setWavelengthNumber(waveNumber)
+                .setWavelengthNumber(Uint32.valueOf(waveNumber))
                 .setModulationFormat(format)
                 .setRate(R100G.class)
                 .setTransmitPower(new PowerDBm(new BigDecimal("-5")));
@@ -267,9 +260,7 @@ public class OpenRoadmInterface121 {
         // Create generic interface
         InterfaceBuilder ochInterfaceBldr = createGenericInterfaceBuilder(portMap, OpticalChannel.class,
             createOpenRoadmOchInterfaceName(logicalConnPoint, waveNumber));
-        ochInterfaceBldr.addAugmentation(
-                org.opendaylight.yang.gen.v1.http.org.openroadm.optical.channel.interfaces.rev161014.Interface1.class,
-                ochIf1Builder.setOch(ocIfBuilder.build()).build());
+        ochInterfaceBldr.addAugmentation(ochIf1Builder.setOch(ocIfBuilder.build()).build());
 
         // Post interface on the device
         this.openRoadmInterfaces.postInterface(nodeId, ochInterfaceBldr);
@@ -319,10 +310,7 @@ public class OpenRoadmInterface121 {
             org.opendaylight.yang.gen.v1.http.org.openroadm.optical.transport.interfaces.rev161014
                     .Interface1Builder otsIf1Builder = new org.opendaylight.yang.gen.v1.http.org.openroadm
                     .optical.transport.interfaces.rev161014.Interface1Builder();
-            otsInterfaceBldr.addAugmentation(
-                    org.opendaylight.yang.gen.v1.http.org.openroadm.optical.transport.interfaces.rev161014
-                    .Interface1.class,
-                    otsIf1Builder.setOts(otsIfBuilder.build()).build());
+            otsInterfaceBldr.addAugmentation(otsIf1Builder.setOts(otsIfBuilder.build()).build());
             this.openRoadmInterfaces.postInterface(nodeId, otsInterfaceBldr);
             this.portMapping.updateMapping(nodeId, mapping);
             return otsInterfaceBldr.build().getName();
index eb23b0ffc6f1b439a185c6b8f058011daaaae565..fefbe04961825530eed7bc60e967da7c9eff8de6 100644 (file)
@@ -36,7 +36,6 @@ 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.RoadmConnectionsKey;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.equipment.states.types.rev171215.AdminStates;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.ethernet.interfaces.rev181019.EthAttributes;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.ethernet.interfaces.rev181019.Interface1;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.ethernet.interfaces.rev181019.Interface1Builder;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.ethernet.interfaces.rev181019.ethernet.container.EthernetBuilder;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.interfaces.rev170626.EthernetCsmacd;
@@ -101,7 +100,7 @@ public class OpenRoadmInterface221 {
             logicalConnPoint + "-ETHERNET");
         // Create Interface1 type object required for adding as augmentation
         Interface1Builder ethIf1Builder = new Interface1Builder();
-        ethInterfaceBldr.addAugmentation(Interface1.class, ethIf1Builder.setEthernet(ethIfBuilder.build()).build());
+        ethInterfaceBldr.addAugmentation(ethIf1Builder.setEthernet(ethIfBuilder.build()).build());
 
         // Post interface on the device
         openRoadmInterfaces.postInterface(nodeId, ethInterfaceBldr);
@@ -197,9 +196,7 @@ public class OpenRoadmInterface221 {
             new org.opendaylight.yang.gen.v1.http.org.openroadm.media.channel.interfaces.rev181019.Interface1Builder()
                 .setMcTtp(mcTtpBuilder.build());
 
-        mcInterfaceBldr.addAugmentation(
-            org.opendaylight.yang.gen.v1.http.org.openroadm.media.channel.interfaces.rev181019.Interface1.class,
-            interface1Builder.build());
+        mcInterfaceBldr.addAugmentation(interface1Builder.build());
 
         // Post interface on the device
         openRoadmInterfaces.postInterface(nodeId, mcInterfaceBldr);
@@ -275,11 +272,9 @@ public class OpenRoadmInterface221 {
         // Create Interface1 type object required for adding as augmentation
         org.opendaylight.yang.gen.v1.http.org.openroadm.network.media.channel.interfaces.rev181019.Interface1Builder
             nmcCtpI1fBuilder =
-            new org.opendaylight.yang.gen.v1.http.org.openroadm.network.media.channel.interfaces.rev181019
-                .Interface1Builder().setNmcCtp(nmcCtpIfBuilder.build());
-        nmcInterfaceBldr.addAugmentation(
-            org.opendaylight.yang.gen.v1.http.org.openroadm.network.media.channel.interfaces.rev181019.Interface1.class,
-            nmcCtpI1fBuilder.build());
+                new org.opendaylight.yang.gen.v1.http.org.openroadm.network.media.channel.interfaces.rev181019
+                    .Interface1Builder().setNmcCtp(nmcCtpIfBuilder.build());
+        nmcInterfaceBldr.addAugmentation(nmcCtpI1fBuilder.build());
 
         // Post interface on the device
         openRoadmInterfaces.postInterface(nodeId, nmcInterfaceBldr);
@@ -379,9 +374,7 @@ public class OpenRoadmInterface221 {
         org.opendaylight.yang.gen.v1.http.org.openroadm.optical.channel.interfaces.rev181019.Interface1Builder
             ochIf1Builder = new org.opendaylight.yang.gen.v1.http.org.openroadm.optical.channel.interfaces.rev181019
             .Interface1Builder();
-        ochInterfaceBldr.addAugmentation(
-            org.opendaylight.yang.gen.v1.http.org.openroadm.optical.channel.interfaces.rev181019.Interface1.class,
-            ochIf1Builder.setOch(ocIfBuilder.build()).build());
+        ochInterfaceBldr.addAugmentation(ochIf1Builder.setOch(ocIfBuilder.build()).build());
 
         // Post interface on the device
         openRoadmInterfaces.postInterface(nodeId, ochInterfaceBldr);
@@ -474,9 +467,7 @@ public class OpenRoadmInterface221 {
         // TODO look at imports of different versions of class
         org.opendaylight.yang.gen.v1.http.org.openroadm.otn.odu.interfaces.rev181019.Interface1Builder oduIf1Builder =
             new org.opendaylight.yang.gen.v1.http.org.openroadm.otn.odu.interfaces.rev181019.Interface1Builder();
-        oduInterfaceBldr.addAugmentation(
-            org.opendaylight.yang.gen.v1.http.org.openroadm.otn.odu.interfaces.rev181019.Interface1.class,
-            oduIf1Builder.setOdu(oduIfBuilder.build()).build());
+        oduInterfaceBldr.addAugmentation(oduIf1Builder.setOdu(oduIfBuilder.build()).build());
 
         // Post interface on the device
         openRoadmInterfaces.postInterface(nodeId, oduInterfaceBldr);
@@ -520,9 +511,7 @@ public class OpenRoadmInterface221 {
         // TODO look at imports of different versions of class
         org.opendaylight.yang.gen.v1.http.org.openroadm.otn.odu.interfaces.rev181019.Interface1Builder oduIf1Builder =
             new org.opendaylight.yang.gen.v1.http.org.openroadm.otn.odu.interfaces.rev181019.Interface1Builder();
-        oduInterfaceBldr.addAugmentation(
-            org.opendaylight.yang.gen.v1.http.org.openroadm.otn.odu.interfaces.rev181019.Interface1.class,
-            oduIf1Builder.setOdu(oduIfBuilder.build()).build());
+        oduInterfaceBldr.addAugmentation(oduIf1Builder.setOdu(oduIfBuilder.build()).build());
 
         // Post interface on the device
         openRoadmInterfaces.postInterface(anodeId, oduInterfaceBldr);
@@ -551,9 +540,7 @@ public class OpenRoadmInterface221 {
         // TODO look at imports of different versions of class
         org.opendaylight.yang.gen.v1.http.org.openroadm.otn.otu.interfaces.rev181019.Interface1Builder otuIf1Builder =
             new org.opendaylight.yang.gen.v1.http.org.openroadm.otn.otu.interfaces.rev181019.Interface1Builder();
-        otuInterfaceBldr.addAugmentation(
-            org.opendaylight.yang.gen.v1.http.org.openroadm.otn.otu.interfaces.rev181019.Interface1.class,
-            otuIf1Builder.setOtu(otuIfBuilder.build()).build());
+        otuInterfaceBldr.addAugmentation(otuIf1Builder.setOtu(otuIfBuilder.build()).build());
 
         // Post interface on the device
         openRoadmInterfaces.postInterface(nodeId, otuInterfaceBldr);
@@ -596,9 +583,7 @@ public class OpenRoadmInterface221 {
         org.opendaylight.yang.gen.v1.http.org.openroadm.otn.otu.interfaces.rev181019.Interface1Builder otuIf1Builder =
                 new org.opendaylight.yang.gen.v1.http.org.openroadm.otn.otu.interfaces.rev181019.Interface1Builder();
 
-        otuInterfaceBldr.addAugmentation(
-                org.opendaylight.yang.gen.v1.http.org.openroadm.otn.otu.interfaces.rev181019.Interface1.class,
-                otuIf1Builder.setOtu(otuIfBuilder.build()).build());
+        otuInterfaceBldr.addAugmentation(otuIf1Builder.setOtu(otuIfBuilder.build()).build());
 
         // Post interface on the device
         openRoadmInterfaces.postInterface(anodeId, otuInterfaceBldr);
@@ -612,7 +597,7 @@ public class OpenRoadmInterface221 {
 
     private InterfaceBuilder createGenericInterfaceBuilder(Mapping portMap, Class<? extends InterfaceType> type,
         String key) {
-        InterfaceBuilder interfaceBuilder = new InterfaceBuilder()
+        return new InterfaceBuilder()
                 .setDescription("  TBD   ")
                 .setCircuitId("   TBD    ")
                 .setSupportingCircuitPackName(portMap.getSupportingCircuitPackName())
@@ -621,7 +606,6 @@ public class OpenRoadmInterface221 {
                 .setType(type)
                 .setName(key)
                 .withKey(new InterfaceKey(key));
-        return interfaceBuilder;
     }
 
     public String createOpenRoadmOmsInterface(String nodeId, Mapping mapping) throws OpenRoadmInterfaceException {
@@ -658,9 +642,7 @@ public class OpenRoadmInterface221 {
             org.opendaylight.yang.gen.v1.http.org.openroadm.optical.transport.interfaces.rev181019.Interface1Builder
                 otsIf1Builder = new org.opendaylight.yang.gen.v1.http.org.openroadm.optical.transport.interfaces
                 .rev181019.Interface1Builder();
-            otsInterfaceBldr.addAugmentation(
-                org.opendaylight.yang.gen.v1.http.org.openroadm.optical.transport.interfaces.rev181019.Interface1.class,
-                otsIf1Builder.setOts(otsIfBuilder.build()).build());
+            otsInterfaceBldr.addAugmentation(otsIf1Builder.setOts(otsIfBuilder.build()).build());
             this.openRoadmInterfaces.postInterface(nodeId, otsInterfaceBldr);
             this.portMapping.updateMapping(nodeId, mapping);
             return otsInterfaceBldr.build().getName();
@@ -743,9 +725,7 @@ public class OpenRoadmInterface221 {
         // TODO look at imports of different versions of class
         org.opendaylight.yang.gen.v1.http.org.openroadm.otn.odu.interfaces.rev181019.Interface1Builder oduIf1Builder =
                 new org.opendaylight.yang.gen.v1.http.org.openroadm.otn.odu.interfaces.rev181019.Interface1Builder();
-        oduInterfaceBldr.addAugmentation(
-                org.opendaylight.yang.gen.v1.http.org.openroadm.otn.odu.interfaces.rev181019.Interface1.class,
-                oduIf1Builder.setOdu(oduIfBuilder.build()).build());
+        oduInterfaceBldr.addAugmentation(oduIf1Builder.setOdu(oduIfBuilder.build()).build());
 
         // Post interface on the device
         openRoadmInterfaces.postInterface(nodeId, oduInterfaceBldr);
@@ -798,9 +778,7 @@ public class OpenRoadmInterface221 {
         // TODO look at imports of different versions of class
         org.opendaylight.yang.gen.v1.http.org.openroadm.otn.odu.interfaces.rev181019.Interface1Builder oduIf1Builder =
             new org.opendaylight.yang.gen.v1.http.org.openroadm.otn.odu.interfaces.rev181019.Interface1Builder();
-        oduInterfaceBldr.addAugmentation(
-            org.opendaylight.yang.gen.v1.http.org.openroadm.otn.odu.interfaces.rev181019.Interface1.class,
-            oduIf1Builder.setOdu(oduIfBuilder.build()).build());
+        oduInterfaceBldr.addAugmentation(oduIf1Builder.setOdu(oduIfBuilder.build()).build());
 
         // Post interface on the device
         openRoadmInterfaces.postInterface(anodeId, oduInterfaceBldr);
index 058991e231f4f176d8c562df939f4db8fe4b31fc..29a6582f57828ccbee1c7104974d5ae6eaa91d73 100644 (file)
@@ -17,7 +17,6 @@ import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmappi
 import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.interfaces.grp.InterfaceBuilder;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.interfaces.grp.InterfaceKey;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.equipment.states.types.rev171215.AdminStates;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.ethernet.interfaces.rev181019.Interface1;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.ethernet.interfaces.rev181019.Interface1Builder;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.ethernet.interfaces.rev181019.ethernet.container.EthernetBuilder;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.interfaces.rev170626.EthernetCsmacd;
@@ -34,6 +33,7 @@ import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.odu.interfaces.rev181
 import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.odu.interfaces.rev181019.opu.OpuBuilder;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.odu.interfaces.rev181019.parent.odu.allocation.ParentOduAllocationBuilder;
 import org.opendaylight.yangtools.yang.common.Uint16;
+import org.opendaylight.yangtools.yang.common.Uint32;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -60,14 +60,13 @@ public class OpenRoadmOtnInterface221 {
 
         // Ethernet interface specific data
         EthernetBuilder ethIfBuilder = new EthernetBuilder()
-                .setSpeed(1000L);
+                .setSpeed(Uint32.valueOf(1000));
         InterfaceBuilder ethInterfaceBldr = createGenericInterfaceBuilder(
                 portMap, EthernetCsmacd.class,
                 logicalConnPoint + "-ETHERNET1G");
         // Create Interface1 type object required for adding as augmentation
         Interface1Builder ethIf1Builder = new Interface1Builder();
-        ethInterfaceBldr.addAugmentation(Interface1.class,
-                ethIf1Builder.setEthernet(ethIfBuilder.build()).build());
+        ethInterfaceBldr.addAugmentation(ethIf1Builder.setEthernet(ethIfBuilder.build()).build());
         // Post interface on the device
         this.openRoadmInterfaces.postOTNInterface(nodeId, ethInterfaceBldr);
         // Post the equipment-state change on the device circuit-pack
@@ -88,7 +87,7 @@ public class OpenRoadmOtnInterface221 {
 
     private InterfaceBuilder createGenericInterfaceBuilder(Mapping portMap,
             Class<? extends InterfaceType> type, String key) {
-        InterfaceBuilder interfaceBuilder = new InterfaceBuilder()
+        return new InterfaceBuilder()
                 // .setDescription(" TBD ")
                 // .setCircuitId(" TBD ")
                 .setSupportingCircuitPackName(
@@ -97,7 +96,6 @@ public class OpenRoadmOtnInterface221 {
                 .setAdministrativeState(AdminStates.InService)
                 // TODO get rid of unchecked cast warning
                 .setType(type).setName(key).withKey(new InterfaceKey(key));
-        return interfaceBuilder;
     }
 
     public String createOpenRoadmEth10GInterface(String nodeId,
@@ -110,12 +108,12 @@ public class OpenRoadmOtnInterface221 {
         // Ethernet interface specific data
         EthernetBuilder ethIfBuilder = new EthernetBuilder()
                 // .setAutoNegotiation(EthAttributes.AutoNegotiation.Disabled)
-                .setSpeed(10000L);
+                .setSpeed(Uint32.valueOf(10000));
         // Create Interface1 type object required for adding as augmentation
         Interface1Builder ethIf1Builder = new Interface1Builder();
         InterfaceBuilder ethInterfaceBldr = createGenericInterfaceBuilder(portMap, EthernetCsmacd.class,
-                logicalConnPoint + "-ETHERNET10G").addAugmentation(Interface1.class,
-                        ethIf1Builder.setEthernet(ethIfBuilder.build()).build());
+                logicalConnPoint + "-ETHERNET10G").addAugmentation(ethIf1Builder.setEthernet(ethIfBuilder.build())
+                        .build());
         // Post interface on the device
         this.openRoadmInterfaces.postOTNInterface(nodeId, ethInterfaceBldr);
         // Post the equipment-state change on the device circuit-pack
@@ -167,7 +165,7 @@ public class OpenRoadmOtnInterface221 {
             IntStream.range(tribSlotIndex, tribSlotIndex + 8)
                     .forEach(nbr -> tribSlots.add(Uint16.valueOf(nbr)));
             ParentOduAllocationBuilder parentOduAllocationBuilder = new ParentOduAllocationBuilder()
-                    .setTribPortNumber(tribPortNumber)
+                    .setTribPortNumber(Uint16.valueOf(tribPortNumber))
                     .setTribSlots(tribSlots);
             oduIfBuilder.setOduFunction(ODUCTP.class)
                     .setMonitoringMode(OduAttributes.MonitoringMode.Monitored)
@@ -184,9 +182,7 @@ public class OpenRoadmOtnInterface221 {
         org.opendaylight.yang.gen.v1.http.org.openroadm.otn.odu.interfaces.rev181019.Interface1Builder
             oduIf1Builder = new
                 org.opendaylight.yang.gen.v1.http.org.openroadm.otn.odu.interfaces.rev181019.Interface1Builder();
-        oduInterfaceBldr.addAugmentation(
-                org.opendaylight.yang.gen.v1.http.org.openroadm.otn.odu.interfaces.rev181019.Interface1.class,
-                oduIf1Builder.setOdu(oduIfBuilder.build()).build());
+        oduInterfaceBldr.addAugmentation(oduIf1Builder.setOdu(oduIfBuilder.build()).build());
 
         // Post interface on the device
         this.openRoadmInterfaces.postOTNInterface(nodeId, oduInterfaceBldr);
@@ -225,7 +221,7 @@ public class OpenRoadmOtnInterface221 {
             tribSlots.add(Uint16.valueOf(tribSlot));
             ParentOduAllocationBuilder parentOduAllocationBuilder = new ParentOduAllocationBuilder()
                     // set trib port numbers
-                    .setTribPortNumber(tribPortNumber)
+                    .setTribPortNumber(Uint16.valueOf(tribPortNumber))
                     .setTribSlots(tribSlots);
             oduIfBuilder.setOduFunction(ODUCTP.class)
                     .setMonitoringMode(OduAttributes.MonitoringMode.Monitored)
@@ -246,9 +242,7 @@ public class OpenRoadmOtnInterface221 {
         org.opendaylight.yang.gen.v1.http.org.openroadm.otn.odu.interfaces.rev181019.Interface1Builder
             oduIf1Builder = new
             org.opendaylight.yang.gen.v1.http.org.openroadm.otn.odu.interfaces.rev181019.Interface1Builder();
-        oduInterfaceBldr.addAugmentation(
-                org.opendaylight.yang.gen.v1.http.org.openroadm.otn.odu.interfaces.rev181019.Interface1.class,
-                oduIf1Builder.setOdu(oduIfBuilder.build()).build());
+        oduInterfaceBldr.addAugmentation(oduIf1Builder.setOdu(oduIfBuilder.build()).build());
 
         // Post interface on the device
         this.openRoadmInterfaces.postOTNInterface(nodeId, oduInterfaceBldr);
@@ -286,7 +280,7 @@ public class OpenRoadmOtnInterface221 {
                     .forEach(nbr -> tribSlots.add(Uint16.valueOf(nbr)));
             ParentOduAllocationBuilder parentOduAllocationBuilder = new ParentOduAllocationBuilder()
                     // set trib port numbers
-                    .setTribPortNumber(tribPortNumber)
+                    .setTribPortNumber(Uint16.valueOf(tribPortNumber))
                     .setTribSlots(tribSlots);
             oduIfBuilder.setOduFunction(ODUCTP.class)
                     .setMonitoringMode(OduAttributes.MonitoringMode.Monitored)
@@ -306,9 +300,7 @@ public class OpenRoadmOtnInterface221 {
         org.opendaylight.yang.gen.v1.http.org.openroadm.otn.odu.interfaces.rev181019.Interface1Builder
             oduIf1Builder = new
                 org.opendaylight.yang.gen.v1.http.org.openroadm.otn.odu.interfaces.rev181019.Interface1Builder();
-        oduInterfaceBldr.addAugmentation(
-                org.opendaylight.yang.gen.v1.http.org.openroadm.otn.odu.interfaces.rev181019.Interface1.class,
-                oduIf1Builder.setOdu(oduIfBuilder.build()).build());
+        oduInterfaceBldr.addAugmentation(oduIf1Builder.setOdu(oduIfBuilder.build()).build());
 
         // Post interface on the device
         this.openRoadmInterfaces.postOTNInterface(nodeId, oduInterfaceBldr);
index 783ee6c0b7385486e65be391732db02c0c8b6565..5796b27f971ef53c56fa7c201623704d54c0f796 100644 (file)
@@ -11,10 +11,13 @@ import com.google.common.collect.Sets;
 import com.google.common.util.concurrent.FluentFuture;
 import java.math.BigDecimal;
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.LinkedList;
 import java.util.List;
+import java.util.Map;
 import java.util.Optional;
 import java.util.Set;
+import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ConcurrentLinkedQueue;
 import java.util.concurrent.CopyOnWriteArrayList;
 import java.util.concurrent.ExecutionException;
@@ -98,13 +101,16 @@ public class DeviceRendererServiceImpl implements DeviceRendererService {
 
     @Override
     public ServicePathOutput setupServicePath(ServicePathInput input, ServicePathDirection direction) {
-        List<Nodes> nodes = input.getNodes();
+        List<Nodes> nodes = new ArrayList<>();
+        if (input.getNodes() != null) {
+            nodes.addAll(input.getNodes());
+        }
         // Register node for suppressing alarms
         if (!alarmSuppressionNodeRegistration(input)) {
             LOG.warn("Alarm suppresion node registration failed!!!!");
         }
         ConcurrentLinkedQueue<String> results = new ConcurrentLinkedQueue<>();
-        Set<NodeInterface> nodeInterfaces = Sets.newConcurrentHashSet();
+        Map<NodeInterfaceKey,NodeInterface> nodeInterfaces = new ConcurrentHashMap<>();
         Set<String> nodesProvisioned = Sets.newConcurrentHashSet();
         CopyOnWriteArrayList<Nodes> otnNodesProvisioned = new CopyOnWriteArrayList<>();
         ServiceListTopology topology = new ServiceListTopology();
@@ -268,7 +274,8 @@ public class DeviceRendererServiceImpl implements DeviceRendererService {
                 .setOtuInterfaceId(createdOtuInterfaces)
                 .setOduInterfaceId(createdOduInterfaces)
                 .setOchInterfaceId(createdOchInterfaces);
-            nodeInterfaces.add(nodeInterfaceBuilder.build());
+            NodeInterface nodeInterface = nodeInterfaceBuilder.build();
+            nodeInterfaces.put(nodeInterface.key(),nodeInterface);
         }));
         try {
             forkJoinTask.get();
@@ -291,7 +298,7 @@ public class DeviceRendererServiceImpl implements DeviceRendererService {
             LOG.error("Alarm suppresion node removal failed!!!!");
         }
         ServicePathOutputBuilder setServBldr = new ServicePathOutputBuilder()
-            .setNodeInterface(new ArrayList<>(nodeInterfaces))
+            .setNodeInterface(nodeInterfaces)
             .setSuccess(success.get())
             .setResult(String.join("\n", results));
         return setServBldr.build();
@@ -430,8 +437,8 @@ public class DeviceRendererServiceImpl implements DeviceRendererService {
     @Override
     public RendererRollbackOutput rendererRollback(RendererRollbackInput input) {
         boolean success = true;
-        List<FailedToRollback> failedToRollbackList = new ArrayList<>();
-        for (NodeInterface nodeInterfaces : input.getNodeInterface()) {
+        Map<FailedToRollbackKey,FailedToRollback> failedToRollbackList = new HashMap<>();
+        for (NodeInterface nodeInterfaces : input.nonnullNodeInterface().values()) {
             List<String> failedInterfaces = new ArrayList<>();
             String nodeId = nodeInterfaces.getNodeId();
             for (String connectionId : nodeInterfaces.getConnectionId()) {
@@ -474,8 +481,9 @@ public class DeviceRendererServiceImpl implements DeviceRendererService {
                     failedInterfaces.add(interfaceId);
                 }
             }
-            failedToRollbackList.add(new FailedToRollbackBuilder().withKey(new FailedToRollbackKey(nodeId))
-                    .setNodeId(nodeId).setInterface(failedInterfaces).build());
+            FailedToRollback failedToRollack = new FailedToRollbackBuilder().withKey(new FailedToRollbackKey(nodeId))
+                    .setNodeId(nodeId).setInterface(failedInterfaces).build();
+            failedToRollbackList.put(failedToRollack.key(),failedToRollack);
         }
         return new RendererRollbackOutputBuilder().setSuccess(success).setFailedToRollback(failedToRollbackList)
                 .build();
@@ -485,22 +493,26 @@ public class DeviceRendererServiceImpl implements DeviceRendererService {
         NodelistBuilder nodeListBuilder = new NodelistBuilder()
             .withKey(new NodelistKey(input.getServiceName()))
             .setServiceName(input.getServiceName());
-        List<org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.alarmsuppression.rev171102.service
+        Map<org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.alarmsuppression.rev171102.service
+            .nodelist.nodelist.NodesKey,
+            org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.alarmsuppression.rev171102.service
             .nodelist.nodelist.Nodes> nodeList =
-                new ArrayList<>();
-        for (Nodes node : input.getNodes()) {
-            nodeList.add(
-                    new org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.alarmsuppression.rev171102
-                    .service.nodelist.nodelist.NodesBuilder()
-                            .setNodeId(node.getNodeId()).build());
+                new HashMap<>();
+        if (input.getNodes() != null) {
+            for (Nodes node : input.getNodes()) {
+                org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.alarmsuppression.rev171102
+                    .service.nodelist.nodelist.Nodes nodes =
+                        new org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.alarmsuppression.rev171102
+                            .service.nodelist.nodelist.NodesBuilder().setNodeId(node.getNodeId()).build();
+                nodeList.put(nodes.key(),nodes);
+            }
         }
         nodeListBuilder.setNodes(nodeList);
         InstanceIdentifier<org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.alarmsuppression.rev171102
             .service.nodelist.Nodelist> nodeListIID =
-                        InstanceIdentifier.create(ServiceNodelist.class).child(
-                                org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.alarmsuppression
-                                    .rev171102.service.nodelist.Nodelist.class,
-                                new NodelistKey(input.getServiceName()));
+                 InstanceIdentifier.create(ServiceNodelist.class)
+                     .child(org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.alarmsuppression.rev171102
+                         .service.nodelist.Nodelist.class, new NodelistKey(input.getServiceName()));
         final WriteTransaction writeTransaction = this.dataBroker.newWriteOnlyTransaction();
         writeTransaction.merge(LogicalDatastoreType.CONFIGURATION, nodeListIID, nodeListBuilder.build());
         FluentFuture<? extends @NonNull CommitInfo> commit = writeTransaction.commit();
@@ -517,10 +529,9 @@ public class DeviceRendererServiceImpl implements DeviceRendererService {
     private boolean alarmSuppressionNodeRemoval(String serviceName) {
         InstanceIdentifier<org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.alarmsuppression.rev171102
             .service.nodelist.Nodelist> nodeListIID =
-                        InstanceIdentifier.create(ServiceNodelist.class).child(
-                                org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.alarmsuppression
-                                    .rev171102.service.nodelist.Nodelist.class,
-                                new NodelistKey(serviceName));
+                InstanceIdentifier.create(ServiceNodelist.class)
+                    .child(org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.alarmsuppression.rev171102
+                        .service.nodelist.Nodelist.class, new NodelistKey(serviceName));
         final WriteTransaction writeTransaction = this.dataBroker.newWriteOnlyTransaction();
         writeTransaction.delete(LogicalDatastoreType.CONFIGURATION, nodeListIID);
         FluentFuture<? extends @NonNull CommitInfo> commit = writeTransaction.commit();
index a5e21db96da64b626a41b62e892df25121e0c964..c5b1039ead85285235f18305749c13f1c8fa3d23 100644 (file)
@@ -8,8 +8,10 @@
 package org.opendaylight.transportpce.renderer.provisiondevice;
 
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.LinkedList;
 import java.util.List;
+import java.util.Map;
 import java.util.Optional;
 import java.util.concurrent.ConcurrentLinkedQueue;
 import java.util.concurrent.CopyOnWriteArrayList;
@@ -131,9 +133,15 @@ public class OtnDeviceRendererServiceImpl implements OtnDeviceRendererService {
                 results.add("Otn Service path was set up successfully for node :" + nodeInterface.getNodeId());
             }
         }
+        Map<NodeInterfaceKey,NodeInterface> nodeInterfacesMap = new HashMap<>();
+        for (NodeInterface nodeInterface : nodeInterfaces) {
+            if (nodeInterface != null) {
+                nodeInterfacesMap.put(nodeInterface.key(), nodeInterface);
+            }
+        }
         OtnServicePathOutputBuilder otnServicePathOutputBuilder = new OtnServicePathOutputBuilder()
                 .setSuccess(success)
-                .setNodeInterface(nodeInterfaces)
+                .setNodeInterface(nodeInterfacesMap)
                 .setResult(String.join("\n", results));
         return otnServicePathOutputBuilder.build();
     }
index 1f369724215f2cc879cb680bfa18ecb14bbf6a37..752b397ac70769782ea820b02fecbca87a47b74d 100644 (file)
@@ -8,6 +8,7 @@
 package org.opendaylight.transportpce.renderer.provisiondevice.otn;
 
 import java.util.ArrayList;
+import java.util.Collection;
 import java.util.List;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.CircuitPacks;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.circuit.pack.Ports;
@@ -26,11 +27,11 @@ public class OtnDeviceOperationsImpl implements OtnDeviceOperations {
     public String validateClientPort(String circuitPackName, String portName, String capacity,
             PortGroupRestriction portGroupRestriction) {
 
-        List<PortBandwidthSharing> portBandwidthSharingList = portGroupRestriction
-                .getPortBandwidthSharing();
+        Collection<PortBandwidthSharing> portBandwidthSharingList = portGroupRestriction
+                .nonnullPortBandwidthSharing().values();
         if (portGroupRestriction.getPortBandwidthSharing() != null) {
             for (PortBandwidthSharing portBandwidthSharing : portBandwidthSharingList) {
-                List<PortList> portLists = portBandwidthSharing.getPortList();
+                Collection<PortList> portLists = portBandwidthSharing.nonnullPortList().values();
                 for (PortList portList : portLists) {
                     if (portList.getCircuitPackName().equals(circuitPackName)
                             && portList.getPortName().equals(portName)) {
@@ -50,10 +51,11 @@ public class OtnDeviceOperationsImpl implements OtnDeviceOperations {
     }
 
     private Integer getConfigID(PortBandwidthSharing portBandwidthSharing, String circuitPackName, String portName) {
-        List<PossiblePortConfig> possiblePortConfigList = portBandwidthSharing.getPossiblePortConfig();
+        Collection<PossiblePortConfig> possiblePortConfigList = portBandwidthSharing
+                .nonnullPossiblePortConfig().values();
         for (PossiblePortConfig possiblePortConfig: possiblePortConfigList
              ) {
-            List<PortIfTypeConfig> portIfTypeConfigList = possiblePortConfig.getPortIfTypeConfig();
+            Collection<PortIfTypeConfig> portIfTypeConfigList = possiblePortConfig.nonnullPortIfTypeConfig().values();
             for (PortIfTypeConfig portIfTypeConfig : portIfTypeConfigList) {
                 if (portIfTypeConfig.getCircuitPackName().equals(circuitPackName)
                         && portIfTypeConfig.getPortName().equals(portName)) {
@@ -78,19 +80,20 @@ public class OtnDeviceOperationsImpl implements OtnDeviceOperations {
         List<org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.org
                 .openroadm.device.container.org.openroadm.device.odu.switching
                 .pools.non.blocking.list.PortList> networkPortList = new ArrayList<>();
-        List<NonBlockingList> nonBlockingLists = oduSwitchingPools.getNonBlockingList();
+        Collection<NonBlockingList> nonBlockingLists = oduSwitchingPools.nonnullNonBlockingList().values();
 
 
         for (NonBlockingList nonBlockingList: nonBlockingLists) {
 
             for (org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.org.openroadm.device
                     .container.org.openroadm.device.odu.switching.pools.non.blocking.list.PortList port:
-                 nonBlockingList.getPortList()) {
+                 nonBlockingList.nonnullPortList().values()) {
 
                 if (port.getCircuitPackName().equals(circuitPackName) && port.getPortName().equals(portName)) {
                     org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.org.openroadm.device
                             .container.org.openroadm.device.odu.switching.pools.non.blocking.list
-                            .PortList networkPort = checkNetworkPorts(nonBlockingList.getPortList(), circuitPacks);
+                            .PortList networkPort = checkNetworkPorts(nonBlockingList
+                                    .nonnullPortList().values(), circuitPacks);
                     if (networkPort != null) {
                         networkPortList.add(networkPort);
                     }
@@ -103,11 +106,11 @@ public class OtnDeviceOperationsImpl implements OtnDeviceOperations {
 
     private org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.org.openroadm.device
             .container.org.openroadm.device.odu.switching.pools.non.blocking.list.PortList
-        checkNetworkPorts(List<org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.org
+        checkNetworkPorts(Collection<org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.org
             .openroadm.device.container.org.openroadm.device.odu.switching.pools.non.blocking.list.PortList> portList,
                 CircuitPacks circuitPacks) {
-        List<org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.circuit.packs
-            .CircuitPacks> circuitPackList = circuitPacks.getCircuitPacks();
+        Collection<org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.circuit.packs
+            .CircuitPacks> circuitPackList = circuitPacks.nonnullCircuitPacks().values();
 
         for (org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.org.openroadm.device.container
             .org.openroadm.device.odu.switching.pools.non.blocking.list.PortList port: portList) {
@@ -126,7 +129,7 @@ public class OtnDeviceOperationsImpl implements OtnDeviceOperations {
             .container.org.openroadm.device.odu.switching.pools.non.blocking.list.PortList port,
             org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.circuit.packs.CircuitPacks circuitPack) {
         if (port.getCircuitPackName().equals(circuitPack.getCircuitPackName())) {
-            for (Ports prt : circuitPack.getPorts()) {
+            for (Ports prt : circuitPack.nonnullPorts().values()) {
                 if (prt.getPortQual() != null
                         && port.getPortName().equals(prt.getPortName())
                         && "xpdr-network".equals(prt.getPortQual().getName())) {
index 737fa7915f4a5c23ae097f385abe07e79704f453..3bebbb0e3bd2ab15e3150a7f65d467e06f2b59b3 100644 (file)
@@ -7,8 +7,9 @@
  */
 package org.opendaylight.transportpce.renderer.provisiondevice.servicepath;
 
-import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.node.types.rev181130.NodeIdType;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev190531.service.Topology;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev190531.service.TopologyBuilder;
@@ -21,23 +22,17 @@ import org.opendaylight.yang.gen.v1.http.org.openroadm.resource.types.rev181130.
 import org.opendaylight.yang.gen.v1.http.org.openroadm.topology.rev190531.Hop.HopType;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.topology.rev190531.topology.AToZ;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.topology.rev190531.topology.AToZBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.topology.rev190531.topology.AToZKey;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.topology.rev190531.topology.ZToA;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.topology.rev190531.topology.ZToABuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.topology.rev190531.topology.ZToAKey;
 
 public class ServiceListTopology {
 
 
-    private List<AToZ> a2zTopologyList;
-    private List<ZToA> z2aTopologyList;
-    private TopologyBuilder serviceTopology;
-
-    public ServiceListTopology() {
-
-        this.a2zTopologyList = new ArrayList<>();
-        this.z2aTopologyList = new ArrayList<>();
-        this.serviceTopology = new TopologyBuilder();
-
-    }
+    private Map<AToZKey,AToZ> a2zTopologyList = new HashMap<>();
+    private Map<ZToAKey,ZToA> z2aTopologyList = new HashMap<>();
+    private TopologyBuilder serviceTopology = new TopologyBuilder();
 
     public void updateAtoZTopologyList(List<Ports> ports, String nodeId) {
 
@@ -90,7 +85,8 @@ public class ServiceListTopology {
             a2zBldr.setResource(rsrcBldr.build());
 
             //Add port resource to the list
-            this.a2zTopologyList.add(a2zBldr.build());
+            AToZ a2z = a2zBldr.build();
+            this.a2zTopologyList.put(a2z.key(),a2z);
 
         }
 
@@ -149,7 +145,8 @@ public class ServiceListTopology {
             z2aBldr.setResource(rsrcBldr.build());
 
             //Add port resource to the list
-            this.z2aTopologyList.add(z2aBldr.build());
+            ZToA z2a = z2aBldr.build();
+            this.z2aTopologyList.put(z2a.key(),z2a);
 
         }
 
index 18928e4f6b30ebe103e79fe6a3428e74646652a2..228b2c0f7e7b38d64942d88fad2c11657d30a103 100644 (file)
@@ -8,13 +8,17 @@
 package org.opendaylight.transportpce.renderer.provisiondevice.tasks;
 
 import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 import org.opendaylight.transportpce.renderer.provisiondevice.DeviceRendererService;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.device.rev200128.RendererRollbackInput;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.device.rev200128.RendererRollbackInputBuilder;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.device.rev200128.RendererRollbackOutput;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.device.rev200128.renderer.rollback.output.FailedToRollback;
 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.NodeInterfaceKey;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -23,14 +27,21 @@ public class DeviceRenderingRollbackTask extends RollbackTask {
     private static final Logger LOG = LoggerFactory.getLogger(DeviceRenderingRollbackTask.class);
     private final boolean isRollbackNecessary;
     private final DeviceRendererService rendererService;
-    private final List<NodeInterface> renderedInterfaces;
+    private final Map<NodeInterfaceKey,NodeInterface> renderedInterfaces;
 
     public DeviceRenderingRollbackTask(String id, boolean isRollbackNecessary, List<NodeInterface> renderedInterfaces,
             DeviceRendererService rendererService) {
         super(id);
         this.isRollbackNecessary = isRollbackNecessary;
         this.rendererService = rendererService;
-        this.renderedInterfaces = renderedInterfaces;
+        this.renderedInterfaces = new HashMap<>();
+        if (renderedInterfaces != null) {
+            for (NodeInterface nodeInterface : renderedInterfaces) {
+                if (nodeInterface != null) {
+                    this.renderedInterfaces.put(nodeInterface.key(), nodeInterface);
+                }
+            }
+        }
     }
 
     @Override
@@ -46,14 +57,14 @@ public class DeviceRenderingRollbackTask extends RollbackTask {
         RendererRollbackOutput rollbackOutput = this.rendererService.rendererRollback(rollbackInput);
         if (! rollbackOutput.isSuccess()) {
             LOG.warn("Device rendering rollback of {} was not successful! Failed rollback on {}.", this.getId(),
-                    createErrorMessage(rollbackOutput.getFailedToRollback()));
+                    createErrorMessage(rollbackOutput.nonnullFailedToRollback().values()));
         } else {
             LOG.info("Device rollback of {} successful.", this.getId());
         }
         return null;
     }
 
-    private String createErrorMessage(List<FailedToRollback> failedRollbacks) {
+    private String createErrorMessage(Collection<FailedToRollback> failedRollbacks) {
         List<String> failedRollbackNodes = new ArrayList<>();
         failedRollbacks.forEach(failedRollback -> {
             String nodeId = failedRollback.getNodeId();
index d75a8174eaeca7875e0287c1704e322fe05dc783..9efefd1f7f49f8eeef0c34de9b1037f5ea34d93a 100644 (file)
@@ -7,6 +7,7 @@
  */
 package org.opendaylight.transportpce.renderer.provisiondevice.tasks;
 
+import java.util.ArrayList;
 import java.util.List;
 import java.util.concurrent.Callable;
 import org.opendaylight.transportpce.renderer.ServicePathInputData;
@@ -43,7 +44,7 @@ public class DeviceRenderingTask implements Callable<DeviceRenderingResult> {
         }
         List<Nodes> olmList = this.servicePathInputData.getNodeLists().getOlmList();
         LOG.info("Device rendering finished successfully.");
-        return DeviceRenderingResult.ok(olmList, output.getNodeInterface());
+        return DeviceRenderingResult.ok(olmList, new ArrayList<>(output.nonnullNodeInterface().values()));
     }
 
 }
index 238697dd2cbca898b52d6fc7b900c1753c74c7d3..5c9e930c3d63bc545b070881e4244885f3b2b7cb 100644 (file)
@@ -8,6 +8,7 @@
 
 package org.opendaylight.transportpce.renderer.provisiondevice.tasks;
 
+import java.util.ArrayList;
 import java.util.concurrent.Callable;
 import org.opendaylight.transportpce.renderer.provisiondevice.OtnDeviceRendererService;
 import org.opendaylight.transportpce.renderer.provisiondevice.OtnDeviceRenderingResult;
@@ -34,7 +35,7 @@ public class OtnDeviceRenderingTask implements Callable<OtnDeviceRenderingResult
         OtnServicePathOutput output = this.otnDeviceRenderer.setupOtnServicePath(this.otnServicePathInput);
         if (Boolean.TRUE.equals(output.isSuccess())) {
             LOG.info("Device rendering finished successfully.");
-            return OtnDeviceRenderingResult.ok(output.getNodeInterface());
+            return OtnDeviceRenderingResult.ok(new ArrayList<>(output.nonnullNodeInterface().values()));
 
         } else { //false or null case
             LOG.warn("Device rendering not successfully finished.");
index 5420377c313873871290cdc5f070e66ccfd01991..22b6db6227af91dc461479d4e4590c025acfa79d 100644 (file)
@@ -11,8 +11,8 @@ import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
-import java.util.Collections;
 import java.util.List;
+import java.util.Map;
 import java.util.concurrent.ExecutionException;
 import org.junit.Assert;
 import org.junit.Before;
@@ -31,7 +31,10 @@ import org.opendaylight.transportpce.renderer.utils.WaveLengthServiceUtils;
 import org.opendaylight.transportpce.test.AbstractTest;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.optical.channel.types.rev181130.FrequencyGHz;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.optical.channel.types.rev181130.FrequencyTHz;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.degree.rev181130.degree.node.attributes.AvailableWavelengths;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.degree.rev181130.degree.used.wavelengths.UsedWavelengths;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.degree.rev181130.degree.used.wavelengths.UsedWavelengthsBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.degree.rev181130.degree.used.wavelengths.UsedWavelengthsKey;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.Node1;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.Node1Builder;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.TerminationPoint1;
@@ -46,6 +49,7 @@ import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev18113
 import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.node.termination.point.XpdrClientAttributesBuilder;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.node.termination.point.XpdrNetworkAttributesBuilder;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.node.termination.point.XpdrPortAttributesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.node.termination.point.pp.attributes.UsedWavelength;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.node.termination.point.pp.attributes.UsedWavelengthBuilder;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev181130.OpenroadmNodeType;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev181130.OpenroadmTpType;
@@ -56,7 +60,8 @@ import org.opendaylight.yangtools.yang.common.Uint32;
 @Ignore
 @RunWith(Parameterized.class)
 public class NetworkModelWaveLengthServiceFreeTest extends AbstractTest {
-    private static final Long WAVE_LENGTH = 20L;
+    private static final Uint32 UI32_WAVE_LENGTH = Uint32.valueOf(20);
+    private static final long WAVE_LENGTH = 20L;
     private NetworkModelWavelengthService networkModelWavelengthService;
     private DeviceTransactionManager deviceTransactionManager;
     private TerminationPoint1 terminationPoint1;
@@ -91,30 +96,36 @@ public class NetworkModelWaveLengthServiceFreeTest extends AbstractTest {
         FrequencyGHz frequencyGHz = new FrequencyGHz(new BigDecimal(fixedFlex.getWavelength()));
         FrequencyTHz frequencyTHz = new FrequencyTHz(new BigDecimal(fixedFlex.getCenterFrequency()));
 
+        UsedWavelength usedWaveLength = (new UsedWavelengthBuilder()).setIndex(UI32_WAVE_LENGTH).build();
+        UsedWavelengths usedWaveLengthDegree = (new UsedWavelengthsBuilder()).setIndex(UI32_WAVE_LENGTH).build();
+        Map<UsedWavelengthsKey, UsedWavelengths> usedWaveLengthDegreeMap =
+                Map.of(usedWaveLengthDegree.key(),usedWaveLengthDegree);
+        org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130
+            .networks.network.node.termination.point.cp.attributes.UsedWavelengths usedWaveLentgthCp =
+                (new org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks
+                    .network.node.termination.point.cp.attributes.UsedWavelengthsBuilder())
+                        .setIndex(UI32_WAVE_LENGTH)
+                        .build();
         TerminationPoint1Builder terminationPoint1Builder = new TerminationPoint1Builder()
             .setCtpAttributes((new CtpAttributesBuilder())
                 .setUsedWavelengths(
-                    Collections.singletonList((new UsedWavelengthsBuilder()).setIndex(WAVE_LENGTH).build()))
+                    usedWaveLengthDegreeMap)
                 .build())
             .setCpAttributes((new CpAttributesBuilder())
                 .setUsedWavelengths(
-                    Collections.singletonList(
-                        (new org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks
-                            .network.node.termination.point.cp.attributes.UsedWavelengthsBuilder())
-                                .setIndex(WAVE_LENGTH)
-                                .build()))
+                    Map.of(usedWaveLentgthCp.key(),
+                        usedWaveLentgthCp))
                 .build())
             .setTxTtpAttributes((new TxTtpAttributesBuilder())
                 .setUsedWavelengths(
-                    Collections.singletonList((new UsedWavelengthsBuilder()).setIndex(WAVE_LENGTH).build()))
+                    usedWaveLengthDegreeMap)
                 .build())
             .setRxTtpAttributes((new RxTtpAttributesBuilder())
                 .setUsedWavelengths(
-                    Collections.singletonList((new UsedWavelengthsBuilder()).setIndex(WAVE_LENGTH).build()))
+                    usedWaveLengthDegreeMap)
                 .build())
             .setPpAttributes((new PpAttributesBuilder())
-                .setUsedWavelength(
-                    Collections.singletonList((new UsedWavelengthBuilder()).setIndex(WAVE_LENGTH).build()))
+                .setUsedWavelength(Map.of(usedWaveLength.key(),usedWaveLength))
                 .build())
             .setXpdrClientAttributes((new XpdrClientAttributesBuilder())
                 .setWavelength((new WavelengthBuilder())
@@ -136,8 +147,8 @@ public class NetworkModelWaveLengthServiceFreeTest extends AbstractTest {
                 .build());
 
         Node1Builder node1Builder = new Node1Builder()
-            .setDegreeAttributes((new DegreeAttributesBuilder()).setAvailableWavelengths(new ArrayList<>()).build())
-            .setSrgAttributes((new SrgAttributesBuilder()).setAvailableWavelengths(new ArrayList<>()).build());
+            .setDegreeAttributes((new DegreeAttributesBuilder()).setAvailableWavelengths(Map.of()).build())
+            .setSrgAttributes((new SrgAttributesBuilder()).setAvailableWavelengths(Map.of()).build());
 
         org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.TerminationPoint1Builder
             terminationPoint2Builder =
@@ -165,7 +176,7 @@ public class NetworkModelWaveLengthServiceFreeTest extends AbstractTest {
         node2Builder.setNodeType(OpenroadmNodeType.SRG);
         node1Builder
             .setDegreeAttributes((new DegreeAttributesBuilder())
-                .setAvailableWavelengths(new ArrayList<>())
+                .setAvailableWavelengths(Map.of())
                 .build())
             .setSrgAttributes(null);
         terminationPoint2Builder.setTpType(OpenroadmTpType.DEGREETXTTP);
@@ -305,24 +316,29 @@ public class NetworkModelWaveLengthServiceFreeTest extends AbstractTest {
                 Assert.assertNotNull(updatedTerminationPoint1.getXpdrPortAttributes().getWavelength());
                 break;
         }
+        List<AvailableWavelengths> availableWavelengths = new ArrayList<>(updatedNode1
+               .getDegreeAttributes().nonnullAvailableWavelengths().values());
+        List<org.opendaylight.yang.gen.v1.http.org.openroadm.srg.rev181130.srg.node.attributes.AvailableWavelengths>
+            availableWavelengths4srg =
+                new ArrayList<>(updatedNode1.getSrgAttributes().getAvailableWavelengths().values());
         switch (updatedNode2.getNodeType()) {
         //switch (((org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Node1) updatedNode1)
         //        .getNodeType()) {
             case DEGREE:
-                Assert.assertEquals(1, updatedNode1.getDegreeAttributes().getAvailableWavelengths().size());
-                Assert.assertEquals(Uint32.valueOf(WAVE_LENGTH),
-                    updatedNode1.getDegreeAttributes().getAvailableWavelengths().get(0).getIndex());
-                Assert.assertTrue(updatedNode1.getSrgAttributes().getAvailableWavelengths().isEmpty());
+                Assert.assertEquals(1, availableWavelengths.size());
+                Assert.assertEquals(UI32_WAVE_LENGTH,
+                    availableWavelengths.get(0).getIndex());
+                Assert.assertTrue(availableWavelengths4srg.isEmpty());
                 break;
             case SRG:
-                Assert.assertEquals(1, updatedNode1.getSrgAttributes().getAvailableWavelengths().size());
-                Assert.assertEquals(Uint32.valueOf(WAVE_LENGTH),
-                    updatedNode1.getSrgAttributes().getAvailableWavelengths().get(0).getIndex());
-                Assert.assertTrue(updatedNode1.getDegreeAttributes().getAvailableWavelengths().isEmpty());
+                Assert.assertEquals(1, availableWavelengths4srg.size());
+                Assert.assertEquals(UI32_WAVE_LENGTH,
+                    availableWavelengths4srg.get(0).getIndex());
+                Assert.assertTrue(availableWavelengths.isEmpty());
                 break;
             default:
-                Assert.assertTrue(updatedNode1.getDegreeAttributes().getAvailableWavelengths().isEmpty());
-                Assert.assertTrue(updatedNode1.getSrgAttributes().getAvailableWavelengths().isEmpty());
+                Assert.assertTrue(availableWavelengths.isEmpty());
+                Assert.assertTrue(availableWavelengths4srg.isEmpty());
                 break;
         }
     }
index 2aa1374e3255d8c68ab153f7adb295e00a81425f..d52a28feaae6d2b2c75c3940afb7b40dafa5a38b 100644 (file)
@@ -10,8 +10,8 @@ package org.opendaylight.transportpce.renderer;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
-import java.util.Collections;
 import java.util.List;
+import java.util.Map;
 import java.util.concurrent.ExecutionException;
 import org.junit.Assert;
 import org.junit.Before;
@@ -27,6 +27,7 @@ import org.opendaylight.transportpce.renderer.stub.MountPointStub;
 import org.opendaylight.transportpce.renderer.utils.ServiceDeleteDataUtils;
 import org.opendaylight.transportpce.renderer.utils.WaveLengthServiceUtils;
 import org.opendaylight.transportpce.test.AbstractTest;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.degree.rev181130.degree.node.attributes.AvailableWavelengths;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.degree.rev181130.degree.node.attributes.AvailableWavelengthsBuilder;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.Node1;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.Node1Builder;
@@ -45,6 +46,7 @@ import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev18113
 import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev181130.OpenroadmNodeType;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev181130.OpenroadmTpType;
 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev200128.service.path.PathDescription;
+import org.opendaylight.yangtools.yang.common.Uint32;
 
 @Ignore
 @RunWith(Parameterized.class)
@@ -85,25 +87,27 @@ public class NetworkModelWaveLengthServiceUseTest extends AbstractTest {
             ServiceDeleteDataUtils.createTransactionPathDescription(StringConstants.TTP_TOKEN);
 
         TerminationPoint1Builder terminationPoint1Builder = new TerminationPoint1Builder()
-            .setCtpAttributes((new CtpAttributesBuilder()).setUsedWavelengths(new ArrayList<>()).build())
-            .setCpAttributes((new CpAttributesBuilder()).setUsedWavelengths(new ArrayList<>()).build())
-            .setTxTtpAttributes((new TxTtpAttributesBuilder()).setUsedWavelengths(new ArrayList<>()).build())
-            .setRxTtpAttributes((new RxTtpAttributesBuilder()).setUsedWavelengths(new ArrayList<>()).build())
-            .setPpAttributes((new PpAttributesBuilder()).setUsedWavelength(new ArrayList<>()).build())
+            .setCtpAttributes((new CtpAttributesBuilder()).setUsedWavelengths(Map.of()).build())
+            .setCpAttributes((new CpAttributesBuilder()).setUsedWavelengths(Map.of()).build())
+            .setTxTtpAttributes((new TxTtpAttributesBuilder()).setUsedWavelengths(Map.of()).build())
+            .setRxTtpAttributes((new RxTtpAttributesBuilder()).setUsedWavelengths(Map.of()).build())
+            .setPpAttributes((new PpAttributesBuilder()).setUsedWavelength(Map.of()).build())
             .setXpdrClientAttributes((new XpdrClientAttributesBuilder()).build())
             .setXpdrNetworkAttributes((new XpdrNetworkAttributesBuilder()).build())
             .setXpdrPortAttributes((new XpdrPortAttributesBuilder()).build());
 
+        AvailableWavelengths aval = new AvailableWavelengthsBuilder().setIndex(Uint32.valueOf(20)).build();
+        org.opendaylight.yang.gen.v1.http.org.openroadm.srg.rev181130.srg.node.attributes.AvailableWavelengths avalSrg =
+                new org.opendaylight.yang.gen.v1.http.org.openroadm.srg.rev181130.srg.node.attributes
+                    .AvailableWavelengthsBuilder().setIndex(Uint32.valueOf(20)).build();
         Node1Builder node1Builder = new Node1Builder()
             .setDegreeAttributes((new DegreeAttributesBuilder())
                 .setAvailableWavelengths(
-                    Collections.singletonList(new AvailableWavelengthsBuilder().setIndex(20L).build()))
+                    Map.of(aval.key(),aval))
                 .build())
             .setSrgAttributes((new SrgAttributesBuilder())
                 .setAvailableWavelengths(
-                    Collections.singletonList(
-                        new org.opendaylight.yang.gen.v1.http.org.openroadm.srg.rev181130.srg.node.attributes
-                            .AvailableWavelengthsBuilder().setIndex(20L).build()))
+                    Map.of(avalSrg.key(),avalSrg))
                 .build());
 
         org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.TerminationPoint1Builder
index d69babd90d8698c6f6d98b8a1238c232df29577a..0dfbc1bb51bfe9a1f7a5726d5d6a78983ded39eb 100644 (file)
@@ -9,11 +9,14 @@
 package org.opendaylight.transportpce.renderer.provisiondevice;
 
 import java.util.ArrayList;
+import java.util.concurrent.ExecutionException;
 import org.junit.Assert;
 import org.junit.Test;
 import org.mockito.Mockito;
 import org.opendaylight.mdsal.binding.api.MountPoint;
 import org.opendaylight.mdsal.binding.api.MountPointService;
+import org.opendaylight.mdsal.binding.api.WriteTransaction;
+import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.transportpce.common.StringConstants;
 import org.opendaylight.transportpce.common.crossconnect.CrossConnect;
 import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl;
@@ -43,8 +46,15 @@ import org.opendaylight.transportpce.renderer.stub.MountPointServiceStub;
 import org.opendaylight.transportpce.renderer.utils.CreateOtsOmsDataUtils;
 import org.opendaylight.transportpce.renderer.utils.MountPointUtils;
 import org.opendaylight.transportpce.test.AbstractTest;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200827.Network;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200827.network.Nodes;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200827.network.NodesBuilder;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200827.network.NodesKey;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200827.network.nodes.NodeInfo;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200827.network.nodes.NodeInfoBuilder;
 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.yangtools.yang.binding.InstanceIdentifier;
 
 public class DeviceRendererServiceImplCreateOtsOmsTest extends AbstractTest {
 
@@ -118,7 +128,18 @@ public class DeviceRendererServiceImplCreateOtsOmsTest extends AbstractTest {
     }
 
     @Test
-    public void testCreateOtsOmsWhenDeviceIsMountedWithMapping() throws OpenRoadmInterfaceException {
+    public void testCreateOtsOmsWhenDeviceIsMountedWithMapping()
+            throws OpenRoadmInterfaceException, InterruptedException, ExecutionException {
+        InstanceIdentifier<NodeInfo> nodeInfoIID = InstanceIdentifier.builder(Network.class).child(Nodes.class,
+                new NodesKey("node 1")).child(NodeInfo.class).build();
+        InstanceIdentifier<Nodes> nodeIID = InstanceIdentifier.builder(Network.class).child(Nodes.class,
+                new NodesKey("node 1")).build();
+        final NodeInfo nodeInfo = new NodeInfoBuilder().setOpenroadmVersion(NodeInfo.OpenroadmVersion._221).build();
+        Nodes nodes = new NodesBuilder().setNodeId("node 1").setNodeInfo(nodeInfo).build();
+        WriteTransaction wr = getDataBroker().newWriteOnlyTransaction();
+        wr.merge(LogicalDatastoreType.CONFIGURATION, nodeIID, nodes);
+        wr.merge(LogicalDatastoreType.CONFIGURATION, nodeInfoIID, nodeInfo);
+        wr.commit().get();
         setMountPoint(MountPointUtils.getMountPoint(new ArrayList<>(), getDataBroker()));
         CreateOtsOmsInput input = CreateOtsOmsDataUtils.buildCreateOtsOms();
         writePortMapping(input);
index 5a1efe7a62e594ba25d9d4e91f0170fe315ddc50..00305c140c19d30664f3f3b00dcc3df76ebcb407 100644 (file)
@@ -10,7 +10,9 @@ package org.opendaylight.transportpce.renderer.utils;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collections;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.device.rev200128.RendererRollbackInput;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.device.rev200128.RendererRollbackInputBuilder;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.device.rev200128.ServicePathInput;
@@ -46,6 +48,7 @@ import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service
 import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev200615.olm.renderer.input.Nodes;
 import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev200615.olm.renderer.input.NodesBuilder;
 import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev200615.olm.renderer.input.NodesKey;
+import org.opendaylight.yangtools.yang.common.Uint32;
 
 
 public final class ServiceDataUtils {
@@ -62,7 +65,7 @@ public final class ServiceDataUtils {
     public static ServicePathInput buildServicePathInputs(List<Nodes> nodes) {
         ServicePathInputBuilder servicePathInputBuilder = new ServicePathInputBuilder();
         servicePathInputBuilder.setNodes(nodes);
-        servicePathInputBuilder.setServiceName("Service 1").setWaveNumber(20L);
+        servicePathInputBuilder.setServiceName("Service 1").setWaveNumber(Uint32.valueOf(20));
         return servicePathInputBuilder.build();
     }
 
@@ -71,13 +74,13 @@ public final class ServiceDataUtils {
         List<Nodes> nodes = new ArrayList<>();
         nodes.add(ServiceDataUtils.createNode("node1", "src", "dst"));
         servicePathInputBuilder.setNodes(nodes);
-        servicePathInputBuilder.setServiceName("Service 1").setWaveNumber(20L);
+        servicePathInputBuilder.setServiceName("Service 1").setWaveNumber(Uint32.valueOf(20));
         return servicePathInputBuilder.build();
     }
 
     public static RendererRollbackInput buildRendererRollbackInput() {
         RendererRollbackInputBuilder rendererRollbackInputBuilder = new RendererRollbackInputBuilder();
-        rendererRollbackInputBuilder.setNodeInterface(new ArrayList<>());
+        rendererRollbackInputBuilder.setNodeInterface(Map.of());
         return rendererRollbackInputBuilder.build();
     }
 
@@ -111,7 +114,7 @@ public final class ServiceDataUtils {
     }*/
 
     private static PathDescription createPathDescriptionInvalidResource() {
-        List<AToZ> atoZList = new ArrayList<AToZ>();
+        Map<AToZKey,AToZ> atoZMap = new HashMap<>();
         org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev200629.pce.resource
             .resource.resource.NodeBuilder nodesBuilder = new NodeBuilder();
         org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev200629.pce.resource
@@ -124,24 +127,24 @@ public final class ServiceDataUtils {
             .setResource(node1).build()).build();
         AToZ atoZ2 = new AToZBuilder().setId("1").withKey(new AToZKey("1")).setResource(new ResourceBuilder()
             .setResource(node2).build()).build();
-        atoZList.add(atoZ);
-        atoZList.add(atoZ2);
+        atoZMap.put(atoZ.key(),atoZ);
+        atoZMap.put(atoZ2.key(),atoZ2);
         AToZDirection atozDirection = new AToZDirectionBuilder()
-            .setRate(20L)
-            .setAToZWavelengthNumber(20L)
-            .setAToZ(atoZList)
+            .setRate(Uint32.valueOf(20))
+            .setAToZWavelengthNumber(Uint32.valueOf(32))
+            .setAToZ(atoZMap)
             .build();
-        List<ZToA> ztoAList = new ArrayList<ZToA>();
+        Map<ZToAKey,ZToA> ztoAMap = new HashMap<>();
         ZToA ztoA = new ZToABuilder().setId("1").withKey(new ZToAKey("1")).setResource(new ResourceBuilder()
             .setResource(node1).build()).build();
         ZToA ztoA2 = new ZToABuilder().setId("1").withKey(new ZToAKey("1")).setResource(new ResourceBuilder()
             .setResource(node2).build()).build();
-        ztoAList.add(ztoA);
-        ztoAList.add(ztoA2);
+        ztoAMap.put(ztoA.key(),ztoA);
+        ztoAMap.put(ztoA2.key(),ztoA2);
         ZToADirection ztoaDirection = new ZToADirectionBuilder()
-            .setRate(20L)
-            .setZToAWavelengthNumber(20L)
-            .setZToA(ztoAList)
+            .setRate(Uint32.valueOf(20))
+            .setZToAWavelengthNumber(Uint32.valueOf(20))
+            .setZToA(ztoAMap)
             .build();
         PathDescriptionBuilder builder = new PathDescriptionBuilder()
             .setAToZDirection(atozDirection)
@@ -150,7 +153,7 @@ public final class ServiceDataUtils {
     }
 
     public static PathDescription createPathDescriptionTerminationPointResource(String tpId) {
-        List<AToZ> atoZList = new ArrayList<AToZ>();
+        Map<AToZKey,AToZ> atoZMap = new HashMap<>();
         TerminationPointBuilder terminationPointBuilder = new TerminationPointBuilder();
         List<String> nodeIds = Arrays.asList("XPONDER-1-2", "XPONDER-2-3");
         Integer atozId = 1;
@@ -164,17 +167,17 @@ public final class ServiceDataUtils {
                     .withKey(new AToZKey(atozId.toString())).setResource(new ResourceBuilder()
                         .setResource(terminationPoint).build()).build();
                 atozId++;
-                atoZList.add(atoZ);
+                atoZMap.put(atoZ.key(),atoZ);
             }
         }
         AToZDirection atozDirection = new AToZDirectionBuilder()
-            .setRate(20L)
-            .setAToZWavelengthNumber(20L)
-            .setAToZ(atoZList)
+            .setRate(Uint32.valueOf(20))
+            .setAToZWavelengthNumber(Uint32.valueOf(20))
+            .setAToZ(atoZMap)
             .build();
 
         Collections.reverse(nodeIds);
-        List<ZToA> ztoAList = new ArrayList<ZToA>();
+        Map<ZToAKey,ZToA> ztoAMap = new HashMap<>();
         Integer ztoaId = 1;
         for (String nodeId : nodeIds) {
             for (String otherNodeId : nodeIds) {
@@ -186,13 +189,13 @@ public final class ServiceDataUtils {
                     .withKey(new ZToAKey(ztoaId.toString())).setResource(new ResourceBuilder()
                         .setResource(terminationPoint).build()).build();
                 ztoaId++;
-                ztoAList.add(ztoA);
+                ztoAMap.put(ztoA.key(),ztoA);
             }
         }
         ZToADirection ztoaDirection = new ZToADirectionBuilder()
-            .setRate(20L)
-            .setZToAWavelengthNumber(20L)
-            .setZToA(ztoAList)
+            .setRate(Uint32.valueOf(20))
+            .setZToAWavelengthNumber(Uint32.valueOf(20))
+            .setZToA(ztoAMap)
             .build();
         PathDescriptionBuilder builder = new PathDescriptionBuilder()
             .setAToZDirection(atozDirection)
@@ -201,33 +204,31 @@ public final class ServiceDataUtils {
     }
 
     private static PathDescription createPathDescriptionLinkResource() {
-        List<AToZ> atoZList = new ArrayList<AToZ>();
-//        org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev200629.pce.resource
-//            .resource.resource.NodeBuilder nodesBuilder = new NodeBuilder();
+        Map<AToZKey,AToZ> atoZMap = new HashMap<>();
         Link link1 = new LinkBuilder().setLinkId("link 1").build();
         Link link2 = new LinkBuilder().setLinkId("link 2").build();
         AToZ atoZ = new AToZBuilder().setId("1").withKey(new AToZKey("1")).setResource(new ResourceBuilder()
             .setResource(link1).build()).build();
         AToZ atoZ2 = new AToZBuilder().setId("1").withKey(new AToZKey("1")).setResource(new ResourceBuilder()
             .setResource(link2).build()).build();
-        atoZList.add(atoZ);
-        atoZList.add(atoZ2);
+        atoZMap.put(atoZ.key(),atoZ);
+        atoZMap.put(atoZ2.key(),atoZ2);
         AToZDirection atozDirection = new AToZDirectionBuilder()
-            .setRate(20L)
-            .setAToZWavelengthNumber(20L)
-            .setAToZ(atoZList)
+            .setRate(Uint32.valueOf(20))
+            .setAToZWavelengthNumber(Uint32.valueOf(20))
+            .setAToZ(atoZMap)
             .build();
-        List<ZToA> ztoAList = new ArrayList<ZToA>();
+        Map<ZToAKey,ZToA> ztoAMap = new HashMap<>();
         ZToA ztoA = new ZToABuilder().setId("1").withKey(new ZToAKey("1")).setResource(new ResourceBuilder()
             .setResource(link1).build()).build();
         ZToA ztoA2 = new ZToABuilder().setId("1").withKey(new ZToAKey("1")).setResource(new ResourceBuilder()
             .setResource(link2).build()).build();
-        ztoAList.add(ztoA);
-        ztoAList.add(ztoA2);
+        ztoAMap.put(ztoA.key(),ztoA);
+        ztoAMap.put(ztoA2.key(),ztoA2);
         ZToADirection ztoaDirection = new ZToADirectionBuilder()
-            .setRate(20L)
-            .setZToAWavelengthNumber(20L)
-            .setZToA(ztoAList)
+            .setRate(Uint32.valueOf(20))
+            .setZToAWavelengthNumber(Uint32.valueOf(20))
+            .setZToA(ztoAMap)
             .build();
         PathDescriptionBuilder builder = new PathDescriptionBuilder()
             .setAToZDirection(atozDirection)
@@ -237,7 +238,8 @@ public final class ServiceDataUtils {
 
     public static ServiceAEndBuilder getServiceAEndBuild(String tpId) {
         return new ServiceAEndBuilder()
-            .setClli("clli").setServiceFormat(ServiceFormat.OC).setServiceRate((long) 1).setNodeId("XPONDER-1-2-"
+            .setClli("clli").setServiceFormat(ServiceFormat.OC)
+            .setServiceRate(Uint32.valueOf(1)).setNodeId("XPONDER-1-2-"
                     + tpId)
             .setTxDirection(
                 new TxDirectionBuilder()
@@ -251,13 +253,14 @@ public final class ServiceDataUtils {
                         .setPortRack("port rack").setPortShelf("port shelf").setPortSlot("port slot")
                         .setPortSubSlot("port subslot").setPortType("port type").build())
                     .build())
-            .setServiceRate(Long.valueOf(100))
+            .setServiceRate(Uint32.valueOf(100))
                 .setServiceFormat(ServiceFormat.Ethernet);
     }
 
     public static ServiceZEndBuilder getServiceZEndBuild(String tpId) {
         return new ServiceZEndBuilder()
-            .setClli("clli").setServiceFormat(ServiceFormat.OC).setServiceRate((long) 1).setNodeId("XPONDER-2-3-"
+            .setClli("clli").setServiceFormat(ServiceFormat.OC)
+            .setServiceRate(Uint32.valueOf(1)).setNodeId("XPONDER-2-3-"
                     + tpId)
             .setTxDirection(
                 new TxDirectionBuilder()
index 4001063e048ab867d73ea1325af7c1478e9e4fd1..0249eb9fffd82ff9ef41d5660e3620c84106991f 100644 (file)
@@ -8,8 +8,8 @@
 
 package org.opendaylight.transportpce.renderer.utils;
 
-import java.util.ArrayList;
-import java.util.List;
+import java.util.HashMap;
+import java.util.Map;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev190531.service.port.PortBuilder;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.service.format.rev190531.ServiceFormat;
 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev200629.path.description.AToZDirection;
@@ -31,6 +31,7 @@ import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service
 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev200128.service.path.PathDescriptionBuilder;
 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev200128.service.path.ServiceAEndBuilder;
 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev200128.service.path.ServiceZEndBuilder;
+import org.opendaylight.yangtools.yang.common.Uint32;
 
 public final class ServiceDeleteDataUtils {
 
@@ -39,7 +40,7 @@ public final class ServiceDeleteDataUtils {
     }
 
     public static PathDescription createTransactionPathDescription(String tpId) {
-        List<AToZ> atoZList = new ArrayList<AToZ>();
+        Map<AToZKey,AToZ> atoZMap = new HashMap<>();
         TerminationPointBuilder terminationPointBuilder = new TerminationPointBuilder();
         TerminationPoint terminationPoint = terminationPointBuilder.setTpNodeId("node2" + tpId)
                         .setTpId(tpId).build();
@@ -49,25 +50,25 @@ public final class ServiceDeleteDataUtils {
                 .setResource(terminationPoint).build()).build();
         AToZ atoZ2 = new AToZBuilder().setId("2").withKey(new AToZKey("2")).setResource(new ResourceBuilder()
                 .setResource(terminationPoint2).build()).build();
-        atoZList.add(atoZ);
-        atoZList.add(atoZ2);
+        atoZMap.put(atoZ.key(),atoZ);
+        atoZMap.put(atoZ2.key(),atoZ2);
         AToZDirection atozDirection = new AToZDirectionBuilder()
-                .setRate(20L)
-                .setAToZWavelengthNumber(20L)
-                .setAToZ(atoZList)
+                .setRate(Uint32.valueOf(20))
+                .setAToZWavelengthNumber(Uint32.valueOf(20))
+                .setAToZ(atoZMap)
                 .setModulationFormat("OC")
                 .build();
-        List<ZToA> ztoAList = new ArrayList<ZToA>();
+        Map<ZToAKey,ZToA> ztoAMap = new HashMap<>();
         ZToA ztoA = new ZToABuilder().setId("1").withKey(new ZToAKey("1")).setResource(new ResourceBuilder()
                 .setResource(terminationPoint).build()).build();
         ZToA ztoA2 = new ZToABuilder().setId("2").withKey(new ZToAKey("2")).setResource(new ResourceBuilder()
                 .setResource(terminationPoint).build()).build();
-        ztoAList.add(ztoA);
-        ztoAList.add(ztoA2);
+        ztoAMap.put(ztoA.key(),ztoA);
+        ztoAMap.put(ztoA2.key(),ztoA2);
         ZToADirection ztoaDirection = new ZToADirectionBuilder()
-                .setRate(20L)
-                .setZToAWavelengthNumber(20L)
-                .setZToA(ztoAList)
+                .setRate(Uint32.valueOf(20))
+                .setZToAWavelengthNumber(Uint32.valueOf(20))
+                .setZToA(ztoAMap)
                 .setModulationFormat("OC")
                 .build();
         PathDescriptionBuilder pathDescriptionBuilder = new PathDescriptionBuilder();
@@ -78,7 +79,8 @@ public final class ServiceDeleteDataUtils {
 
     public static ServiceAEndBuilder getServiceAEndBuild() {
         return new ServiceAEndBuilder()
-            .setClli("clli").setServiceFormat(ServiceFormat.OC).setServiceRate((long) 1).setNodeId("XPONDER-1-2")
+            .setClli("clli").setServiceFormat(ServiceFormat.OC)
+            .setServiceRate(Uint32.valueOf(1)).setNodeId("XPONDER-1-2")
             .setTxDirection(
                 new TxDirectionBuilder()
                     .setPort(new PortBuilder().setPortDeviceName("device name").setPortName("port name")
@@ -95,7 +97,8 @@ public final class ServiceDeleteDataUtils {
 
     public static ServiceZEndBuilder getServiceZEndBuild() {
         return new ServiceZEndBuilder()
-            .setClli("clli").setServiceFormat(ServiceFormat.OC).setServiceRate((long) 1).setNodeId("XPONDER-2-3")
+            .setClli("clli").setServiceFormat(ServiceFormat.OC)
+            .setServiceRate(Uint32.valueOf(1)).setNodeId("XPONDER-2-3")
             .setTxDirection(
                 new TxDirectionBuilder()
                     .setPort(new PortBuilder().setPortDeviceName("device name").setPortName("port name")
index 406eece81e7931689f882973e522c823481eb205..02bac55740a5df20082dfb5e505c4bd75379315b 100644 (file)
@@ -38,7 +38,7 @@ public final class TransactionUtils {
             return false;
         }
         DeviceTransaction deviceTx = deviceTxFuture.get().get();
-        deviceTx.put(logicalDatastoreType, instanceIdentifier, object, true);
+        deviceTx.put(logicalDatastoreType, instanceIdentifier, object);
         deviceTx.commit(Timeouts.DEVICE_WRITE_TIMEOUT, Timeouts.DEVICE_WRITE_TIMEOUT_UNIT).get();
         return true;
     }