static final LoggingDescribeHandler INSTANCE = new LoggingDescribeHandler();
public void execute(OperationContext context, ModelNode operation) throws OperationFailedException {
final ModelNode model = context.readModel(PathAddress.EMPTY_ADDRESS);
PathAddress rootAddress = PathAddress.pathAddress(PathAddress.pathAddress(operation.require(OP_ADDR)).getLastElement());
final ModelNode result = context.getResult();
result.add(LoggingExtension.NewLoggingSubsystemAdd.createOperation(rootAddress.toModelNode()));
if (model.hasDefined(ROOT_LOGGER)) {
final ModelNode add = Util.getEmptyOperation(RootLoggerAdd.OPERATION_NAME, rootAddress.append(LoggingExtension.rootLoggerPath).toModelNode());
final ModelNode rootLogger = model.get(ROOT_LOGGER, ROOT_LOGGER_NAME);
copy(LEVEL, rootLogger, add);
copy(FILTER, rootLogger, add);
copy(HANDLERS, rootLogger, add);
result.add(add);
}
if (model.hasDefined(LOGGER)) {
for (Property prop : model.get(LOGGER).asPropertyList()) {
ModelNode add = Util.getEmptyOperation(ADD, rootAddress.append(PathElement.pathElement(LOGGER, prop.getName())).toModelNode());
copy(NAME, prop.getValue(), add);
copy(CATEGORY, prop.getValue(), add);
copy(USE_PARENT_HANDLERS, prop.getValue(), add);
copy(HANDLERS, prop.getValue(), add);
copy(LEVEL, prop.getValue(), add);