@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); } }
private Object evaluateAll(Object value) { if (value instanceof CharSequence) { return value.toString(); } 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(), evaluateAll(entry.getValue())); } return Collections.unmodifiableMap(newMap); } else if (value instanceof List<?>) { List<Object> newList = Lists.newArrayList(); for (Object entry : (List<?>) value) { newList.add(evaluateAll(entry)); } 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); } }
private Object evaluateAll(Object value) { if (value instanceof CharSequence) { return value.toString(); } 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(), evaluateAll(entry.getValue())); } return Collections.unmodifiableMap(newMap); } else if (value instanceof List<?>) { List<Object> newList = Lists.newArrayList(); for (Object entry : (List<?>) value) { newList.add(evaluateAll(entry)); } return Collections.unmodifiableList(newList); } else { return value; } } }
private Object evaluateAll(Object value) { if (value instanceof CharSequence) { return value.toString(); } 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(), evaluateAll(entry.getValue())); } return Collections.unmodifiableMap(newMap); } else if (value instanceof List<?>) { List<Object> newList = Lists.newArrayList(); for (Object entry : (List<?>) value) { newList.add(evaluateAll(entry)); } 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; } }
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; } }
/** * Creates a new transaction to create, modify or remove containers. * * @return The new transaction object. */ @Override public Transaction newTransaction() { return new ExpressionTransaction(); }
/** * Creates a new transaction to create, modify or remove containers. * * @return The new transaction object. */ @Override public Transaction newTransaction() { return new ExpressionTransaction(); }
/** * Creates a new transaction to create, modify or remove containers. * * @return The new transaction object. */ @Override public Transaction newTransaction() { return new ExpressionTransaction(); }
@Override protected BasicContainerConfig getTemporaryConfig(boolean copyValues) { ExpressionContainerConfig tmp = new ExpressionContainerConfig(getExpressions()); if (copyValues) { tmp.rawConfig = deepCopyConfig(rawConfig); tmp.config = deepCopyConfig(config); } return tmp; }
@Override protected BasicContainerConfig getTemporaryConfig(boolean copyValues) { ExpressionContainerConfig tmp = new ExpressionContainerConfig(getExpressions()); if (copyValues) { tmp.rawConfig = deepCopyConfig(rawConfig); tmp.config = deepCopyConfig(config); } return tmp; }
@Override protected BasicContainerConfig getTemporaryConfig(boolean copyValues) { ExpressionContainerConfig tmp = new ExpressionContainerConfig(getExpressions()); if (copyValues) { tmp.rawConfig = deepCopyConfig(rawConfig); tmp.config = deepCopyConfig(config); } return tmp; }