You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jmeter.apache.org by pm...@apache.org on 2016/01/14 14:11:03 UTC
svn commit: r1724599 - in /jmeter/trunk:
src/core/org/apache/jmeter/config/gui/ArgumentsPanel.java
src/protocol/http/org/apache/jmeter/protocol/http/gui/HTTPArgumentsPanel.java
xdocs/changes.xml
Author: pmouawad
Date: Thu Jan 14 13:11:03 2016
New Revision: 1724599
URL: http://svn.apache.org/viewvc?rev=1724599&view=rev
Log:
Bug 58844 - Buttons enable / disable is broken in the arguments panel
#resolve #69
Bugzilla Id: 58844
Modified:
jmeter/trunk/src/core/org/apache/jmeter/config/gui/ArgumentsPanel.java
jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/gui/HTTPArgumentsPanel.java
jmeter/trunk/xdocs/changes.xml
Modified: jmeter/trunk/src/core/org/apache/jmeter/config/gui/ArgumentsPanel.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/config/gui/ArgumentsPanel.java?rev=1724599&r1=1724598&r2=1724599&view=diff
==============================================================================
--- jmeter/trunk/src/core/org/apache/jmeter/config/gui/ArgumentsPanel.java (original)
+++ jmeter/trunk/src/core/org/apache/jmeter/config/gui/ArgumentsPanel.java Thu Jan 14 13:11:03 2016
@@ -87,11 +87,14 @@ public class ArgumentsPanel extends Abst
*/
private final boolean standalone;
- /** Button to move a argument up*/
+ /** Button to move an argument up*/
private JButton up;
- /** Button to move a argument down*/
+ /** Button to move an argument down*/
private JButton down;
+
+ /** Button to show the detail of an argument*/
+ private JButton showDetail;
private final boolean enableUpDown;
@@ -242,8 +245,7 @@ public class ArgumentsPanel extends Abst
* querying the Test Element object for the relevant information to display
* in its GUI.
*
- * @param el
- * the TestElement to configure
+ * @param el the TestElement to configure
*/
@Override
public void configure(TestElement el) {
@@ -299,17 +301,31 @@ public class ArgumentsPanel extends Abst
* Enable or disable the delete button depending on whether or not there is
* a row to be deleted.
*/
+ @Deprecated
protected void checkDeleteStatus() {
+ checkButtonsStatus();
+ }
+
+
+ protected void checkButtonsStatus() {
// Disable DELETE if there are no rows in the table to delete.
if (tableModel.getRowCount() == 0) {
delete.setEnabled(false);
+ showDetail.setEnabled(false);
} else {
delete.setEnabled(true);
+ showDetail.setEnabled(true);
}
- if(enableUpDown && tableModel.getRowCount()>1) {
- up.setEnabled(true);
- down.setEnabled(true);
+ if(enableUpDown) {
+ if(tableModel.getRowCount()>1) {
+ up.setEnabled(true);
+ down.setEnabled(true);
+ }
+ else {
+ up.setEnabled(false);
+ down.setEnabled(false);
+ }
}
}
@@ -331,8 +347,7 @@ public class ArgumentsPanel extends Abst
* Invoked when an action occurs. This implementation supports the add and
* delete buttons.
*
- * @param e
- * the event that has occurred
+ * @param e the event that has occurred
*/
@Override
public void actionPerformed(ActionEvent e) {
@@ -429,23 +444,16 @@ public class ArgumentsPanel extends Abst
tableModel.removeRow(rowsSelected[i]);
}
- // Disable DELETE if there are no rows in the table to delete.
- if (tableModel.getRowCount() == 0) {
- delete.setEnabled(false);
- }
// Table still contains one or more rows, so highlight (select)
// the appropriate one.
- else if (tableModel.getRowCount() > 0) {
+ if (tableModel.getRowCount() > 0) {
if (anchorSelection >= tableModel.getRowCount()) {
anchorSelection = tableModel.getRowCount() - 1;
}
table.setRowSelectionInterval(anchorSelection, anchorSelection);
}
- if(enableUpDown && tableModel.getRowCount()>1) {
- up.setEnabled(true);
- down.setEnabled(true);
- }
+ checkButtonsStatus();
}
}
@@ -459,14 +467,9 @@ public class ArgumentsPanel extends Abst
tableModel.addRow(makeNewArgument());
- // Enable DELETE (which may already be enabled, but it won't hurt)
- delete.setEnabled(true);
- if(enableUpDown && tableModel.getRowCount()>1) {
- up.setEnabled(true);
- down.setEnabled(true);
- }
+ checkButtonsStatus();
- // Highlight (select) and scroll the appropriate row.
+ // Highlight (select) and scroll to the appropriate row.
int rowToSelect = tableModel.getRowCount() - 1;
table.setRowSelectionInterval(rowToSelect, rowToSelect);
table.scrollRectToVisible(table.getCellRect(rowToSelect, 0, true));
@@ -492,8 +495,7 @@ public class ArgumentsPanel extends Abst
}
}
if (table.getRowCount() > rowCount) {
- // Enable DELETE (which may already be enabled, but it won't hurt)
- delete.setEnabled(true);
+ checkButtonsStatus();
// Highlight (select) and scroll to the appropriate rows.
int rowToSelect = tableModel.getRowCount() - 1;
@@ -545,9 +547,9 @@ public class ArgumentsPanel extends Abst
* Initialize the table model used for the arguments table.
*/
protected void initializeTableModel() {
- if (tableModel == null) {
- if(standalone) {
- tableModel = new ObjectTableModel(new String[] { COLUMN_RESOURCE_NAMES_0, COLUMN_RESOURCE_NAMES_1, COLUMN_RESOURCE_NAMES_2 },
+ if (tableModel == null) {
+ if(standalone) {
+ tableModel = new ObjectTableModel(new String[] { COLUMN_RESOURCE_NAMES_0, COLUMN_RESOURCE_NAMES_1, COLUMN_RESOURCE_NAMES_2 },
Argument.class,
new Functor[] {
new Functor("getName"), // $NON-NLS-1$
@@ -558,8 +560,8 @@ public class ArgumentsPanel extends Abst
new Functor("setValue"), // $NON-NLS-1$
new Functor("setDescription") }, // $NON-NLS-1$
new Class[] { String.class, String.class, String.class });
- } else {
- tableModel = new ObjectTableModel(new String[] { COLUMN_RESOURCE_NAMES_0, COLUMN_RESOURCE_NAMES_1 },
+ } else {
+ tableModel = new ObjectTableModel(new String[] { COLUMN_RESOURCE_NAMES_0, COLUMN_RESOURCE_NAMES_1 },
Argument.class,
new Functor[] {
new Functor("getName"), // $NON-NLS-1$
@@ -581,8 +583,7 @@ public class ArgumentsPanel extends Abst
/**
* Resize the table columns to appropriate widths.
*
- * @param _table
- * the table to resize columns for
+ * @param _table the table to resize columns for
*/
protected void sizeColumns(JTable _table) {
}
@@ -623,14 +624,15 @@ public class ArgumentsPanel extends Abst
* @return a GUI panel containing the buttons
*/
private JPanel makeButtonPanel() {
- JButton showDetail = new JButton(JMeterUtils.getResString("detail")); // $NON-NLS-1$
+ showDetail = new JButton(JMeterUtils.getResString("detail")); // $NON-NLS-1$
showDetail.setActionCommand(DETAIL);
showDetail.setEnabled(true);
add = new JButton(JMeterUtils.getResString("add")); // $NON-NLS-1$
add.setActionCommand(ADD);
add.setEnabled(true);
- /** A button for adding new arguments to the table from the clipboard. */
+
+ // A button for adding new arguments to the table from the clipboard
JButton addFromClipboard = new JButton(JMeterUtils.getResString("add_from_clipboard")); // $NON-NLS-1$
addFromClipboard.setActionCommand(ADD_FROM_CLIPBOARD);
addFromClipboard.setEnabled(true);
@@ -645,7 +647,7 @@ public class ArgumentsPanel extends Abst
down = new JButton(JMeterUtils.getResString("down")); // $NON-NLS-1$
down.setActionCommand(DOWN);
}
- checkDeleteStatus();
+ checkButtonsStatus();
JPanel buttonPanel = new JPanel();
buttonPanel.setBorder(BorderFactory.createEmptyBorder(0, 10, 0, 10));
Modified: jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/gui/HTTPArgumentsPanel.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/gui/HTTPArgumentsPanel.java?rev=1724599&r1=1724598&r2=1724599&view=diff
==============================================================================
--- jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/gui/HTTPArgumentsPanel.java (original)
+++ jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/gui/HTTPArgumentsPanel.java Thu Jan 14 13:11:03 2016
@@ -130,7 +130,7 @@ public class HTTPArgumentsPanel extends
tableModel.addRow(arg);
}
}
- checkDeleteStatus();
+ checkButtonsStatus();
}
protected boolean isMetaDataNormal(HTTPArgument arg) {
Modified: jmeter/trunk/xdocs/changes.xml
URL: http://svn.apache.org/viewvc/jmeter/trunk/xdocs/changes.xml?rev=1724599&r1=1724598&r2=1724599&view=diff
==============================================================================
--- jmeter/trunk/xdocs/changes.xml (original)
+++ jmeter/trunk/xdocs/changes.xml Thu Jan 14 13:11:03 2016
@@ -214,6 +214,7 @@ Summary
<li><bug>58453</bug>HTTP Test Script Recorder : NullPointerException when disabling Capture HTTP Headers </li>
<li><bug>57804</bug>HTTP Request doesn't reuse cached SSL context when using Client Certificates in HTTPS (only fixed for HttpClient4 implementation)</li>
<li><bug>58800</bug>proxy.pause default value , fix documentation</li>
+ <li><bug>58844</bug>Buttons enable / disable is broken in the arguments panel. Contributed by Benoit Wiart (benoit dot wiart at gmail.com)</li>
</ul>
<h3>Other Samplers</h3>