@Override
protected boolean applyUpdate(final OperationContext context, final String attributeName, final String addressName, final ModelNode value, final LogContextConfiguration logContextConfiguration) throws OperationFailedException {
boolean restartRequired = false;
if (logContextConfiguration.getHandlerNames().contains(addressName)) {
final HandlerConfiguration configuration = logContextConfiguration.getHandlerConfiguration(addressName);
if (LEVEL.getName().equals(attributeName)) {
handleProperty(LEVEL, context, value, logContextConfiguration, configuration, false);
} else if (FILTER.getName().equals(attributeName)) {
// Filter should be replaced by the filter-spec in the super class
handleProperty(FILTER_SPEC, context, value, logContextConfiguration, configuration, false);
} else if (FILTER_SPEC.getName().equals(attributeName)) {
handleProperty(FILTER_SPEC, context, value, logContextConfiguration, configuration, false);
} else if (FORMATTER.getName().equals(attributeName)) {
handleProperty(FORMATTER, context, value, logContextConfiguration, configuration, false);
} else if (ENCODING.getName().equals(attributeName)) {
handleProperty(ENCODING, context, value, logContextConfiguration, configuration, false);
} else if (SUBHANDLERS.getName().equals(attributeName)) {
handleProperty(SUBHANDLERS, context, value, logContextConfiguration, configuration, false);
} else if (PROPERTIES.getName().equals(attributeName)) {
for (Property property : value.asPropertyList()) {
configuration.setPropertyValueString(property.getName(), property.getValue().asString());
}
} else {
for (AttributeDefinition attribute : getAttributes()) {
if (attribute.getName().equals(attributeName)) {
handleProperty(attribute, context, value, logContextConfiguration, configuration, false);