Migration to TAPI 2.4 Step1
[transportpce.git] / tapi / src / main / java / org / opendaylight / transportpce / tapi / validation / CreateConnectivityServiceValidation.java
index e0e20d4da564e0d68653ab1346e34ef01fcd44b0..bbe70fe471da59139c8efe5c96e7d50803332a39 100644 (file)
@@ -9,17 +9,19 @@ package org.opendaylight.transportpce.tapi.validation;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Map;
 import org.opendaylight.transportpce.common.OperationResult;
 import org.opendaylight.transportpce.servicehandler.validation.checks.ComplianceCheckResult;
 import org.opendaylight.transportpce.tapi.validation.checks.ConnConstraintCheck;
 import org.opendaylight.transportpce.tapi.validation.checks.EndPointCheck;
 import org.opendaylight.transportpce.tapi.validation.checks.ResilienceConstraintCheck;
 import org.opendaylight.transportpce.tapi.validation.checks.TopoConstraintCheck;
-import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.connectivity.rev181210.CreateConnectivityServiceInput;
-import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.connectivity.rev181210.create.connectivity.service.input.ConnectivityConstraint;
-import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.connectivity.rev181210.create.connectivity.service.input.EndPoint;
-import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.connectivity.rev181210.create.connectivity.service.input.ResilienceConstraint;
-import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.connectivity.rev181210.create.connectivity.service.input.TopologyConstraint;
+import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.connectivity.rev221121.CreateConnectivityServiceInput;
+import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.connectivity.rev221121.create.connectivity.service.input.ConnectivityConstraint;
+import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.connectivity.rev221121.create.connectivity.service.input.EndPoint;
+import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.connectivity.rev221121.create.connectivity.service.input.ResilienceConstraint;
+import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.connectivity.rev221121.create.connectivity.service.input.TopologyConstraint;
+import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.connectivity.rev221121.create.connectivity.service.input.TopologyConstraintKey;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -33,48 +35,46 @@ public final class CreateConnectivityServiceValidation {
     public static OperationResult validateCreateConnectivityServiceRequest(CreateConnectivityServiceInput input) {
 
         LOG.info("checking rpc create-connectivity-service input parameters...");
-        try {
-            LOG.info("checking EndPoints...");
-            List<EndPoint> endPointList = new ArrayList<>(input.getEndPoint().values());
-            ComplianceCheckResult endPointCheckResult = EndPointCheck.check(endPointList);
-            if (endPointCheckResult.hasPassed()) {
-                LOG.info("create-connectivity-service end-points compliant !");
-            } else {
-                return OperationResult.failed(endPointCheckResult.getMessage());
-            }
+        LOG.info("checking EndPoints...");
+        if (input.getEndPoint() == null) {
+            return OperationResult.failed("Service End-Point must not be null");
+        }
+        List<EndPoint> endPointList = new ArrayList<>(input.getEndPoint().values());
+        ComplianceCheckResult endPointCheckResult = EndPointCheck.check(endPointList);
+        if (endPointCheckResult.hasPassed()) {
+            LOG.info("create-connectivity-service end-points compliant !");
+        } else {
+            return OperationResult.failed(endPointCheckResult.getMessage());
+        }
 
-            LOG.info("checking ConnConstraint...");
-            ConnectivityConstraint connectivityConstraint = input.getConnectivityConstraint();
-            ComplianceCheckResult conConstraintCheckResult = ConnConstraintCheck.check(connectivityConstraint);
-            if (conConstraintCheckResult.hasPassed()) {
-                LOG.info("create-connectivity-service connectivity constraints compliant !");
-            } else {
-                return OperationResult.failed(conConstraintCheckResult.getMessage());
-            }
+        LOG.info("checking ConnConstraint...");
+        ConnectivityConstraint connectivityConstraint = input.getConnectivityConstraint();
+        ComplianceCheckResult conConstraintCheckResult = ConnConstraintCheck.check(connectivityConstraint);
+        if (conConstraintCheckResult.hasPassed()) {
+            LOG.info("create-connectivity-service connectivity constraints compliant !");
+        } else {
+            return OperationResult.failed(conConstraintCheckResult.getMessage());
+        }
 
-            LOG.info("checking ResilienceConstraint...");
-            ResilienceConstraint resilienceConstraintList = input.getResilienceConstraint();
-            ComplianceCheckResult resilienceConstraintCheckResult = ResilienceConstraintCheck.check(
-                resilienceConstraintList);
-            if (resilienceConstraintCheckResult.hasPassed()) {
-                LOG.info("create-connectivity-service resilience constraints compliant !");
-            } else {
-                return OperationResult.failed(resilienceConstraintCheckResult.getMessage());
-            }
+        LOG.info("checking ResilienceConstraint...");
+        ResilienceConstraint resilienceConstraintList = input.getResilienceConstraint();
+        ComplianceCheckResult resilienceConstraintCheckResult = ResilienceConstraintCheck.check(
+            resilienceConstraintList);
+        if (resilienceConstraintCheckResult.hasPassed()) {
+            LOG.info("create-connectivity-service resilience constraints compliant !");
+        } else {
+            return OperationResult.failed(resilienceConstraintCheckResult.getMessage());
+        }
 
-            LOG.info("checking TopoConstraint...");
-            TopologyConstraint topoConstraint = input.getTopologyConstraint();
-            ComplianceCheckResult topoConstraintCheckResult = TopoConstraintCheck.check(topoConstraint);
-            if (topoConstraintCheckResult.hasPassed()) {
-                LOG.info("create-connectivity-service topo constraints compliant !");
-            } else {
+        LOG.info("checking TopoConstraint...");
+        Map<TopologyConstraintKey, TopologyConstraint> topoConstraintMap = input.getTopologyConstraint();
+        for (Map.Entry<TopologyConstraintKey, TopologyConstraint> topoConstraint: topoConstraintMap.entrySet()) {
+            ComplianceCheckResult topoConstraintCheckResult = TopoConstraintCheck.check(topoConstraint.getValue());
+            if (!topoConstraintCheckResult.hasPassed()) {
                 return OperationResult.failed(topoConstraintCheckResult.getMessage());
             }
-
-        } catch (NullPointerException e) {
-            LOG.error("one of input parameter is null ", e);
-            return OperationResult.failed("one of input parameter is null.");
         }
+        LOG.info("create-connectivity-service topo constraints compliant !");
         return OperationResult.ok("Validation successful.");
     }