From 461e964344d01e245464980b6ace12e4b28569e6 Mon Sep 17 00:00:00 2001 From: vempo Date: Wed, 31 Oct 2018 10:27:59 +0200 Subject: Removed JMX, other unused code from configuration Removed code duplicates, stabilized test execution via Maven, re-aranged code, fixed spelling. Change-Id: I41fc303ea0a8c7d78d89a12bb20850de51cb8c52 Issue-ID: SDC-1867 Signed-off-by: vempo --- .../org/onap/config/impl/CliConfigurationImpl.java | 61 +++++++++++++--------- 1 file changed, 36 insertions(+), 25 deletions(-) (limited to 'common/onap-common-configuration-management/onap-configuration-management-core/src/main/java/org/onap/config/impl/CliConfigurationImpl.java') 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 77d0c11c9f..03b2075bac 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,24 +19,19 @@ package org.onap.config.impl; import static org.onap.config.Constants.DEFAULT_NAMESPACE; import static org.onap.config.Constants.DEFAULT_TENANT; 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.lang.management.ManagementFactory; 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; +import java.util.List; import java.util.Map; import java.util.Set; -import javax.management.MBeanServer; -import javax.management.ObjectName; -import javax.management.StandardMBean; import org.onap.config.ConfigurationUtils; import org.onap.config.api.ConfigurationManager; import org.onap.config.api.Hint; @@ -44,13 +39,10 @@ import org.onap.config.type.ConfigurationQuery; public final class CliConfigurationImpl extends ConfigurationImpl implements ConfigurationManager { + private static final List KEYS_TO_FILTER = Arrays.asList(NAMESPACE_KEY, MODE_KEY, LOAD_ORDER_KEY); + public CliConfigurationImpl() throws Exception { - MBeanServer mbs = ManagementFactory.getPlatformMBeanServer(); - ObjectName name = new ObjectName(MBEAN_NAME); - if (mbs.isRegistered(name)) { - mbs.unregisterMBean(name); - } - mbs.registerMBean(new StandardMBean(this, ConfigurationManager.class), name); + super(); } public String getConfigurationValue(Map input) { @@ -58,40 +50,51 @@ public final class CliConfigurationImpl extends ConfigurationImpl implements Con } private String getConfigurationValue(ConfigurationQuery queryData) { + try { + + Hint[] hints = getHints(queryData); + + String[] value; if (queryData.isFallback()) { - return ConfigurationUtils.getCommaSeparatedList( - get(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)); + value = get(queryData.getTenant(), queryData.getNamespace(), queryData.getKey(), String[].class, hints); } else { - String[] list = - 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 ? Collections.emptyList() : Arrays.asList(list)); + value = getInternal(queryData.getTenant(), queryData.getNamespace(), queryData.getKey(), String[].class, + hints); } + + return ConfigurationUtils.getCommaSeparatedList(value); + } catch (Exception exception) { exception.printStackTrace(); } + return null; } + private Hint[] getHints(ConfigurationQuery query) { + List hints = new ArrayList<>(Hint.values().length); + hints.add(query.isLatest() ? Hint.LATEST_LOOKUP : Hint.DEFAULT); + hints.add(query.isExternalLookup() ? Hint.EXTERNAL_LOOKUP : Hint.DEFAULT); + hints.add(query.isNodeSpecific() ? Hint.NODE_SPECIFIC : Hint.DEFAULT); + return hints.toArray(new Hint[0]); + } + private Object getInput(Map 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(); } @@ -104,16 +107,21 @@ public final class CliConfigurationImpl extends ConfigurationImpl implements Con } private Map listConfiguration(ConfigurationQuery query) { + Map map = new HashMap<>(); + try { + Collection keys = getKeys(query.getTenant(), query.getNamespace()); for (String key : keys) { map.put(key, getConfigurationValue(query.key(key))); } + } catch (Exception exception) { exception.printStackTrace(); return null; } + return map; } @@ -122,13 +130,16 @@ public final class CliConfigurationImpl extends ConfigurationImpl implements Con ArrayList keys = new ArrayList<>(); try { + Iterator 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))) { + if (!KEYS_TO_FILTER.contains(key)) { keys.add(key); } } + } catch (Exception exception) { //do nothing } -- cgit 1.2.3-korg