aboutsummaryrefslogtreecommitdiffstats
path: root/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/org/openecomp/sdc/tosca/parser/config/ConfigurationManager.java35
-rw-r--r--src/main/java/org/openecomp/sdc/tosca/parser/impl/SdcToscaParserFactory.java31
2 files changed, 36 insertions, 30 deletions
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<String, Object> configurations = new HashMap<String, Object>();
+ Map<String, Object> configurations = new HashMap<String, Object>();
private ConfigurationManager() {
initialConfigObjectsFromFiles();
@@ -40,18 +37,26 @@ public class ConfigurationManager {
configurations.put(clazz.getSimpleName(), object);
}
+ private <T> void loadConfigurationClass(Class<T> clazz, String fileName) {
+ T object = getObjectFromYaml(clazz,fileName);
+ configurations.put(clazz.getSimpleName(), object);
+ }
+
+ public static <T> T getObjectFromYaml(Class<T> className) {
+ return getObjectFromYaml(className, null);
+ }
- public <T> T getObjectFromYaml(Class<T> className) {
+ public static <T> T getObjectFromYaml(Class<T> 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<JToscaValidationIssue> criticalExceptions = new ArrayList<>();
private List<JToscaValidationIssue> warningExceptions = new ArrayList<>();
private List<JToscaValidationIssue> 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<JToscaValidationIssueInfo> issueInfos = jtoscaValidationIssueConfiguration.getValidationIssues().get(toscaValidationIssue.getCode());
+ List<JToscaValidationIssueInfo> 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