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/09/02 13:49:02 UTC

svn commit: r571959 - in /jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter: JMeter.java gui/tree/JMeterTreeModel.java

Author: sebb
Date: Sun Sep  2 04:49:01 2007
New Revision: 571959

URL: http://svn.apache.org/viewvc?rev=571959&view=rev
Log:
Bug 38687 - patch caused problems with non-GUI mode on systems without displays
Added hack to create non-GUI version of JMeterTreeModel

Modified:
    jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/JMeter.java
    jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/gui/tree/JMeterTreeModel.java

Modified: jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/JMeter.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/JMeter.java?rev=571959&r1=571958&r2=571959&view=diff
==============================================================================
--- jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/JMeter.java (original)
+++ jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/JMeter.java Sun Sep  2 04:49:01 2007
@@ -667,7 +667,7 @@
 
 			HashTree tree = SaveService.loadTree(reader);
 
-            JMeterTreeModel treeModel = new JMeterTreeModel();
+            JMeterTreeModel treeModel = new JMeterTreeModel(new Object());// Create non-GUI version to avoid headless problems
             JMeterTreeNode root = (JMeterTreeNode) treeModel.getRoot();
             treeModel.addSubTree(tree, root);
 

Modified: jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/gui/tree/JMeterTreeModel.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/gui/tree/JMeterTreeModel.java?rev=571959&r1=571958&r2=571959&view=diff
==============================================================================
--- jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/gui/tree/JMeterTreeModel.java (original)
+++ jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/gui/tree/JMeterTreeModel.java Sun Sep  2 04:49:01 2007
@@ -39,18 +39,31 @@
 import org.apache.jorphan.collections.HashTree;
 import org.apache.jorphan.collections.ListedHashTree;
 
-/**
- * 
- * author Michael Stover
- * 
- * @version $Revision$
- */
 public class JMeterTreeModel extends DefaultTreeModel {
 
+	public JMeterTreeModel(TestElement tp, TestElement wb) {
+		super(new JMeterTreeNode(wb, null));
+		initTree(tp,wb);
+	}
+
 	public JMeterTreeModel() {
-		super(new JMeterTreeNode(new WorkBenchGui().createTestElement(), null));
-		TestElement tp = new TestPlanGui().createTestElement();
-		initTree(tp);
+		this(new TestPlanGui().createTestElement(),new WorkBenchGui().createTestElement());
+//		super(new JMeterTreeNode(new WorkBenchGui().createTestElement(), null));
+//		TestElement tp = new TestPlanGui().createTestElement();
+//		initTree(tp);
+	}
+
+	/**
+	 * Hack to allow TreeModel to be used in non-GUI and headless mode.
+	 * 
+	 * @deprecated - only for use by JMeter class!
+	 * @param o - dummy
+	 */
+	public JMeterTreeModel(Object o) {
+		this(new TestPlan(),new WorkBench());
+//		super(new JMeterTreeNode(new WorkBench(), null));
+//		TestElement tp = new TestPlan();
+//		initTree(tp, new WorkBench());
 	}
 
 	/**
@@ -202,20 +215,19 @@
             children = getChildCount(getRoot());
         }
         // Init the tree
-        initTree(testPlan);
+        initTree(testPlan,new WorkBenchGui().createTestElement()); // Assumes this is only called from GUI mode
     }
     
-    /**
-     * Initialize the model with nodes for testplan and workbench. Use the specified
-     * node for testplan, and default node for workbench.
+	/**
+     * Initialize the model with nodes for testplan and workbench.
      * 
      * @param tp the element to use as testplan
+     * @param wb the element to use as workbench
      */
-	private void initTree(TestElement tp) {
+	private void initTree(TestElement tp, TestElement wb) {
         // Insert the test plan node
         insertNodeInto(new JMeterTreeNode(tp, this), (JMeterTreeNode) getRoot(), 0);
         // Insert the workbench node
-        TestElement wb = new WorkBenchGui().createTestElement();
 		insertNodeInto(new JMeterTreeNode(wb, this), (JMeterTreeNode) getRoot(), 1);
         // Let others know that the tree content has changed.
         // This should not be necessary, but without it, nodes are not shown when the user



---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-help@jakarta.apache.org