protected void writeMonitor(HierarchicalStreamWriter writer, Monitor monitor) { String monitorClassName = monitor.getClass().getName(); int classIdx = monitorClassName.lastIndexOf('.'); if (classIdx >= 0) { monitorClassName = monitorClassName.substring(classIdx + 1); } writer.startNode(monitorClassName); appendMonitorDataAsAttributes(writer, monitor); // recursively add all child monitors to dom tree if (CompositeMonitor.class.isAssignableFrom(monitor.getClass())) { CompositeMonitor cm = (CompositeMonitor) monitor; Collection childMonitors = cm.getChildMonitors(); Iterator childIterator = childMonitors.iterator(); while (childIterator.hasNext()) { Monitor childMonitor = (Monitor) childIterator.next(); writeMonitor(writer, childMonitor); } } writer.endNode(); }
Collection childMonitors = compositeMonitor.getChildMonitors(); if(!childMonitors.isEmpty()) { StringBuffer lastBuffer = null;
private Monitor getRenamedMonitor(Monitor monitor) { String newName = getMonitorNamePrefix(monitor) + getAttributeAsStringWithDefault(monitor, Attribute.NAME, ""); Monitor renamedMonitor; if (CompositeMonitor.class.isAssignableFrom(monitor.getClass())) { renamedMonitor = new NonLifecycleMonitor(newName, monitor.getAll(), ((CompositeMonitor) monitor).getChildMonitors()); } else { renamedMonitor = new NonLifecycleMonitor(newName, monitor.getAll()); } return renamedMonitor; }