diff options
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.java | 168 |
1 files changed, 70 insertions, 98 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 ada40ce6e8..7f753fd1fd 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 @@ -19,7 +19,7 @@ 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_DELEMETER; +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; @@ -32,6 +32,7 @@ import java.lang.reflect.Method; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; +import java.util.Collections; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; @@ -55,16 +56,8 @@ import org.onap.config.api.Hint; import org.onap.config.type.ConfigurationQuery; import org.onap.config.type.ConfigurationUpdate; -/** - * The type Cli configuration. - */ public final class CliConfigurationImpl extends ConfigurationImpl implements ConfigurationManager { - /** - * Instantiates a new Cli configuration. - * - * @throws Exception the exception - */ public CliConfigurationImpl() throws Exception { MBeanServer mbs = ManagementFactory.getPlatformMBeanServer(); ObjectName name = new ObjectName(MBEAN_NAME); @@ -73,26 +66,17 @@ public final class CliConfigurationImpl extends ConfigurationImpl implements Con } mbs.registerMBean(new StandardMBean(this, ConfigurationManager.class), name); mbs.addNotificationListener(MBeanServerDelegate.DELEGATE_NAME, - (notification, handback) -> handleNotification(notification), null, - null); + (notification, handback) -> handleNotification(notification), null, null); } - - /** - * Handle notification. - * - * @param notification the notification - */ 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))) { + 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) { @@ -118,12 +102,12 @@ public final class CliConfigurationImpl extends ConfigurationImpl implements Con queryData.isNodeSpecific() ? Hint.NODE_SPECIFIC : Hint.DEFAULT)); } else { String[] list = - getInternal(queryData.getTenant(), queryData.getNamespace(), queryData.getKey(), - String[].class, queryData.isLatest() ? Hint.LATEST_LOOKUP : Hint.DEFAULT, + getInternal(queryData.getTenant(), queryData.getNamespace(), queryData.getKey(), String[].class, + queryData.isLatest() ? Hint.LATEST_LOOKUP : Hint.DEFAULT, queryData.isExternalLookup() ? Hint.EXTERNAL_LOOKUP : Hint.DEFAULT, queryData.isNodeSpecific() ? Hint.NODE_SPECIFIC : Hint.DEFAULT); return ConfigurationUtils - .getCommaSeparatedList(list == null ? Arrays.asList() : Arrays.asList(list)); + .getCommaSeparatedList(list == null ? Collections.emptyList() : Arrays.asList(list)); } } catch (Exception exception) { exception.printStackTrace(); @@ -131,6 +115,23 @@ public final class CliConfigurationImpl extends ConfigurationImpl implements Con return null; } + private Object getInput(Map<String, Object> input) { + Object toReturn = null; + try { + toReturn = Class.forName(input.get("ImplClass").toString()).newInstance(); + Method[] methods = toReturn.getClass().getMethods(); + for (Method method : methods) { + if (input.containsKey(method.getName())) { + method.invoke(toReturn, input.get(method.getName())); + } + } + } catch (Exception exception) { + exception.printStackTrace(); + } + + return toReturn; + } + public void updateConfigurationValue(Map<String, Object> input) { updateConfigurationValue((ConfigurationUpdate) getInput(input)); } @@ -149,14 +150,13 @@ public final class CliConfigurationImpl extends ConfigurationImpl implements Con } try { - boolean keyPresent = - isKeyExists(updateData.getTenant(), updateData.getNamespace(), updateData.getKey()); + boolean keyPresent = isKeyExists(updateData.getTenant(), updateData.getNamespace(), updateData.getKey()); if (keyPresent) { boolean isUpdated = false; - Object[] paramArray = new Object[]{ - updateData.getTenant() + KEY_ELEMENTS_DELEMETER + updateData.getNamespace(), - new Long(System.currentTimeMillis()), updateData.getKey(), - getConfigurationValue(updateData), updateData.getValue()}; + 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) { @@ -167,17 +167,15 @@ public final class CliConfigurationImpl extends ConfigurationImpl implements Con 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()); + 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()); + } else if (updateData.isNodeOverride() && configuration.getConfiguration( + i) instanceof FileBasedConfiguration) { + configuration.getConfiguration(i).setProperty(updateData.getKey(), updateData.getValue()); isUpdated = true; overrideIndex = i; break; @@ -187,32 +185,29 @@ public final class CliConfigurationImpl extends ConfigurationImpl implements Con if (updateData.isNodeOverride()) { PropertiesConfiguration pc = new PropertiesConfiguration(); pc.setProperty(NAMESPACE_KEY, - updateData.getTenant() + Constants.TENANT_NAMESPACE_SAPERATOR + 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"); + 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().populateOverrideConfigurtaion( - updateData.getTenant() + KEY_ELEMENTS_DELEMETER + updateData.getNamespace(), - file); + ConfigurationRepository.lookup().populateOverrideConfiguration( + updateData.getTenant() + KEY_ELEMENTS_DELIMETER + updateData.getNamespace(), file); } } else { - configuration.getConfiguration(0) - .setProperty(updateData.getKey(), updateData.getValue()); + configuration.getConfiguration(0).setProperty(updateData.getKey(), updateData.getValue()); } } if (updateData.isNodeOverride()) { - ConfigurationRepository.lookup().refreshOverrideConfigurtaionFor( - updateData.getTenant() + KEY_ELEMENTS_DELEMETER + updateData.getNamespace(), - overrideIndex); + ConfigurationRepository.lookup().refreshOverrideConfigurationFor( + updateData.getTenant() + KEY_ELEMENTS_DELIMETER + updateData.getNamespace(), overrideIndex); } } } catch (Exception exception) { @@ -223,8 +218,7 @@ public final class CliConfigurationImpl extends ConfigurationImpl implements Con private boolean isKeyExists(String tenant, String namespace, String key) { boolean keyExist = false; try { - keyExist = - ConfigurationRepository.lookup().getConfigurationFor(tenant, namespace).containsKey(key); + keyExist = ConfigurationRepository.lookup().getConfigurationFor(tenant, namespace).containsKey(key); if (!keyExist && !DEFAULT_TENANT.equals(tenant)) { keyExist = ConfigurationRepository.lookup().getConfigurationFor(DEFAULT_TENANT, namespace) .containsKey(key); @@ -234,9 +228,8 @@ public final class CliConfigurationImpl extends ConfigurationImpl implements Con .containsKey(key); } if (!keyExist && !DEFAULT_TENANT.equals(tenant) && !DEFAULT_NAMESPACE.equals(namespace)) { - keyExist = - ConfigurationRepository.lookup().getConfigurationFor(DEFAULT_TENANT, DEFAULT_NAMESPACE) - .containsKey(key); + keyExist = ConfigurationRepository.lookup().getConfigurationFor(DEFAULT_TENANT, DEFAULT_NAMESPACE) + .containsKey(key); } } catch (Exception exception) { exception.printStackTrace(); @@ -262,14 +255,30 @@ public final class CliConfigurationImpl extends ConfigurationImpl implements Con return map; } + private ArrayList<String> getInMemoryKeys(String tenant, String namespace) { + ArrayList<String> keys = new ArrayList<>(); + + try { + Iterator<String> iter = ConfigurationRepository.lookup().getConfigurationFor(tenant, namespace).getKeys(); + while (iter.hasNext()) { + String key = iter.next(); + if (!(key.equals(NAMESPACE_KEY) || key.equals(MODE_KEY) || key.equals(LOAD_ORDER_KEY))) { + keys.add(key); + } + } + } catch (Exception exception) { + //do nothing + } + + return keys; + } + @Override - public boolean updateConfigurationValues(String tenant, String namespace, - Map configKeyValueStore) { + public boolean updateConfigurationValues(String tenant, String namespace, Map configKeyValueStore) { boolean valueToReturn = true; - Iterator<String> keys = configKeyValueStore.keySet().iterator(); - while (keys.hasNext()) { + for (String s : (Iterable<String>) configKeyValueStore.keySet()) { try { - String key = keys.next(); + String key = s; ConfigurationUpdate updateData = new ConfigurationUpdate(); updateData.tenant(tenant).namespace(namespace).key(key); updateData.value(configKeyValueStore.get(key).toString()); @@ -282,23 +291,6 @@ public final class CliConfigurationImpl extends ConfigurationImpl implements Con return valueToReturn; } - private Object getInput(Map<String, Object> input) { - Object toReturn = null; - try { - toReturn = Class.forName(input.get("ImplClass").toString()).newInstance(); - Method[] methods = toReturn.getClass().getMethods(); - for (Method method : methods) { - if (input.containsKey(method.getName())) { - method.invoke(toReturn, input.get(method.getName())); - } - } - } catch (Exception exception) { - exception.printStackTrace(); - } - - return toReturn; - } - @Override public Collection<String> getTenants() { return ConfigurationRepository.lookup().getTenants(); @@ -309,26 +301,6 @@ public final class CliConfigurationImpl extends ConfigurationImpl implements Con return ConfigurationRepository.lookup().getNamespaces(); } - private ArrayList<String> getInMemoryKeys(String tenant, String namespace) { - ArrayList<String> keys = new ArrayList<>(); - - try { - Iterator<String> iter = - ConfigurationRepository.lookup().getConfigurationFor(tenant, namespace).getKeys(); - while (iter.hasNext()) { - String key = iter.next(); - if (!(key.equals(NAMESPACE_KEY) || key.equals(MODE_KEY) - || key.equals(LOAD_ORDER_KEY))) { - keys.add(key); - } - } - } catch (Exception exception) { - //do nothing - } - - return keys; - } - @Override public Collection<String> getKeys(String tenant, String namespace) { Set<String> keyCollection = new HashSet<>(); |