private static ModelNode readModel(final PathAddress address, final Resource resource, final int level, final ImmutableManagementResourceRegistration mrr, final ResourceFilter filter) { final ModelNode model = resource.getModel().clone(); final boolean recursive = level == -1 || level > 0; if (recursive) { final int newLevel = level == -1 ? -1 : level - 1; Set<String> validChildTypes = mrr == null ? null : getNonIgnoredChildTypes(mrr); for (final String childType : resource.getChildTypes()) { if (validChildTypes != null && !validChildTypes.contains(childType)) { continue; } model.get(childType).setEmptyObject(); for (final ResourceEntry entry : resource.getChildren(childType)) { if (filter.accepts(address.append(entry.getPathElement()), resource)) { ImmutableManagementResourceRegistration childMrr = mrr == null ? null : mrr.getSubModel(address.append(entry.getPathElement())); model.get(childType, entry.getName()).set(readModel(entry, newLevel, childMrr, filter)); } } } } return model; }
private static ModelNode readModel(final PathAddress address, final Resource resource, final int level, final ImmutableManagementResourceRegistration mrr, final ResourceFilter filter) { final ModelNode model = resource.getModel().clone(); final boolean recursive = level == -1 || level > 0; if (recursive) { final int newLevel = level == -1 ? -1 : level - 1; Set<String> validChildTypes = mrr == null ? null : getNonIgnoredChildTypes(mrr); for (final String childType : resource.getChildTypes()) { if (validChildTypes != null && !validChildTypes.contains(childType)) { continue; } model.get(childType).setEmptyObject(); for (final ResourceEntry entry : resource.getChildren(childType)) { if (filter.accepts(address.append(entry.getPathElement()), resource)) { ImmutableManagementResourceRegistration childMrr = mrr == null ? null : mrr.getSubModel(address.append(entry.getPathElement())); model.get(childType, entry.getName()).set(readModel(entry, newLevel, childMrr, filter)); } } } } return model; }