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 ms...@apache.org on 2005/06/30 17:36:02 UTC
cvs commit: jakarta-jmeter/src/core/org/apache/jmeter/resources messages.properties
mstover1 2005/06/30 08:36:02
Modified: src/components/org/apache/jmeter/control
ModuleController.java
src/components/org/apache/jmeter/control/gui
ModuleControllerGui.java
src/core/org/apache/jmeter/resources messages.properties
Log:
Fixing bug 23248 - module controller can't remember stuff between save and reload.
Revision Changes Path
1.9 +20 -18 jakarta-jmeter/src/components/org/apache/jmeter/control/ModuleController.java
Index: ModuleController.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src/components/org/apache/jmeter/control/ModuleController.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- ModuleController.java 21 Oct 2004 22:22:45 -0000 1.8
+++ ModuleController.java 30 Jun 2005 15:36:02 -0000 1.9
@@ -18,8 +18,9 @@
package org.apache.jmeter.control;
+import java.util.ArrayList;
import java.util.Enumeration;
-import java.util.Vector;
+import java.util.List;
import javax.swing.tree.TreeNode;
@@ -30,6 +31,8 @@
import org.apache.jmeter.testelement.property.JMeterProperty;
import org.apache.jmeter.testelement.property.NullProperty;
import org.apache.jorphan.collections.HashTree;
+import org.apache.jorphan.logging.LoggingManager;
+import org.apache.log.Logger;
/**
* The goal of ModuleController is to add modularity to JMeter. The general idea
@@ -50,7 +53,7 @@
extends GenericController
implements ReplaceableController
{
-
+ private static final Logger log = LoggingManager.getLoggerForClass();
private static final String NODE_PATH = "ModuleController.node_path";
private JMeterTreeNode selectedNode = null;
@@ -114,13 +117,14 @@
* @return JMeterTreeNode
*/
public JMeterTreeNode getSelectedNode()
- {
+ {
+ if(selectedNode == null) restoreSelected();
return selectedNode;
}
private void setNodePath()
{
- Vector nodePath = new Vector();
+ List nodePath = new ArrayList();
if (selectedNode != null)
{
TreeNode[] path = selectedNode.getPath();
@@ -128,17 +132,17 @@
{
nodePath.add(((JMeterTreeNode) path[i]).getName());
}
- nodePath.add(selectedNode.getName());
+ //nodePath.add(selectedNode.getName());
}
setProperty(new CollectionProperty(NODE_PATH, nodePath));
}
- private Vector getNodePath()
+ public List getNodePath()
{
JMeterProperty prop = getProperty(NODE_PATH);
if (!(prop instanceof NullProperty))
{
- return (Vector) ((CollectionProperty) prop).getObjectValue();
+ return (List) ((CollectionProperty) prop).getObjectValue();
}
else
{
@@ -150,7 +154,7 @@
{
if (selectedNode == null)
{
- Vector nodePath = getNodePath();
+ List nodePath = getNodePath();
if (nodePath != null && nodePath.size() > 0)
{
GuiPackage gp = GuiPackage.getInstance();
@@ -158,25 +162,23 @@
{
JMeterTreeNode root =
(JMeterTreeNode) gp.getTreeModel().getRoot();
- nodePath.remove(0);
- traverse(root, nodePath);
+ traverse(root, nodePath,1);
}
}
}
}
- private void traverse(JMeterTreeNode node, Vector nodePath)
+ private void traverse(JMeterTreeNode node, List nodePath,int level)
{
- if (node != null && nodePath.size() > 0)
+ if (node != null && nodePath.size() > level)
{
for (int i = 0; i < node.getChildCount(); i++)
{
JMeterTreeNode cur = (JMeterTreeNode) node.getChildAt(i);
- if (cur.getName().equals(nodePath.elementAt(0).toString()))
+ if (cur.getName().equals(nodePath.get(level).toString()))
{
- selectedNode = cur;
- nodePath.remove(0);
- traverse(cur, nodePath);
+ if(nodePath.size() == (level + 1)) selectedNode = cur;
+ traverse(cur, nodePath,level + 1);
}
}
}
1.18 +39 -6 jakarta-jmeter/src/components/org/apache/jmeter/control/gui/ModuleControllerGui.java
Index: ModuleControllerGui.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src/components/org/apache/jmeter/control/gui/ModuleControllerGui.java,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -r1.17 -r1.18
--- ModuleControllerGui.java 18 Mar 2005 15:26:55 -0000 1.17
+++ ModuleControllerGui.java 30 Jun 2005 15:36:02 -0000 1.18
@@ -19,6 +19,8 @@
package org.apache.jmeter.control.gui;
import java.awt.FlowLayout;
+import java.util.Collection;
+import java.util.Iterator;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JComboBox;
@@ -52,6 +54,7 @@
private JComboBox nodes;
private DefaultComboBoxModel nodesModel;
+ private JLabel warningLabel;
public static final String CONTROLLER = "Module To Run";
//TODO should be a resource, and probably ought to be resolved at run-time (to allow language change)
@@ -75,9 +78,32 @@
public void configure(TestElement el)
{
super.configure(el);
- this.selected = ((ModuleController) el).getSelectedNode();
+ ModuleController controller = (ModuleController) el;
+ this.selected = controller.getSelectedNode();
+ if(selected == null && controller.getNodePath() != null) warningLabel.setText(JMeterUtils.getResString("module_controller_warning") +
+ renderPath(controller.getNodePath()));
+ else warningLabel.setText("");
reinitialize();
}
+
+ private String renderPath(Collection path)
+ {
+ Iterator iter = path.iterator();
+ StringBuffer buf = new StringBuffer();
+ boolean first = true;
+ while(iter.hasNext())
+ {
+ if(first)
+ {
+ first = false;
+ iter.next();
+ continue;
+ }
+ buf.append(iter.next());
+ if(iter.hasNext()) buf.append(" > ");
+ }
+ return buf.toString();
+ }
/* (non-Javadoc)
* @see org.apache.jmeter.gui.JMeterGUIComponent#createTestElement()
@@ -100,7 +126,7 @@
{
configureTestElement(element);
TreeNodeWrapper tnw = (TreeNodeWrapper) nodesModel.getSelectedItem();
- if (tnw != null)
+ if (tnw != null && tnw.getTreeNode() != null)
{
selected = tnw.getTreeNode();
if (selected != null)
@@ -137,12 +163,14 @@
add(makeTitlePanel());
// DROP-DOWN MENU
- JPanel modulesPanel = new JPanel(new FlowLayout(FlowLayout.LEFT));
+ JPanel modulesPanel = new JPanel(new FlowLayout(FlowLayout.LEFT,20,5));
modulesPanel.add(new JLabel(CONTROLLER));
nodesModel = new DefaultComboBoxModel();
nodes = new JComboBox(nodesModel);
reinitialize();
modulesPanel.add(nodes);
+ warningLabel = new JLabel("");
+ modulesPanel.add(warningLabel);
add(modulesPanel);
}
@@ -166,7 +194,8 @@
for (int i = 0; i < nodesModel.getSize(); i++)
{
current = (TreeNodeWrapper) nodesModel.getElementAt(i);
- if (current.getTreeNode().equals(selected))
+ if ((current.getTreeNode() == null && selected == null) ||
+ (current.getTreeNode() != null && current.getTreeNode().equals(selected)))
{
nodesModel.setSelectedItem(current);
break;
@@ -180,6 +209,10 @@
String parent_name,
int level)
{
+ if(level == 0 && (parent_name == null || parent_name.length() == 0))
+ {
+ nodesModel.addElement(new TreeNodeWrapper(null,""));
+ }
String seperator = " > ";
if (node != null)
{
1.149 +1 -0 jakarta-jmeter/src/core/org/apache/jmeter/resources/messages.properties
Index: messages.properties
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/resources/messages.properties,v
retrieving revision 1.148
retrieving revision 1.149
diff -u -r1.148 -r1.149
--- messages.properties 18 Jun 2005 22:27:38 -0000 1.148
+++ messages.properties 30 Jun 2005 15:36:02 -0000 1.149
@@ -378,6 +378,7 @@
modify_test=Modify Test
modtest=Modification test
module_controller_title=Module Controller
+module_controller_warning=Could not find module:
monitor_equation_active=Active: (busy/max) > 25%
monitor_equation_dead=Dead: no response
monitor_equation_healthy=Healthy: (busy/max) < 25%
---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-help@jakarta.apache.org