From 7dd51a2e187a6cfea05ed46004a25152d687197f Mon Sep 17 00:00:00 2001 From: Pavel Aharoni Date: Wed, 13 Dec 2017 17:01:19 +0200 Subject: sdc-tosca tests change and refactoring Change-Id: Ibffb597a5197675499c7fe544fba953065f2f9bf Issue-ID: SDC-752 Signed-off-by: Pavel Aharoni --- .../tosca/parser/config/ConfigurationManager.java | 35 +++++++++++++--------- .../tosca/parser/impl/SdcToscaParserFactory.java | 31 ++++++++++--------- 2 files changed, 36 insertions(+), 30 deletions(-) (limited to 'src/main') diff --git a/src/main/java/org/openecomp/sdc/tosca/parser/config/ConfigurationManager.java b/src/main/java/org/openecomp/sdc/tosca/parser/config/ConfigurationManager.java index 4e09222..72c06ed 100644 --- a/src/main/java/org/openecomp/sdc/tosca/parser/config/ConfigurationManager.java +++ b/src/main/java/org/openecomp/sdc/tosca/parser/config/ConfigurationManager.java @@ -18,12 +18,9 @@ public class ConfigurationManager { private static final String CONFIGURATION_DIR = "config/"; private static volatile ConfigurationManager instance; -// private Configuration configuration; -// private ErrorConfiguration errorConfiguration; - - Map configurations = new HashMap(); + Map configurations = new HashMap(); private ConfigurationManager() { initialConfigObjectsFromFiles(); @@ -40,18 +37,26 @@ public class ConfigurationManager { configurations.put(clazz.getSimpleName(), object); } + private void loadConfigurationClass(Class clazz, String fileName) { + T object = getObjectFromYaml(clazz,fileName); + configurations.put(clazz.getSimpleName(), object); + } + + public static T getObjectFromYaml(Class className) { + return getObjectFromYaml(className, null); + } - public T getObjectFromYaml(Class className) { + public static T getObjectFromYaml(Class className, String fileName) { - String configFileName = calculateFileName(className); + String configFileName = fileName != null ? fileName : calculateFileName(className); ; URL url = Resources.getResource(CONFIGURATION_DIR + configFileName); String configFileContents = null; try { configFileContents = Resources.toString(url, Charsets.UTF_8); } catch (IOException e) { - log.error("ConfigurationManager - Failed to load configuration file"); + log.error("ConfigurationManager - Failed to load configuration file {}", configFileName, e); } YamlToObjectConverter yamlToObjectConverter = new YamlToObjectConverter(); T object = yamlToObjectConverter.convertFromString(configFileContents, className); @@ -61,13 +66,13 @@ public class ConfigurationManager { public static ConfigurationManager getInstance() { - // if (instance == null) { - // synchronized (ConfigurationManager.class) { - // if (instance == null) { + if (instance == null) { + synchronized (ConfigurationManager.class) { + if (instance == null) { instance = new ConfigurationManager(); - // } - // } - // } + } + } + } return instance; } @@ -107,7 +112,9 @@ public class ConfigurationManager { public JtoscaValidationIssueConfiguration getJtoscaValidationIssueConfiguration() { return (JtoscaValidationIssueConfiguration) configurations.get((JtoscaValidationIssueConfiguration.class.getSimpleName())); } - + public void setJtoscaValidationIssueConfiguration(String fileName) { + loadConfigurationClass(JtoscaValidationIssueConfiguration.class, fileName); + } public Configuration getConfiguration() { return (Configuration) configurations.get((Configuration.class.getSimpleName())); } diff --git a/src/main/java/org/openecomp/sdc/tosca/parser/impl/SdcToscaParserFactory.java b/src/main/java/org/openecomp/sdc/tosca/parser/impl/SdcToscaParserFactory.java index c9cac1c..f1a03b7 100644 --- a/src/main/java/org/openecomp/sdc/tosca/parser/impl/SdcToscaParserFactory.java +++ b/src/main/java/org/openecomp/sdc/tosca/parser/impl/SdcToscaParserFactory.java @@ -18,17 +18,13 @@ import org.slf4j.LoggerFactory; public class SdcToscaParserFactory { private static Logger log = LoggerFactory.getLogger(SdcToscaParserFactory.class.getName()); - + + private static ConfigurationManager configurationManager; private static volatile SdcToscaParserFactory instance; - private static Configuration configuration; - private static ErrorConfiguration errorConfiguration; - private static JtoscaValidationIssueConfiguration jtoscaValidationIssueConfiguration; private List criticalExceptions = new ArrayList<>(); private List warningExceptions = new ArrayList<>(); private List notAnalyzadExceptions = new ArrayList<>(); - private SdcToscaParserFactory() { - - } + private SdcToscaParserFactory() {} /** * Get an SdcToscaParserFactory instance. @@ -39,15 +35,17 @@ public class SdcToscaParserFactory { synchronized (SdcToscaParserFactory.class) { if (instance == null) { instance = new SdcToscaParserFactory(); - configuration = ConfigurationManager.getInstance().getConfiguration(); - errorConfiguration = ConfigurationManager.getInstance().getErrorConfiguration(); - jtoscaValidationIssueConfiguration = ConfigurationManager.getInstance().getJtoscaValidationIssueConfiguration(); + configurationManager = ConfigurationManager.getInstance(); } } } return instance; } + public static void setConfigurationManager(ConfigurationManager configurationManager) { + SdcToscaParserFactory.configurationManager = configurationManager; + } + /** * Get an ISdcCsarHelper object for this CSAR file. * @@ -85,8 +83,7 @@ public class SdcToscaParserFactory { try { handleErrorsByTypes(csarPath, cSarConformanceLevel); } catch (JToscaException e) { - // TODO Auto-generated catch block - e.printStackTrace(); + throwSdcToscaParserException(e); } return sdcCsarHelperImpl; } @@ -95,7 +92,7 @@ public class SdcToscaParserFactory { private void handleErrorsByTypes(String csarPath, String cSarConformanceLevel) throws JToscaException { clearValidationIssuesLists(); for(JToscaValidationIssue toscaValidationIssue : ThreadLocalsHolder.getCollector().getValidationIssues().values()){ - List issueInfos = jtoscaValidationIssueConfiguration.getValidationIssues().get(toscaValidationIssue.getCode()); + List issueInfos = configurationManager.getJtoscaValidationIssueConfiguration().getValidationIssues().get(toscaValidationIssue.getCode()); if(issueInfos != null && !issueInfos.isEmpty()){ JToscaValidationIssueInfo issueInfo = null; issueInfo = issueInfos.stream() @@ -167,7 +164,7 @@ public class SdcToscaParserFactory { private void validateCsarVersion(String cSarVersion) throws SdcToscaParserException { - ConformanceLevel level = configuration.getConformanceLevel(); + ConformanceLevel level = configurationManager.getConfiguration().getConformanceLevel(); String minVersion = level.getMinVersion(); String maxVersion = level.getMaxVersion(); if (cSarVersion != null) { @@ -188,13 +185,15 @@ public class SdcToscaParserFactory { return false; } private void throwConformanceLevelException(String minVersion, String maxVersion) throws SdcToscaParserException { - ErrorInfo errorInfo = errorConfiguration.getErrorInfo(SdcToscaParserErrors.CONFORMANCE_LEVEL_ERROR.toString()); + ErrorInfo errorInfo = configurationManager.getErrorConfiguration().getErrorInfo(SdcToscaParserErrors.CONFORMANCE_LEVEL_ERROR.toString()); throw new SdcToscaParserException(String.format(errorInfo.getMessage(), minVersion, maxVersion), errorInfo.getCode()); } private void throwSdcToscaParserException(JToscaException e) throws SdcToscaParserException { - ErrorInfo errorInfo = errorConfiguration.getErrorInfo(SdcToscaParserErrors.getSdcErrorByJToscaError(JToscaErrorCodes.getByCode(e.getCode())).toString()); + ErrorInfo errorInfo = configurationManager.getErrorConfiguration().getErrorInfo(SdcToscaParserErrors.getSdcErrorByJToscaError(JToscaErrorCodes.getByCode(e.getCode())).toString()); throw new SdcToscaParserException(errorInfo.getMessage(), errorInfo.getCode()); } + + } \ No newline at end of file -- cgit 1.2.3-korg