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;
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.");
}