Merge "Add functional tests for regenerator type"
[transportpce.git] / common / src / main / java / org / opendaylight / transportpce / common / service / ServiceTypes.java
index db7dab6a539408c4e80cd8fcbff0092ada88ecc4..368e81c13397db7929638a2c7235ecb88945b582 100644 (file)
@@ -10,8 +10,9 @@ package org.opendaylight.transportpce.common.service;
 
 import java.util.Map;
 import org.opendaylight.transportpce.common.StringConstants;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev210426.mapping.Mapping;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev220922.mapping.Mapping;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.device.types.rev191129.PortQual;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.device.types.rev191129.XpdrNodeTypes;
 import org.opendaylight.yangtools.yang.common.Uint32;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -29,6 +30,9 @@ public final class ServiceTypes {
                 if (Uint32.valueOf(100).equals(serviceRate)) {
                     return StringConstants.SERVICE_TYPE_100GE_T;
                 }
+                if (Uint32.valueOf(400).equals(serviceRate)) {
+                    return StringConstants.SERVICE_TYPE_400GE;
+                }
                 LOG.warn("Invalid service-rate {}", serviceRate);
                 return null;
 
@@ -36,9 +40,13 @@ public final class ServiceTypes {
                 if (Uint32.valueOf(400).equals(serviceRate)) {
                     return StringConstants.SERVICE_TYPE_400GE;
                 }
-                if (Uint32.valueOf(100).equals(serviceRate)
-                        && (mapping == null || !PortQual.SwitchClient.getName().equals(mapping.getPortQual()))) {
-                    return StringConstants.SERVICE_TYPE_100GE_T;
+                if (Uint32.valueOf(100).equals(serviceRate)) {
+                    if (mapping == null || !PortQual.SwitchClient.getName().equals(mapping.getPortQual())) {
+                        return StringConstants.SERVICE_TYPE_100GE_T;
+                    }
+                    if (XpdrNodeTypes.Switch.equals(mapping.getXpdrType())) {
+                        return StringConstants.SERVICE_TYPE_100GE_S;
+                    }
                 }
                 return getOtnServiceType(serviceFormat, serviceRate);
 
@@ -57,9 +65,13 @@ public final class ServiceTypes {
                     Uint32.valueOf(100), StringConstants.SERVICE_TYPE_100GE_M),
             "OTU", Map.of(
                     Uint32.valueOf(100), StringConstants.SERVICE_TYPE_OTU4,
+                    Uint32.valueOf(200), StringConstants.SERVICE_TYPE_OTUC2,
+                    Uint32.valueOf(300), StringConstants.SERVICE_TYPE_OTUC3,
                     Uint32.valueOf(400), StringConstants.SERVICE_TYPE_OTUC4),
             "ODU", Map.of(
                     Uint32.valueOf(100), StringConstants.SERVICE_TYPE_ODU4,
+                    Uint32.valueOf(200), StringConstants.SERVICE_TYPE_ODUC2,
+                    Uint32.valueOf(300), StringConstants.SERVICE_TYPE_ODUC3,
                     Uint32.valueOf(400), StringConstants.SERVICE_TYPE_ODUC4));
 
         if (!otnMap.containsKey(serviceFormat)) {