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