private Object parseAll(Object value, ELContext context) { if (value instanceof String) { return new DynamicConfigProperty((String) value, expressions, context); } else if (value instanceof Map<?, ?>) { Map<?, ?> mapValue = (Map<?, ?>) value; Map<Object, Object> newMap = Maps.newHashMap(); for (Map.Entry<?, ?> entry : mapValue.entrySet()) { newMap.put(entry.getKey(), parseAll(entry.getValue(), context)); } return Collections.unmodifiableMap(newMap); } else if (value instanceof List<?>) { List<Object> newList = Lists.newArrayList(); for (Object entry : (List<?>) value) { newList.add(parseAll(entry, context)); } return Collections.unmodifiableList(newList); } else { return value; } }
private Object parseAll(Object value, ELContext context) { if (value instanceof String) { return new DynamicConfigProperty((String) value, expressions, context); } else if (value instanceof Map<?, ?>) { Map<?, ?> mapValue = (Map<?, ?>) value; Map<Object, Object> newMap = Maps.newHashMap(); for (Map.Entry<?, ?> entry : mapValue.entrySet()) { newMap.put(entry.getKey(), parseAll(entry.getValue(), context)); } return Collections.unmodifiableMap(newMap); } else if (value instanceof List<?>) { List<Object> newList = Lists.newArrayList(); for (Object entry : (List<?>) value) { newList.add(parseAll(entry, context)); } return Collections.unmodifiableList(newList); } else { return value; } }
private Object parseAll(Object value, ELContext context) { if (value instanceof String) { return new DynamicConfigProperty((String) value, expressions, context); } else if (value instanceof Map<?, ?>) { Map<?, ?> mapValue = (Map<?, ?>) value; Map<Object, Object> newMap = Maps.newHashMap(); for (Map.Entry<?, ?> entry : mapValue.entrySet()) { newMap.put(entry.getKey(), parseAll(entry.getValue(), context)); } return Collections.unmodifiableMap(newMap); } else if (value instanceof List<?>) { List<Object> newList = Lists.newArrayList(); for (Object entry : (List<?>) value) { newList.add(parseAll(entry, context)); } return Collections.unmodifiableList(newList); } else { return value; } }
@Override @SuppressWarnings("unchecked") protected void changeContainersInConfig(BasicContainerConfig config, Map<String, Map<String, Object>> setContainers, Set<String> removeContainers) throws ContainerConfigException { ExpressionContainerConfig tmp = (ExpressionContainerConfig) config; tmp.rawConfig.putAll(setContainers); for (String container : removeContainers) { tmp.rawConfig.remove(container); } tmp.config.clear(); for (String container : tmp.rawConfig.keySet()) { Map<String, Object> merged = mergeParents(container, tmp.rawConfig); tmp.rawConfig.put(container, merged); Map<String, Object> value = (Map<String, Object>) parseAll(merged, tmp.createExpressionContext(container)); tmp.config.put(container, value); } for (String container : tmp.config.keySet()) { Map<String, Object> value = (Map<String, Object>) evaluateAll(tmp.config.get(container)); tmp.config.put(container, value); } }
@Override @SuppressWarnings("unchecked") protected void changeContainersInConfig(BasicContainerConfig config, Map<String, Map<String, Object>> setContainers, Set<String> removeContainers) throws ContainerConfigException { ExpressionContainerConfig tmp = (ExpressionContainerConfig) config; tmp.rawConfig.putAll(setContainers); for (String container : removeContainers) { tmp.rawConfig.remove(container); } tmp.config.clear(); for (String container : tmp.rawConfig.keySet()) { Map<String, Object> merged = mergeParents(container, tmp.rawConfig); tmp.rawConfig.put(container, merged); Map<String, Object> value = (Map<String, Object>) parseAll(merged, tmp.createExpressionContext(container)); tmp.config.put(container, value); } for (String container : tmp.config.keySet()) { Map<String, Object> value = (Map<String, Object>) evaluateAll(tmp.config.get(container)); tmp.config.put(container, value); } }
@Override @SuppressWarnings("unchecked") protected void changeContainersInConfig(BasicContainerConfig config, Map<String, Map<String, Object>> setContainers, Set<String> removeContainers) throws ContainerConfigException { ExpressionContainerConfig tmp = (ExpressionContainerConfig) config; tmp.rawConfig.putAll(setContainers); for (String container : removeContainers) { tmp.rawConfig.remove(container); } tmp.config.clear(); for (String container : tmp.rawConfig.keySet()) { Map<String, Object> merged = mergeParents(container, tmp.rawConfig); tmp.rawConfig.put(container, merged); Map<String, Object> value = (Map<String, Object>) parseAll(merged, tmp.createExpressionContext(container)); tmp.config.put(container, value); } for (String container : tmp.config.keySet()) { Map<String, Object> value = (Map<String, Object>) evaluateAll(tmp.config.get(container)); tmp.config.put(container, value); } }