aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/org/openecomp/sdc/tosca/parser/config/ConfigurationManager.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/openecomp/sdc/tosca/parser/config/ConfigurationManager.java')
-rw-r--r--src/main/java/org/openecomp/sdc/tosca/parser/config/ConfigurationManager.java35
1 files changed, 21 insertions, 14 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()));
}