summaryrefslogtreecommitdiffstats
path: root/dcae-analytics/dcae-analytics-tca-web/src/main/java/org/onap/dcae/analytics/tca/web/validation/TcaPolicyValidator.java
diff options
context:
space:
mode:
Diffstat (limited to 'dcae-analytics/dcae-analytics-tca-web/src/main/java/org/onap/dcae/analytics/tca/web/validation/TcaPolicyValidator.java')
-rw-r--r--dcae-analytics/dcae-analytics-tca-web/src/main/java/org/onap/dcae/analytics/tca/web/validation/TcaPolicyValidator.java101
1 files changed, 53 insertions, 48 deletions
diff --git a/dcae-analytics/dcae-analytics-tca-web/src/main/java/org/onap/dcae/analytics/tca/web/validation/TcaPolicyValidator.java b/dcae-analytics/dcae-analytics-tca-web/src/main/java/org/onap/dcae/analytics/tca/web/validation/TcaPolicyValidator.java
index f380699..3f9dfc0 100644
--- a/dcae-analytics/dcae-analytics-tca-web/src/main/java/org/onap/dcae/analytics/tca/web/validation/TcaPolicyValidator.java
+++ b/dcae-analytics/dcae-analytics-tca-web/src/main/java/org/onap/dcae/analytics/tca/web/validation/TcaPolicyValidator.java
@@ -1,6 +1,7 @@
/*
- * ================================================================================
+ * ==========LICENSE_START======================================================================
* Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
+ * Copyright (c) 2022 Wipro Limited Intellectual Property. All rights reserved.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -42,71 +43,75 @@ import org.springframework.validation.Errors;
*
* @author Rajiv Singla
*/
-public class TcaPolicyValidator implements AnalyticsValidator<TcaPolicy, GenericValidationResponse> {
+public class TcaPolicyValidator implements AnalyticsValidator<List<TcaPolicy>, GenericValidationResponse> {
private static final long serialVersionUID = 1L;
@Override
- public GenericValidationResponse apply(final TcaPolicy tcaPolicy) {
+ public GenericValidationResponse apply(final List<TcaPolicy> tcaPol) {
final GenericValidationResponse validationResponse = new GenericValidationResponse();
-
- // validate TCA Policy must domain present
- final String domain = tcaPolicy.getDomain();
- if (isEmpty(domain)) {
- validationResponse.addErrorMessage("domain", "TCA Policy must have only one domain present");
- }
-
- // validate TCA Policy must have at lease one metrics per event name
- final List<MetricsPerEventName> metricsPerEventNames = tcaPolicy.getMetricsPerEventName();
- if (metricsPerEventNames == null || metricsPerEventNames.isEmpty()) {
- validationResponse
+
+ for( TcaPolicy tcaPolicy : tcaPol) {
+
+ // validate TCA Policy must domain present
+ final String domain = tcaPolicy.getDomain();
+ if (isEmpty(domain)) {
+ validationResponse.addErrorMessage("domain", "TCA Policy must have only one domain present");
+ }
+
+ // validate TCA Policy must have at lease one metrics per event name
+ final List<MetricsPerEventName> metricsPerEventNames = tcaPolicy.getMetricsPerEventName();
+ if (metricsPerEventNames == null || metricsPerEventNames.isEmpty()) {
+ validationResponse
.addErrorMessage("metricsPerEventName", "TCA Policy metricsPerEventName is empty");
- return validationResponse;
- }
+ return validationResponse;
+ }
- // validate Metrics Per Event Name
- for (MetricsPerEventName metricsPerEventName : metricsPerEventNames) {
+ // validate Metrics Per Event Name
+ for (MetricsPerEventName metricsPerEventName : metricsPerEventNames) {
- // event name must be present
- final String eventName = metricsPerEventName.getEventName();
- if (isEmpty(eventName)) {
- validationResponse.addErrorMessage("eventName",
+ // event name must be present
+ final String eventName = metricsPerEventName.getEventName();
+ if (isEmpty(eventName)) {
+ validationResponse.addErrorMessage("eventName",
"TCA Policy eventName is not present for metricsPerEventNames:" + metricsPerEventName);
- }
+ }
- // control Loop Schema type must be present
- final ControlLoopSchemaType controlLoopSchemaType = metricsPerEventName.getControlLoopSchemaType();
- if (controlLoopSchemaType == null) {
- validationResponse.addErrorMessage("controlLoopEventType",
- "TCA Policy controlLoopSchemaType is not present for metricsPerEventNames:"
+ // control Loop Schema type must be present
+ final ControlLoopSchemaType controlLoopSchemaType = metricsPerEventName.getControlLoopSchemaType();
+ if (controlLoopSchemaType == null) {
+ validationResponse.addErrorMessage("controlLoopEventType",
+ "TCA Policy controlLoopSchemaType is not present for metricsPerEventNames:"
+ metricsPerEventName);
- }
+ }
- // must have at least 1 threshold defined
- final List<Threshold> thresholds = metricsPerEventName.getThresholds();
- if (thresholds == null || thresholds.isEmpty()) {
- validationResponse.addErrorMessage("thresholds",
+ // must have at least 1 threshold defined
+ final List<Threshold> thresholds = metricsPerEventName.getThresholds();
+ if (thresholds == null || thresholds.isEmpty()) {
+ validationResponse.addErrorMessage("thresholds",
"TCA Policy event Name must have at least one threshold. " +
"Event Name causing this validation error:" + metricsPerEventName);
- } else {
- // validate each threshold must have non null - fieldPath, thresholdValue, direction and severity
- for (Threshold eventNameThreshold : thresholds) {
- final String fieldPath = eventNameThreshold.getFieldPath();
- final Long thresholdValue = eventNameThreshold.getThresholdValue();
- final Direction direction = eventNameThreshold.getDirection();
- final EventSeverity severity = eventNameThreshold.getSeverity();
- final ClosedLoopEventStatus closedLoopEventStatus = eventNameThreshold.getClosedLoopEventStatus();
- if (isEmpty(fieldPath) || thresholdValue == null || direction == null || severity == null ||
+ } else {
+ // validate each threshold must have non null - fieldPath, thresholdValue, direction and severity
+ for (Threshold eventNameThreshold : thresholds) {
+ final String fieldPath = eventNameThreshold.getFieldPath();
+ final Long thresholdValue = eventNameThreshold.getThresholdValue();
+ final Direction direction = eventNameThreshold.getDirection();
+ final EventSeverity severity = eventNameThreshold.getSeverity();
+ final ClosedLoopEventStatus closedLoopEventStatus = eventNameThreshold.getClosedLoopEventStatus();
+ if (isEmpty(fieldPath) || thresholdValue == null || direction == null || severity == null ||
closedLoopEventStatus == null) {
- validationResponse.addErrorMessage("threshold",
+ validationResponse.addErrorMessage("threshold",
"TCA Policy threshold must have fieldPath,thresholdValue,direction, " +
"closedLoopEventStatus and severity defined." +
"Threshold causing this validation error:" + eventNameThreshold);
- }
- }
- }
- }
+ }
+ }
+ }
+
+ }
+ }
return validationResponse;
}
@@ -124,7 +129,7 @@ public class TcaPolicyValidator implements AnalyticsValidator<TcaPolicy, Generic
return;
}
- final TcaPolicy tcaPolicy = (TcaPolicy) target;
+ final List<TcaPolicy> tcaPolicy = (List<TcaPolicy>) target;
final GenericValidationResponse validationResponse = apply(tcaPolicy);
if (validationResponse.hasErrors()) {
errors.rejectValue("tca policy", validationResponse.getAllErrorMessage());