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 20:20:57 UTC

svn commit: r713460 - /jakarta/jmeter/trunk/src/components/org/apache/jmeter/modifiers/gui/UserParametersGui.java

Author: sebb
Date: Wed Nov 12 11:20:56 2008
New Revision: 713460

URL: http://svn.apache.org/viewvc?rev=713460&view=rev
Log:
Use a customised HeaderAsPropertyRenderer to deal with resource names that have a suffix.

Modified:
    jakarta/jmeter/trunk/src/components/org/apache/jmeter/modifiers/gui/UserParametersGui.java

Modified: jakarta/jmeter/trunk/src/components/org/apache/jmeter/modifiers/gui/UserParametersGui.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/components/org/apache/jmeter/modifiers/gui/UserParametersGui.java?rev=713460&r1=713459&r2=713460&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/components/org/apache/jmeter/modifiers/gui/UserParametersGui.java (original)
+++ jakarta/jmeter/trunk/src/components/org/apache/jmeter/modifiers/gui/UserParametersGui.java Wed Nov 12 11:20:56 2008
@@ -36,6 +36,7 @@
 import javax.swing.ListSelectionModel;
 import javax.swing.table.TableCellEditor;
 
+import org.apache.jmeter.gui.util.HeaderAsPropertyRenderer;
 import org.apache.jmeter.gui.util.PowerTableModel;
 import org.apache.jmeter.gui.util.VerticalPanel;
 import org.apache.jmeter.modifiers.UserParameters;
@@ -48,9 +49,12 @@
 import org.apache.log.Logger;
 
 public class UserParametersGui extends AbstractPreProcessorGui {
+
     private static final Logger log = LoggingManager.getLoggerForClass();
 
-    private String THREAD_COLUMNS_PREFIX = JMeterUtils.getResString("user") + "_"; // $NON-NLS-1$ $NON-NLS-2$
+    private static final String NAME_COL_RESOURCE = "name"; // $NON-NLS-1$
+    private static final String USER_COL_RESOURCE = "user"; // $NON-NLS-1$
+    private static final String UNDERSCORE = "_"; // $NON-NLS-1$
 
     private JTable paramTable;
 
@@ -84,7 +88,7 @@
         }
         int count = 2;
         while (iter.hasNext()) {
-            String colName = THREAD_COLUMNS_PREFIX + count;
+            String colName = getUserColName(count);
             tableModel.addNewColumn(colName, String.class);
             tableModel.setColumnData(count, (List) iter.next().getObjectValue());
             count++;
@@ -111,18 +115,18 @@
         if (paramTable.isEditing()) {
             paramTable.getCellEditor().stopCellEditing();
         }
-        ((UserParameters) params).setNames(new CollectionProperty(UserParameters.NAMES, tableModel
-                .getColumnData(JMeterUtils.getResString("name")))); // $NON-NLS-1$
+        UserParameters userParams = ((UserParameters) params);
+        userParams.setNames(new CollectionProperty(UserParameters.NAMES, tableModel.getColumnData(NAME_COL_RESOURCE)));
         CollectionProperty threadLists = new CollectionProperty(UserParameters.THREAD_VALUES, new ArrayList());
-        log.debug("making threadlists from gui = " + threadLists);
-        for (int x = 1; x < tableModel.getColumnCount(); x++) {
-            threadLists.addItem(tableModel.getColumnData(THREAD_COLUMNS_PREFIX + x));
-            log.debug("Adding column to threadlist: " + tableModel.getColumnData(THREAD_COLUMNS_PREFIX + x));
+        log.debug("making threadlists from gui");
+        for (int col = 1; col < tableModel.getColumnCount(); col++) {
+            threadLists.addItem(tableModel.getColumnData(getUserColName(col)));
+            log.debug("Adding column to threadlist: " + tableModel.getColumnData(getUserColName(col)));
             log.debug("Threadlists now = " + threadLists);
         }
         log.debug("In the end, threadlists = " + threadLists);
-        ((UserParameters) params).setThreadLists(threadLists);
-        ((UserParameters) params).setPerIteration(perIterationCheck.isSelected());
+        userParams.setThreadLists(threadLists);
+        userParams.setPerIteration(perIterationCheck.isSelected());
         super.configureTestElement(params);
     }
 
@@ -134,9 +138,25 @@
 
         initTableModel();
         paramTable.setModel(tableModel);
+        HeaderAsPropertyRenderer defaultRenderer = new HeaderAsPropertyRenderer(){
+            protected String getText(Object value, int row, int column) {
+                if (column >= 1){ // Don't process the NAME column
+                    String val = value.toString();
+                    if (val.startsWith(USER_COL_RESOURCE+UNDERSCORE)){
+                        return JMeterUtils.getResString(USER_COL_RESOURCE)+val.substring(val.indexOf(UNDERSCORE));
+                    }
+                }
+                return super.getText(value, row, column);
+            }
+        };
+        paramTable.getTableHeader().setDefaultRenderer(defaultRenderer);
         perIterationCheck.setSelected(false);
     }
 
+    private String getUserColName(int user){
+        return USER_COL_RESOURCE+UNDERSCORE+user;
+    }
+
     private void init() {
         setBorder(makeBorder());
         setLayout(new BorderLayout());
@@ -174,8 +194,8 @@
     }
 
     protected void initTableModel() {
-        tableModel = new PowerTableModel(new String[] { JMeterUtils.getResString("name"), // $NON-NLS-1$
-                THREAD_COLUMNS_PREFIX + numUserColumns }, new Class[] { String.class, String.class });
+        tableModel = new PowerTableModel(new String[] { NAME_COL_RESOURCE, // $NON-NLS-1$
+                getUserColName(numUserColumns) }, new Class[] { String.class, String.class });
     }
 
     private JPanel makeButtonPanel() {
@@ -225,7 +245,7 @@
                 cellEditor.stopCellEditing();
             }
 
-            tableModel.addNewColumn(THREAD_COLUMNS_PREFIX + tableModel.getColumnCount(), String.class);
+            tableModel.addNewColumn(getUserColName(tableModel.getColumnCount()), String.class);
             tableModel.fireTableDataChanged();
 
             // Enable DELETE (which may already be enabled, but it won't hurt)



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