Set flex-wave data in topo for roadm-tp 78/83078/12
authorGilles Thouenon <gilles.thouenon@orange.com>
Wed, 17 Jul 2019 13:48:14 +0000 (15:48 +0200)
committerGilles Thouenon <gilles.thouenon@orange.com>
Thu, 1 Aug 2019 14:55:04 +0000 (16:55 +0200)
Add frequency and width on wavelength after service creation

JIRA: TRNSPRTPCE-109

Change-Id: Ic5cb226d0d71306e7e93e02c633a8e90092f2112
Signed-off-by: Gilles Thouenon <gilles.thouenon@orange.com>
Co-authored-by: Christophe Betoule <christophe.betoule@orange.com>
common/src/main/java/org/opendaylight/transportpce/common/fixedflex/FixedFlexImpl.java
renderer/src/main/java/org/opendaylight/transportpce/renderer/NetworkModelWavelengthServiceImpl.java

index 71f9f04c2376e0e2b755c4a8ad0c58d19828e8ef..bc829630a8c19afbcba5bb4afd7700aee174b40a 100644 (file)
@@ -33,9 +33,10 @@ public final class FixedFlexImpl implements FixedFlexInterface {
 
     public FixedFlexImpl(long wlIndex) {
         this.index = wlIndex;
-        this.centerFrequency = 196.1 - (wlIndex - 1) * 0.05;
-        this.start = this.centerFrequency - 0.025;
-        this.stop = this.centerFrequency + 0.025;
+        long mappedWL = wlIndex - 36;
+        this.centerFrequency = 193.1 + (50.0 / 1000.0) * mappedWL;
+        this.start = 193.1 + (50.0 * mappedWL - 25) / 1000.0;
+        this.stop = 193.1 + (50.0 * mappedWL + 25) / 1000.0;
         this.wavelength = 1528.77 + ((wlIndex - 1) * 0.39);
     }
 
index 72700afe311175c7380ad098327ac6889ae05bba..760c1971c33ef0eddeac01d4ea7e72923d1d9931 100644 (file)
@@ -395,8 +395,7 @@ public class NetworkModelWavelengthServiceImpl implements NetworkModelWavelength
     private void addUsedWL(long wavelengthIndex, List<NodeIdPair> tpIds) {
         WriteTransaction addUsedWlTx = this.dataBroker.newWriteOnlyTransaction();
         FixedFlexImpl fixedFlex = new FixedFlexImpl(wavelengthIndex);
-        FrequencyGHz frequencyGHz = new FrequencyGHz(new BigDecimal(fixedFlex.getWavelength()));
-        FrequencyTHz frequencyTHz = new FrequencyTHz(new BigDecimal(fixedFlex.getCenterFrequency()));
+        FrequencyTHz centralTHz = new FrequencyTHz(new BigDecimal(fixedFlex.getCenterFrequency()));
         for (NodeIdPair idPair : tpIds) {
             Optional<TerminationPoint1> tpOpt = getTerminationPoint1FromDatastore(idPair.getNodeID(), idPair.getTpID());
 
@@ -426,7 +425,8 @@ public class NetworkModelWavelengthServiceImpl implements NetworkModelWavelength
                         usedDegreeTxTtpWls = new ArrayList<>();
                         txTtpAttributesBuilder.setUsedWavelengths(usedDegreeTxTtpWls);
                     }
-                    usedDegreeTxTtpWls.add(new UsedWavelengthsBuilder().setIndex(wavelengthIndex).build());
+                    usedDegreeTxTtpWls.add(new UsedWavelengthsBuilder().setIndex(wavelengthIndex)
+                        .setFrequency(centralTHz).setWidth(FrequencyGHz.getDefaultInstance("40")).build());
                     tp1Builder.setTxTtpAttributes(txTtpAttributesBuilder.build());
                     break;
 
@@ -443,7 +443,8 @@ public class NetworkModelWavelengthServiceImpl implements NetworkModelWavelength
                         usedDegreeRxTtpWls = new ArrayList<>();
                         rxTtpAttributesBuilder.setUsedWavelengths(usedDegreeRxTtpWls);
                     }
-                    usedDegreeRxTtpWls.add(new UsedWavelengthsBuilder().setIndex(wavelengthIndex).build());
+                    usedDegreeRxTtpWls.add(new UsedWavelengthsBuilder().setIndex(wavelengthIndex)
+                        .setFrequency(centralTHz).setWidth(FrequencyGHz.getDefaultInstance("40")).build());
                     tp1Builder.setRxTtpAttributes(rxTtpAttributesBuilder.build());
                     break;
 
@@ -462,7 +463,8 @@ public class NetworkModelWavelengthServiceImpl implements NetworkModelWavelength
                         usedDegreeCtpWls = new ArrayList<>();
                         ctpAttributesBuilder.setUsedWavelengths(usedDegreeCtpWls);
                     }
-                    usedDegreeCtpWls.add(new UsedWavelengthsBuilder().setIndex(wavelengthIndex).build());
+                    usedDegreeCtpWls.add(new UsedWavelengthsBuilder().setIndex(wavelengthIndex)
+                        .setFrequency(centralTHz).setWidth(FrequencyGHz.getDefaultInstance("40")).build());
                     tp1Builder.setCtpAttributes(ctpAttributesBuilder.build());
                     break;
 
@@ -485,7 +487,8 @@ public class NetworkModelWavelengthServiceImpl implements NetworkModelWavelength
                     }
                     usedDegreeCpWls.add(new org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130
                             .networks.network.node.termination.point.cp.attributes.UsedWavelengthsBuilder()
-                            .setIndex(wavelengthIndex).build());
+                            .setIndex(wavelengthIndex)
+                            .setFrequency(centralTHz).setWidth(FrequencyGHz.getDefaultInstance("40")).build());
                     tp1Builder.setCpAttributes(cpAttributesBuilder.build());
                     break;
 
@@ -504,7 +507,8 @@ public class NetworkModelWavelengthServiceImpl implements NetworkModelWavelength
                         usedDegreePpWls = new ArrayList<>();
                         ppAttributesBuilder.setUsedWavelength(usedDegreePpWls);
                     }
-                    usedDegreePpWls.add(new UsedWavelengthBuilder().setIndex(wavelengthIndex).build());
+                    usedDegreePpWls.add(new UsedWavelengthBuilder().setIndex(wavelengthIndex)
+                        .setFrequency(centralTHz).setWidth(FrequencyGHz.getDefaultInstance("40")).build());
                     tp1Builder.setPpAttributes(ppAttributesBuilder.build());
                     break;
 
@@ -516,11 +520,10 @@ public class NetworkModelWavelengthServiceImpl implements NetworkModelWavelength
                     } else {
                         xpdrNetworkAttributesBuilder = new XpdrNetworkAttributesBuilder(xpdrNetworkAttributes);
                     }
-                    Wavelength usedXpdrNetworkWl = new WavelengthBuilder().setWidth(frequencyGHz)
-                        .setFrequency(frequencyTHz).build();
-                    tp1Builder.setXpdrNetworkAttributes(xpdrNetworkAttributesBuilder
-                            .setWavelength(usedXpdrNetworkWl)
-                            .build());
+                    Wavelength usedXpdrNetworkWl = new WavelengthBuilder()
+                        .setWidth(FrequencyGHz.getDefaultInstance("40")).setFrequency(centralTHz).build();
+                    tp1Builder.setXpdrNetworkAttributes(xpdrNetworkAttributesBuilder.setWavelength(usedXpdrNetworkWl)
+                        .build());
                     break;
                 case XPONDERCLIENT:
                     break;
@@ -532,11 +535,10 @@ public class NetworkModelWavelengthServiceImpl implements NetworkModelWavelength
                     } else {
                         xpdrPortAttributesBuilder = new XpdrPortAttributesBuilder(xpdrPortAttributes);
                     }
-                    Wavelength usedXpdrPortWl = new WavelengthBuilder().setWidth(frequencyGHz)
-                        .setFrequency(frequencyTHz).build();
-                    tp1Builder.setXpdrPortAttributes(xpdrPortAttributesBuilder
-                            .setWavelength(usedXpdrPortWl)
-                            .build());
+                    Wavelength usedXpdrPortWl = new WavelengthBuilder().setWidth(FrequencyGHz.getDefaultInstance("40"))
+                        .setFrequency(centralTHz).build();
+                    tp1Builder.setXpdrPortAttributes(xpdrPortAttributesBuilder.setWavelength(usedXpdrPortWl)
+                        .build());
                     break;
 
                 default: