/*
* Copyright © 2016-2018 European Support Limited
+ * Modifications Copyright (c) 2019 Samsung
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
import org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder;
import org.onap.config.ConfigurationUtils;
import org.onap.config.Constants;
+import org.openecomp.sdc.logging.api.Logger;
+import org.openecomp.sdc.logging.api.LoggerFactory;
public final class ConfigurationRepository {
+ private static final Logger logger = LoggerFactory.getLogger(ConfigurationRepository.class);
private static final ConfigurationRepository REPO = new ConfigurationRepository();
private final Set<String> tenants = Collections.synchronizedSet(new HashSet<>());
protected boolean removeEldestEntry(Map.Entry eldest) {
try {
return size() > getConfigurationFor(Constants.DEFAULT_TENANT, Constants.DB_NAMESPACE)
- .getInt("config.size.max");
+ .getInt("config.size.max");
} catch (Exception exception) {
+ logger.info("ConfigurationException", exception);
return false;
}
}
});
-
private ConfigurationRepository() {
tenants.add(Constants.DEFAULT_TENANT);
namespaces.add(Constants.DEFAULT_NAMESPACE);
return namespaces;
}
-
public boolean isValidTenant(String tenant) {
return tenant != null && tenants.contains(tenant.toUpperCase());
}
public Configuration getConfigurationFor(String tenant, String namespace) throws Exception {
String module = tenant + Constants.KEY_ELEMENTS_DELIMITER + namespace;
ConfigurationHolder config = store.get(module);
- return config.getConfiguration(tenant + Constants.KEY_ELEMENTS_DELIMITER + namespace);
+ return config.getConfiguration();
}
public void populateConfiguration(String key, Configuration builder) {
}
private Configuration getEffectiveConfiguration(Configuration configuration,
- Collection<FileBasedConfigurationBuilder<FileBasedConfiguration>> list) {
+ Collection<FileBasedConfigurationBuilder<FileBasedConfiguration>> list) {
try {
CompositeConfiguration cc = new CompositeConfiguration();
for (FileBasedConfigurationBuilder<FileBasedConfiguration> b : list) {
composite = cc;
return composite;
} catch (Exception exception) {
+ logger.info("ConfigurationException", exception);
return null;
}
}
- public Configuration getConfiguration(String namespace) throws Exception {
-
+ public Configuration getConfiguration() throws Exception {
if (config == null) {
config = builder.getConfiguration();
lastConfigurationBuildTime = new Timestamp(System.currentTimeMillis());
} else if (lastConfigurationBuildTime != null
- && System.currentTimeMillis() - lastConfigurationBuildTime.getTime()
- > getConfigurationFor(Constants.DEFAULT_TENANT, Constants.DB_NAMESPACE)
- .getInt("config.refresh.interval")) {
+ && System.currentTimeMillis() - lastConfigurationBuildTime.getTime()
+ > getConfigurationFor(Constants.DEFAULT_TENANT, Constants.DB_NAMESPACE)
+ .getInt("config.refresh.interval")) {
lastConfigurationBuildTime = new Timestamp(System.currentTimeMillis());
}