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 2008/11/12 16:27:00 UTC

svn commit: r713400 - in /jakarta/jmeter/trunk: src/components/org/apache/jmeter/assertions/gui/ src/components/org/apache/jmeter/visualizers/ src/core/org/apache/jmeter/config/gui/ src/core/org/apache/jmeter/gui/util/ src/jorphan/org/apache/jorphan/gu...

Author: sebb
Date: Wed Nov 12 07:26:58 2008
New Revision: 713400

URL: http://svn.apache.org/viewvc?rev=713400&view=rev
Log:
Revert previous change to ObjectTableModel and PowerTableModel as that was the wrong place to fix the displays
Add HeaderAsPropertyRenderer class instead and use this to convert the table header names

Modified:
    jakarta/jmeter/trunk/src/components/org/apache/jmeter/assertions/gui/AssertionGui.java
    jakarta/jmeter/trunk/src/components/org/apache/jmeter/visualizers/PropertyControlGui.java
    jakarta/jmeter/trunk/src/components/org/apache/jmeter/visualizers/StatGraphVisualizer.java
    jakarta/jmeter/trunk/src/components/org/apache/jmeter/visualizers/StatVisualizer.java
    jakarta/jmeter/trunk/src/components/org/apache/jmeter/visualizers/SummaryReport.java
    jakarta/jmeter/trunk/src/components/org/apache/jmeter/visualizers/TableVisualizer.java
    jakarta/jmeter/trunk/src/core/org/apache/jmeter/config/gui/ArgumentsPanel.java
    jakarta/jmeter/trunk/src/core/org/apache/jmeter/config/gui/SimpleConfigGui.java
    jakarta/jmeter/trunk/src/core/org/apache/jmeter/gui/util/FileListPanel.java
    jakarta/jmeter/trunk/src/core/org/apache/jmeter/gui/util/PowerTableModel.java
    jakarta/jmeter/trunk/src/jorphan/org/apache/jorphan/gui/ObjectTableModel.java
    jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/gui/CookiePanel.java
    jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/gui/HTTPArgumentsPanel.java
    jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/gui/HTTPFileArgsPanel.java
    jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/proxy/gui/ProxyControlGui.java
    jakarta/jmeter/trunk/src/protocol/ldap/org/apache/jmeter/protocol/ldap/config/gui/LDAPArgumentsPanel.java
    jakarta/jmeter/trunk/xdocs/changes.xml

Modified: jakarta/jmeter/trunk/src/components/org/apache/jmeter/assertions/gui/AssertionGui.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/components/org/apache/jmeter/assertions/gui/AssertionGui.java?rev=713400&r1=713399&r2=713400&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/components/org/apache/jmeter/assertions/gui/AssertionGui.java (original)
+++ jakarta/jmeter/trunk/src/components/org/apache/jmeter/assertions/gui/AssertionGui.java Wed Nov 12 07:26:58 2008
@@ -34,6 +34,7 @@
 import javax.swing.JTable;
 
 import org.apache.jmeter.assertions.ResponseAssertion;
+import org.apache.jmeter.gui.util.HeaderAsPropertyRenderer;
 import org.apache.jmeter.gui.util.PowerTableModel;
 import org.apache.jmeter.gui.util.TextAreaCellRenderer;
 import org.apache.jmeter.gui.util.TextAreaTableCellEditor;
@@ -346,8 +347,9 @@
      * @return a new panel for adding string patterns
      */
     private JPanel createStringPanel() {
-        tableModel = new PowerTableModel(new String[] { COL_RESOURCE_NAME }, new Class[] { String.class }, true);
+        tableModel = new PowerTableModel(new String[] { COL_RESOURCE_NAME }, new Class[] { String.class });
         stringTable = new JTable(tableModel);
+        stringTable.getTableHeader().setDefaultRenderer(new HeaderAsPropertyRenderer());
 
         TextAreaCellRenderer renderer = new TextAreaCellRenderer();
         stringTable.setRowHeight(renderer.getPreferredHeight());

Modified: jakarta/jmeter/trunk/src/components/org/apache/jmeter/visualizers/PropertyControlGui.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/components/org/apache/jmeter/visualizers/PropertyControlGui.java?rev=713400&r1=713399&r2=713400&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/components/org/apache/jmeter/visualizers/PropertyControlGui.java (original)
+++ jakarta/jmeter/trunk/src/components/org/apache/jmeter/visualizers/PropertyControlGui.java Wed Nov 12 07:26:58 2008
@@ -46,6 +46,7 @@
 import org.apache.jmeter.config.ConfigTestElement;
 import org.apache.jmeter.config.gui.AbstractConfigGui;
 import org.apache.jmeter.gui.UnsharedComponent;
+import org.apache.jmeter.gui.util.HeaderAsPropertyRenderer;
 import org.apache.jmeter.gui.util.MenuFactory;
 import org.apache.jmeter.samplers.SampleResult;
 import org.apache.jmeter.testelement.TestElement;
@@ -168,6 +169,7 @@
     private Component makeMainPanel() {
         initializeTableModel();
         table = new JTable(tableModel);
+        table.getTableHeader().setDefaultRenderer(new HeaderAsPropertyRenderer());
         table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
         return makeScrollPane(table);
     }
@@ -247,6 +249,6 @@
                 null, //new Functor("setName"), // $NON-NLS-1$
                 new Functor(Map.Entry.class,"setValue", new Class[] { Object.class }) // $NON-NLS-1$
             },
-                new Class[] { String.class, String.class }, true);
+                new Class[] { String.class, String.class });
     }
 }
\ No newline at end of file

Modified: jakarta/jmeter/trunk/src/components/org/apache/jmeter/visualizers/StatGraphVisualizer.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/components/org/apache/jmeter/visualizers/StatGraphVisualizer.java?rev=713400&r1=713399&r2=713400&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/components/org/apache/jmeter/visualizers/StatGraphVisualizer.java (original)
+++ jakarta/jmeter/trunk/src/components/org/apache/jmeter/visualizers/StatGraphVisualizer.java Wed Nov 12 07:26:58 2008
@@ -48,6 +48,7 @@
 import org.apache.jmeter.gui.action.ActionRouter;
 import org.apache.jmeter.gui.action.SaveGraphics;
 import org.apache.jmeter.gui.util.FileDialoger;
+import org.apache.jmeter.gui.util.HeaderAsPropertyRenderer;
 import org.apache.jmeter.gui.util.HorizontalPanel;
 import org.apache.jmeter.gui.util.VerticalPanel;
 import org.apache.jmeter.samplers.Clearable;
@@ -171,7 +172,7 @@
                 new Functor("getKBPerSecond") },            //$NON-NLS-1$
                 new Functor[] { null, null, null, null, null, null, null, null,    null, null },
                 new Class[] { String.class, Long.class, Long.class, Long.class, Long.class, Long.class,
-                Long.class, String.class, String.class, String.class }, true);
+                Long.class, String.class, String.class, String.class });
         clearData();
         init();
     }
@@ -242,6 +243,7 @@
         mainPanel.add(makeTitlePanel());
 
         myJTable = new JTable(model);
+        myJTable.getTableHeader().setDefaultRenderer(new HeaderAsPropertyRenderer());
         myJTable.setPreferredScrollableViewportSize(new Dimension(500, 80));
         RendererUtils.applyRenderers(myJTable, RENDERERS);
         myScrollPane = new JScrollPane(myJTable);
@@ -386,7 +388,7 @@
             try {
                 writer = new FileWriter(chooser.getSelectedFile());
                 Vector data = this.getAllTableData();
-                CSVSaveService.saveCSVStats(data,writer,saveHeaders.isSelected() ? model.getColumnNames() : null);
+                CSVSaveService.saveCSVStats(data,writer,saveHeaders.isSelected() ? getColumnNames() : null);
             } catch (FileNotFoundException e) {
                 log.warn(e.getMessage());
             } catch (IOException e) {
@@ -397,6 +399,15 @@
         }
     }
 
+    // TODO consider using the table methods to return data and headers in actual order
+    private String[] getColumnNames(){
+        String [] names = new String[COLUMNS.length];
+        for (int i=0; i < COLUMNS.length; i++){
+            names[i]=JMeterUtils.getResString(COLUMNS[i]);
+        }
+        return names;
+    }
+
     public JComponent getPrintableComponent() {
         if (saveGraphToFile == true) {
             saveGraphToFile = false;

Modified: jakarta/jmeter/trunk/src/components/org/apache/jmeter/visualizers/StatVisualizer.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/components/org/apache/jmeter/visualizers/StatVisualizer.java?rev=713400&r1=713399&r2=713400&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/components/org/apache/jmeter/visualizers/StatVisualizer.java (original)
+++ jakarta/jmeter/trunk/src/components/org/apache/jmeter/visualizers/StatVisualizer.java Wed Nov 12 07:26:58 2008
@@ -46,6 +46,7 @@
 //import javax.swing.table.TableModel;
 
 import org.apache.jmeter.gui.util.FileDialoger;
+import org.apache.jmeter.gui.util.HeaderAsPropertyRenderer;
 import org.apache.jmeter.samplers.Clearable;
 import org.apache.jmeter.samplers.SampleResult;
 import org.apache.jmeter.save.CSVSaveService;
@@ -119,7 +120,7 @@
                 },
                 new Functor[] { null, null, null, null, null, null, null, null, null, null },
                 new Class[] { String.class, Long.class, Long.class, Long.class, Long.class,
-                              Long.class, Long.class, String.class, String.class, String.class }, true);
+                              Long.class, Long.class, String.class, String.class, String.class });
         clearData();
         init();
     }
@@ -202,6 +203,7 @@
         // SortFilterModel mySortedModel =
         // new SortFilterModel(myStatTableModel);
         myJTable = new JTable(model);
+        myJTable.getTableHeader().setDefaultRenderer(new HeaderAsPropertyRenderer());
         myJTable.setPreferredScrollableViewportSize(new Dimension(500, 70));
         RendererUtils.applyRenderers(myJTable, RENDERERS);
         myScrollPane = new JScrollPane(myJTable);

Modified: jakarta/jmeter/trunk/src/components/org/apache/jmeter/visualizers/SummaryReport.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/components/org/apache/jmeter/visualizers/SummaryReport.java?rev=713400&r1=713399&r2=713400&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/components/org/apache/jmeter/visualizers/SummaryReport.java (original)
+++ jakarta/jmeter/trunk/src/components/org/apache/jmeter/visualizers/SummaryReport.java Wed Nov 12 07:26:58 2008
@@ -41,6 +41,7 @@
 import javax.swing.table.TableCellRenderer;
 
 import org.apache.jmeter.gui.util.FileDialoger;
+import org.apache.jmeter.gui.util.HeaderAsPropertyRenderer;
 import org.apache.jmeter.samplers.Clearable;
 import org.apache.jmeter.samplers.SampleResult;
 import org.apache.jmeter.save.CSVSaveService;
@@ -127,7 +128,7 @@
                 },
                 new Functor[] { null, null, null, null, null, null, null, null , null, null },
                 new Class[] { String.class, Long.class, Long.class, Long.class, Long.class,
-                              String.class, String.class, String.class, String.class, String.class }, true);
+                              String.class, String.class, String.class, String.class, String.class });
         clearData();
         init();
     }
@@ -193,6 +194,7 @@
         mainPanel.add(makeTitlePanel());
 
         myJTable = new JTable(model);
+        myJTable.getTableHeader().setDefaultRenderer(new HeaderAsPropertyRenderer());
         myJTable.setPreferredScrollableViewportSize(new Dimension(500, 70));
         RendererUtils.applyRenderers(myJTable, RENDERERS);
         myScrollPane = new JScrollPane(myJTable);

Modified: jakarta/jmeter/trunk/src/components/org/apache/jmeter/visualizers/TableVisualizer.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/components/org/apache/jmeter/visualizers/TableVisualizer.java?rev=713400&r1=713399&r2=713400&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/components/org/apache/jmeter/visualizers/TableVisualizer.java (original)
+++ jakarta/jmeter/trunk/src/components/org/apache/jmeter/visualizers/TableVisualizer.java Wed Nov 12 07:26:58 2008
@@ -35,6 +35,7 @@
 import javax.swing.border.EmptyBorder;
 import javax.swing.table.TableCellRenderer;
 
+import org.apache.jmeter.gui.util.HeaderAsPropertyRenderer;
 import org.apache.jmeter.samplers.Clearable;
 import org.apache.jmeter.samplers.SampleResult;
 import org.apache.jmeter.util.Calculator;
@@ -127,7 +128,7 @@
                 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, ImageIcon.class, Integer.class }, true);
+                Long.class, String.class, String.class, String.class, Long.class, ImageIcon.class, Integer.class });
         init();
     }
 
@@ -191,6 +192,7 @@
 
         // Set up the table itself
         table = new JTable(model);
+        table.getTableHeader().setDefaultRenderer(new HeaderAsPropertyRenderer());
         // table.getTableHeader().setReorderingAllowed(false);
         RendererUtils.applyRenderers(table, RENDERERS);
 

Modified: jakarta/jmeter/trunk/src/core/org/apache/jmeter/config/gui/ArgumentsPanel.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/core/org/apache/jmeter/config/gui/ArgumentsPanel.java?rev=713400&r1=713399&r2=713400&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/core/org/apache/jmeter/config/gui/ArgumentsPanel.java (original)
+++ jakarta/jmeter/trunk/src/core/org/apache/jmeter/config/gui/ArgumentsPanel.java Wed Nov 12 07:26:58 2008
@@ -38,6 +38,7 @@
 
 import org.apache.jmeter.config.Argument;
 import org.apache.jmeter.config.Arguments;
+import org.apache.jmeter.gui.util.HeaderAsPropertyRenderer;
 import org.apache.jmeter.testelement.TestElement;
 import org.apache.jmeter.testelement.property.PropertyIterator;
 import org.apache.jmeter.util.JMeterUtils;
@@ -349,7 +350,7 @@
                 new Functor[] {
                 new Functor("setName"), // $NON-NLS-1$
                 new Functor("setValue") }, // $NON-NLS-1$
-                new Class[] { String.class, String.class }, true);
+                new Class[] { String.class, String.class });
     }
 
     public static boolean testFunctors(){
@@ -375,6 +376,7 @@
     private Component makeMainPanel() {
         initializeTableModel();
         table = new JTable(tableModel);
+        table.getTableHeader().setDefaultRenderer(new HeaderAsPropertyRenderer());
         table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
         if (this.background != null) {
             table.setBackground(this.background);

Modified: jakarta/jmeter/trunk/src/core/org/apache/jmeter/config/gui/SimpleConfigGui.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/core/org/apache/jmeter/config/gui/SimpleConfigGui.java?rev=713400&r1=713399&r2=713400&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/core/org/apache/jmeter/config/gui/SimpleConfigGui.java (original)
+++ jakarta/jmeter/trunk/src/core/org/apache/jmeter/config/gui/SimpleConfigGui.java Wed Nov 12 07:26:58 2008
@@ -31,6 +31,7 @@
 import javax.swing.table.TableCellEditor;
 
 import org.apache.jmeter.config.ConfigTestElement;
+import org.apache.jmeter.gui.util.HeaderAsPropertyRenderer;
 import org.apache.jmeter.gui.util.PowerTableModel;
 import org.apache.jmeter.testelement.TestElement;
 import org.apache.jmeter.testelement.property.JMeterProperty;
@@ -196,9 +197,10 @@
     private Component createTablePanel() {
         tableModel = new PowerTableModel(
                 new String[] { COLUMN_NAMES_0, COLUMN_NAMES_1 },
-                new Class[] { String.class, String.class }, true);
+                new Class[] { String.class, String.class });
 
         table = new JTable(tableModel);
+        table.getTableHeader().setDefaultRenderer(new HeaderAsPropertyRenderer());
         table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
         return makeScrollPane(table);
     }

Modified: jakarta/jmeter/trunk/src/core/org/apache/jmeter/gui/util/FileListPanel.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/core/org/apache/jmeter/gui/util/FileListPanel.java?rev=713400&r1=713399&r2=713400&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/core/org/apache/jmeter/gui/util/FileListPanel.java (original)
+++ jakarta/jmeter/trunk/src/core/org/apache/jmeter/gui/util/FileListPanel.java Wed Nov 12 07:26:58 2008
@@ -189,7 +189,7 @@
     protected void initializeTableModel() {
         tableModel = new ObjectTableModel(new String[] { "Library" },
                 new Functor[0] , new Functor[0] , // i.e. bypass the Functors
-                new Class[] { String.class }, false);
+                new Class[] { String.class });
     }
 
     public void actionPerformed(ActionEvent e) {

Modified: jakarta/jmeter/trunk/src/core/org/apache/jmeter/gui/util/PowerTableModel.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/core/org/apache/jmeter/gui/util/PowerTableModel.java?rev=713400&r1=713399&r2=713400&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/core/org/apache/jmeter/gui/util/PowerTableModel.java (original)
+++ jakarta/jmeter/trunk/src/core/org/apache/jmeter/gui/util/PowerTableModel.java Wed Nov 12 07:26:58 2008
@@ -24,7 +24,6 @@
 
 import javax.swing.table.DefaultTableModel;
 
-import org.apache.jmeter.util.JMeterUtils;
 import org.apache.jorphan.collections.Data;
 import org.apache.jorphan.logging.LoggingManager;
 import org.apache.log.Logger;
@@ -32,39 +31,21 @@
 public class PowerTableModel extends DefaultTableModel {
     private static final Logger log = LoggingManager.getLoggerForClass();
 
+    private static final long serialVersionUID = 233L;
+
     private Data model = new Data();
 
     private Class[] columnClasses;
 
-    private final boolean headersAreResouceNames;
-    
-    /**
-     * Define a table with fixed headers.
-     * 
-     * @param headers list of header names
-     * @param columnClasses list of column classes
-     */
-    public PowerTableModel(String[] headers, Class[] columnClasses) {
-        this(headers, columnClasses, false);
-    }
-
-    /**
-     * Define a table with header names that can be locale-sensitive.
-     * If the useAsResourceNames parameter is true, then the header
-     * values are assumed to be resource names when generating the column headings.
-     * The column names in the data table are not translated.
-     * 
-     * @param headers list of header names
-     * @param columnClasses list of column classes
-     * @param useAsResourceNames set true to use the headers as resource names
-     */
-    public PowerTableModel(String[] headers, Class[] columnClasses, boolean useAsResourceNames) {
-        if (headers.length != columnClasses.length){
+    public PowerTableModel(String[] headers, Class[] classes) {
+        if (headers.length != classes.length){
             throw new IllegalArgumentException("Header and column array sizes differ");
         }
-        this.model.setHeaders(headers);
-        this.columnClasses = columnClasses;
-        this.headersAreResouceNames = useAsResourceNames;
+        model.setHeaders(headers);
+        columnClasses = classes;
+    }
+
+    public PowerTableModel() {
     }
 
     public void setRowValues(int row, Object[] values) {
@@ -258,11 +239,7 @@
      * @return the ColumnName value
      */
     public String getColumnName(int column) {
-        String rawName = model.getHeaders()[column];
-        if (headersAreResouceNames){
-            return JMeterUtils.getResString(rawName);
-        }
-        return rawName;
+        return model.getHeaders()[column];
     }
 
     public boolean isCellEditable(int row, int column) {

Modified: jakarta/jmeter/trunk/src/jorphan/org/apache/jorphan/gui/ObjectTableModel.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/jorphan/org/apache/jorphan/gui/ObjectTableModel.java?rev=713400&r1=713399&r2=713400&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/jorphan/org/apache/jorphan/gui/ObjectTableModel.java (original)
+++ jakarta/jmeter/trunk/src/jorphan/org/apache/jorphan/gui/ObjectTableModel.java Wed Nov 12 07:26:58 2008
@@ -18,7 +18,6 @@
 
 package org.apache.jorphan.gui;
 
-import java.io.ObjectStreamException;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Iterator;
@@ -27,7 +26,6 @@
 import javax.swing.event.TableModelEvent;
 import javax.swing.table.DefaultTableModel;
 
-import org.apache.jmeter.util.JMeterUtils;
 import org.apache.jorphan.logging.LoggingManager;
 import org.apache.jorphan.reflect.Functor;
 import org.apache.log.Logger;
@@ -52,8 +50,6 @@
     private transient ArrayList writeFunctors = new ArrayList();
 
     private transient Class objectClass = null; // if provided
-    
-    private final boolean useHeaderAsResource;
 
     /**
      * The ObjectTableModel is a TableModel whose rows are objects;
@@ -66,22 +62,7 @@
      * @param editorClasses - class for each column
      */
     public ObjectTableModel(String[] headers, Class _objClass, Functor[] readFunctors, Functor[] writeFunctors, Class[] editorClasses) {
-        this(headers, _objClass, readFunctors, writeFunctors, editorClasses, false);
-    }
-
-    /**
-     * The ObjectTableModel is a TableModel whose rows are objects;
-     * columns are defined as Functors on the object.
-     *
-     * @param headers - Column names
-     * @param _objClass - Object class that will be used
-     * @param readFunctors - used to get the values
-     * @param writeFunctors - used to set the values
-     * @param editorClasses - class for each column
-     * @param useHeaderAsResource - should headers be treated as resource names?
-     */
-    public ObjectTableModel(String[] headers, Class _objClass, Functor[] readFunctors, Functor[] writeFunctors, Class[] editorClasses, boolean useHeaderAsResource) {
-        this(headers, readFunctors, writeFunctors, editorClasses, useHeaderAsResource);
+        this(headers, readFunctors, writeFunctors, editorClasses);
         this.objectClass=_objClass;
     }
 
@@ -95,27 +76,11 @@
      * @param editorClasses - class for each column
      */
     public ObjectTableModel(String[] headers, Functor[] readFunctors, Functor[] writeFunctors, Class[] editorClasses) {
-        this(headers, readFunctors, writeFunctors, editorClasses, false);
-    }
-
-    /**
-     * The ObjectTableModel is a TableModel whose rows are objects;
-     * columns are defined as Functors on the object.
-     *
-     * @param headers - Column names
-     * @param readFunctors - used to get the values
-     * @param writeFunctors - used to set the values
-     * @param editorClasses - class for each column
-     * @param useHeaderAsResource - should headers be treated as resource names?
-     */
-    public ObjectTableModel(String[] headers, Functor[] readFunctors, Functor[] writeFunctors, Class[] editorClasses, boolean useHeaderAsResource) {
         this.headers.addAll(Arrays.asList(headers));
         this.classes.addAll(Arrays.asList(editorClasses));
         this.readFunctors = new ArrayList(Arrays.asList(readFunctors));
         this.writeFunctors = new ArrayList(Arrays.asList(writeFunctors));
 
-        this.useHeaderAsResource = useHeaderAsResource;
-        
         int numHeaders = headers.length;
 
         int numClasses = classes.size();
@@ -135,10 +100,7 @@
         }
     }
 
-    /**
-     * @throws ObjectStreamException  
-     */
-    private Object readResolve() throws ObjectStreamException{
+    private Object readResolve() {
         objects = new ArrayList();
         headers = new ArrayList();
         classes = new ArrayList();
@@ -183,29 +145,10 @@
     }
 
     /**
-     * Note: the column name will be localised if that option was selected.
-     * 
      * @see javax.swing.table.TableModel#getColumnName(int)
      */
     public String getColumnName(int col) {
-        String rawName = (String) headers.get(col);
-        if (useHeaderAsResource){
-            return JMeterUtils.getResString(rawName);
-        }
-        return rawName;
-    }
-
-    /**
-     * Get the list of column names, localised if that option was selected.
-     * @return column names
-     */
-    public String[] getColumnNames(){
-        int rowCount = getRowCount();
-        String[] names = new String[rowCount];
-        for (int i=0; i < rowCount; i++){
-            names[i]=getColumnName(i);
-        }
-        return names;
+        return (String) headers.get(col);
     }
 
     /**

Modified: jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/gui/CookiePanel.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/gui/CookiePanel.java?rev=713400&r1=713399&r2=713400&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/gui/CookiePanel.java (original)
+++ jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/gui/CookiePanel.java Wed Nov 12 07:26:58 2008
@@ -37,6 +37,7 @@
 import org.apache.commons.httpclient.cookie.CookiePolicy;
 import org.apache.jmeter.config.gui.AbstractConfigGui;
 import org.apache.jmeter.gui.util.FileDialoger;
+import org.apache.jmeter.gui.util.HeaderAsPropertyRenderer;
 import org.apache.jmeter.gui.util.PowerTableModel;
 import org.apache.jmeter.protocol.http.control.Cookie;
 import org.apache.jmeter.protocol.http.control.CookieManager;
@@ -292,7 +293,7 @@
      * Shows the main cookie configuration panel.
      */
     private void init() {
-        tableModel = new PowerTableModel(COLUMN_RESOURCE_NAMES, columnClasses, true);
+        tableModel = new PowerTableModel(COLUMN_RESOURCE_NAMES, columnClasses);
         clearEachIteration = 
             new JCheckBox(JMeterUtils.getResString("clear_cookies_per_iter"), false); //$NON-NLS-1$
         policy = new JLabeledChoice(
@@ -313,6 +314,7 @@
     public JPanel createCookieTablePanel() {
         // create the JTable that holds one cookie per row
         cookieTable = new JTable(tableModel);
+        cookieTable.getTableHeader().setDefaultRenderer(new HeaderAsPropertyRenderer());
         cookieTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
         cookieTable.setPreferredScrollableViewportSize(new Dimension(100, 70));
 

Modified: jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/gui/HTTPArgumentsPanel.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/gui/HTTPArgumentsPanel.java?rev=713400&r1=713399&r2=713400&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/gui/HTTPArgumentsPanel.java (original)
+++ jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/gui/HTTPArgumentsPanel.java Wed Nov 12 07:26:58 2008
@@ -57,7 +57,7 @@
                 new Functor("setValue"), //$NON-NLS-1$
                 new Functor("setAlwaysEncoded"), //$NON-NLS-1$
                 new Functor("setUseEquals") }, //$NON-NLS-1$
-                new Class[] {String.class, String.class, Boolean.class, Boolean.class }, true);
+                new Class[] {String.class, String.class, Boolean.class, Boolean.class });
     }
 
     public static boolean testFunctors(){

Modified: jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/gui/HTTPFileArgsPanel.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/gui/HTTPFileArgsPanel.java?rev=713400&r1=713399&r2=713400&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/gui/HTTPFileArgsPanel.java (original)
+++ jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/gui/HTTPFileArgsPanel.java Wed Nov 12 07:26:58 2008
@@ -39,6 +39,7 @@
 import javax.swing.table.TableColumn;
 
 import org.apache.jmeter.gui.util.FileDialoger;
+import org.apache.jmeter.gui.util.HeaderAsPropertyRenderer;
 import org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase;
 import org.apache.jmeter.protocol.http.util.HTTPFileArg;
 import org.apache.jmeter.testelement.TestElement;
@@ -123,7 +124,7 @@
                 new Functor("setPath"), //$NON-NLS-1$
                 new Functor("setParamName"), //$NON-NLS-1$
                 new Functor("setMimeType")}, //$NON-NLS-1$
-            new Class[] {String.class, String.class, String.class}, true);
+            new Class[] {String.class, String.class, String.class});
     }
 
     public static boolean testFunctors(){
@@ -348,6 +349,7 @@
     private Component makeMainPanel() {
         initializeTableModel();
         table = new JTable(tableModel);
+        table.getTableHeader().setDefaultRenderer(new HeaderAsPropertyRenderer());
         table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
         return makeScrollPane(table);
     }

Modified: jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/proxy/gui/ProxyControlGui.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/proxy/gui/ProxyControlGui.java?rev=713400&r1=713399&r2=713400&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/proxy/gui/ProxyControlGui.java (original)
+++ jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/proxy/gui/ProxyControlGui.java Wed Nov 12 07:26:58 2008
@@ -52,6 +52,7 @@
 import org.apache.jmeter.gui.JMeterGUIComponent;
 import org.apache.jmeter.gui.UnsharedComponent;
 import org.apache.jmeter.gui.tree.JMeterTreeNode;
+import org.apache.jmeter.gui.util.HeaderAsPropertyRenderer;
 import org.apache.jmeter.gui.util.HorizontalPanel;
 import org.apache.jmeter.gui.util.MenuFactory;
 import org.apache.jmeter.gui.util.PowerTableModel;
@@ -691,8 +692,9 @@
     }
 
     private JPanel createIncludePanel() {
-        includeModel = new PowerTableModel(new String[] { INCLUDE_COL }, new Class[] { String.class }, true);
+        includeModel = new PowerTableModel(new String[] { INCLUDE_COL }, new Class[] { String.class });
         includeTable = new JTable(includeModel);
+        includeTable.getTableHeader().setDefaultRenderer(new HeaderAsPropertyRenderer());
         includeTable.setPreferredScrollableViewportSize(new Dimension(100, 30));
 
         JPanel panel = new JPanel(new BorderLayout());
@@ -706,8 +708,9 @@
     }
 
     private JPanel createExcludePanel() {
-        excludeModel = new PowerTableModel(new String[] { EXCLUDE_COL }, new Class[] { String.class }, true);
+        excludeModel = new PowerTableModel(new String[] { EXCLUDE_COL }, new Class[] { String.class });
         excludeTable = new JTable(excludeModel);
+        excludeTable.getTableHeader().setDefaultRenderer(new HeaderAsPropertyRenderer());
         excludeTable.setPreferredScrollableViewportSize(new Dimension(100, 30));
 
         JPanel panel = new JPanel(new BorderLayout());

Modified: jakarta/jmeter/trunk/src/protocol/ldap/org/apache/jmeter/protocol/ldap/config/gui/LDAPArgumentsPanel.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/protocol/ldap/org/apache/jmeter/protocol/ldap/config/gui/LDAPArgumentsPanel.java?rev=713400&r1=713399&r2=713400&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/protocol/ldap/org/apache/jmeter/protocol/ldap/config/gui/LDAPArgumentsPanel.java (original)
+++ jakarta/jmeter/trunk/src/protocol/ldap/org/apache/jmeter/protocol/ldap/config/gui/LDAPArgumentsPanel.java Wed Nov 12 07:26:58 2008
@@ -36,6 +36,7 @@
 import javax.swing.table.TableCellEditor;
 
 import org.apache.jmeter.config.gui.AbstractConfigGui;
+import org.apache.jmeter.gui.util.HeaderAsPropertyRenderer;
 import org.apache.jmeter.testelement.TestElement;
 import org.apache.jmeter.testelement.property.PropertyIterator;
 import org.apache.jmeter.util.JMeterUtils;
@@ -315,7 +316,7 @@
                 LDAPArgument.class,
                 new Functor[] { new Functor("getName"), new Functor("getValue"), new Functor("getOpcode") },
                 new Functor[] { new Functor("setName"), new Functor("setValue"), new Functor("setOpcode") },
-                new Class[] { String.class, String.class, String.class }, true);
+                new Class[] { String.class, String.class, String.class });
     }
 
     public static boolean testFunctors(){
@@ -351,6 +352,7 @@
     private Component makeMainPanel() {
         initializeTableModel();
         table = new JTable(tableModel);
+        table.getTableHeader().setDefaultRenderer(new HeaderAsPropertyRenderer());
         table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
         return makeScrollPane(table);
     }

Modified: jakarta/jmeter/trunk/xdocs/changes.xml
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/xdocs/changes.xml?rev=713400&r1=713399&r2=713400&view=diff
==============================================================================
--- jakarta/jmeter/trunk/xdocs/changes.xml (original)
+++ jakarta/jmeter/trunk/xdocs/changes.xml Wed Nov 12 07:26:58 2008
@@ -164,8 +164,7 @@
 <li>Bug 44941 - Throughput controllers should not share global counters</li>
 <li>Various ReceiveSubscriber thread-safety fixes</li>
 <li>JMSPublisher and Subscriber fixes: thread-safety, support dynamic locale changes, locale independence for JMX attribute values</li>
-<li>Enhance PowerTableModel to support header resource names; use this to fix locale changes in Proxy, Response Assertion, Cookie Manager</li>
-<li>Enhance ObjectTableModel to support header resource names; use this to fix locale changes in various GUI elements</li>
+<li>Add HeaderAsPropertyRenderer to support header resource names; use this to fix locale changes in various GUI elements</li>
 </ul>
 
 <h3>Improvements</h3>



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