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    }