@Override public ValueExpression<Boolean> resolve(final String expression) { if (expression == null) return NULL_BOOLEAN_EXPRESSION; final ValueExpression<String> stringResult = STRING_RESOLVER.resolve(expression); final Boolean value = stringResult.getResolvedValue() == null ? null : Boolean.valueOf(stringResult.getResolvedValue()); return new ValueExpressionImpl<Boolean>(expression, value); } };
private static boolean notEqual(final String newValue, final ValueExpression<String> currentValue) { if (newValue == null) { return currentValue.getResolvedValue() != null; } if (currentValue.isExpression()) { final String resolvedCurrentValue = currentValue.getResolvedValue(); final String resolvedNewValue = ValueExpression.STRING_RESOLVER.resolve(newValue).getResolvedValue(); return resolvedCurrentValue == null ? resolvedNewValue != null : !resolvedCurrentValue.equals(resolvedNewValue); } return !newValue.equals(currentValue.getValue()); }
private static boolean notEqual(final ValueExpression<String> newValue, final ValueExpression<String> currentValue) { if (newValue == null) { return currentValue.getResolvedValue() != null; } return !Objects.equals(newValue.getValue(), currentValue.getValue()); }
@Override public void sort(final PropertyConfigurable configurable) { final List<String> sortedNames = new ArrayList<>(configurable.getPropertyNames()); sortedNames.sort(comparator); final Map<String, ValueExpression<String>> orderedValues = new LinkedHashMap<>(sortedNames.size()); // The properties need to be reordered for (String name : sortedNames) { orderedValues.put(name, configurable.getPropertyValueExpression(name)); // Remove the value configurable.removeProperty(name); } // All values should be removed and now need to be added back for (String name : orderedValues.keySet()) { final ValueExpression<String> value = orderedValues.get(name); configurable.setPropertyValueExpression(name, value.getValue()); } } }
@Override public void sort(final PropertyConfigurable configurable) { final List<String> sortedNames = new ArrayList<>(configurable.getPropertyNames()); sortedNames.sort(comparator); final Map<String, ValueExpression<String>> orderedValues = new LinkedHashMap<>(sortedNames.size()); // The properties need to be reordered for (String name : sortedNames) { orderedValues.put(name, configurable.getPropertyValueExpression(name)); // Remove the value configurable.removeProperty(name); } // All values should be removed and now need to be added back for (String name : orderedValues.keySet()) { final ValueExpression<String> value = orderedValues.get(name); configurable.setPropertyValueExpression(name, value.getValue()); } } }
@Override public Boolean getUseParentFilters() { return getUseParentFiltersValueExpression().getResolvedValue(); }
private static boolean booleanNotEqual(final String newValue, final ValueExpression<Boolean> currentValue) { if (newValue == null) { return currentValue.getResolvedValue() != null; } if (currentValue.isExpression()) { final Boolean resolvedCurrentValue = currentValue.getResolvedValue(); final Boolean resolvedNewValue = ValueExpression.BOOLEAN_RESOLVER.resolve(newValue).getResolvedValue(); return resolvedCurrentValue == null ? resolvedNewValue != null : !resolvedCurrentValue.equals(resolvedNewValue); } return !newValue.equals(currentValue.getValue()); }
final String name = logger.getName(); final String prefix = name.isEmpty() ? "logger." : "logger." + name + "."; final String level = (writeExpressions ? logger.getLevelValueExpression().getValue() : logger.getLevel()); if (level != null) { writeProperty(out, prefix, "level", level); final String filterName = (writeExpressions ? logger.getFilterValueExpression().getValue() : logger.getFilter()); if (filterName != null) { writeProperty(out, prefix, "filter", filterName); final String useParentHandlersValue = (writeExpressions ? logger.getUseParentHandlersValueExpression().getValue() : useParentHandlers == null ? null : useParentHandlers.toString()); if (useParentHandlersValue != null) {
public String getFilter() { return getFilterValueExpression().getResolvedValue(); }
writeProperty(out, prefix, "module", moduleName); final String level = (writeExpressions ? handler.getLevelValueExpression().getValue() : handler.getLevel()); if (level != null) { writeProperty(out, prefix, "level", level); final String encoding = (writeExpressions ? handler.getEncodingValueExpression().getValue() : handler.getEncoding()); if (encoding != null) { writeProperty(out, prefix, "encoding", encoding); final String filter = (writeExpressions ? handler.getFilterValueExpression().getValue() : handler.getFilter()); if (filter != null) { writeProperty(out, prefix, "filter", filter); implicitFilters.add(handler.getFilter()); final String formatterName = (writeExpressions ? handler.getFormatterNameValueExpression().getValue() : handler.getFormatterName()); if (formatterName != null) { final String errorManagerName = (writeExpressions ? handler.getErrorManagerNameValueExpression().getValue() : handler.getErrorManagerName()); if (errorManagerName != null) {
public String getEncoding() { return getEncodingValueExpression().getResolvedValue(); }
writeProperty(out, name, propertyConfigurable.getPropertyValueExpression(name).getValue()); } else { writeProperty(out, name, propertyConfigurable.getPropertyValueString(name)); writeProperty(out, prefix, name, propertyConfigurable.getPropertyValueExpression(name).getValue()); } else { writeProperty(out, prefix, name, propertyConfigurable.getPropertyValueString(name));
public String getLevel() { return getLevelValueExpression().getResolvedValue(); }
public String getFilter() { return getFilterValueExpression().getResolvedValue(); }
public Boolean getUseParentHandlers() { return getUseParentHandlersValueExpression().getResolvedValue(); }
public String getErrorManagerName() { return getErrorManagerNameValueExpression().getResolvedValue(); }
public String getLevel() { return getLevelValueExpression().getResolvedValue(); }
public String getFormatterName() { return getFormatterNameValueExpression().getResolvedValue(); }
public String getPropertyValueString(final String propertyName) { return getPropertyValueExpression(propertyName).getResolvedValue(); }
private void setFilter(final ValueExpression<String> valueExpression) { final ValueExpression<String> oldFilterName = this.filter; this.filter = valueExpression; final String filterName = valueExpression.getResolvedValue(); final LogContextConfigurationImpl configuration = getConfiguration(); configuration.addAction(new ConfigAction<ObjectProducer>() { public ObjectProducer validate() throws IllegalArgumentException { return configuration.resolveFilter(filterName); } public void applyPreCreate(final ObjectProducer param) { } public void applyPostCreate(final ObjectProducer param) { configuration.getLoggerRefs().get(getName()).setFilter((Filter) param.getObject()); } public void rollback() { filter = oldFilterName; } }); }