import org.openecomp.sdc.heat.datatypes.model.Resource;
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;
private static final Logger LOGGER = LoggerFactory.getLogger(HeatValidator.class);
private static final String NESTED_FILE = "nested file";
private static final String NO_CONTENT_IN_FILE_MSG = "The file ' %s ' has no content";
- private static final MdcDataDebugMessage MDC_DATA_DEBUG_MESSAGE = new MdcDataDebugMessage();
private HeatValidationService(){
}
*/
public static void checkArtifactsExistence(String fileName, Set<String> artifactsNames,
GlobalValidationContext globalContext) {
-
-
- MDC_DATA_DEBUG_MESSAGE.debugEntryMessage("file", fileName);
artifactsNames
.stream()
.filter(artifactName -> !globalContext.getFileContextMap().containsKey(artifactName))
Messages.MISSING_ARTIFACT.getErrorMessage(), artifactName),
LoggerTragetServiceName.VALIDATE_ARTIFACTS_EXISTENCE,
LoggerErrorDescription.MISSING_FILE));
-
- MDC_DATA_DEBUG_MESSAGE.debugExitMessage("file", fileName);
}
/**
Map<String, Parameter> parentParameters,
Map<String, Parameter> nestedParameters,
Set<String> nestedParametersNames) {
-
- MDC_DATA_DEBUG_MESSAGE.debugEntryMessage("file", parentFileName);
-
HeatOrchestrationTemplate parentHeatOrchestrationTemplate;
HeatOrchestrationTemplate nestedHeatOrchestrationTemplate;
nestedHeatOrchestrationTemplate = getHeatOrchestrationTemplate(nestedFileName, globalContext);
parentHeatOrchestrationTemplate = getHeatOrchestrationTemplate(parentFileName, globalContext);
} catch (Exception exception) {
- MDC_DATA_DEBUG_MESSAGE.debugExitMessage("file", parentFileName);
return;
}
if (!nestedParameters.isEmpty()) {
nestedParametersNames.addAll(nestedHeatOrchestrationTemplate.getParameters().keySet());
}
-
- MDC_DATA_DEBUG_MESSAGE.debugExitMessage("file", parentFileName);
}
private static HeatOrchestrationTemplate getHeatOrchestrationTemplate(String fileName,
String resourceName,
Set<String> resourceFileProperties,
GlobalValidationContext globalContext) {
- MDC_DATA_DEBUG_MESSAGE.debugEntryMessage("file", parentFileName);
-
Map<String, Parameter> parentParameters = new HashMap<>();
Map<String, Parameter> nestedParameters = new HashMap<>();
Set<String> nestedParametersNames = new HashSet<>();
checkNoMissingParameterInNested(parentFileName, nestedFileName, resourceName,
resourceFileProperties, nestedParametersNames, globalContext);
-
- MDC_DATA_DEBUG_MESSAGE.debugExitMessage("file", parentFileName);
}
public static void checkNestedInputValuesAlignWithType(String parentFileName,
String resourceName, Resource resource,
Optional<String> indexVarValue,
GlobalValidationContext globalContext) {
- MDC_DATA_DEBUG_MESSAGE.debugEntryMessage("file", parentFileName);
-
Map<String, Parameter> parentParameters = new HashMap<>();
Map<String, Parameter> nestedParameters = new HashMap<>();
Set<String> nestedParametersNames = new HashSet<>();
checkNestedInputValuesAlignWithType(parentFileName, nestedFileName,
nestedParameters, resourceName, resource, indexVarValue, globalContext);
-
- MDC_DATA_DEBUG_MESSAGE.debugExitMessage("file", parentFileName);
}
private static void checkNoMissingParameterInNested(String parentFileName, String nestedFileName,
Set<String> resourceFileProperties,
Set<String> nestedParametersNames,
GlobalValidationContext globalContext) {
-
- MDC_DATA_DEBUG_MESSAGE.debugEntryMessage("nested file", nestedFileName);
-
if (CollectionUtils.isNotEmpty(nestedParametersNames)) {
resourceFileProperties
.stream()
LoggerTragetServiceName.VALIDATE_PROPERTIES_MATCH_NESTED_PARAMETERS,
LoggerErrorDescription.MISSING_PARAMETER_IN_NESTED));
}
-
- MDC_DATA_DEBUG_MESSAGE.debugExitMessage(NESTED_FILE, nestedFileName);
}
private static void checkNestedInputValuesAlignWithType(String parentFileName,
String resourceName, Resource resource,
Optional<String> indexVarValue,
GlobalValidationContext globalContext) {
-
- MDC_DATA_DEBUG_MESSAGE.debugEntryMessage(NESTED_FILE, nestedFileName);
-
Map<String, Object> properties = resource.getProperties();
for (Map.Entry<String, Object> propertyEntry : properties.entrySet()) {
String parameterName = propertyEntry.getKey();
globalContext);
}
}
-
- MDC_DATA_DEBUG_MESSAGE.debugExitMessage(NESTED_FILE, nestedFileName);
}
private static void validateStaticValueForNestedInputParameter(String parentFileName,
Parameter parameterInNested,
GlobalValidationContext
globalContext) {
-
- MDC_DATA_DEBUG_MESSAGE.debugEntryMessage(NESTED_FILE, nestedFileName);
-
if (parameterInNested == null) {
return;
}
LoggerTragetServiceName.VALIDATE_PROPERTIES_MATCH_NESTED_PARAMETERS,
LoggerErrorDescription.WRONG_VALUE_ASSIGNED_NESTED_PARAMETER);
}
-
- MDC_DATA_DEBUG_MESSAGE.debugExitMessage(NESTED_FILE, nestedFileName);
}
public static boolean isNestedLoopExistInFile(String callingFileName, String nestedFileName,
List<String> filesInLoop,
GlobalValidationContext globalContext) {
-
- MDC_DATA_DEBUG_MESSAGE.debugEntryMessage("file", callingFileName);
-
HeatOrchestrationTemplate nestedHeatOrchestrationTemplate;
try {
nestedHeatOrchestrationTemplate = getNestedHeatOrchestrationTemplate(nestedFileName,
LOGGER.error("Error while reading file : " + nestedFileName, exception);
LOGGER.warn("HEAT Validator will not be executed on file " + nestedFileName
+ " due to illegal HEAT format");
-
- MDC_DATA_DEBUG_MESSAGE.debugExitMessage("file", callingFileName);
return false;
}
filesInLoop.add(nestedFileName);
: nestedHeatOrchestrationTemplate.getResources().values();
boolean isNestedLoopExist = addNestedFilesInLoopAndCheckIfNestedLoopExist(nestedResources,
callingFileName, filesInLoop, globalContext);
-
- MDC_DATA_DEBUG_MESSAGE.debugExitMessage("file", callingFileName);
return isNestedLoopExist;
}
private static boolean addNestedFilesInLoopAndCheckIfNestedLoopExist(
String resourceType = resource.getType();
if (Objects.nonNull(resourceType) && isNestedResource(resourceType)) {
- MDC_DATA_DEBUG_MESSAGE.debugExitMessage("file", callingFileName);
return resourceType.equals(callingFileName) || !filesInLoop.contains(resourceType)
&& isNestedLoopExistInFile(callingFileName, resourceType, filesInLoop, globalContext);
}
*/
public static Environment validateEnvContent(String fileName, String envFileName,
GlobalValidationContext globalContext) {
-
- MDC_DATA_DEBUG_MESSAGE.debugEntryMessage("env file", envFileName);
-
Environment envContent;
try {
Optional<InputStream> fileContent = globalContext.getFileContent(envFileName);
}
} catch (Exception exception) {
LOGGER.error("Error while reading env file : " + envFileName, exception);
- MDC_DATA_DEBUG_MESSAGE.debugExitMessage("env file", envFileName);
return null;
}
return envContent;
import org.openecomp.sdc.heat.services.manifest.ManifestUtil;
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.types.LoggerErrorDescription;
import org.openecomp.sdc.logging.types.LoggerTragetServiceName;
import org.openecomp.sdc.tosca.services.YamlUtil;
public class ContrailValidator implements Validator {
- private static final MdcDataDebugMessage MDC_DATA_DEBUG_MESSAGE = new MdcDataDebugMessage();
private static final Logger LOGGER = LoggerFactory.getLogger(ContrailValidator.class);
private static final ErrorMessageCode ERROR_CODE_CTL_1 = new ErrorMessageCode("CTL1");
private static final ErrorMessageCode ERROR_CODE_CTL_2 = new ErrorMessageCode("CTL2");
@Override
public void validate(GlobalValidationContext globalContext) {
- MDC_DATA_DEBUG_MESSAGE.debugEntryMessage(null, null);
-
ManifestContent manifestContent;
try {
manifestContent = ValidationUtil.validateManifest(globalContext);
.filter(fileName -> FileData.isHeatFile(fileTypeMap.get(fileName)))
.forEach(fileName -> validate(fileName,
contrailResourcesMappingTo, globalContext));
-
- MDC_DATA_DEBUG_MESSAGE.debugExitMessage(null, null);
}
private void handleContrailV1AndContrailV2ResourceMerging(String fileName,
ContrailResourcesMappingTo contrailResourcesMappingTo,
GlobalValidationContext globalContext) {
-
-
- MDC_DATA_DEBUG_MESSAGE.debugEntryMessage("file", fileName);
-
Optional<ContrailResourcesMappingTo> fileContrailResourcesMappingTo =
collectHeatFileContrailResources(globalContext, fileName);
fileContrailResourcesMappingTo.ifPresent(contrailResourcesMappingTo::addAll);
addContrailMergeValidationMessageToGlobalContext(globalContext, contrailResourcesMappingTo);
-
- MDC_DATA_DEBUG_MESSAGE.debugExitMessage("file", fileName);
}
private void addContrailMergeValidationMessageToGlobalContext(
GlobalValidationContext globalContext,
ContrailResourcesMappingTo contrailResourcesMappingTo) {
-
-
- MDC_DATA_DEBUG_MESSAGE.debugEntryMessage(null, null);
-
if (!MapUtils.isEmpty(contrailResourcesMappingTo.getContrailV1Resources())
&& !MapUtils.isEmpty(contrailResourcesMappingTo.getContrailV2Resources())) {
globalContext.addMessage(
LoggerTragetServiceName.MERGE_OF_CONTRAIL_2_AND_3,
LoggerErrorDescription.MERGE_CONTRAIL_2_AND_3);
}
-
- MDC_DATA_DEBUG_MESSAGE.debugExitMessage(null, null);
}
private Optional<ContrailResourcesMappingTo> collectHeatFileContrailResources(
private Optional<ContrailResourcesMappingTo> fetchContrailResourcesMapping(String fileName,
InputStream fileContent ) {
-
-
- MDC_DATA_DEBUG_MESSAGE.debugEntryMessage("file", fileName);
-
ContrailResourcesMappingTo contrailResourcesMappingTo = new ContrailResourcesMappingTo();
HeatOrchestrationTemplate heatOrchestrationTemplate;
try {
} catch (Exception ignored) {
LOGGER.debug("",ignored);
// the HeatValidator should handle file that is failing to parse
- MDC_DATA_DEBUG_MESSAGE.debugExitMessage("file", fileName);
return Optional.empty();
}
if( !MapUtils.isEmpty(heatOrchestrationTemplate.getResources())) {
}
});
}
-
- MDC_DATA_DEBUG_MESSAGE.debugExitMessage("file", fileName);
return Optional.of(contrailResourcesMappingTo);
}
private void validateNoContrailResourceTypeIsInUse(String fileName,
GlobalValidationContext globalContext) {
-
- MDC_DATA_DEBUG_MESSAGE.debugEntryMessage("file", fileName);
globalContext.setMessageCode(ERROR_CODE_CTL_4);
HeatOrchestrationTemplate heatOrchestrationTemplate =
ValidationUtil.checkHeatOrchestrationPreCondition(fileName, globalContext);
return;
}
validateResourcePrefix(fileName, globalContext, heatOrchestrationTemplate);
- MDC_DATA_DEBUG_MESSAGE.debugExitMessage("file", fileName);
}
private void validateResourcePrefix(String fileName, GlobalValidationContext globalContext,
HeatOrchestrationTemplate heatOrchestrationTemplate) {
-
- MDC_DATA_DEBUG_MESSAGE.debugEntryMessage("file", fileName);
Map<String, Resource> resourcesMap = heatOrchestrationTemplate.getResources();
if(!MapUtils.isEmpty(resourcesMap)) {
for (Map.Entry<String, Resource> resourceEntry : resourcesMap.entrySet()) {
}
}
}
- MDC_DATA_DEBUG_MESSAGE.debugExitMessage("file", fileName);
}
}
import org.openecomp.sdc.heat.services.manifest.ManifestUtil;
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.types.LoggerErrorDescription;
import org.openecomp.sdc.logging.types.LoggerTragetServiceName;
import org.openecomp.sdc.validation.Validator;
import java.util.Set;
public class ForbiddenResourceGuideLineValidator implements Validator {
- private static final MdcDataDebugMessage MDC_DATA_DEBUG_MESSAGE = new MdcDataDebugMessage();
private static Set<String> forbiddenResources = new HashSet<>();
private static final ErrorMessageCode ERROR_CODE_FRG_1 = new ErrorMessageCode("FRG1");
private static final ErrorMessageCode ERROR_CODE_FRG_2 = new ErrorMessageCode("FRG2");
private void validateResourceTypeIsForbidden(String fileName,
HeatOrchestrationTemplate heatOrchestrationTemplate,
GlobalValidationContext globalContext) {
-
- MDC_DATA_DEBUG_MESSAGE.debugEntryMessage("file", fileName);
-
Map<String, Resource> resourcesMap = heatOrchestrationTemplate.getResources();
if (MapUtils.isEmpty(resourcesMap)) {
- MDC_DATA_DEBUG_MESSAGE.debugExitMessage("file", fileName);
return;
}
}
}
}
- MDC_DATA_DEBUG_MESSAGE.debugExitMessage("file", fileName);
}
private boolean isResourceForbidden(String resourceType) {
import org.openecomp.sdc.heat.services.manifest.ManifestUtil;
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 java.util.Set;
public class HeatValidator implements Validator {
- private static final MdcDataDebugMessage MDC_DATA_DEBUG_MESSAGE = new MdcDataDebugMessage();
private static final Logger LOGGER = LoggerFactory.getLogger(HeatValidator.class);
private static final ErrorMessageCode ERROR_CODE_HOT_1 = new ErrorMessageCode("HOT1");
private static final ErrorMessageCode ERROR_CODE_HOT_2 = new ErrorMessageCode("HOT2");
heatOrchestrationTemplate,
Set<String> artifacts,
GlobalValidationContext globalContext) {
-
- MDC_DATA_DEBUG_MESSAGE.debugEntryMessage("file", fileName);
-
Collection<Resource> resourcesValues = heatOrchestrationTemplate.getResources() == null ? null
: heatOrchestrationTemplate.getResources().values();
artifacts, globalContext);
}
}
-
- MDC_DATA_DEBUG_MESSAGE.debugExitMessage("file", fileName);
}
private static void validatePropertiesForAllRequiredArtifactsExist(Collection<Object> properties,
HeatOrchestrationTemplate
heatOrchestrationTemplate,
GlobalValidationContext globalContext) {
-
- MDC_DATA_DEBUG_MESSAGE.debugEntryMessage("file", fileName);
-
Set<String> resourcesNames = heatOrchestrationTemplate.getResources() == null ? null
: heatOrchestrationTemplate.getResources().keySet();
Collection<Resource> resourcesValues = heatOrchestrationTemplate.getResources() == null ? null
globalContext);
checkResourceExistenceFromResourcesMap(fileName, resourcesNames, outputsValues,
globalContext);
-
- MDC_DATA_DEBUG_MESSAGE.debugExitMessage("file", fileName);
-
}
private static void checkResourceExistenceFromResourcesMap(String fileName,
Set<String> resourcesNames,
Collection<?> valuesToSearchIn,
GlobalValidationContext globalContext) {
-
- MDC_DATA_DEBUG_MESSAGE.debugEntryMessage("file", fileName);
-
if (CollectionUtils.isNotEmpty(valuesToSearchIn)) {
for (Object value : valuesToSearchIn) {
if (value instanceof Resource) {
private static void handleReferencedResources(String fileName, Object valueToSearchReferencesIn,
Set<String> resourcesNames,
GlobalValidationContext globalContext) {
-
-
- MDC_DATA_DEBUG_MESSAGE.debugEntryMessage("file", fileName);
globalContext.setMessageCode(ERROR_CODE_HOT_13);
Set<String> referencedResourcesNames = HeatStructureUtil
.getReferencedValuesByFunctionName(fileName,
checkIfResourceReferenceExist(fileName, resourcesNames, referencedResourcesNames,
globalContext);
}
-
- MDC_DATA_DEBUG_MESSAGE.debugExitMessage("file", fileName);
}
private static void checkIfResourceReferenceExist(String fileName,
Set<String> referencedResourcesNames,
Set<String> referencedResources,
GlobalValidationContext globalContext) {
-
-
- MDC_DATA_DEBUG_MESSAGE.debugEntryMessage("file", fileName);
-
referencedResources.stream()
.filter(referencedResource -> !referencedResourcesNames
.contains(referencedResource))
.REFERENCED_RESOURCE_NOT_FOUND.getErrorMessage(), referencedResource),
LoggerTragetServiceName.VALIDATE_RESOURCE_REFERENCE_EXISTENCE,
LoggerErrorDescription.RESOURCE_NOT_FOUND));
-
- MDC_DATA_DEBUG_MESSAGE.debugExitMessage("file", fileName);
}
/* validation 16 */
HeatOrchestrationTemplate
heatOrchestrationTemplate,
GlobalValidationContext globalContext) {
-
- MDC_DATA_DEBUG_MESSAGE.debugEntryMessage("file", fileName);
-
Set<String> parametersNames = heatOrchestrationTemplate.getParameters() == null ? null
: heatOrchestrationTemplate.getParameters().keySet();
Map<String, Resource> resourcesMap = heatOrchestrationTemplate.getResources();
resourceEntry, globalContext);
}
}
-
- MDC_DATA_DEBUG_MESSAGE.debugExitMessage("file", fileName);
}
private static void validatePropertiesForGetParamPointToParameter(Map<String,
Set<String> parametersNamesFromFile,
Set<String> referencedParametersNames,
GlobalValidationContext globalContext) {
-
-
- MDC_DATA_DEBUG_MESSAGE.debugEntryMessage("file", fileName);
-
for (String parameterName : referencedParametersNames) {
if (!isHeatPseudoParameter(parameterName)
&& !parametersNamesFromFile.contains(parameterName)) {
LoggerErrorDescription.PARAMETER_NOT_FOUND);
}
}
-
- MDC_DATA_DEBUG_MESSAGE.debugExitMessage("file", fileName);
}
private static boolean isHeatPseudoParameter(String parameterName) {
private static void validateGetAttr(String fileName,
HeatOrchestrationTemplate heatOrchestrationTemplate,
GlobalValidationContext globalContext) {
-
- MDC_DATA_DEBUG_MESSAGE.debugEntryMessage("file", fileName);
-
Map<String, Output> outputMap;
outputMap = heatOrchestrationTemplate.getOutputs();
loopOverOutputMapAndValidateGetAttrFromNested(fileName, outputMap,
heatOrchestrationTemplate, globalContext);
}
-
- MDC_DATA_DEBUG_MESSAGE.debugExitMessage("file", fileName);
}
private static void loopOverOutputMapAndValidateGetAttrFromNested(String fileName,
private static void validateEnvFile(String fileName, String envFileName,
HeatOrchestrationTemplate heatOrchestrationTemplate,
GlobalValidationContext globalContext) {
-
-
- MDC_DATA_DEBUG_MESSAGE.debugEntryMessage("file", fileName);
-
Environment envContent;
if (!envFileName.contains(".env")) {
validateEnvParametersMatchDefinedHeatParameterTypes(envFileName, envContent, globalContext,
heatOrchestrationTemplate);
}
-
- MDC_DATA_DEBUG_MESSAGE.debugExitMessage("file", fileName);
-
}
private static void validateEnvContentIsSubSetOfHeatParameters(String envFile,
globalContext,
HeatOrchestrationTemplate
heatOrchestrationTemplate) {
-
- MDC_DATA_DEBUG_MESSAGE.debugEntryMessage("file", envFile);
-
Set<String> parametersNames = heatOrchestrationTemplate.getParameters() == null ? null
: heatOrchestrationTemplate.getParameters().keySet();
}
}
}
-
- MDC_DATA_DEBUG_MESSAGE.debugExitMessage("file", envFile);
}
private static void validateEnvEntryForvalidateEnvContentIsSubSetOfHeatParameters(
heatOrchestrationTemplate,
GlobalValidationContext
globalContext) {
-
- MDC_DATA_DEBUG_MESSAGE.debugEntryMessage("file", fileName);
-
Map<String, Parameter> parametersMap = heatOrchestrationTemplate.getParameters() == null ? null
: heatOrchestrationTemplate.getParameters();
fileName, globalContext);
}
}
-
- MDC_DATA_DEBUG_MESSAGE.debugExitMessage("file", fileName);
}
private static void validateParameterEntryForParameterDefaultTypeAlignWithType(
Map.Entry<String, Parameter> parameterEntry,
Environment envContent,
GlobalValidationContext globalContext,
HeatOrchestrationTemplate heatOrchestrationTemplate) {
-
-
- MDC_DATA_DEBUG_MESSAGE.debugEntryMessage("file", envFile);
-
Map<String, Parameter> heatParameters = heatOrchestrationTemplate.getParameters();
if (MapUtils.isNotEmpty(heatParameters) && MapUtils.isNotEmpty(envContent.getParameters())) {
}
-
- MDC_DATA_DEBUG_MESSAGE.debugExitMessage("file", envFile);
}
private static void validateEnvEntryForEnvParametersMatchDefinedHeatParameterTypes(
@Override
public void validate(GlobalValidationContext globalContext) {
- MDC_DATA_DEBUG_MESSAGE.debugEntryMessage(null, null);
ManifestContent manifestContent;
try {
manifestContent = ValidationUtil.validateManifest(globalContext);
Messages.ARTIFACT_FILE_NOT_REFERENCED.getErrorMessage()),
LoggerTragetServiceName.CHECK_FOR_ORPHAN_ARTIFACTS,
LoggerErrorDescription.ARTIFACT_NOT_REFERENCED));
-
- MDC_DATA_DEBUG_MESSAGE.debugExitMessage(null, null);
-
}
private boolean isManifestArtifact(Set<String> manifestArtifacts, String fileName) {
private static void checkResourceDependsOn(String fileName, Resource resource,
Set<String> resourcesNames,
GlobalValidationContext globalContext) {
-
-
- MDC_DATA_DEBUG_MESSAGE.debugEntryMessage("file", fileName);
-
Object dependencies = resource.getDepends_on();
if (dependencies instanceof Collection) {
((Collection<String>) dependencies)
(String) dependencies), LoggerTragetServiceName.CHECK_RESOURCE_DEPENDS_ON,
LoggerErrorDescription.MISSING_RESOURCE_DEPENDS_ON);
}
-
- MDC_DATA_DEBUG_MESSAGE.debugExitMessage("file", fileName);
}
private void validateHeatBaseStructure(String fileName,
HeatOrchestrationTemplate heatOrchestrationTemplate,
GlobalValidationContext globalContext) {
-
-
- MDC_DATA_DEBUG_MESSAGE.debugEntryMessage("file", fileName);
-
if (heatOrchestrationTemplate.getHeat_template_version() == null) {
globalContext.addMessage(fileName, ErrorLevel.ERROR, ErrorMessagesFormatBuilder
.getErrorWithParameters(ERROR_CODE_HOT_9,Messages
"The heat file does not contain any resources"),
LoggerTragetServiceName.VALIDATE_HEAT_FORMAT, LoggerErrorDescription.INVALID_HEAT_FORMAT);
}
-
- MDC_DATA_DEBUG_MESSAGE.debugExitMessage("file", fileName);
}
import org.openecomp.sdc.heat.datatypes.manifest.ManifestContent;
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;
public class ManifestValidator implements Validator {
- private static final MdcDataDebugMessage MDC_DATA_DEBUG_MESSAGE = new MdcDataDebugMessage();
private static final Logger LOGGER = LoggerFactory.getLogger(YamlValidator.class);
private static final ErrorMessageCode ERROR_CODE_MNF_1 = new ErrorMessageCode("MNF1");
private static final ErrorMessageCode ERROR_CODE_MNF_2 = new ErrorMessageCode("MNF2");
@Override
public void validate(GlobalValidationContext globalContext) {
- MDC_DATA_DEBUG_MESSAGE.debugEntryMessage(null, null);
-
Optional<InputStream> content = globalContext.getFileContent(SdcCommon.MANIFEST_NAME);
ManifestContent manifestContent;
Messages.MISSING_FILE_IN_MANIFEST.getErrorMessage()),
LoggerTragetServiceName.VALIDATE_FILE_IN_MANIFEST, LoggerErrorDescription.MISSING_FILE)
);
-
- MDC_DATA_DEBUG_MESSAGE.debugExitMessage(null, null);
}
private boolean isNotManifestFiles(List<String> manifestFiles, String name) {
private List<String> getManifestFileList(ManifestContent manifestContent,
GlobalValidationContext context) {
-
-
- MDC_DATA_DEBUG_MESSAGE.debugEntryMessage(null, null);
-
ManifestScanner manifestScanner = new ManifestScanner();
manifestScanner.scan(null, manifestContent.getData(), context);
-
- MDC_DATA_DEBUG_MESSAGE.debugExitMessage(null, null);
return manifestScanner.getFileList();
}
import org.openecomp.core.validation.types.GlobalValidationContext;
import org.openecomp.sdc.common.errors.Messages;
import org.openecomp.sdc.datatypes.error.ErrorLevel;
-import org.openecomp.sdc.logging.context.impl.MdcDataDebugMessage;
import org.openecomp.sdc.logging.types.LoggerErrorDescription;
import org.openecomp.sdc.logging.types.LoggerTragetServiceName;
import org.openecomp.sdc.tosca.services.YamlUtil;
import java.util.Optional;
public class YamlValidator implements Validator {
- private static final MdcDataDebugMessage MDC_DATA_DEBUG_MESSAGE = new MdcDataDebugMessage();
private static final ErrorMessageCode ERROR_CODE_YML_1 = new ErrorMessageCode("YML1");
private static final ErrorMessageCode ERROR_CODE_YML_2 = new ErrorMessageCode("YML2");
@Override
public void validate(GlobalValidationContext globalContext) {
- MDC_DATA_DEBUG_MESSAGE.debugEntryMessage(null, null);
-
Collection<String> files = globalContext.files(
(fileName, globalValidationContext) -> fileName.endsWith(".yaml")
|| fileName.endsWith(".yml") || fileName.endsWith(".env"));
files.stream().forEach(fileName -> validate(fileName, globalContext));
-
- MDC_DATA_DEBUG_MESSAGE.debugExitMessage(null, null);
}
private void validate(String fileName, GlobalValidationContext globalContext) {
import org.openecomp.sdc.datatypes.error.ErrorLevel;
import org.openecomp.sdc.heat.datatypes.model.HeatResourcesTypes;
import org.openecomp.sdc.heat.datatypes.model.Resource;
-import org.openecomp.sdc.logging.context.impl.MdcDataDebugMessage;
import org.openecomp.sdc.logging.types.LoggerErrorDescription;
import org.openecomp.sdc.logging.types.LoggerTragetServiceName;
import org.openecomp.sdc.validation.ResourceValidator;
* Created by TALIO on 2/28/2017.
*/
public class ContrailNetworkPolicyResourceValidator implements ResourceValidator {
- private static MdcDataDebugMessage mdcDataDebugMessage = new MdcDataDebugMessage();
private static final ErrorMessageCode ERROR_CODE_HNP1 = new ErrorMessageCode("HNP1");
private static final ErrorMessageCode ERROR_CODE_HNP2 = new ErrorMessageCode("HNP2");
Map.Entry<String, Resource> resourceEntry,
GlobalValidationContext globalContext,
HeatResourceValidationContext validationContext) {
- mdcDataDebugMessage.debugEntryMessage("file", fileName);
-
Map<String, Map<String, List<String>>> referencedNetworkAttachPoliciesResources =
validationContext.getFileLevelResourceDependencies()
.get(HeatResourcesTypes.CONTRAIL_NETWORK_RULE_RESOURCE_TYPE.getHeatResource());
handleNetworkAttachPolicyReferences(fileName, resourceEntry,
referencedNetworkAttachPoliciesResources, globalContext);
-
- mdcDataDebugMessage.debugExitMessage("file", fileName);
-
}
private static void handleNetworkAttachPolicyReferences(String fileName,
import org.openecomp.sdc.common.errors.Messages;
import org.openecomp.sdc.datatypes.error.ErrorLevel;
import org.openecomp.sdc.heat.datatypes.model.Resource;
-import org.openecomp.sdc.logging.context.impl.MdcDataDebugMessage;
import org.openecomp.sdc.logging.types.LoggerErrorDescription;
import org.openecomp.sdc.logging.types.LoggerTragetServiceName;
import org.openecomp.sdc.validation.ResourceValidator;
* Created by TALIO on 2/22/2017.
*/
public class NestedResourceValidator implements ResourceValidator {
- private static final MdcDataDebugMessage MDC_DATA_DEBUG_MESSAGE = new MdcDataDebugMessage();
private static final ErrorMessageCode ERROR_CODE_HNR1 = new ErrorMessageCode("HNR1");
private static final ErrorMessageCode ERROR_CODE_HNR2 = new ErrorMessageCode("HNR2");
private static final ErrorMessageCode ERROR_CODE_HNR3 = new ErrorMessageCode("HNR3");
private static void handleNestedResourceType(String fileName, String resourceName,
Resource resource, Optional<String> indexVarValue,
GlobalValidationContext globalContext) {
-
- MDC_DATA_DEBUG_MESSAGE.debugEntryMessage("file", fileName);
-
validateAllPropertiesMatchNestedParameters(fileName, resourceName, resource, indexVarValue,
globalContext);
validateLoopsOfNestingFromFile(fileName, resource.getType(), globalContext);
-
- MDC_DATA_DEBUG_MESSAGE.debugExitMessage("file", fileName);
}
public static void validateAllPropertiesMatchNestedParameters(String fileName,
Optional<String> indexVarValue,
GlobalValidationContext
globalContext) {
-
- MDC_DATA_DEBUG_MESSAGE.debugEntryMessage("file", fileName);
-
String resourceType = resource.getType();
if (globalContext.getFileContextMap().containsKey(resourceType)) {
Set<String> propertiesNames =
LoggerTragetServiceName.VALIDATE_PROPERTIES_MATCH_NESTED_PARAMETERS,
LoggerErrorDescription.MISSING_FILE);
}
-
- MDC_DATA_DEBUG_MESSAGE.debugExitMessage("file", fileName);
}
public static void validateLoopsOfNestingFromFile(String fileName, String resourceType,
GlobalValidationContext globalContext) {
-
- MDC_DATA_DEBUG_MESSAGE.debugEntryMessage("file", fileName);
-
List<String> filesInLoop = new ArrayList<>(Collections.singletonList(fileName));
if (HeatValidationService
.isNestedLoopExistInFile(fileName, resourceType, filesInLoop, globalContext)) {
HeatValidationService.drawFilesLoop(filesInLoop)),
LoggerTragetServiceName.VALIDATE_NESTING_LOOPS, LoggerErrorDescription.NESTED_LOOP);
}
-
- MDC_DATA_DEBUG_MESSAGE.debugExitMessage("file", fileName);
}
}
import org.openecomp.sdc.heat.datatypes.model.Resource;
import org.openecomp.sdc.heat.datatypes.model.ResourceReferenceFunctions;
import org.openecomp.sdc.heat.services.HeatStructureUtil;
-import org.openecomp.sdc.logging.context.impl.MdcDataDebugMessage;
import org.openecomp.sdc.logging.types.LoggerErrorDescription;
import org.openecomp.sdc.logging.types.LoggerTragetServiceName;
import org.openecomp.sdc.validation.ResourceValidator;
import java.util.Set;
public class NeutronPortResourceValidator implements ResourceValidator {
- private static final MdcDataDebugMessage MDC_DATA_DEBUG_MESSAGE = new MdcDataDebugMessage();
private static final ErrorMessageCode ERROR_HPRODE_HPR1 = new ErrorMessageCode("HPR1");
private static final ErrorMessageCode ERROR_HPRODE_HPR2 = new ErrorMessageCode("HPR2");
private static final ErrorMessageCode ERROR_HPRODE_HPR3 = new ErrorMessageCode("HPR3");
Map.Entry<String, Resource> resourceEntry,
HeatResourceValidationContext heatResourceValidationContext,
GlobalValidationContext globalContext) {
-
- MDC_DATA_DEBUG_MESSAGE.debugEntryMessage("file", fileName);
-
Map<String, Map<String, List<String>>> portIdToPointingResources =
heatResourceValidationContext.getFileLevelResourceDependencies()
.get(HeatResourcesTypes.NEUTRON_PORT_RESOURCE_TYPE.getHeatResource());
portIdToPointingResources.get(portResourceId);
checkPortBindingFromMap(
fileName, portResourceId, pointingResourcesToCurrPort, globalContext);
-
- MDC_DATA_DEBUG_MESSAGE.debugExitMessage("file", fileName);
}
private static void checkPortBindingFromMap(String fileName,
Map.Entry<String, Resource> resourceEntry,
List<String> securityGroupResourceNameList,
GlobalValidationContext globalContext) {
-
- MDC_DATA_DEBUG_MESSAGE.debugEntryMessage("file", filename);
-
Map<String, Object> propertiesMap = resourceEntry.getValue().getProperties();
if (MapUtils.isEmpty(propertiesMap)) {
securityGroupResourceNameList, globalContext);
}
}
-
- MDC_DATA_DEBUG_MESSAGE.debugExitMessage("file", filename);
}
private static void removeSecurityGroupNamesFromListByGivenFunction(String filename,
import org.openecomp.sdc.heat.datatypes.model.HeatResourcesTypes;
import org.openecomp.sdc.heat.datatypes.model.PolicyTypes;
import org.openecomp.sdc.heat.datatypes.model.Resource;
-import org.openecomp.sdc.logging.context.impl.MdcDataDebugMessage;
import org.openecomp.sdc.logging.types.LoggerErrorDescription;
import org.openecomp.sdc.logging.types.LoggerTragetServiceName;
import org.openecomp.sdc.validation.ResourceValidator;
import java.util.Objects;
public class NovaServerGroupResourceValidator implements ResourceValidator {
- private static final MdcDataDebugMessage MDC_DATA_DEBUG_MESSAGE = new MdcDataDebugMessage();
private static final ErrorMessageCode ERROR_CODE_HNG1 = new ErrorMessageCode("HNG1");
private static final ErrorMessageCode ERROR_CODE_HNG2 = new ErrorMessageCode("HNG2");
private static final ErrorMessageCode ERROR_CODE_HNG3 = new ErrorMessageCode("HNG3");
private static void validateNovaServerGroupPolicy(String fileName,
Map.Entry<String, Resource> resourceEntry,
GlobalValidationContext globalContext) {
-
- MDC_DATA_DEBUG_MESSAGE.debugEntryMessage("file", fileName);
-
Resource resource = resourceEntry.getValue();
Object policies =
resource.getProperties() == null ? null : resource.getProperties().get("policies");
LoggerErrorDescription.WRONG_POLICY_SERVER_GROUP);
}
}
-
- MDC_DATA_DEBUG_MESSAGE.debugExitMessage("file", fileName);
}
private static boolean isGivenPolicyValid(Object policy) {
import org.openecomp.sdc.heat.datatypes.model.PropertiesMapKeyTypes;
import org.openecomp.sdc.heat.datatypes.model.Resource;
import org.openecomp.sdc.heat.datatypes.model.ResourceReferenceFunctions;
-import org.openecomp.sdc.logging.context.impl.MdcDataDebugMessage;
import org.openecomp.sdc.logging.types.LoggerErrorDescription;
import org.openecomp.sdc.logging.types.LoggerTragetServiceName;
import org.openecomp.sdc.validation.ResourceValidator;
import java.util.Map;
public class NovaServerResourceValidator implements ResourceValidator {
- private static final MdcDataDebugMessage MDC_DATA_DEBUG_MESSAGE = new MdcDataDebugMessage();
private static final ErrorMessageCode ERROR_CODE_HNS1 = new ErrorMessageCode("HNS1");
private static final ErrorMessageCode ERROR_CODE_HNS2 = new ErrorMessageCode("HNS2");
Map.Entry<String, Resource> resourceEntry,
HeatResourceValidationContext heatResourceValidationContext,
GlobalValidationContext globalContext) {
-
- MDC_DATA_DEBUG_MESSAGE.debugEntryMessage("file", fileName);
-
validateAssignedValueForImageOrFlavorFromNova(fileName, resourceEntry, globalContext);
validateAllServerGroupsPointedByServerExistAndDefined (fileName,
resourceEntry, heatResourceValidationContext.getHeatOrchestrationTemplate(), globalContext );
-
- MDC_DATA_DEBUG_MESSAGE.debugExitMessage("file", fileName);
-
}
private static void validateAssignedValueForImageOrFlavorFromNova(String fileName,
resourceEntry,
GlobalValidationContext
globalContext) {
-
- MDC_DATA_DEBUG_MESSAGE.debugEntryMessage("file", fileName);
-
Resource resource = resourceEntry.getValue();
Map<String, Object> propertiesMap = resource.getProperties();
if (propertiesMap.get(PropertiesMapKeyTypes.IMAGE.getKeyMap()) == null
LoggerTragetServiceName.VALIDATE_ASSIGNED_VALUES_FOR_NOVA_IMAGE_FLAVOR,
LoggerErrorDescription.MISSING_NOVA_PROPERTIES);
}
-
- MDC_DATA_DEBUG_MESSAGE.debugExitMessage("file", fileName);
}
@SuppressWarnings("unchecked")
Map.Entry<String, Resource> resourceEntry,
HeatOrchestrationTemplate heatOrchestrationTemplate,
GlobalValidationContext globalContext) {
-
- MDC_DATA_DEBUG_MESSAGE.debugEntryMessage("file", fileName);
-
Map<String, Resource> resourcesMap = heatOrchestrationTemplate.getResources();
Map<String, Object> resourceProperties = resourceEntry.getValue().getProperties();
Map<String, Object> schedulerHintsMap =
}
validateServerGroupValue(fileName, resourceEntry, globalContext, resourcesMap, schedulerHintsMap);
-
- MDC_DATA_DEBUG_MESSAGE.debugExitMessage("file", fileName);
}
private static void validateServerGroupValue(String fileName, Map.Entry<String,
import org.openecomp.sdc.heat.datatypes.model.Resource;
import org.openecomp.sdc.heat.services.HeatConstants;
import org.openecomp.sdc.heat.services.tree.HeatTreeManagerUtil;
-import org.openecomp.sdc.logging.context.impl.MdcDataDebugMessage;
import org.openecomp.sdc.logging.types.LoggerErrorDescription;
import org.openecomp.sdc.logging.types.LoggerTragetServiceName;
import org.openecomp.sdc.validation.ResourceValidator;
* Created by TALIO on 2/22/2017.
*/
public class ResourceGroupResourceValidator implements ResourceValidator {
- private static final MdcDataDebugMessage MDC_DATA_DEBUG_MESSAGE = new MdcDataDebugMessage();
-
private static final ErrorMessageCode ERROR_CODE_HRR1 = new ErrorMessageCode("HRR1");
private static final ErrorMessageCode ERROR_CODE_HRR2 = new ErrorMessageCode("HRR2");
private static final ErrorMessageCode ERROR_CODE_HRR3 = new ErrorMessageCode("HRR3");
private static void validateResourceGroupType(String fileName,
Map.Entry<String, Resource> resourceEntry,
GlobalValidationContext globalContext) {
-
- MDC_DATA_DEBUG_MESSAGE.debugEntryMessage("file", fileName);
-
globalContext.setMessageCode(ERROR_CODE_HRR6);
HeatTreeManagerUtil
.checkResourceTypeValid(fileName, resourceEntry.getKey(), resourceEntry.getValue(),
globalContext);
}
-
- MDC_DATA_DEBUG_MESSAGE.debugExitMessage("file", fileName);
}
private static Optional<String> getResourceGroupIndexVarValue(
private static void handleNestedResourceType(String fileName, String resourceName,
Resource resource, Optional<String> indexVarValue,
GlobalValidationContext globalContext) {
-
- MDC_DATA_DEBUG_MESSAGE.debugEntryMessage("file", fileName);
-
validateAllPropertiesMatchNestedParameters(fileName, resourceName, resource, indexVarValue,
globalContext);
validateLoopsOfNestingFromFile(fileName, resource.getType(), globalContext);
-
- MDC_DATA_DEBUG_MESSAGE.debugExitMessage("file", fileName);
}
private static void validateAllPropertiesMatchNestedParameters(String fileName,
Optional<String> indexVarValue,
GlobalValidationContext
globalContext) {
-
- MDC_DATA_DEBUG_MESSAGE.debugEntryMessage("file", fileName);
-
String resourceType = resource.getType();
if (globalContext.getFileContextMap().containsKey(resourceType)) {
Set<String> propertiesNames =
LoggerTragetServiceName.VALIDATE_PROPERTIES_MATCH_NESTED_PARAMETERS,
LoggerErrorDescription.MISSING_FILE);
}
-
- MDC_DATA_DEBUG_MESSAGE.debugExitMessage("file", fileName);
}
private static void validateLoopsOfNestingFromFile(String fileName, String resourceType,
GlobalValidationContext globalContext) {
-
- MDC_DATA_DEBUG_MESSAGE.debugEntryMessage("file", fileName);
-
List<String> filesInLoop = new ArrayList<>(Collections.singletonList(fileName));
if (HeatValidationService
.isNestedLoopExistInFile(fileName, resourceType, filesInLoop, globalContext)) {
HeatValidationService.drawFilesLoop(filesInLoop)),
LoggerTragetServiceName.VALIDATE_NESTING_LOOPS, LoggerErrorDescription.NESTED_LOOP);
}
-
- MDC_DATA_DEBUG_MESSAGE.debugExitMessage("file", fileName);
}
}