You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jmeter-dev@jakarta.apache.org by se...@apache.org on 2007/03/02 22:15:14 UTC

svn commit: r513956 - /jakarta/jmeter/branches/rel-2-2/src/components/org/apache/jmeter/visualizers/SummaryReport.java

Author: sebb
Date: Fri Mar  2 13:15:13 2007
New Revision: 513956

URL: http://svn.apache.org/viewvc?view=rev&rev=513956
Log:
Use new ObjectTableModel constructor;
add testFunctors() - unit test hook
Apply local renderers instead of relying on Calculator routines

Modified:
    jakarta/jmeter/branches/rel-2-2/src/components/org/apache/jmeter/visualizers/SummaryReport.java

Modified: jakarta/jmeter/branches/rel-2-2/src/components/org/apache/jmeter/visualizers/SummaryReport.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/src/components/org/apache/jmeter/visualizers/SummaryReport.java?view=diff&rev=513956&r1=513955&r2=513956
==============================================================================
--- jakarta/jmeter/branches/rel-2-2/src/components/org/apache/jmeter/visualizers/SummaryReport.java (original)
+++ jakarta/jmeter/branches/rel-2-2/src/components/org/apache/jmeter/visualizers/SummaryReport.java Fri Mar  2 13:15:13 2007
@@ -30,6 +30,7 @@
 import javax.swing.JTable;
 import javax.swing.border.Border;
 import javax.swing.border.EmptyBorder;
+import javax.swing.table.TableCellRenderer;
 
 import org.apache.jmeter.samplers.Clearable;
 import org.apache.jmeter.samplers.SampleResult;
@@ -37,7 +38,10 @@
 import org.apache.jmeter.util.Calculator;
 import org.apache.jmeter.util.JMeterUtils;
 import org.apache.jmeter.visualizers.gui.AbstractVisualizer;
+import org.apache.jorphan.gui.NumberRenderer;
 import org.apache.jorphan.gui.ObjectTableModel;
+import org.apache.jorphan.gui.RateRenderer;
+import org.apache.jorphan.gui.RendererUtils;
 import org.apache.jorphan.reflect.Functor;
 
 /**
@@ -68,19 +72,34 @@
 
 	Map tableRows = Collections.synchronizedMap(new HashMap());
 
-	public SummaryReport() {
+	// Column renderers
+	private static final TableCellRenderer[] RENDERERS = 
+		new TableCellRenderer[]{
+		    null, // Label
+		    null, // count
+		    null, // Mean
+		    null, // Min
+		    null, // Max
+		    new NumberRenderer("#0.00%"), // Error %age
+		    new RateRenderer("#.0"),      // Throughpur
+		    new NumberRenderer("#0.00"),  // kB/sec
+		    new NumberRenderer("#.0"),    // avg. pageSize
+		};
+
+    public SummaryReport() {
 		super();
-		model = new ObjectTableModel(COLUMNS, 
+		model = new ObjectTableModel(COLUMNS,
+				Calculator.class,// All rows have this class
                 new Functor[] { 
-                    new Functor("getLabel"),   //$NON-NLS-1$
-                    new Functor("getCount"),  //$NON-NLS-1$
-    				new Functor("getMeanAsNumber"),   //$NON-NLS-1$
-                    new Functor("getMin"),  //$NON-NLS-1$
-                    new Functor("getMax"),   //$NON-NLS-1$
-                    new Functor("getErrorPercentageString"),   //$NON-NLS-1$
-                    new Functor("getRateString"),  //$NON-NLS-1$
-    				new Functor("getKBPerSecondString"),   //$NON-NLS-1$
-                    new Functor("getPageSizeString"),   //$NON-NLS-1$
+                    new Functor("getLabel"),              //$NON-NLS-1$
+                    new Functor("getCount"),              //$NON-NLS-1$
+    				new Functor("getMeanAsNumber"),       //$NON-NLS-1$
+                    new Functor("getMin"),                //$NON-NLS-1$
+                    new Functor("getMax"),                //$NON-NLS-1$
+                    new Functor("getErrorPercentage"),    //$NON-NLS-1$
+                    new Functor("getRate"),               //$NON-NLS-1$
+    				new Functor("getKBPerSecond"),        //$NON-NLS-1$
+                    new Functor("getPageSize"),           //$NON-NLS-1$
                 },
                 new Functor[] { null, null, null, null, null, null, null, null , null }, 
                 new Class[] { String.class, Long.class, Long.class, Long.class,
@@ -88,7 +107,12 @@
 		clear();
 		init();
 	}
-
+    
+	public static boolean testFunctors(){
+		SummaryReport instance = new SummaryReport();
+		return instance.model.checkFunctors(null);
+	}
+	
 	public String getLabelResource() {
 		return "summary_report";  //$NON-NLS-1$
 	}
@@ -145,6 +169,7 @@
 
 		myJTable = new JTable(model);
 		myJTable.setPreferredScrollableViewportSize(new Dimension(500, 70));
+		RendererUtils.applyRenderers(myJTable, RENDERERS);
 		myScrollPane = new JScrollPane(myJTable);
 		this.add(mainPanel, BorderLayout.NORTH);
 		this.add(myScrollPane, BorderLayout.CENTER);



---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-help@jakarta.apache.org