Adapt PCE to compute a 400GE path
[transportpce.git] / pce / src / main / java / org / opendaylight / transportpce / pce / graph / PostAlgoPathValidator.java
index 7560e4c48ca5444637a71d35385b0524f9c59ee0..171af2f7c5bf8e69401263f5dccf2483daa3d7c5 100644 (file)
@@ -54,14 +54,18 @@ public class PostAlgoPathValidator {
             return pceResult;
         }
         int tribSlotNb = 1;
+        int spectralWidthSlotNumber = GridConstant.SPECTRAL_WIDTH_SLOT_NUMBER_MAP
+            .getOrDefault(serviceType, GridConstant.NB_SLOTS_100G);
+        SpectrumAssignment spectrumAssignment = null;
         //variable to deal with 1GE (Nb=1) and 10GE (Nb=10) cases
         switch (serviceType) {
-
+            case StringConstants.SERVICE_TYPE_400GE:
+                spectralWidthSlotNumber = GridConstant.SPECTRAL_WIDTH_SLOT_NUMBER_MAP
+                    .getOrDefault(serviceType, GridConstant.NB_SLOTS_400G);
+            //fallthrough
             case StringConstants.SERVICE_TYPE_100GE:
             case StringConstants.SERVICE_TYPE_OTU4:
-                int spectralWidthSlotNumber = GridConstant.SPECTRAL_WIDTH_SLOT_NUMBER_MAP
-                    .getOrDefault(serviceType, GridConstant.NB_SLOTS_100G);
-                SpectrumAssignment spectrumAssignment = getSpectrumAssignment(path,
+                spectrumAssignment = getSpectrumAssignment(path,
                         allPceNodes, spectralWidthSlotNumber);
                 pceResult.setServiceType(serviceType);
                 if (spectrumAssignment.getBeginIndex() == 0 && spectrumAssignment.getStopIndex() == 0) {
@@ -108,9 +112,7 @@ public class PostAlgoPathValidator {
 
                 pceResult.setRC(ResponseCodes.RESPONSE_OK);
                 pceResult.setLocalCause(PceResult.LocalCause.NONE);
-
                 break;
-
             case StringConstants.SERVICE_TYPE_10GE:
                 tribSlotNb = 8;
             //fallthrough
@@ -129,19 +131,16 @@ public class PostAlgoPathValidator {
                         tribPort, tribSlot, tribSlotNb);
                 }
                 break;
-
             case StringConstants.SERVICE_TYPE_ODU4:
                 pceResult.setRC(ResponseCodes.RESPONSE_OK);
                 LOG.info("In PostAlgoPathValidator: ODU4 path found {}", path);
                 break;
-
             default:
                 pceResult.setRC(ResponseCodes.RESPONSE_FAILED);
                 LOG.warn("In PostAlgoPathValidator checkPath: unsupported serviceType {} found {}",
                     serviceType, path);
                 break;
         }
-
         return pceResult;
     }