summaryrefslogtreecommitdiffstats
path: root/common-app-api/src/main/java/org/openecomp/sdc/common/impl/FSConfigurationSource.java
diff options
context:
space:
mode:
Diffstat (limited to 'common-app-api/src/main/java/org/openecomp/sdc/common/impl/FSConfigurationSource.java')
-rw-r--r--common-app-api/src/main/java/org/openecomp/sdc/common/impl/FSConfigurationSource.java19
1 files changed, 13 insertions, 6 deletions
diff --git a/common-app-api/src/main/java/org/openecomp/sdc/common/impl/FSConfigurationSource.java b/common-app-api/src/main/java/org/openecomp/sdc/common/impl/FSConfigurationSource.java
index 8cab431594..3820f2c26c 100644
--- a/common-app-api/src/main/java/org/openecomp/sdc/common/impl/FSConfigurationSource.java
+++ b/common-app-api/src/main/java/org/openecomp/sdc/common/impl/FSConfigurationSource.java
@@ -27,7 +27,9 @@ import java.util.stream.Collectors;
import org.openecomp.sdc.common.api.ConfigurationListener;
import org.openecomp.sdc.common.api.ConfigurationSource;
import org.openecomp.sdc.common.api.Constants;
+import org.openecomp.sdc.common.api.exception.LoadConfigurationException;
import org.openecomp.sdc.common.util.YamlToObjectConverter;
+import org.openecomp.sdc.exception.YamlConversionException;
/**
* Read configuration from file system
@@ -55,16 +57,21 @@ public class FSConfigurationSource implements ConfigurationSource {
*
* @see org.openecomp.sdc.common.api.ConfigurationSource#getAndWatchConfiguration (java.lang.Class, org.openecomp.sdc.common.api.ConfigurationListener)
*/
- public <T> T getAndWatchConfiguration(Class<T> className, ConfigurationListener configurationListener) {
+ public <T> T getAndWatchConfiguration(final Class<T> className, final ConfigurationListener configurationListener) {
- String configFileName = calculateFileName(className);
+ final String configFileName = calculateFileName(className);
- T object = yamlToObjectConverter.convert(this.appConfigDir, className, configFileName);
+ T object;
+ try {
+ object = yamlToObjectConverter.convert(this.appConfigDir, className, configFileName);
+ } catch (final YamlConversionException e) {
+ final String errorMsg =
+ String.format("Could not load '%s' in '%s' for class '%s'", configFileName, appConfigDir, className);
+ throw new LoadConfigurationException(errorMsg, e);
+ }
if (configurationListener != null && changeListener != null) {
- if (object != null) {
- changeListener.register(configFileName, configurationListener);
- }
+ changeListener.register(configFileName, configurationListener);
}
return object;