summaryrefslogtreecommitdiffstats
path: root/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-sdk/src/main/java/org/openecomp/sdc/validation/base/ResourceBaseValidator.java
diff options
context:
space:
mode:
Diffstat (limited to 'openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-sdk/src/main/java/org/openecomp/sdc/validation/base/ResourceBaseValidator.java')
-rw-r--r--openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-sdk/src/main/java/org/openecomp/sdc/validation/base/ResourceBaseValidator.java203
1 files changed, 84 insertions, 119 deletions
diff --git a/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-sdk/src/main/java/org/openecomp/sdc/validation/base/ResourceBaseValidator.java b/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-sdk/src/main/java/org/openecomp/sdc/validation/base/ResourceBaseValidator.java
index a15c7678f7..50d8a86954 100644
--- a/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-sdk/src/main/java/org/openecomp/sdc/validation/base/ResourceBaseValidator.java
+++ b/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-sdk/src/main/java/org/openecomp/sdc/validation/base/ResourceBaseValidator.java
@@ -12,10 +12,12 @@
* 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.
-*/
-
+ */
package org.openecomp.sdc.validation.base;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Objects;
import org.apache.commons.collections4.MapUtils;
import org.openecomp.core.utilities.CommonMethods;
import org.openecomp.core.validation.ErrorMessageCode;
@@ -38,145 +40,108 @@ import org.openecomp.sdc.validation.Validator;
import org.openecomp.sdc.validation.type.ConfigConstants;
import org.openecomp.sdc.validation.util.ValidationUtil;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Objects;
-
/**
* Created by TALIO on 2/16/2017.
*/
public class ResourceBaseValidator implements Validator {
- protected final Map<String, ImplementationConfiguration> resourceTypeToImpl = new HashMap<>();
- private static final Logger LOGGER = LoggerFactory.getLogger(ResourceBaseValidator.class);
- private static final ErrorMessageCode ERROR_CODE_RBV_1 = new ErrorMessageCode("RBV1");
- private static final ErrorMessageCode ERROR_CODE_RBV_2 = new ErrorMessageCode("RBV2");
-
- Map<String, ImplementationConfiguration> getResourceTypeToImpl() {
- return MapUtils.unmodifiableMap(this.resourceTypeToImpl);
- }
+ private static final Logger LOGGER = LoggerFactory.getLogger(ResourceBaseValidator.class);
+ private static final ErrorMessageCode ERROR_CODE_RBV_1 = new ErrorMessageCode("RBV1");
+ private static final ErrorMessageCode ERROR_CODE_RBV_2 = new ErrorMessageCode("RBV2");
+ protected final Map<String, ImplementationConfiguration> resourceTypeToImpl = new HashMap<>();
- @Override
- public void init(Map<String, Object> properties) {
- if (MapUtils.isEmpty(properties)) {
- return;
+ private static boolean isSupportedResourceType(String resourceType, Map<String, ImplementationConfiguration> resourceTypeToImpl) {
+ return resourceTypeToImpl.containsKey(resourceType) && resourceTypeToImpl.get(resourceType).isEnable();
}
- properties.entrySet().stream()
- .filter(entry -> getImplementationConfigurationFromProperties(entry.getValue()) != null)
- .forEach(entry -> resourceTypeToImpl
- .put(entry.getKey(), getImplementationConfigurationFromProperties(entry.getValue())));
- }
-
- @Override
- public void validate(GlobalValidationContext globalContext) {
- ManifestContent manifestContent;
- try {
- manifestContent = ValidationUtil.validateManifest(globalContext);
- } catch (Exception exception) {
- LOGGER.error("Failed to validate manifest file", exception);
- return;
+ private static ResourceValidator getResourceValidatorInstance(String resourceType, Map<String, ImplementationConfiguration> resourceTypeToImpl) {
+ ResourceValidator resourceBaseValidator = null;
+ if (isSupportedResourceType(resourceType, resourceTypeToImpl)) {
+ return getValidatorImpl(resourceType, resourceTypeToImpl);
+ }
+ if (HeatStructureUtil.isNestedResource(resourceType)) {
+ return getValidatorImpl("nestedResource", resourceTypeToImpl);
+ }
+ return resourceBaseValidator;
}
- Map<String, FileData.Type> fileTypeMap = ManifestUtil.getFileTypeMap(manifestContent);
- Map<String, FileData> fileEnvMap = ManifestUtil.getFileAndItsEnv(manifestContent);
- globalContext.getFiles().stream()
- .filter(fileName -> FileData
- .isHeatFile(fileTypeMap.get(fileName)))
- .forEach(fileName -> validate(fileName,
- fileEnvMap.get(fileName) != null ? fileEnvMap.get(fileName).getFile() : null,
- globalContext));
- }
-
- private void validate(String fileName, String envFileName,
- GlobalValidationContext globalContext) {
- globalContext.setMessageCode(ERROR_CODE_RBV_2);
- HeatOrchestrationTemplate heatOrchestrationTemplate =
- ValidationUtil.checkHeatOrchestrationPreCondition(fileName, globalContext);
- if (heatOrchestrationTemplate == null) {
- return;
+ private static ResourceValidator getValidatorImpl(String resourceType, Map<String, ImplementationConfiguration> resourceTypeToImpl) {
+ String implementationClass =
+ resourceTypeToImpl.get(resourceType) != null ? resourceTypeToImpl.get(resourceType).getImplementationClass() : null;
+ return implementationClass == null ? null : CommonMethods.newInstance(implementationClass, ResourceValidator.class);
}
- ValidationContext validationContext =
- createValidationContext(fileName, envFileName, heatOrchestrationTemplate, globalContext);
-
- Map<String, Resource> resourcesMap = heatOrchestrationTemplate.getResources();
- if (MapUtils.isEmpty(resourcesMap)) {
- return;
+ Map<String, ImplementationConfiguration> getResourceTypeToImpl() {
+ return MapUtils.unmodifiableMap(this.resourceTypeToImpl);
}
- for (Map.Entry<String, Resource> resourceEntry : resourcesMap.entrySet()) {
- String resourceType = resourceEntry.getValue().getType();
-
- if (Objects.isNull(resourceType)) {
- globalContext.addMessage(fileName, ErrorLevel.WARNING, ErrorMessagesFormatBuilder
- .getErrorWithParameters(ERROR_CODE_RBV_1,
- Messages.INVALID_RESOURCE_TYPE.getErrorMessage(),"null",
- resourceEntry.getKey()));
- } else {
- ResourceValidator
- resourceValidatorImpl = getResourceValidatorInstance(resourceType, resourceTypeToImpl);
- if (Objects.nonNull(resourceValidatorImpl)) {
- resourceValidatorImpl.validate(fileName, resourceEntry, globalContext,
- validationContext);
+ @Override
+ public void init(Map<String, Object> properties) {
+ if (MapUtils.isEmpty(properties)) {
+ return;
}
- }
+ properties.entrySet().stream().filter(entry -> getImplementationConfigurationFromProperties(entry.getValue()) != null)
+ .forEach(entry -> resourceTypeToImpl.put(entry.getKey(), getImplementationConfigurationFromProperties(entry.getValue())));
}
- }
-
- public ValidationContext createValidationContext(String fileName,
- String envFileName,
- HeatOrchestrationTemplate heatOrchestrationTemplate,
- GlobalValidationContext globalContext) {
- return null;
- }
-
- private static boolean isSupportedResourceType(String resourceType,
- Map<String, ImplementationConfiguration> resourceTypeToImpl) {
- return resourceTypeToImpl.containsKey(resourceType) && resourceTypeToImpl.get(resourceType)
- .isEnable();
-
- }
- private static ResourceValidator getResourceValidatorInstance(String resourceType,
- Map<String, ImplementationConfiguration> resourceTypeToImpl) {
- ResourceValidator resourceBaseValidator = null;
- if (isSupportedResourceType(resourceType, resourceTypeToImpl)) {
- return getValidatorImpl(resourceType, resourceTypeToImpl);
- }
- if (HeatStructureUtil.isNestedResource(resourceType)) {
- return getValidatorImpl("nestedResource", resourceTypeToImpl);
+ @Override
+ public void validate(GlobalValidationContext globalContext) {
+ ManifestContent manifestContent;
+ try {
+ manifestContent = ValidationUtil.validateManifest(globalContext);
+ } catch (Exception exception) {
+ LOGGER.error("Failed to validate manifest file", exception);
+ return;
+ }
+ Map<String, FileData.Type> fileTypeMap = ManifestUtil.getFileTypeMap(manifestContent);
+ Map<String, FileData> fileEnvMap = ManifestUtil.getFileAndItsEnv(manifestContent);
+ globalContext.getFiles().stream().filter(fileName -> FileData.isHeatFile(fileTypeMap.get(fileName)))
+ .forEach(fileName -> validate(fileName, fileEnvMap.get(fileName) != null ? fileEnvMap.get(fileName).getFile() : null, globalContext));
}
- return resourceBaseValidator;
- }
-
- private static ResourceValidator getValidatorImpl(String resourceType,
- Map<String, ImplementationConfiguration> resourceTypeToImpl) {
- String implementationClass = resourceTypeToImpl.get(resourceType) != null ?
- resourceTypeToImpl.get(resourceType).getImplementationClass() : null;
- return implementationClass == null ? null : CommonMethods
- .newInstance(implementationClass, ResourceValidator.class);
- }
-
- private ImplementationConfiguration getImplementationConfigurationFromProperties(Object value) {
- ImplementationConfiguration implementationConfiguration = new ImplementationConfiguration();
- if (!(value instanceof Map)) {
- return null;
+ private void validate(String fileName, String envFileName, GlobalValidationContext globalContext) {
+ globalContext.setMessageCode(ERROR_CODE_RBV_2);
+ HeatOrchestrationTemplate heatOrchestrationTemplate = ValidationUtil.checkHeatOrchestrationPreCondition(fileName, globalContext);
+ if (heatOrchestrationTemplate == null) {
+ return;
+ }
+ ValidationContext validationContext = createValidationContext(fileName, envFileName, heatOrchestrationTemplate, globalContext);
+ Map<String, Resource> resourcesMap = heatOrchestrationTemplate.getResources();
+ if (MapUtils.isEmpty(resourcesMap)) {
+ return;
+ }
+ for (Map.Entry<String, Resource> resourceEntry : resourcesMap.entrySet()) {
+ String resourceType = resourceEntry.getValue().getType();
+ if (Objects.isNull(resourceType)) {
+ globalContext.addMessage(fileName, ErrorLevel.WARNING, ErrorMessagesFormatBuilder
+ .getErrorWithParameters(ERROR_CODE_RBV_1, Messages.INVALID_RESOURCE_TYPE.getErrorMessage(), "null", resourceEntry.getKey()));
+ } else {
+ ResourceValidator resourceValidatorImpl = getResourceValidatorInstance(resourceType, resourceTypeToImpl);
+ if (Objects.nonNull(resourceValidatorImpl)) {
+ resourceValidatorImpl.validate(fileName, resourceEntry, globalContext, validationContext);
+ }
+ }
+ }
}
- Map<String, Object> valueAsMap = (Map<String, Object>) value;
- if (!(valueAsMap.containsKey(ConfigConstants.Impl_Class))) {
- return null;
+ public ValidationContext createValidationContext(String fileName, String envFileName, HeatOrchestrationTemplate heatOrchestrationTemplate,
+ GlobalValidationContext globalContext) {
+ return null;
}
- implementationConfiguration.setImplementationClass(
- valueAsMap.get(ConfigConstants.Impl_Class).toString());
- if (valueAsMap.containsKey(ConfigConstants.Enable)) {
- implementationConfiguration.setEnable(Boolean.
- valueOf(valueAsMap.get(ConfigConstants.Enable).toString()));
+ private ImplementationConfiguration getImplementationConfigurationFromProperties(Object value) {
+ ImplementationConfiguration implementationConfiguration = new ImplementationConfiguration();
+ if (!(value instanceof Map)) {
+ return null;
+ }
+ Map<String, Object> valueAsMap = (Map<String, Object>) value;
+ if (!(valueAsMap.containsKey(ConfigConstants.Impl_Class))) {
+ return null;
+ }
+ implementationConfiguration.setImplementationClass(valueAsMap.get(ConfigConstants.Impl_Class).toString());
+ if (valueAsMap.containsKey(ConfigConstants.Enable)) {
+ implementationConfiguration.setEnable(Boolean.valueOf(valueAsMap.get(ConfigConstants.Enable).toString()));
+ }
+ return implementationConfiguration;
}
-
- return implementationConfiguration;
- }
}