- public static LinkedHashMap toMap(Configuration config) {
- Iterator<String> iterator = config.getKeys();
- LinkedHashMap<String, String> map = new LinkedHashMap<>();
- while (iterator.hasNext()) {
- String key = iterator.next();
- if (!(key.equals(Constants.MODE_KEY) || key.equals(Constants.NAMESPACE_KEY) || key.equals(
- Constants.LOAD_ORDER_KEY))) {
- map.put(key, config.getProperty(key).toString());
- }
- }
-
- return map;
- }
-
- public static Map diff(LinkedHashMap orig, LinkedHashMap latest) {
- orig = new LinkedHashMap<>(orig);
- latest = new LinkedHashMap<>(latest);
- List<String> set = new ArrayList(orig.keySet());
- for (String key : set) {
- if (latest.remove(key, orig.get(key))) {
- orig.remove(key);
- }
- }
- Set<String> keys = latest.keySet();
- for (String key : keys) {
- orig.remove(key);
- }
- set = new ArrayList(orig.keySet());
- for (String key : set) {
- latest.put(key, "");
- }
- return new HashMap<>(latest);
- }
-
- public static boolean isArray(String tenant, String namespace, String key, int processingHints) throws Exception {
- Object obj = ConfigurationUtils
- .getProperty(ConfigurationRepository.lookup().getConfigurationFor(tenant, namespace), key,
- processingHints);
- return (obj != null) && ConfigurationUtils.isCollection(obj.toString());
- }
-