summaryrefslogtreecommitdiffstats
path: root/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-impl/src/main/java/org/openecomp/sdc/validation/impl/validators/ManifestValidator.java
diff options
context:
space:
mode:
Diffstat (limited to 'openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-impl/src/main/java/org/openecomp/sdc/validation/impl/validators/ManifestValidator.java')
-rw-r--r--openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-impl/src/main/java/org/openecomp/sdc/validation/impl/validators/ManifestValidator.java82
1 files changed, 56 insertions, 26 deletions
diff --git a/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-impl/src/main/java/org/openecomp/sdc/validation/impl/validators/ManifestValidator.java b/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-impl/src/main/java/org/openecomp/sdc/validation/impl/validators/ManifestValidator.java
index 4ce40f0007..43cafb494c 100644
--- a/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-impl/src/main/java/org/openecomp/sdc/validation/impl/validators/ManifestValidator.java
+++ b/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-impl/src/main/java/org/openecomp/sdc/validation/impl/validators/ManifestValidator.java
@@ -21,38 +21,54 @@
package org.openecomp.sdc.validation.impl.validators;
import org.openecomp.core.utilities.json.JsonUtil;
+import org.openecomp.sdc.validation.Validator;
import org.openecomp.core.validation.errors.ErrorMessagesFormatBuilder;
-import org.openecomp.core.validation.errors.Messages;
-import org.openecomp.core.validation.interfaces.Validator;
import org.openecomp.core.validation.types.GlobalValidationContext;
-import org.openecomp.sdc.common.utils.AsdcCommon;
+import org.openecomp.sdc.common.errors.Messages;
+import org.openecomp.sdc.common.utils.SdcCommon;
import org.openecomp.sdc.datatypes.error.ErrorLevel;
import org.openecomp.sdc.heat.datatypes.manifest.FileData;
import org.openecomp.sdc.heat.datatypes.manifest.ManifestContent;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.openecomp.sdc.logging.api.Logger;
+import org.openecomp.sdc.logging.api.LoggerFactory;
+import org.openecomp.sdc.logging.context.impl.MdcDataDebugMessage;
+import org.openecomp.sdc.logging.context.impl.MdcDataErrorMessage;
+import org.openecomp.sdc.logging.types.LoggerConstants;
+import org.openecomp.sdc.logging.types.LoggerErrorCode;
+import org.openecomp.sdc.logging.types.LoggerErrorDescription;
+import org.openecomp.sdc.logging.types.LoggerTragetServiceName;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
+import java.util.Optional;
-public class ManifestValidator implements Validator {
-
- private static Logger logger = LoggerFactory.getLogger(YamlValidator.class);
+public class ManifestValidator implements Validator {
+ public static MdcDataDebugMessage mdcDataDebugMessage = new MdcDataDebugMessage();
+ private static Logger logger = (Logger) LoggerFactory.getLogger(YamlValidator.class);
@Override
public void validate(GlobalValidationContext globalContext) {
+ mdcDataDebugMessage.debugEntryMessage(null, null);
-
- InputStream content = globalContext.getFileContent(AsdcCommon.MANIFEST_NAME);
+ Optional<InputStream> content = globalContext.getFileContent(SdcCommon.MANIFEST_NAME);
ManifestContent manifestContent;
try {
- manifestContent = JsonUtil.json2Object(content, ManifestContent.class);
- } catch (RuntimeException re) {
- globalContext.addMessage(AsdcCommon.MANIFEST_NAME, ErrorLevel.ERROR,
- Messages.INVALID_MANIFEST_FILE.getErrorMessage());
+ if (content.isPresent()) {
+ manifestContent = JsonUtil.json2Object(content.get(), ManifestContent.class);
+ } else {
+ MdcDataErrorMessage.createErrorMessageAndUpdateMdc(LoggerConstants.TARGET_ENTITY_API,
+ LoggerTragetServiceName.VALIDATE_MANIFEST_CONTENT, ErrorLevel.ERROR.name(),
+ LoggerErrorCode.DATA_ERROR.getErrorCode(), LoggerErrorDescription.EMPTY_FILE);
+ throw new Exception("The manifest file '" + SdcCommon.MANIFEST_NAME + "' has no content");
+ }
+ } catch (Exception re) {
+ globalContext.addMessage(SdcCommon.MANIFEST_NAME, ErrorLevel.ERROR,
+ Messages.INVALID_MANIFEST_FILE.getErrorMessage(),
+ LoggerTragetServiceName.VALIDATE_MANIFEST_CONTENT,
+ LoggerErrorDescription.INVALID_MANIFEST);
return;
}
@@ -60,22 +76,32 @@ public class ManifestValidator implements Validator {
manifestFiles.stream().filter(name ->
!globalContext.getFileContextMap().containsKey(name)
).forEach(name -> globalContext
- .addMessage(name, ErrorLevel.ERROR, Messages.MISSING_FILE_IN_ZIP.getErrorMessage()));
+ .addMessage(name, ErrorLevel.ERROR, Messages.MISSING_FILE_IN_ZIP.getErrorMessage(),
+ LoggerTragetServiceName.VALIDATE_FILE_IN_ZIP, LoggerErrorDescription.MISSING_FILE));
globalContext.getFileContextMap().keySet().stream().filter(name ->
- !manifestFiles.contains(name) && !AsdcCommon.MANIFEST_NAME.equals(name)
+ !manifestFiles.contains(name) && !SdcCommon.MANIFEST_NAME.equals(name)
).forEach(name ->
globalContext.addMessage(name, ErrorLevel.WARNING,
- Messages.MISSING_FILE_IN_MANIFEST.getErrorMessage())
+ Messages.MISSING_FILE_IN_MANIFEST.getErrorMessage(),
+ LoggerTragetServiceName.VALIDATE_FILE_IN_MANIFEST, LoggerErrorDescription.MISSING_FILE)
);
+ mdcDataDebugMessage.debugExitMessage(null, null);
}
+
private List<String> getManifestFileList(ManifestContent manifestContent,
GlobalValidationContext context) {
+
+
+ mdcDataDebugMessage.debugEntryMessage(null, null);
+
ManifestScanner manifestScanner = new ManifestScanner();
manifestScanner.init(context);
manifestScanner.scan(null, manifestContent.getData(), context);
+
+ mdcDataDebugMessage.debugExitMessage(null, null);
return manifestScanner.getFileList();
}
@@ -98,7 +124,9 @@ public class ManifestValidator implements Validator {
&& childFileData.getType().equals(FileData.Type.HEAT_ENV)) {
globalContext.addMessage(childFileData.getFile(), ErrorLevel.ERROR,
ErrorMessagesFormatBuilder
- .getErrorWithParameters(Messages.ENV_NOT_ASSOCIATED_TO_HEAT.getErrorMessage()));
+ .getErrorWithParameters(Messages.ENV_NOT_ASSOCIATED_TO_HEAT.getErrorMessage()),
+ LoggerTragetServiceName.SCAN_MANIFEST_STRUCTURE,
+ "env file is not associated to HEAT file");
}
}
}
@@ -109,9 +137,7 @@ public class ManifestValidator implements Validator {
if (data == null) {
return;
}
- data.stream().forEach(chileFileData -> {
- scan(chileFileData, chileFileData.getData(), globalContext);
- });
+ data.forEach(chileFileData -> scan(chileFileData, chileFileData.getData(), globalContext));
}
@@ -122,28 +148,32 @@ public class ManifestValidator implements Validator {
private void validateFileTypeVsFileName(FileData fileData) {
String fileName = fileData.getFile();
if (fileName == null) {
- this.globalValidationContext.addMessage(AsdcCommon.MANIFEST_NAME, ErrorLevel.ERROR,
- Messages.MISSING_FILE_NAME_IN_MANIFEST.getErrorMessage());
+ this.globalValidationContext.addMessage(SdcCommon.MANIFEST_NAME, ErrorLevel.ERROR,
+ Messages.MISSING_FILE_NAME_IN_MANIFEST.getErrorMessage(),
+ LoggerTragetServiceName.VALIDATE_FILE_TYPE_AND_NAME, "Missing file name in manifest");
}
FileData.Type type = fileData.getType();
if (type == null) {
this.globalValidationContext
- .addMessage(fileName, ErrorLevel.ERROR, Messages.INVALID_FILE_TYPE.getErrorMessage());
+ .addMessage(fileName, ErrorLevel.ERROR, Messages.INVALID_FILE_TYPE.getErrorMessage(),
+ LoggerTragetServiceName.VALIDATE_FILE_TYPE_AND_NAME, "Invalid file type");
} else if (type.equals(FileData.Type.HEAT_NET) || type.equals(FileData.Type.HEAT_VOL)
|| type.equals(FileData.Type.HEAT)) {
if (fileName != null && !fileName.endsWith(".yml") && !fileName.endsWith(".yaml")) {
this.globalValidationContext.addMessage(fileName, ErrorLevel.ERROR,
ErrorMessagesFormatBuilder
.getErrorWithParameters(Messages.WRONG_HEAT_FILE_EXTENSION.getErrorMessage(),
- fileName));
+ fileName), LoggerTragetServiceName.VALIDATE_FILE_TYPE_AND_NAME,
+ "Wrong HEAT file extention");
}
} else if (type.equals(FileData.Type.HEAT_ENV)) {
if (fileName != null && !fileName.endsWith(".env")) {
this.globalValidationContext.addMessage(fileName, ErrorLevel.ERROR,
ErrorMessagesFormatBuilder
.getErrorWithParameters(Messages.WRONG_ENV_FILE_EXTENSION.getErrorMessage(),
- fileName));
+ fileName), LoggerTragetServiceName.VALIDATE_FILE_TYPE_AND_NAME,
+ "Wrong env file extention");
}
}
}