aboutsummaryrefslogtreecommitdiffstats
path: root/common-parameters/src/main/java/org/onap/policy/common/parameters/GroupMapValidationResult.java
diff options
context:
space:
mode:
authorJim Hahn <jrh3@att.com>2019-06-13 12:34:17 -0400
committerJim Hahn <jrh3@att.com>2019-06-13 16:10:38 -0400
commitfe5d78724f723a451ddc0d7cc41d6fc60092b314 (patch)
tree9913cc94014b3e99774e9ec5e39a7211046a765a /common-parameters/src/main/java/org/onap/policy/common/parameters/GroupMapValidationResult.java
parentea262e6da52fd4da0733f02998f87aebaf502ddb (diff)
More sonar fixes in policy/common
Note: this does not increase code coverage, but should fix other code issues. Resolved cyclomatic complexity issue in ParameterValidationResult. Refactored duplicate code in GroupValidationResult. Removed IOException from NetworkUtil "throws". Replaced null/empty string tests with StringUtils.isBlank(). Added @FunctionalInterface where needed. Replaced anonymous classes with lambda expressions. Replaced duplicate strings with a constant. Added private constructors for utility classes. Removed sleep() from tests. Removed unused parameter from method call. Made some protected methods private. Compute integrity monitor's state-transition table once. Use for-loop instead of iterator. Moved constructors. Fixed some checkstyle issues (tabs => spaces, trailing spaces). Change-Id: I9a962ca45c4ff3f212c6014da799d06f07b232ef Issue-ID: POLICY-1791 Signed-off-by: Jim Hahn <jrh3@att.com>
Diffstat (limited to 'common-parameters/src/main/java/org/onap/policy/common/parameters/GroupMapValidationResult.java')
-rw-r--r--common-parameters/src/main/java/org/onap/policy/common/parameters/GroupMapValidationResult.java98
1 files changed, 14 insertions, 84 deletions
diff --git a/common-parameters/src/main/java/org/onap/policy/common/parameters/GroupMapValidationResult.java b/common-parameters/src/main/java/org/onap/policy/common/parameters/GroupMapValidationResult.java
index 3baacb1f..2a616dba 100644
--- a/common-parameters/src/main/java/org/onap/policy/common/parameters/GroupMapValidationResult.java
+++ b/common-parameters/src/main/java/org/onap/policy/common/parameters/GroupMapValidationResult.java
@@ -1,19 +1,20 @@
/*-
* ============LICENSE_START=======================================================
* Copyright (C) 2018 Ericsson. All rights reserved.
+ * Modifications Copyright (C) 2019 AT&T 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.
* You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
+ *
* SPDX-License-Identifier: Apache-2.0
* ============LICENSE_END=========================================================
*/
@@ -21,23 +22,15 @@
package org.onap.policy.common.parameters;
import java.lang.reflect.Field;
-import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Map.Entry;
/**
* This class holds the result of the validation of a map of parameter groups.
*/
-public class GroupMapValidationResult implements ValidationResult {
+public class GroupMapValidationResult extends CommonGroupValidationResult {
// The name of the parameter group map
final String mapParameterName;
-
- // Validation status for the entire parameter class
- private ValidationStatus status = ValidationStatus.CLEAN;
- private String message = ParameterConstants.PARAMETER_GROUP_MAP_HAS_STATUS_MESSAGE + status.toString();
-
- // Validation results for each parameter in the group
- private final Map<String, ValidationResult> validationResultMap = new LinkedHashMap<>();
/**
* Constructor, create the group map validation result.
@@ -46,6 +39,8 @@ public class GroupMapValidationResult implements ValidationResult {
* @param mapObject the value of the map parameter field
*/
protected GroupMapValidationResult(final Field field, final Object mapObject) {
+ super(ParameterConstants.PARAMETER_GROUP_MAP_HAS_STATUS_MESSAGE);
+
this.mapParameterName = field.getName();
// Cast the map object to a map of parameter groups keyed by string, we can't type check maps
@@ -73,44 +68,8 @@ public class GroupMapValidationResult implements ValidationResult {
}
/**
- * Gets the status of validation.
- *
- * @return the status
- */
- @Override
- public ValidationStatus getStatus() {
- return status;
- }
-
- /**
- * Set the validation result on on a parameter group.
- *
- * @param status The validation status the field is receiving
- * @param message The validation message explaining the validation status
- */
- @Override
- public void setResult(final ValidationStatus status, final String message) {
- setResult(status);
- this.message = message;
- }
-
- /**
- * Set the validation result on on a parameter group.
- *
- * @param status The validation status the field is receiving
- */
- public void setResult(final ValidationStatus status) {
- // We record the most serious validation status, assuming the status enum ordinals
- // increase in order of severity
- if (this.status.ordinal() < status.ordinal()) {
- this.status = status;
- this.message = ParameterConstants.PARAMETER_GROUP_HAS_STATUS_MESSAGE + status.toString();
- }
- }
-
- /**
* Set the validation result on a parameter map entry.
- *
+ *
* @param entryName The name of the parameter map entry
* @param status The validation status for the entry
* @param message The validation message for the entry
@@ -122,14 +81,14 @@ public class GroupMapValidationResult implements ValidationResult {
}
// Set the status of the parameter group and replace the field result
- validationResult.setResult(status, message);
+ validationResult.setResult(status, message);
this.setResult(status);
}
/**
* Set the validation result on a parameter map entry.
- *
+ *
* @param entryName The name of the parameter map entry
* @param mapEntryValidationResult The validation result for the entry
*/
@@ -144,39 +103,10 @@ public class GroupMapValidationResult implements ValidationResult {
this.setResult(mapEntryValidationResult.getStatus());
}
- /**
- * Gets the validation result.
- *
- * @param initialIndentation the indentation to use on the main result output
- * @param subIndentation the indentation to use on sub parts of the result output
- * @param showClean output information on clean fields
- * @return the result
- */
@Override
- public String getResult(final String initialIndentation, final String subIndentation, final boolean showClean) {
- if (status == ValidationStatus.CLEAN && !showClean) {
- return null;
- }
-
- StringBuilder validationResultBuilder = new StringBuilder();
-
- validationResultBuilder.append(initialIndentation);
- validationResultBuilder.append("parameter group map \"");
- validationResultBuilder.append(mapParameterName);
- validationResultBuilder.append("\" ");
- validationResultBuilder.append(status);
- validationResultBuilder.append(", ");
- validationResultBuilder.append(message);
- validationResultBuilder.append('\n');
-
- for (ValidationResult fieldResult : validationResultMap.values()) {
- String fieldResultMessage = fieldResult.getResult(initialIndentation + subIndentation, subIndentation,
- showClean);
- if (fieldResultMessage != null) {
- validationResultBuilder.append(fieldResultMessage);
- }
- }
-
- return validationResultBuilder.toString();
+ protected void addGroupTypeName(StringBuilder result) {
+ result.append("parameter group map \"");
+ result.append(mapParameterName);
+ result.append("\" ");
}
} \ No newline at end of file