1 5 package org.exoplatform.portlets.monitor.portlet.renderer.html; 6 7 import java.io.IOException ; 8 import java.util.List ; 9 import java.util.ResourceBundle ; 10 import javax.faces.component.UIComponent; 11 import javax.faces.context.FacesContext; 12 import javax.faces.context.ResponseWriter; 13 import org.exoplatform.container.monitor.RequestMonitorData; 14 import org.exoplatform.faces.core.renderer.html.HtmlBasicRenderer; 15 import org.exoplatform.portlets.monitor.portlet.component.UIPortalMonitor; 16 22 public class PortalMonitorRenderer extends HtmlBasicRenderer { 23 public void encodeChildren( FacesContext context, UIComponent component ) throws IOException { 24 UIPortalMonitor uiMonitor = (UIPortalMonitor) component ; 25 ResponseWriter w = context.getResponseWriter() ; 26 ResourceBundle res = getApplicationResourceBundle(context.getExternalContext()) ; 27 List monitors = uiMonitor.getRequestMonitorData(); 28 w.write("<table class='"); w.write(uiMonitor.getClazz()); w.write("'>") ; 29 w. write("<tr>") ; 30 w. write("<th>"); w.write(res.getString("UIPortalMonitor.header.time-range")); w.write("</th>") ; 31 w. write("<th>"); w.write(res.getString("UIPortalMonitor.header.request-counter")); w.write("</th>") ; 32 w. write("<th>"); w.write(res.getString("UIPortalMonitor.header.request-min-execution-time")); w.write("</th>") ; 33 w. write("<th>"); w.write(res.getString("UIPortalMonitor.header.request-max-execution-time")); w.write("</th>") ; 34 w. write("<th>"); w.write(res.getString("UIPortalMonitor.header.request-avg-execution-time")); w.write("</th>") ; 35 for(int i = 0 ; i < monitors.size(); i++) { 36 RequestMonitorData data = (RequestMonitorData) monitors.get(i) ; 37 String clazz = "odd"; 38 if (i % 2 == 0) 39 clazz = "even"; 40 w.write("<tr class='" + clazz + "'>") ; 41 w. write("<td>"); 42 w. write(Long.toString(data.minRange())); w.write("-"); w.write(Long.toString(data.maxRange())); 43 w. write("</td>") ; 44 w. write("<td>"); w.write(Long.toString(data.getRequestCounter())); w.write("</td>"); 45 w. write("<td>"); w.write(Long.toString(data.minExecutionTime())); w.write("</td>"); 46 w. write("<td>"); w.write(Long.toString(data.maxExecutionTime())); w.write("</td>"); 47 w. write("<td>"); w.write(Long.toString(data.averageExecutionTime())); w.write("</td>"); 48 w.write("</tr>") ; 49 } 50 w.write("<tr class='footer'>"); 51 w. write("<td>"); w.write(res.getString("UIPortalMonitor.header.all")) ; w.write("</td>") ; 52 w. write("<td>"); w.write(uiMonitor.getRequestCounter()) ; w.write("</td>") ; 53 w. write("<td>"); w.write(uiMonitor.getMinExecutionTime()) ; w.write("</td>") ; 54 w. write("<td>"); w.write(uiMonitor.getMaxExecutionTime()) ; w.write("</td>") ; 55 w. write("<td>"); w.write(uiMonitor.getAverageExecutionTime()) ; w.write("</td>") ; 56 w.write("</tr>") ; 57 w.write("</table>") ; 58 } 59 } | Popular Tags |