Author: sebb
Date: Thu Mar 15 10:08:20 2007
New Revision: 518693

URL: http://svn.apache.org/viewvc?view=rev&rev=518693
Log:
Bug 41259 - Comment field added to all test elements

Added:
    
jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/gui/CommentPanel.java
   (with props)
Modified:
    
jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/control/gui/TestPlanGui.java
    
jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/gui/AbstractJMeterGuiComponent.java
    
jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/gui/MainFrame.java
    jakarta/jmeter/branches/rel-2-2/xdocs/changes.xml

Modified: 
jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/control/gui/TestPlanGui.java
URL: 
http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/control/gui/TestPlanGui.java?view=diff&rev=518693&r1=518692&r2=518693
==============================================================================
--- 
jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/control/gui/TestPlanGui.java
 (original)
+++ 
jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/control/gui/TestPlanGui.java
 Thu Mar 15 10:08:20 2007
@@ -23,7 +23,6 @@
 import java.util.Collection;
 
 import javax.swing.JCheckBox;
-import javax.swing.JLabel;
 import javax.swing.JMenu;
 import javax.swing.JPanel;
 import javax.swing.JPopupMenu;
@@ -60,9 +59,6 @@
        /** A panel allowing the user to define variables. */
        private ArgumentsPanel argsPanel;
 
-       /** A panel to contain comments on the test plan. */
-       private JTextArea commentPanel;
-
     FileListPanel browseJar = null;
 
     /**
@@ -115,7 +111,6 @@
                        tp.setFunctionalMode(functionalMode.isSelected());
                        tp.setSerialized(serializedMode.isSelected());
                        tp.setUserDefinedVariables((Arguments) 
argsPanel.createTestElement());
-                       tp.setProperty(TestPlan.COMMENTS, 
commentPanel.getText());
             tp.setTestPlanClasspathArray(browseJar.getFiles());
                }
        }
@@ -154,7 +149,6 @@
                if (el.getProperty(TestPlan.USER_DEFINED_VARIABLES) != null) {
                        argsPanel.configure((Arguments) 
el.getProperty(TestPlan.USER_DEFINED_VARIABLES).getObjectValue());
                }
-               commentPanel.setText(el.getPropertyAsString(TestPlan.COMMENTS));
         browseJar.setFiles( ((TestPlan)el).getTestPlanClasspathArray() );
        }
 
@@ -169,16 +163,6 @@
                return argsPanel;
        }
 
-       private Container createCommentPanel() {
-               Container panel = makeTitlePanel();
-               commentPanel = new JTextArea();
-               JLabel label = new 
JLabel(JMeterUtils.getResString("testplan_comments"));
-               label.setLabelFor(commentPanel);
-               panel.add(label);
-               panel.add(commentPanel);
-               return panel;
-       }
-    
     protected Container createClassPathPanel() {
         browseJar = new 
FileListPanel(JMeterUtils.getResString("test_plan_classpath_browse"), ".jar");
         return browseJar;
@@ -191,7 +175,7 @@
                setLayout(new BorderLayout(10, 10));
                setBorder(makeBorder());
 
-               add(createCommentPanel(), BorderLayout.NORTH);
+               add(makeTitlePanel(), BorderLayout.NORTH);
 
                add(createVariablePanel(), BorderLayout.CENTER);
 

Modified: 
jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/gui/AbstractJMeterGuiComponent.java
URL: 
http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/gui/AbstractJMeterGuiComponent.java?view=diff&rev=518693&r1=518692&r2=518693
==============================================================================
--- 
jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/gui/AbstractJMeterGuiComponent.java
 (original)
+++ 
jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/gui/AbstractJMeterGuiComponent.java
 Thu Mar 15 10:08:20 2007
@@ -33,6 +33,7 @@
 import org.apache.jmeter.gui.util.VerticalPanel;
 import org.apache.jmeter.samplers.Clearable;
 import org.apache.jmeter.testelement.TestElement;
+import org.apache.jmeter.testelement.TestPlan;
 import org.apache.jmeter.testelement.property.BooleanProperty;
 import org.apache.jmeter.testelement.property.NullProperty;
 import org.apache.jmeter.testelement.property.StringProperty;
@@ -71,6 +72,8 @@
        /** A GUI panel containing the name of this component. */
        protected NamePanel namePanel;
 
+       private CommentPanel commentPanel;
+
        /**
         * When constructing a new component, this takes care of basic tasks 
like
         * setting up the Name Panel and assigning the class's static label as 
the
@@ -78,6 +81,7 @@
         */
        public AbstractJMeterGuiComponent() {
                namePanel = new NamePanel();
+               commentPanel=new CommentPanel();
                setName(getStaticLabel());
        }
 
@@ -129,6 +133,9 @@
                return namePanel;
        }
 
+       private CommentPanel getCommentPanel(){
+               return commentPanel;
+       }
        /**
         * Provides a label containing the title for the component. Subclasses
         * typically place this label at the top of their GUI. The title is set 
to
@@ -167,6 +174,7 @@
                } else {
                        enabled = 
element.getPropertyAsBoolean(TestElement.ENABLED);
                }
+               
getCommentPanel().setText(element.getPropertyAsString(TestPlan.COMMENTS));
        }
 
        /**
@@ -201,6 +209,7 @@
                // This stores the state of the TestElement
                log.debug("setting element to enabled: " + enabled);
                mc.setProperty(new BooleanProperty(TestElement.ENABLED, 
enabled));
+               mc.setProperty(TestPlan.COMMENTS, getCommentPanel().getText());
        }
 
        /**
@@ -231,7 +240,11 @@
        protected Container makeTitlePanel() {
                VerticalPanel titlePanel = new VerticalPanel();
                titlePanel.add(createTitleLabel());
-               titlePanel.add(getNamePanel());
+               VerticalPanel contentPanel = new VerticalPanel();
+               contentPanel.setBorder(BorderFactory.createEtchedBorder());
+               contentPanel.add(getNamePanel());
+               contentPanel.add(getCommentPanel());
+               titlePanel.add(contentPanel);
                return titlePanel;
        }
 

Added: 
jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/gui/CommentPanel.java
URL: 
http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/gui/CommentPanel.java?view=auto&rev=518693
==============================================================================
--- 
jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/gui/CommentPanel.java
 (added)
+++ 
jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/gui/CommentPanel.java
 Thu Mar 15 10:08:20 2007
@@ -0,0 +1,69 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * 
+ */
+
+package org.apache.jmeter.gui;
+
+import java.awt.BorderLayout;
+
+import javax.swing.JLabel;
+import javax.swing.JPanel;
+import javax.swing.JTextArea;
+
+import org.apache.jmeter.gui.util.VerticalPanel;
+import org.apache.jmeter.util.JMeterUtils;
+
+/**
+ * Generic comment panel for Test Elements
+ *
+ */
+public class CommentPanel extends JPanel {
+       /** A text field containing the comment. */
+       private JTextArea commentField;
+
+       /**
+        * Create a new NamePanel with the default name.
+        */
+       public CommentPanel() {
+               init();
+       }
+
+       /**
+        * Initialize the GUI components and layout.
+        */
+       private void init() {
+               setLayout(new BorderLayout(5, 0));
+
+               commentField = new JTextArea();
+               JLabel commentLabel = new 
JLabel(JMeterUtils.getResString("testplan_comments"));
+               commentLabel.setLabelFor(commentField);
+
+               VerticalPanel commentPanel = new VerticalPanel();
+
+               commentPanel.add(commentLabel);
+               commentPanel.add(commentField);
+               add(commentPanel);
+       }
+
+       public void setText(String comment) {
+               this.commentField.setText(comment);
+       }
+
+       public String getText() {
+               return this.commentField.getText();
+       }
+}

Propchange: 
jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/gui/CommentPanel.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/gui/CommentPanel.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Modified: 
jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/gui/MainFrame.java
URL: 
http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/gui/MainFrame.java?view=diff&rev=518693&r1=518692&r2=518693
==============================================================================
--- 
jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/gui/MainFrame.java 
(original)
+++ 
jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/gui/MainFrame.java 
Thu Mar 15 10:08:20 2007
@@ -25,6 +25,7 @@
 import java.awt.Insets;
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
+import java.awt.event.MouseEvent;
 import java.awt.event.WindowAdapter;
 import java.awt.event.WindowEvent;
 import java.util.HashSet;
@@ -47,9 +48,11 @@
 import javax.swing.JTree;
 import javax.swing.MenuElement;
 import javax.swing.SwingUtilities;
+import javax.swing.tree.DefaultMutableTreeNode;
 import javax.swing.tree.DefaultTreeCellRenderer;
 import javax.swing.tree.TreeCellRenderer;
 import javax.swing.tree.TreeModel;
+import javax.swing.tree.TreePath;
 
 import org.apache.jmeter.engine.event.LoopIterationEvent;
 import org.apache.jmeter.gui.action.ActionNames;
@@ -58,7 +61,9 @@
 import org.apache.jmeter.gui.tree.JMeterTreeListener;
 import org.apache.jmeter.gui.util.JMeterMenuBar;
 import org.apache.jmeter.samplers.Remoteable;
+import org.apache.jmeter.testelement.TestElement;
 import org.apache.jmeter.testelement.TestListener;
+import org.apache.jmeter.testelement.TestPlan;
 import org.apache.jmeter.threads.JMeterContextService;
 import org.apache.jmeter.util.JMeterUtils;
 import org.apache.jorphan.gui.ComponentUtil;
@@ -432,7 +437,26 @@
         * @return the initialized test tree GUI
         */
        private JTree makeTree(TreeModel treeModel, JMeterTreeListener 
treeListener) {
-               JTree treevar = new JTree(treeModel);
+               JTree treevar = new JTree(treeModel) {
+                       public String getToolTipText(MouseEvent event) {
+                               TreePath path = 
this.getPathForLocation(event.getX(), event.getY());
+                               if (path != null) {
+                                       Object treeNode = 
path.getLastPathComponent();
+                                       if (treeNode instanceof 
DefaultMutableTreeNode) {
+                                               Object testElement = 
((DefaultMutableTreeNode) treeNode).getUserObject();
+                                               if (testElement instanceof 
TestElement) {
+                                                       String comment =
+                                                               ((TestElement) 
testElement).getPropertyAsString(TestPlan.COMMENTS);
+                                                       if (comment != null && 
comment.length() > 0) {
+                                                               return comment;
+                                                               }
+                                                       }
+                                               }
+                                       }
+                               return null;
+                               }
+                       };
+               treevar.setToolTipText("");
                treevar.setCellRenderer(getCellRenderer());
                treevar.setRootVisible(false);
                treevar.setShowsRootHandles(true);

Modified: jakarta/jmeter/branches/rel-2-2/xdocs/changes.xml
URL: 
http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/xdocs/changes.xml?view=diff&rev=518693&r1=518692&r2=518693
==============================================================================
--- jakarta/jmeter/branches/rel-2-2/xdocs/changes.xml (original)
+++ jakarta/jmeter/branches/rel-2-2/xdocs/changes.xml Thu Mar 15 10:08:20 2007
@@ -118,6 +118,7 @@
 <li>Bug 40103 - various LDAP enhancements</li>
 <li>Bug 39864 - BeanShell init files now found from currrent or bin 
directory</li>
 <li>New -j option to easily change jmeter log file</li>
+<li>Bug 41259 - Comment field added to all test elements</li>
 </ul>
 
 <h4>Non-functional improvements:</h4>



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to