summaryrefslogtreecommitdiffstats
path: root/common/onap-common-configuration-management/onap-configuration-management-core/src/main/java/org/onap/config/impl/CliConfigurationImpl.java
diff options
context:
space:
mode:
authorvempo <vitaliy.emporopulo@amdocs.com>2018-10-28 14:45:46 +0200
committervempo <vitaliy.emporopulo@amdocs.com>2018-10-28 14:45:46 +0200
commit2074ab2e8b4416126542c09205d3ca6646ed6718 (patch)
treeab4e013ce2d30d8e87221b58d673b6525d952dd9 /common/onap-common-configuration-management/onap-configuration-management-core/src/main/java/org/onap/config/impl/CliConfigurationImpl.java
parent313e73a58a9a01bbceb007b6de617fda521bdd6e (diff)
Removed support of dynamic configuration
Configuration framework will not poll configuration for changes, and will not notify client code of them. Also minor cleanup, added unit tests. Change-Id: I428b23f7acb13c6610390f46aae6e011d6b0ee80 Issue-ID: SDC-1867 Signed-off-by: vempo <vitaliy.emporopulo@amdocs.com>
Diffstat (limited to 'common/onap-common-configuration-management/onap-configuration-management-core/src/main/java/org/onap/config/impl/CliConfigurationImpl.java')
-rw-r--r--common/onap-common-configuration-management/onap-configuration-management-core/src/main/java/org/onap/config/impl/CliConfigurationImpl.java161
1 files changed, 3 insertions, 158 deletions
diff --git a/common/onap-common-configuration-management/onap-configuration-management-core/src/main/java/org/onap/config/impl/CliConfigurationImpl.java b/common/onap-common-configuration-management/onap-configuration-management-core/src/main/java/org/onap/config/impl/CliConfigurationImpl.java
index 7f753fd1fd..77d0c11c9f 100644
--- a/common/onap-common-configuration-management/onap-configuration-management-core/src/main/java/org/onap/config/impl/CliConfigurationImpl.java
+++ b/common/onap-common-configuration-management/onap-configuration-management-core/src/main/java/org/onap/config/impl/CliConfigurationImpl.java
@@ -16,17 +16,13 @@
package org.onap.config.impl;
-import static org.onap.config.Constants.DB_NAMESPACE;
import static org.onap.config.Constants.DEFAULT_NAMESPACE;
import static org.onap.config.Constants.DEFAULT_TENANT;
-import static org.onap.config.Constants.KEY_ELEMENTS_DELIMETER;
import static org.onap.config.Constants.LOAD_ORDER_KEY;
import static org.onap.config.Constants.MBEAN_NAME;
import static org.onap.config.Constants.MODE_KEY;
import static org.onap.config.Constants.NAMESPACE_KEY;
-import java.io.File;
-import java.io.PrintWriter;
import java.lang.management.ManagementFactory;
import java.lang.reflect.Method;
import java.util.ArrayList;
@@ -39,22 +35,12 @@ import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import javax.management.MBeanServer;
-import javax.management.MBeanServerDelegate;
-import javax.management.MBeanServerNotification;
-import javax.management.Notification;
import javax.management.ObjectName;
import javax.management.StandardMBean;
-import org.apache.commons.configuration2.CombinedConfiguration;
-import org.apache.commons.configuration2.CompositeConfiguration;
-import org.apache.commons.configuration2.Configuration;
-import org.apache.commons.configuration2.FileBasedConfiguration;
-import org.apache.commons.configuration2.PropertiesConfiguration;
import org.onap.config.ConfigurationUtils;
-import org.onap.config.Constants;
import org.onap.config.api.ConfigurationManager;
import org.onap.config.api.Hint;
import org.onap.config.type.ConfigurationQuery;
-import org.onap.config.type.ConfigurationUpdate;
public final class CliConfigurationImpl extends ConfigurationImpl implements ConfigurationManager {
@@ -65,27 +51,6 @@ public final class CliConfigurationImpl extends ConfigurationImpl implements Con
mbs.unregisterMBean(name);
}
mbs.registerMBean(new StandardMBean(this, ConfigurationManager.class), name);
- mbs.addNotificationListener(MBeanServerDelegate.DELEGATE_NAME,
- (notification, handback) -> handleNotification(notification), null, null);
- }
-
- public void handleNotification(Notification notification) {
- if (notification instanceof MBeanServerNotification) {
- MBeanServerNotification mbs = (MBeanServerNotification) notification;
- if (MBeanServerNotification.UNREGISTRATION_NOTIFICATION.equals(mbs.getType())) {
- try {
- String mbean = ConfigurationRepository.lookup().getConfigurationFor(DEFAULT_TENANT, DB_NAMESPACE)
- .getString("shutdown.mbean");
- if (mbs.getMBeanName().equals(mbean == null ? new ObjectName(MBEAN_NAME) : new ObjectName(mbean))) {
- changeNotifier.shutdown();
- }
- } catch (Exception exception) {
- //do nothing.
- }
- } else if (MBeanServerNotification.REGISTRATION_NOTIFICATION.equals(mbs.getType())) {
- mbs.getMBeanName();
- }
- }
}
public String getConfigurationValue(Map<String, Object> input) {
@@ -116,7 +81,9 @@ public final class CliConfigurationImpl extends ConfigurationImpl implements Con
}
private Object getInput(Map<String, Object> input) {
+
Object toReturn = null;
+
try {
toReturn = Class.forName(input.get("ImplClass").toString()).newInstance();
Method[] methods = toReturn.getClass().getMethods();
@@ -132,111 +99,6 @@ public final class CliConfigurationImpl extends ConfigurationImpl implements Con
return toReturn;
}
- public void updateConfigurationValue(Map<String, Object> input) {
- updateConfigurationValue((ConfigurationUpdate) getInput(input));
- }
-
- private void updateConfigurationValue(ConfigurationUpdate updateData) {
-
- try {
- if (!ConfigurationRepository.lookup().isValidTenant(updateData.getTenant())) {
- throw new RuntimeException("Invalid tenantId.");
- }
- if (!ConfigurationRepository.lookup().isValidNamespace(updateData.getNamespace())) {
- throw new RuntimeException("Invalid Namespace.");
- }
- } catch (NullPointerException e1) {
- e1.printStackTrace();
- }
-
- try {
- boolean keyPresent = isKeyExists(updateData.getTenant(), updateData.getNamespace(), updateData.getKey());
- if (keyPresent) {
- boolean isUpdated = false;
- Object[] paramArray =
- new Object[] {updateData.getTenant() + KEY_ELEMENTS_DELIMETER + updateData.getNamespace(),
- System.currentTimeMillis(), updateData.getKey(), getConfigurationValue(updateData),
- updateData.getValue()};
- Configuration config = ConfigurationRepository.lookup()
- .getConfigurationFor(updateData.getTenant(), updateData.getNamespace());
- if (config instanceof AgglomerateConfiguration || config instanceof CombinedConfiguration) {
- CompositeConfiguration cc = new CompositeConfiguration();
- cc.addConfiguration(config);
- config = cc;
- }
- CompositeConfiguration configuration = (CompositeConfiguration) config;
- int overrideIndex = -1;
- for (int i = 0; i < configuration.getNumberOfConfigurations(); i++) {
- if (!updateData.isNodeOverride() && (
- configuration.getConfiguration(i) instanceof AgglomerateConfiguration
- || configuration.getConfiguration(i) instanceof CombinedConfiguration)) {
- configuration.getConfiguration(i).setProperty(updateData.getKey(), updateData.getValue());
- isUpdated = true;
- break;
- } else if (updateData.isNodeOverride() && configuration.getConfiguration(
- i) instanceof FileBasedConfiguration) {
- configuration.getConfiguration(i).setProperty(updateData.getKey(), updateData.getValue());
- isUpdated = true;
- overrideIndex = i;
- break;
- }
- }
- if (!isUpdated) {
- if (updateData.isNodeOverride()) {
- PropertiesConfiguration pc = new PropertiesConfiguration();
- pc.setProperty(NAMESPACE_KEY,
- updateData.getTenant() + Constants.TENANT_NAMESPACE_SEPARATOR
- + updateData.getNamespace());
- pc.setProperty(MODE_KEY, "OVERRIDE");
- pc.setProperty(updateData.getKey(), updateData.getValue());
- String nodeConfigLocation = System.getProperty("node.config.location");
- if (nodeConfigLocation != null && nodeConfigLocation.trim().length() > 0) {
- File file = new File(nodeConfigLocation,
- updateData.getTenant() + File.separator + updateData.getNamespace() + File.separator
- + "config.properties");
- file.getParentFile().mkdirs();
- PrintWriter out = new PrintWriter(file);
- pc.write(out);
- out.close();
- ConfigurationRepository.lookup().populateOverrideConfiguration(
- updateData.getTenant() + KEY_ELEMENTS_DELIMETER + updateData.getNamespace(), file);
- }
- } else {
- configuration.getConfiguration(0).setProperty(updateData.getKey(), updateData.getValue());
- }
- }
- if (updateData.isNodeOverride()) {
- ConfigurationRepository.lookup().refreshOverrideConfigurationFor(
- updateData.getTenant() + KEY_ELEMENTS_DELIMETER + updateData.getNamespace(), overrideIndex);
- }
- }
- } catch (Exception exception) {
- exception.printStackTrace();
- }
- }
-
- private boolean isKeyExists(String tenant, String namespace, String key) {
- boolean keyExist = false;
- try {
- keyExist = ConfigurationRepository.lookup().getConfigurationFor(tenant, namespace).containsKey(key);
- if (!keyExist && !DEFAULT_TENANT.equals(tenant)) {
- keyExist = ConfigurationRepository.lookup().getConfigurationFor(DEFAULT_TENANT, namespace)
- .containsKey(key);
- }
- if (!keyExist && !DEFAULT_NAMESPACE.equals(namespace)) {
- keyExist = ConfigurationRepository.lookup().getConfigurationFor(tenant, DEFAULT_NAMESPACE)
- .containsKey(key);
- }
- if (!keyExist && !DEFAULT_TENANT.equals(tenant) && !DEFAULT_NAMESPACE.equals(namespace)) {
- keyExist = ConfigurationRepository.lookup().getConfigurationFor(DEFAULT_TENANT, DEFAULT_NAMESPACE)
- .containsKey(key);
- }
- } catch (Exception exception) {
- exception.printStackTrace();
- }
- return keyExist;
- }
-
public Map<String, String> listConfiguration(Map<String, Object> input) {
return listConfiguration((ConfigurationQuery) getInput(input));
}
@@ -256,6 +118,7 @@ public final class CliConfigurationImpl extends ConfigurationImpl implements Con
}
private ArrayList<String> getInMemoryKeys(String tenant, String namespace) {
+
ArrayList<String> keys = new ArrayList<>();
try {
@@ -274,24 +137,6 @@ public final class CliConfigurationImpl extends ConfigurationImpl implements Con
}
@Override
- public boolean updateConfigurationValues(String tenant, String namespace, Map configKeyValueStore) {
- boolean valueToReturn = true;
- for (String s : (Iterable<String>) configKeyValueStore.keySet()) {
- try {
- String key = s;
- ConfigurationUpdate updateData = new ConfigurationUpdate();
- updateData.tenant(tenant).namespace(namespace).key(key);
- updateData.value(configKeyValueStore.get(key).toString());
- updateConfigurationValue(updateData);
- } catch (Exception exception) {
- exception.printStackTrace();
- valueToReturn = false;
- }
- }
- return valueToReturn;
- }
-
- @Override
public Collection<String> getTenants() {
return ConfigurationRepository.lookup().getTenants();
}