From fe5d78724f723a451ddc0d7cc41d6fc60092b314 Mon Sep 17 00:00:00 2001 From: Jim Hahn Date: Thu, 13 Jun 2019 12:34:17 -0400 Subject: 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 --- .../common/parameters/GroupValidationResult.java | 93 +++------------------- 1 file changed, 11 insertions(+), 82 deletions(-) (limited to 'common-parameters/src/main/java/org/onap/policy/common/parameters/GroupValidationResult.java') diff --git a/common-parameters/src/main/java/org/onap/policy/common/parameters/GroupValidationResult.java b/common-parameters/src/main/java/org/onap/policy/common/parameters/GroupValidationResult.java index 6da36c19..3dc01299 100644 --- a/common-parameters/src/main/java/org/onap/policy/common/parameters/GroupValidationResult.java +++ b/common-parameters/src/main/java/org/onap/policy/common/parameters/GroupValidationResult.java @@ -1,4 +1,4 @@ -/* +/*- * ============LICENSE_START======================================================= * Copyright (C) 2018 Ericsson. All rights reserved. * Modifications Copyright (C) 2018-2019 AT&T Intellectual Property. All rights reserved. @@ -27,33 +27,26 @@ import java.lang.reflect.Method; import java.lang.reflect.Modifier; import java.util.ArrayList; import java.util.Collection; -import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.Map.Entry; - import org.apache.commons.lang3.StringUtils; /** * This class holds the result of the validation of a parameter group. */ -public class GroupValidationResult implements ValidationResult { +public class GroupValidationResult extends CommonGroupValidationResult { // The parameter group which the validation result applies private final ParameterGroup parameterGroup; - // Validation status for the entire parameter class - private ValidationStatus status = ValidationStatus.CLEAN; - private String message = ParameterConstants.PARAMETER_GROUP_HAS_STATUS_MESSAGE + status.toString(); - - // Validation results for each parameter in the group - private final Map validationResultMap = new LinkedHashMap<>(); - /** * Constructor, create the field validation result with default arguments. * * @param parameterGroup the parameter group being validated */ public GroupValidationResult(final ParameterGroup parameterGroup) { + super(ParameterConstants.PARAMETER_GROUP_HAS_STATUS_MESSAGE); + this.parameterGroup = parameterGroup; // Parameter group definitions may be optional @@ -244,42 +237,6 @@ public class GroupValidationResult implements ValidationResult { return parameterGroup.getName(); } - /** - * Gets the status of validation. - * - * @return the status - */ - @Override - public ValidationStatus getStatus() { - return status; - } - - /** - * Set the validation result on a parameter group. - * - * @param status The validation status the parameter group is receiving - * @param message The validation message explaining the validation status - */ - @Override - public void setResult(ValidationStatus status, String message) { - setResult(status); - this.message = message; - } - - /** - * Set the validation result on a parameter group. On a sequence of calls, the most serious validation status is - * recorded, assuming the status enum ordinal increase in order of severity - * - * @param status The validation status the parameter group is receiving - */ - public void setResult(final ValidationStatus status) { - // - 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 in a parameter group. * @@ -375,47 +332,19 @@ public class GroupValidationResult implements ValidationResult { this.setResult(status); } - /** - * 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 \""); + protected void addGroupTypeName(StringBuilder result) { + result.append("parameter group \""); if (parameterGroup != null) { - validationResultBuilder.append(parameterGroup.getName()); - validationResultBuilder.append("\" type \""); - validationResultBuilder.append(parameterGroup.getClass().getCanonicalName()); + result.append(parameterGroup.getName()); + result.append("\" type \""); + result.append(parameterGroup.getClass().getCanonicalName()); } else { - validationResultBuilder.append("UNDEFINED"); - } - 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); - } + result.append("UNDEFINED"); } - return validationResultBuilder.toString(); + result.append("\" "); } -- cgit 1.2.3-korg