jsalvata 2003/11/30 17:39:54
Modified: src/protocol/http/org/apache/jmeter/protocol/http/proxy/gui
ProxyControlGui.java
Log:
Fixing bug in new functionality: the proxy was forgetting the
target selection when selecting another component in the
tree and them coming back to it.
Revision Changes Path
1.29 +14 -13
jakarta-jmeter/src/protocol/http/org/apache/jmeter/protocol/http/proxy/gui/ProxyControlGui.java
Index: ProxyControlGui.java
===================================================================
RCS file:
/home/cvs/jakarta-jmeter/src/protocol/http/org/apache/jmeter/protocol/http/proxy/gui/ProxyControlGui.java,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -r1.28 -r1.29
--- ProxyControlGui.java 1 Dec 2003 01:19:14 -0000 1.28
+++ ProxyControlGui.java 1 Dec 2003 01:39:54 -0000 1.29
@@ -360,14 +360,7 @@
log.debug("Change target "+targetNodes.getSelectedItem());
log.debug("In model "+model);
TreeNodeWrapper nw= (TreeNodeWrapper)targetNodes.getSelectedItem();
- if (nw == null)
- {
- model.setTarget(null);
- }
- else
- {
- model.setTarget(nw.getTreeNode());
- }
+ model.setTarget(nw.getTreeNode());
}
}
@@ -556,8 +549,8 @@
{
targetNodesModel= new DefaultComboBoxModel();
targetNodes = new JComboBox(targetNodesModel);
- targetNodes.addActionListener(this);
targetNodes.setActionCommand(CHANGE_TARGET);
+ // Action listener will be added later
JLabel label = new JLabel(JMeterUtils.getResString("proxy_target"));
label.setLabelFor(targetNodes);
@@ -655,6 +648,10 @@
private void reinitializeTargetCombo() {
log.debug("Reinitializing target combo");
+
+ // Stop action notifications while we shuffle this around:
+ targetNodes.removeActionListener(this);
+
targetNodesModel.removeAllElements();
GuiPackage gp = GuiPackage.getInstance();
JMeterTreeNode root;
@@ -671,17 +668,21 @@
JMeterUtils.getResString("use_recording_controller")));
buildNodesModel(root, "", 0);
}
+ TreeNodeWrapper choice = null;
for (int i = 0; i < targetNodesModel.getSize(); i++)
{
- TreeNodeWrapper choice =
- (TreeNodeWrapper) targetNodesModel.getElementAt(i);
+ choice = (TreeNodeWrapper) targetNodesModel.getElementAt(i);
if (choice.getTreeNode() == model.getTarget()) // .equals caused NPE
{
log.debug("Selecting item "+choice);
- targetNodesModel.setSelectedItem(choice);
break;
}
}
+ // Reinstate action notifications:
+ targetNodes.removeActionListener(this);
+ // Set the current value:
+ targetNodesModel.setSelectedItem(choice);
+
log.debug("Reinitialization complete");
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]