Author: sebb
Date: Sat Mar 17 16:02:56 2007
New Revision: 519472

URL: http://svn.apache.org/viewvc?view=rev&rev=519472
Log:
Bug 39693 - View Result Table use icon instead of check box

Modified:
    
jakarta/jmeter/branches/rel-2-2/src/components/org/apache/jmeter/visualizers/TableVisualizer.java
    
jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/resources/messages.properties
    jakarta/jmeter/branches/rel-2-2/xdocs/changes.xml

Modified: 
jakarta/jmeter/branches/rel-2-2/src/components/org/apache/jmeter/visualizers/TableVisualizer.java
URL: 
http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/src/components/org/apache/jmeter/visualizers/TableVisualizer.java?view=diff&rev=519472&r1=519471&r2=519472
==============================================================================
--- 
jakarta/jmeter/branches/rel-2-2/src/components/org/apache/jmeter/visualizers/TableVisualizer.java
 (original)
+++ 
jakarta/jmeter/branches/rel-2-2/src/components/org/apache/jmeter/visualizers/TableVisualizer.java
 Sat Mar 17 16:02:56 2007
@@ -25,6 +25,7 @@
 import java.text.SimpleDateFormat;
 
 import javax.swing.BorderFactory;
+import javax.swing.ImageIcon;
 import javax.swing.JLabel;
 import javax.swing.JPanel;
 import javax.swing.JScrollPane;
@@ -32,13 +33,18 @@
 import javax.swing.JTextField;
 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;
 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.gui.RightAlignRenderer;
 import org.apache.jorphan.gui.layout.VerticalLayout;
 import org.apache.jorphan.logging.LoggingManager;
 import org.apache.jorphan.reflect.Functor;
@@ -55,6 +61,12 @@
  */
 public class TableVisualizer extends AbstractVisualizer implements Clearable {
        private static final Logger log = LoggingManager.getLoggerForClass();
+       
+       private static final ImageIcon imageSuccess = JMeterUtils.getImage(
+               JMeterUtils.getPropDefault("viewResultsTree.success", 
"icon_success_sml.gif"));
+
+       private static final ImageIcon imageFailure = JMeterUtils.getImage(
+                       JMeterUtils.getPropDefault("viewResultsTree.failure", 
"icon_warning_sml.gif"));
 
        private final String[] COLUMNS = new String[] {
             JMeterUtils.getResString("table_visualizer_sample_num"), // 
$NON-NLS-1$
@@ -62,7 +74,7 @@
             JMeterUtils.getResString("table_visualizer_thread_name"),// 
$NON-NLS-1$
                        JMeterUtils.getResString("sampler_label"),  // 
$NON-NLS-1$
             JMeterUtils.getResString("table_visualizer_sample_time"), // 
$NON-NLS-1$
-                       JMeterUtils.getResString("success?"),  // $NON-NLS-1$
+                       JMeterUtils.getResString("table_visualizer_status"),  
// $NON-NLS-1$
             JMeterUtils.getResString("table_visualizer_bytes") }; // 
$NON-NLS-1$
 
        private ObjectTableModel model = null;
@@ -85,6 +97,18 @@
 
     private Format format = new SimpleDateFormat("HH:mm:ss.SSS");
     
+       // Column renderers
+       private static final TableCellRenderer[] RENDERERS = 
+               new TableCellRenderer[]{
+                   null, // Count
+                   new RightAlignRenderer(), // Start Time
+                   null, // Thread Name
+                   null, // Label
+                   null, // Sample Time
+                   null, // Status
+                   null, // Bytes
+               };
+
        /**
         * Constructor for the TableVisualizer object.
         */
@@ -99,11 +123,11 @@
                 new Functor("getThreadName"), // $NON-NLS-1$
                 new Functor("getLabel"), // $NON-NLS-1$
                                new Functor("getData"), // $NON-NLS-1$
-                new Functor("isSuccess"), // $NON-NLS-1$
+                new SampleSuccessFunctor("isSuccess"), // $NON-NLS-1$
                 new Functor("getBytes") }, // $NON-NLS-1$
                 new Functor[] { null, null, null, null, null, null, null }, 
                 new Class[] { 
-                               Long.class, String.class, String.class, 
String.class, Long.class, Boolean.class, Integer.class });
+                               Long.class, String.class, String.class, 
String.class, Long.class, ImageIcon.class, Integer.class });
                init();
        }
 
@@ -169,6 +193,8 @@
                // Set up the table itself
                table = new JTable(model);
                // table.getTableHeader().setReorderingAllowed(false);
+               RendererUtils.applyRenderers(table, RENDERERS);
+
                tableScrollPanel = new JScrollPane(table);
                
tableScrollPanel.setViewportBorder(BorderFactory.createEmptyBorder(2, 2, 2, 2));
 
@@ -236,5 +262,27 @@
                // Add the main panel and the graph
                this.add(mainPanel, BorderLayout.NORTH);
                this.add(tablePanel, BorderLayout.CENTER);
+       }
+       
+       public class SampleSuccessFunctor extends Functor {
+               public SampleSuccessFunctor(String methodName) {
+                       super(methodName);
+               }
+               
+               public Object invoke(Object p_invokee) {
+                       Boolean success = (Boolean)super.invoke(p_invokee);
+                       
+                       if(success != null) {
+                               if(success.booleanValue()) {
+                                       return imageSuccess;
+                               }
+                               else {
+                                       return imageFailure;
+                               }
+                       }
+                       else {
+                               return null;
+                       }
+               }
        }
 }

Modified: 
jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/resources/messages.properties
URL: 
http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/resources/messages.properties?view=diff&rev=519472&r1=519471&r2=519472
==============================================================================
--- 
jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/resources/messages.properties
 (original)
+++ 
jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/resources/messages.properties
 Sat Mar 17 16:02:56 2007
@@ -679,7 +679,6 @@
 string_from_file_file_name=Enter full path to file
 string_from_file_seq_final=Final file sequence number
 string_from_file_seq_start=Start file sequence number
-success?=Success?
 summariser_title=Generate Summary Results
 summary_report=Summary Report
 switch_controller_label=Switch Value
@@ -688,6 +687,7 @@
 table_visualizer_sample_num=Sample #
 table_visualizer_sample_time=Sample Time(ms)
 table_visualizer_start_time=Start Time
+table_visualizer_status=Status
 table_visualizer_thread_name=Thread Name
 tcp_config_title=TCP Sampler Config
 tcp_nodelay=Set NoDelay

Modified: jakarta/jmeter/branches/rel-2-2/xdocs/changes.xml
URL: 
http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/xdocs/changes.xml?view=diff&rev=519472&r1=519471&r2=519472
==============================================================================
--- jakarta/jmeter/branches/rel-2-2/xdocs/changes.xml (original)
+++ jakarta/jmeter/branches/rel-2-2/xdocs/changes.xml Sat Mar 17 16:02:56 2007
@@ -122,6 +122,7 @@
 <li>Add standard deviation to Summary Report</li>
 <li>Bug 41873 - Add name to AssertionResult and display AssertionResult in 
ViewResultsFullVisualizer</li>
 <li>Bug 41876 - Add more options to control what the HTTP Proxy generates</li>
+<li>Bug 39693 - View Result Table use icon instead of check box</li>
 </ul>
 
 <h4>Non-functional improvements:</h4>



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to