aboutsummaryrefslogtreecommitdiffstats
path: root/common/onap-common-configuration-management/onap-configuration-management-core/src/main/java/org/onap/config/impl/ConfigurationRepository.java
diff options
context:
space:
mode:
Diffstat (limited to 'common/onap-common-configuration-management/onap-configuration-management-core/src/main/java/org/onap/config/impl/ConfigurationRepository.java')
-rw-r--r--common/onap-common-configuration-management/onap-configuration-management-core/src/main/java/org/onap/config/impl/ConfigurationRepository.java21
1 files changed, 11 insertions, 10 deletions
diff --git a/common/onap-common-configuration-management/onap-configuration-management-core/src/main/java/org/onap/config/impl/ConfigurationRepository.java b/common/onap-common-configuration-management/onap-configuration-management-core/src/main/java/org/onap/config/impl/ConfigurationRepository.java
index 132043d5b5..5b950d1af6 100644
--- a/common/onap-common-configuration-management/onap-configuration-management-core/src/main/java/org/onap/config/impl/ConfigurationRepository.java
+++ b/common/onap-common-configuration-management/onap-configuration-management-core/src/main/java/org/onap/config/impl/ConfigurationRepository.java
@@ -20,6 +20,7 @@ import java.io.File;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.Collection;
+import java.util.Collections;
import java.util.HashSet;
import java.util.LinkedHashMap;
import java.util.Map;
@@ -38,10 +39,14 @@ public final class ConfigurationRepository {
private static final ConfigurationRepository repo = new ConfigurationRepository();
- private final Set<String> tenants = new HashSet<>();
- private final Set<String> namespaces = new HashSet<>();
- private final LinkedHashMap<String, ConfigurationHolder> store =
+ private final Set<String> tenants = Collections.synchronizedSet(new HashSet<>());
+
+ private final Set<String> namespaces = Collections.synchronizedSet(new HashSet<>());
+
+ private final Map<String, ConfigurationHolder> store = Collections.synchronizedMap(
+
new LinkedHashMap<String, ConfigurationHolder>(16, 0.75f, true) {
+
@Override
protected boolean removeEldestEntry(Map.Entry eldest) {
try {
@@ -51,7 +56,8 @@ public final class ConfigurationRepository {
return false;
}
}
- };
+ });
+
private ConfigurationRepository() {
tenants.add(Constants.DEFAULT_TENANT);
@@ -80,13 +86,8 @@ public final class ConfigurationRepository {
}
public Configuration getConfigurationFor(String tenant, String namespace) throws Exception {
- ConfigurationHolder config;
String module = tenant + Constants.KEY_ELEMENTS_DELIMITER + namespace;
- config = store.get(module);
- if (config == null) {
- config = new ConfigurationHolder(new BasicConfigurationBuilder<>(AgglomerateConfiguration.class));
- store.put(module, config);
- }
+ ConfigurationHolder config = store.get(module);
return config.getConfiguration(tenant + Constants.KEY_ELEMENTS_DELIMITER + namespace);
}