001 /*
002 @license.text@
003 */
004 package biz.hammurapi.metrics;
005
006 import java.util.Collections;
007 import java.util.Iterator;
008 import java.util.LinkedList;
009
010 import org.w3c.dom.Document;
011 import org.w3c.dom.Element;
012
013 import biz.hammurapi.render.RenderRequest;
014 import biz.hammurapi.render.RenderingException;
015 import biz.hammurapi.render.dom.AbstractRenderer;
016 import biz.hammurapi.render.dom.DomRenderer;
017
018
019 /**
020 * @author Pavel Vlasov
021 * @version $Revision: 1.4 $
022 */
023 public class MetricSourceRenderer extends AbstractRenderer implements DomRenderer {
024
025 public MetricSourceRenderer(RenderRequest request) {
026 super(request);
027 }
028
029 public MetricSourceRenderer(RenderRequest request, String profile) {
030 super(request, profile);
031 }
032
033 public Element render(Document document) throws RenderingException {
034 Element ret=document.createElement("metrics");
035 MetricSource m=(MetricSource) request.getRenderee();
036
037 LinkedList list = new LinkedList(m.getMetrics().values());
038 Collections.sort(list);
039 Iterator it=list.iterator();
040 while (it.hasNext()) {
041 ret.appendChild(new MetricRenderer(new RenderRequest(it.next())).render(document));
042 }
043 return ret;
044 }
045 }