From 581e9aa490b015d9b46314663c165a8bf12523d8 Mon Sep 17 00:00:00 2001 From: mojahidi Date: Wed, 15 Nov 2017 15:13:59 +0530 Subject: Adding common changes for all HEAT Validators This commit is about adding common changes which will later be used for all validators. Change-Id: I47cee23364c2f535482c721c25cb0038e9febc02 Issue-ID:SDC-572 Signed-off-by: mojahidi --- .../core/validation/ErrorMessageCode.java | 36 ++++++++++++++++++++++ .../errors/ErrorMessagesFormatBuilder.java | 18 +++++++++++ .../validation/types/GlobalValidationContext.java | 11 +++++++ .../impl/validators/ErrorMessagesTest.java | 8 +++++ 4 files changed, 73 insertions(+) create mode 100644 openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-api/src/main/java/org/openecomp/core/validation/ErrorMessageCode.java (limited to 'openecomp-be/lib') diff --git a/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-api/src/main/java/org/openecomp/core/validation/ErrorMessageCode.java b/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-api/src/main/java/org/openecomp/core/validation/ErrorMessageCode.java new file mode 100644 index 0000000000..a958d27740 --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-api/src/main/java/org/openecomp/core/validation/ErrorMessageCode.java @@ -0,0 +1,36 @@ +package org.openecomp.core.validation; + +import java.util.Objects; + +public final class ErrorMessageCode { + private final String messageCode; + + public ErrorMessageCode(String messageCode) { + + this.messageCode = messageCode; + } + + public String getMessageCode() { + return messageCode; + } + + @Override + public String toString() { + return messageCode; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + ErrorMessageCode that = (ErrorMessageCode) o; + + return Objects.equals(this.messageCode, that.messageCode); + } + + @Override + public int hashCode() { + return Objects.hashCode(this.messageCode); + } +} diff --git a/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-api/src/main/java/org/openecomp/core/validation/errors/ErrorMessagesFormatBuilder.java b/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-api/src/main/java/org/openecomp/core/validation/errors/ErrorMessagesFormatBuilder.java index 5f4833a90f..0656b02089 100644 --- a/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-api/src/main/java/org/openecomp/core/validation/errors/ErrorMessagesFormatBuilder.java +++ b/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-api/src/main/java/org/openecomp/core/validation/errors/ErrorMessagesFormatBuilder.java @@ -21,10 +21,28 @@ package org.openecomp.core.validation.errors; +import org.openecomp.core.validation.ErrorMessageCode; + public class ErrorMessagesFormatBuilder { + private static final String messagePattern = "[%s]: %s"; + public static String getErrorWithParameters(String error, String... params) { return String.format(error, params); } + /** + * Formatted message with error code. + * + * @param messageCode error code. + * @param errorMessage error message. + * @param params parameters used in formatting message. + * @return formatted message string. + */ + public static String getErrorWithParameters(ErrorMessageCode messageCode, + String errorMessage, String... params) { + String message = getErrorWithParameters(errorMessage, params); + return ( null != messageCode && null != messageCode.getMessageCode() ) ? + String.format(messagePattern, messageCode.getMessageCode(), message) : message; + } } diff --git a/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-api/src/main/java/org/openecomp/core/validation/types/GlobalValidationContext.java b/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-api/src/main/java/org/openecomp/core/validation/types/GlobalValidationContext.java index 1fb31a3d8d..bc401d4a45 100644 --- a/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-api/src/main/java/org/openecomp/core/validation/types/GlobalValidationContext.java +++ b/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-api/src/main/java/org/openecomp/core/validation/types/GlobalValidationContext.java @@ -21,6 +21,7 @@ package org.openecomp.core.validation.types; import org.apache.commons.collections4.CollectionUtils; +import org.openecomp.core.validation.ErrorMessageCode; import org.openecomp.sdc.logging.api.Logger; import org.openecomp.sdc.logging.api.LoggerFactory; import org.openecomp.sdc.datatypes.error.ErrorLevel; @@ -41,6 +42,16 @@ public class GlobalValidationContext { private static Logger logger = (Logger) LoggerFactory.getLogger(GlobalValidationContext.class); private Map fileContextMap = new HashMap<>(); private Map messageContainerMap = new HashMap<>(); + private ErrorMessageCode messageCode; + + public ErrorMessageCode getMessageCode() { + return messageCode; + } + + public void setMessageCode(ErrorMessageCode messageCode) { + this.messageCode = messageCode; + } + /** * Add message. diff --git a/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-impl/src/test/java/org/openecomp/sdc/validation/impl/validators/ErrorMessagesTest.java b/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-impl/src/test/java/org/openecomp/sdc/validation/impl/validators/ErrorMessagesTest.java index 345aad330d..64b3d2bb3c 100644 --- a/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-impl/src/test/java/org/openecomp/sdc/validation/impl/validators/ErrorMessagesTest.java +++ b/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-impl/src/test/java/org/openecomp/sdc/validation/impl/validators/ErrorMessagesTest.java @@ -24,6 +24,7 @@ import org.junit.Test; import org.openecomp.core.validation.errors.ErrorMessagesFormatBuilder; import org.openecomp.sdc.common.errors.Messages; import org.testng.Assert; +import org.openecomp.core.validation.ErrorMessageCode; public class ErrorMessagesTest { @@ -43,4 +44,11 @@ public class ErrorMessagesTest { "res"); Assert.assertNotNull(error1); } + @Test + public void testErrorFormatWithErrorCode() { + String error = ErrorMessagesFormatBuilder + .getErrorWithParameters(new ErrorMessageCode("TestCode"), Messages.MISSING_NOVA_SERVER_METADATA + .getErrorMessage(), "param"); + Assert.assertEquals("[TestCode]: Missing Nova Server Metadata property, Resource ID [param]", error); + } } -- cgit 1.2.3-korg