public LogHandlerListAttributeDefinition build() { if (xmlName == null) xmlName = name; if (maxSize < 1) maxSize = Integer.MAX_VALUE; if (propertyName == null) propertyName = name; if (attributeMarshaller == null) attributeMarshaller = HandlersAttributeMarshaller.INSTANCE; return new LogHandlerListAttributeDefinition(name, xmlName, propertyName, CommonAttributes.HANDLER, allowNull, minSize, maxSize, alternatives, requires, attributeMarshaller, resourceOnly, deprecated, flags); }
@Override public void updateModel(final ModelNode operation, final ModelNode model) throws OperationFailedException { HANDLER_NAME.validateAndSet(operation, model); model.get(SUBHANDLERS.getName()).add(operation.get(HANDLER_NAME.getName())); }
private void writeCommonLogger(final XMLExtendedStreamWriter writer, final ModelNode node) throws XMLStreamException { LEVEL.marshallAsElement(node, writer); FILTER_SPEC.marshallAsElement(node, writer); HANDLERS.marshallAsElement(node, writer); }
final String resolvedValue = (resolveValue ? LEVEL.resolvePropertyValue(context, model) : LEVEL.resolver().resolveValue(context, model)); configuration.setLevel(resolvedValue); } else if (attribute.getName().equals(SUBHANDLERS.getName())) { final Collection<String> resolvedValue = (resolveValue ? SUBHANDLERS.resolvePropertyValue(context, model) : SUBHANDLERS.resolver().resolveValue(context, model)); if (resolvedValue.contains(configuration.getName())) { throw createOperationFailure(LoggingMessages.MESSAGES.cannotAddHandlerToSelf(configuration.getName()));
private static void handleProperty(final AttributeDefinition attribute, final OperationContext context, final ModelNode model, final LoggerConfiguration configuration, final boolean resolveValue) throws OperationFailedException { if (FILTER_SPEC.equals(attribute)) { final ModelNode valueNode = (resolveValue ? FILTER_SPEC.resolveModelAttribute(context, model) : model); final String resolvedValue = (valueNode.isDefined() ? valueNode.asString() : null); configuration.setFilter(resolvedValue); } else if (LEVEL.equals(attribute)) { final String resolvedValue = (resolveValue ? LEVEL.resolvePropertyValue(context, model) : LEVEL.resolver().resolveValue(context, model)); configuration.setLevel(resolvedValue); } else if (HANDLERS.equals(attribute)) { final Collection<String> resolvedValue = (resolveValue ? HANDLERS.resolvePropertyValue(context, model) : HANDLERS.resolver().resolveValue(context, model)); configuration.setHandlerNames(resolvedValue); } else if (USE_PARENT_HANDLERS.equals(attribute)) { final ModelNode useParentHandlers = (resolveValue ? USE_PARENT_HANDLERS.resolveModelAttribute(context, model) : model); final Boolean resolvedValue = (useParentHandlers.isDefined() ? useParentHandlers.asBoolean() : null); configuration.setUseParentHandlers(resolvedValue); } }
final String currentValue = configuration.getLevel(); result = (resolvedValue == null ? currentValue == null : resolvedValue.equals(configuration.getLevel())); } else if (attribute.getName().equals(SUBHANDLERS.getName())) { final Collection<String> resolvedValue = SUBHANDLERS.resolvePropertyValue(context, model); final Collection<String> currentValue = configuration.getHandlerNames(); result = (resolvedValue == null ? currentValue == null : resolvedValue.containsAll(currentValue));
@Override public Set<String> resolvePropertyValue(final OperationContext context, final ModelNode model) throws OperationFailedException { Set<String> result = Collections.emptySet(); final ModelNode value = resolveModelAttribute(context, model); if (value.isDefined()) { result = resolver.resolveValue(context, value); } return result; }
@Override public void updateModel(final ModelNode operation, final ModelNode model) throws OperationFailedException { HANDLER_NAME.validateAndSet(operation, model); model.get(HANDLERS.getName()).add(operation.get(HANDLER_NAME.getName())); }
private void writeAsynchHandler(final XMLExtendedStreamWriter writer, final ModelNode node, final String name) throws XMLStreamException { writer.writeStartElement(Element.ASYNC_HANDLER.getLocalName()); writer.writeAttribute(HANDLER_NAME.getXmlName(), name); ENABLED.marshallAsAttribute(node, false, writer); LEVEL.marshallAsElement(node, writer); FILTER_SPEC.marshallAsElement(node, writer); FORMATTER.marshallAsElement(node, writer); QUEUE_LENGTH.marshallAsElement(node, writer); OVERFLOW_ACTION.marshallAsElement(node, writer); SUBHANDLERS.marshallAsElement(node, writer); writer.writeEndElement(); }
@Override public void updateModel(final ModelNode operation, final ModelNode model) throws OperationFailedException { HANDLER_NAME.validateAndSet(operation, model); final String handlerName = model.get(HANDLER_NAME.getName()).asString(); // Create a new handler list for the model boolean found = false; final List<ModelNode> handlers = model.get(HANDLERS.getName()).asList(); final List<ModelNode> newHandlers = new ArrayList<ModelNode>(handlers.size()); for (ModelNode handler : handlers) { if (handlerName.equals(handler.asString())) { found = true; } else { newHandlers.add(handler); } } if (found) { model.get(HANDLERS.getName()).set(newHandlers); } }
@Override public void updateModel(final ModelNode operation, final ModelNode model) throws OperationFailedException { HANDLER_NAME.validateAndSet(operation, model); final String handlerName = model.get(HANDLER_NAME.getName()).asString(); // Create a new handler list for the model boolean found = false; final List<ModelNode> handlers = model.get(SUBHANDLERS.getName()).asList(); final List<ModelNode> newHandlers = new ArrayList<ModelNode>(handlers.size()); for (ModelNode handler : handlers) { if (handlerName.equals(handler.asString())) { found = true; } else { newHandlers.add(handler); } } if (found) { model.get(SUBHANDLERS.getName()).set(newHandlers); } }
@Override protected boolean applyUpdate(final OperationContext context, final String attributeName, final String addressName, final ModelNode value, final LogContextConfiguration logContextConfiguration) throws OperationFailedException { final String loggerName = getLogManagerLoggerName(addressName); if (logContextConfiguration.getLoggerNames().contains(loggerName)) { final LoggerConfiguration configuration = logContextConfiguration.getLoggerConfiguration(loggerName); if (LEVEL.getName().equals(attributeName)) { handleProperty(LEVEL, context, value, 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, configuration, false); } else if (FILTER_SPEC.getName().equals(attributeName)) { handleProperty(FILTER_SPEC, context, value, configuration, false); } else if (HANDLERS.getName().equals(attributeName)) { handleProperty(HANDLERS, context, value, configuration, false); } else if (USE_PARENT_HANDLERS.getName().equals(attributeName)) { handleProperty(USE_PARENT_HANDLERS, context, value, configuration, false); } } return 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)) {
parseHandlersElement(node.get(HANDLERS.getName()), reader); break;
parseHandlersElement(op.get(HANDLERS.getName()), reader); break;
parseHandlersElement(node.get(SUBHANDLERS.getName()), reader); break;