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: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]