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 se...@apache.org on 2007/03/15 18:08:21 UTC

svn commit: r518693 - in /jakarta/jmeter/branches/rel-2-2: src/core/org/apache/jmeter/control/gui/ src/core/org/apache/jmeter/gui/ xdocs/

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: jmeter-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-help@jakarta.apache.org