Convert TapiNetworkModelServiceImpl to a Component
[transportpce.git] / tapi / src / main / java / org / opendaylight / transportpce / tapi / topology / ConvertORTopoToTapiFullTopo.java
index 19f7362dad0861a4d9c7e77d8b3e765a9f1ed192..4efbeed9224b841e177938c8f21a3075b627c247 100644 (file)
@@ -353,8 +353,8 @@ public class ConvertORTopoToTapiFullTopo {
         // TODO add states corresponding to device config
         LOG.info("ROADM node {} should have {} NEPs and {} SIPs", roadm.getNodeId().getValue(), numNeps, numSips);
         LOG.info("ROADM node {} has {} NEPs and {} SIPs", roadm.getNodeId().getValue(),
-            roadmNode.getOwnedNodeEdgePoint().values().size(),
-            roadmNode.getOwnedNodeEdgePoint().values().stream()
+            roadmNode.nonnullOwnedNodeEdgePoint().values().size(),
+            roadmNode.nonnullOwnedNodeEdgePoint().values().stream()
                 .filter(nep -> nep.getMappedServiceInterfacePoint() != null).count());
 
         tapiNodes.put(roadmNode.key(), roadmNode);
@@ -365,9 +365,9 @@ public class ConvertORTopoToTapiFullTopo {
         int count = 1;
         for (TerminationPoint tp : this.oorNetworkPortList) {
             TpId tpid1 = tp.getTpId();
-            TpId tpid2 = new TpId(tp.augmentation(
-                org.opendaylight.yang.gen.v1.http.transportpce.topology.rev220123.TerminationPoint1.class)
-                .getAssociatedConnectionMapPort());
+            TpId tpid2 = tp.augmentation(
+                    org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev211210.TerminationPoint1.class)
+                    .getAssociatedConnectionMapTp().iterator().next();
             Set<TpId> tpList = new HashSet<>();
             tpList.add(tpid1);
             tpList.add(tpid2);
@@ -408,13 +408,13 @@ public class ConvertORTopoToTapiFullTopo {
         CostCharacteristic costCharacteristic = new CostCharacteristicBuilder()
             .setCostAlgorithm("Restricted Shortest Path - RSP")
             .setCostName("HOP_COUNT")
-            .setCostValue("12345678")
+            .setCostValue(TapiStringConstants.COST_HOP_VALUE)
             .build();
         LatencyCharacteristic latencyCharacteristic = new LatencyCharacteristicBuilder()
-            .setFixedLatencyCharacteristic("12345678")
-            .setQueingLatencyCharacteristic("12345678")
-            .setJitterCharacteristic("12345678")
-            .setWanderCharacteristic("12345678")
+            .setFixedLatencyCharacteristic(TapiStringConstants.FIXED_LATENCY_VALUE)
+            .setQueingLatencyCharacteristic(TapiStringConstants.QUEING_LATENCY_VALUE)
+            .setJitterCharacteristic(TapiStringConstants.JITTER_VALUE)
+            .setWanderCharacteristic(TapiStringConstants.WANDER_VALUE)
             .setTrafficPropertyName("FIXED_LATENCY")
             .build();
         return new NodeBuilder()
@@ -444,13 +444,13 @@ public class ConvertORTopoToTapiFullTopo {
         CostCharacteristic costCharacteristic = new CostCharacteristicBuilder()
             .setCostAlgorithm("Restricted Shortest Path - RSP")
             .setCostName("HOP_COUNT")
-            .setCostValue("12345678")
+            .setCostValue(TapiStringConstants.COST_HOP_VALUE)
             .build();
         LatencyCharacteristic latencyCharacteristic = new LatencyCharacteristicBuilder()
-            .setFixedLatencyCharacteristic("12345678")
-            .setQueingLatencyCharacteristic("12345678")
-            .setJitterCharacteristic("12345678")
-            .setWanderCharacteristic("12345678")
+            .setFixedLatencyCharacteristic(TapiStringConstants.FIXED_LATENCY_VALUE)
+            .setQueingLatencyCharacteristic(TapiStringConstants.QUEING_LATENCY_VALUE)
+            .setJitterCharacteristic(TapiStringConstants.JITTER_VALUE)
+            .setWanderCharacteristic(TapiStringConstants.WANDER_VALUE)
             .setTrafficPropertyName("FIXED_LATENCY")
             .build();
         return new NodeBuilder()
@@ -572,13 +572,13 @@ public class ConvertORTopoToTapiFullTopo {
             CostCharacteristic costCharacteristic = new CostCharacteristicBuilder()
                 .setCostAlgorithm("Restricted Shortest Path - RSP")
                 .setCostName("HOP_COUNT")
-                .setCostValue("12345678")
+                .setCostValue(TapiStringConstants.COST_HOP_VALUE)
                 .build();
             LatencyCharacteristic latencyCharacteristic = new LatencyCharacteristicBuilder()
-                .setFixedLatencyCharacteristic("12345678")
-                .setQueingLatencyCharacteristic("12345678")
-                .setJitterCharacteristic("12345678")
-                .setWanderCharacteristic("12345678")
+                .setFixedLatencyCharacteristic(TapiStringConstants.FIXED_LATENCY_VALUE)
+                .setQueingLatencyCharacteristic(TapiStringConstants.QUEING_LATENCY_VALUE)
+                .setJitterCharacteristic(TapiStringConstants.JITTER_VALUE)
+                .setWanderCharacteristic(TapiStringConstants.WANDER_VALUE)
                 .setTrafficPropertyName("FIXED_LATENCY")
                 .build();
             RiskCharacteristic riskCharacteristic = new RiskCharacteristicBuilder()
@@ -712,13 +712,13 @@ public class ConvertORTopoToTapiFullTopo {
             CostCharacteristic costCharacteristic = new CostCharacteristicBuilder()
                 .setCostAlgorithm("Restricted Shortest Path - RSP")
                 .setCostName("HOP_COUNT")
-                .setCostValue("12345678")
+                .setCostValue(TapiStringConstants.COST_HOP_VALUE)
                 .build();
             LatencyCharacteristic latencyCharacteristic = new LatencyCharacteristicBuilder()
-                .setFixedLatencyCharacteristic("12345678")
-                .setQueingLatencyCharacteristic("12345678")
-                .setJitterCharacteristic("12345678")
-                .setWanderCharacteristic("12345678")
+                .setFixedLatencyCharacteristic(TapiStringConstants.FIXED_LATENCY_VALUE)
+                .setQueingLatencyCharacteristic(TapiStringConstants.QUEING_LATENCY_VALUE)
+                .setJitterCharacteristic(TapiStringConstants.JITTER_VALUE)
+                .setWanderCharacteristic(TapiStringConstants.WANDER_VALUE)
                 .setTrafficPropertyName("FIXED_LATENCY")
                 .build();
             RiskCharacteristic riskCharacteristic = new RiskCharacteristicBuilder()
@@ -795,7 +795,7 @@ public class ConvertORTopoToTapiFullTopo {
                     .getBytes(Charset.forName("UTF-8"))).toString()))
                 .setLayerProtocolName(LayerProtocolName.PHOTONICMEDIA)
                 .setName(Map.of(nepName.key(), nepName))
-                .setSupportedCepLayerProtocolQualifier(Set.of(PHOTONICLAYERQUALIFIEROMS.class))
+                .setSupportedCepLayerProtocolQualifier(Set.of(PHOTONICLAYERQUALIFIEROMS.VALUE))
                 .setLinkPortDirection(PortDirection.BIDIRECTIONAL)
                 .setLinkPortRole(PortRole.SYMMETRIC)
                 .setAdministrativeState(this.tapiLink.setTapiAdminState(admin.getName()))
@@ -818,7 +818,7 @@ public class ConvertORTopoToTapiFullTopo {
                     TapiStringConstants.MC, tp.getTpId().getValue())).getBytes(Charset.forName("UTF-8"))).toString()))
                 .setLayerProtocolName(LayerProtocolName.PHOTONICMEDIA)
                 .setName(Map.of(nepName1.key(), nepName1))
-                .setSupportedCepLayerProtocolQualifier(Set.of(PHOTONICLAYERQUALIFIEROMS.class))
+                .setSupportedCepLayerProtocolQualifier(Set.of(PHOTONICLAYERQUALIFIEROMS.VALUE))
                 .setLinkPortDirection(PortDirection.BIDIRECTIONAL)
                 .setLinkPortRole(PortRole.SYMMETRIC)
                 .setAdministrativeState(this.tapiLink.setTapiAdminState(admin.getName()))
@@ -848,7 +848,7 @@ public class ConvertORTopoToTapiFullTopo {
                     .toString()))
                 .setLayerProtocolName(LayerProtocolName.PHOTONICMEDIA)
                 .setName(Map.of(nepName2.key(), nepName2))
-                .setSupportedCepLayerProtocolQualifier(Set.of(PHOTONICLAYERQUALIFIEROMS.class))
+                .setSupportedCepLayerProtocolQualifier(Set.of(PHOTONICLAYERQUALIFIEROMS.VALUE))
                 .setLinkPortDirection(PortDirection.BIDIRECTIONAL)
                 .setLinkPortRole(PortRole.SYMMETRIC)
                 .setAdministrativeState(this.tapiLink.setTapiAdminState(admin.getName()))
@@ -945,9 +945,9 @@ public class ConvertORTopoToTapiFullTopo {
             .build();
     }
 
-    private Set<Class<? extends LAYERPROTOCOLQUALIFIER>> createSupportedLayerProtocolQualifier(TerminationPoint tp,
-                                                                                                LayerProtocolName lpn) {
-        Set<Class<? extends LAYERPROTOCOLQUALIFIER>> sclpqSet = new HashSet<>();
+    private Set<LAYERPROTOCOLQUALIFIER> createSupportedLayerProtocolQualifier(TerminationPoint tp,
+                                                                              LayerProtocolName lpn) {
+        Set<LAYERPROTOCOLQUALIFIER> sclpqSet = new HashSet<>();
         org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev211210.TerminationPoint1 tp1 =
             tp.augmentation(org.opendaylight.yang.gen.v1.http
                 .org.openroadm.otn.network.topology.rev211210.TerminationPoint1.class);
@@ -961,36 +961,37 @@ public class ConvertORTopoToTapiFullTopo {
         Collection<SupportedInterfaceCapability> sicList = tp1.getTpSupportedInterfaces()
             .getSupportedInterfaceCapability().values();
         for (SupportedInterfaceCapability sic : sicList) {
+            String ifCapType = sic.getIfCapType().toString().split("\\{")[0];
             switch (lpn.getName()) {
                 case "DSR":
-                    switch (sic.getIfCapType().getSimpleName()) {
+                    switch (ifCapType) {
                         // TODO: it may be needed to add more cases clauses if the interface capabilities of a
                         //  port are extended in the config file
                         case "If1GEODU0":
-                            sclpqSet.add(ODUTYPEODU0.class);
-                            sclpqSet.add(DIGITALSIGNALTYPEGigE.class);
+                            sclpqSet.add(ODUTYPEODU0.VALUE);
+                            sclpqSet.add(DIGITALSIGNALTYPEGigE.VALUE);
                             break;
                         case "If10GEODU2e":
-                            sclpqSet.add(ODUTYPEODU2E.class);
-                            sclpqSet.add(DIGITALSIGNALTYPE10GigELAN.class);
+                            sclpqSet.add(ODUTYPEODU2E.VALUE);
+                            sclpqSet.add(DIGITALSIGNALTYPE10GigELAN.VALUE);
                             break;
                         case "If10GEODU2":
-                            sclpqSet.add(ODUTYPEODU2.class);
-                            sclpqSet.add(DIGITALSIGNALTYPE10GigELAN.class);
+                            sclpqSet.add(ODUTYPEODU2.VALUE);
+                            sclpqSet.add(DIGITALSIGNALTYPE10GigELAN.VALUE);
                             break;
                         case "If10GE":
-                            sclpqSet.add(DIGITALSIGNALTYPE10GigELAN.class);
+                            sclpqSet.add(DIGITALSIGNALTYPE10GigELAN.VALUE);
                             break;
                         case "If100GEODU4":
-                            sclpqSet.add(DIGITALSIGNALTYPE100GigE.class);
-                            sclpqSet.add(ODUTYPEODU4.class);
+                            sclpqSet.add(DIGITALSIGNALTYPE100GigE.VALUE);
+                            sclpqSet.add(ODUTYPEODU4.VALUE);
                             break;
                         case "If100GE":
-                            sclpqSet.add(DIGITALSIGNALTYPE100GigE.class);
+                            sclpqSet.add(DIGITALSIGNALTYPE100GigE.VALUE);
                             break;
                         case "IfOCHOTU4ODU4":
                         case "IfOCH":
-                            sclpqSet.add(ODUTYPEODU4.class);
+                            sclpqSet.add(ODUTYPEODU4.VALUE);
                             break;
                         default:
                             LOG.error("IfCapability type not managed");
@@ -998,24 +999,24 @@ public class ConvertORTopoToTapiFullTopo {
                     }
                     break;
                 case "ODU":
-                    switch (sic.getIfCapType().getSimpleName()) {
+                    switch (ifCapType) {
                         // TODO: it may be needed to add more cases clauses if the interface capabilities of a
                         //  port are extended in the config file
                         case "If1GEODU0":
-                            sclpqSet.add(ODUTYPEODU0.class);
+                            sclpqSet.add(ODUTYPEODU0.VALUE);
                             break;
                         case "If10GEODU2e":
-                            sclpqSet.add(ODUTYPEODU2E.class);
+                            sclpqSet.add(ODUTYPEODU2E.VALUE);
                             break;
                         case "If10GEODU2":
                         case "If10GE":
-                            sclpqSet.add(ODUTYPEODU2.class);
+                            sclpqSet.add(ODUTYPEODU2.VALUE);
                             break;
                         case "If100GEODU4":
                         case "If100GE":
                         case "IfOCHOTU4ODU4":
                         case "IfOCH":
-                            sclpqSet.add(ODUTYPEODU4.class);
+                            sclpqSet.add(ODUTYPEODU4.VALUE);
                             break;
                         default:
                             LOG.error("IfCapability type not managed");
@@ -1023,10 +1024,9 @@ public class ConvertORTopoToTapiFullTopo {
                     }
                     break;
                 case "PHOTONIC_MEDIA":
-                    if (sic.getIfCapType().getSimpleName().equals("IfOCHOTU4ODU4")
-                            || sic.getIfCapType().getSimpleName().equals("IfOCH")) {
-                        sclpqSet.add(PHOTONICLAYERQUALIFIEROTSi.class);
-                        sclpqSet.add(PHOTONICLAYERQUALIFIEROMS.class);
+                    if (ifCapType.equals("IfOCHOTU4ODU4") || ifCapType.equals("IfOCH")) {
+                        sclpqSet.add(PHOTONICLAYERQUALIFIEROTSi.VALUE);
+                        sclpqSet.add(PHOTONICLAYERQUALIFIEROMS.VALUE);
                     }
                     break;
                 default: