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 2002/10/15 20:53:31 UTC

cvs commit: jakarta-jmeter/src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/sampler JDBCSampler.java

mstover1    2002/10/15 11:53:31

  Modified:    .        build.xml
               bin      jmeter.properties
               src/components/org/apache/jmeter/assertions/gui
                        DurationAssertionGui.java
               src/components/org/apache/jmeter/config/gui
                        ArgumentsPanel.java LoginConfigGui.java
               src/components/org/apache/jmeter/control
                        ModifyController.java
               src/components/org/apache/jmeter/control/gui
                        InterleaveControlGui.java LogicControllerGui.java
                        LoopControlPanel.java ModifyControllerGui.java
                        OnceOnlyControllerGui.java RandomControlGui.java
               src/components/org/apache/jmeter/modifiers/gui
                        CounterConfigGui.java
               src/components/org/apache/jmeter/timers/gui
                        ConstantTimerGui.java GaussianRandomTimerGui.java
                        UniformRandomTimerGui.java
               src/components/org/apache/jmeter/visualizers
                        AssertionVisualizer.java GraphAccumVisualizer.java
                        GraphVisualizer.java MailerVisualizer.java
                        SplineVisualizer.java StatVisualizer.java
                        TableVisualizer.java ViewResultsFullVisualizer.java
               src/core/org/apache/jmeter JMeter.java NewDriver.java
               src/core/org/apache/jmeter/control/gui WorkBenchGui.java
               src/core/org/apache/jmeter/engine ClientJMeterEngine.java
                        ConvertListeners.java JMeterEngine.java
                        PreCompiler.java RemoteJMeterEngine.java
                        RemoteJMeterEngineImpl.java
                        StandardJMeterEngine.java TreeCloner.java
               src/core/org/apache/jmeter/functions CompoundFunction.java
                        ValueReplacer.java
               src/core/org/apache/jmeter/functions/gui FunctionHelper.java
               src/core/org/apache/jmeter/gui GuiPackage.java
                        MainFrame.java
               src/core/org/apache/jmeter/gui/action AbstractAction.java
                        ActionRouter.java ChangeLanguage.java
                        CheckDirty.java GlobalMouseListener.java Help.java
                        Load.java RemoteStart.java Save.java Start.java
               src/core/org/apache/jmeter/gui/tree JMeterTreeModel.java
               src/core/org/apache/jmeter/gui/util MenuFactory.java
                        PowerTableModel.java
               src/core/org/apache/jmeter/junit JMeterTest.java
               src/core/org/apache/jmeter/reporters ResultCollector.java
               src/core/org/apache/jmeter/save SaveService.java
               src/core/org/apache/jmeter/save/old
                        JMeterNameSpaceHandler.java
               src/core/org/apache/jmeter/save/old/xml XmlHandler.java
               src/core/org/apache/jmeter/threads JMeterThread.java
                        ListenerNotifier.java TestCompiler.java
               src/core/org/apache/jmeter/threads/gui ThreadGroupGui.java
               src/core/org/apache/jmeter/util JMeterUtils.java
               src/protocol/ftp/org/apache/jmeter/protocol/ftp/config/gui
                        FtpConfigGui.java
               src/protocol/ftp/org/apache/jmeter/protocol/ftp/control/gui
                        FtpTestSamplerGui.java
               src/protocol/http/org/apache/jmeter/protocol/http/config/gui
                        HttpDefaultsGui.java MultipartUrlConfigGui.java
                        UrlConfigGui.java
               src/protocol/http/org/apache/jmeter/protocol/http/control/gui
                        HttpTestSampleGui.java SoapSamplerGui.java
               src/protocol/http/org/apache/jmeter/protocol/http/gui
                        AuthPanel.java CookiePanel.java
                        HTTPArgumentsPanel.java HeaderPanel.java
               src/protocol/http/org/apache/jmeter/protocol/http/modifier/gui
                        AnchorModifierGui.java ParamModifierGui.java
                        URLRewritingModifierGui.java
                        UserParameterModifierGui.java
               src/protocol/http/org/apache/jmeter/protocol/http/proxy
                        HttpRequestHdr.java
               src/protocol/java/org/apache/jmeter/protocol/java/config/gui
                        JavaConfigGui.java
               src/protocol/java/org/apache/jmeter/protocol/java/control/gui
                        JavaTestSamplerGui.java
               src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/config/gui
                        DbConfigGui.java PoolConfigGui.java
                        SqlConfigGui.java
               src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/control/gui
                        JdbcTestSampleGui.java
               src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/sampler
                        JDBCSampler.java
  Added:       lib      jorphan.jar
  Removed:     src/core/org/apache/jmeter/gui/util ComponentUtil.java
                        JLabeledChoice.java JLabeledField.java
                        JLabeledPasswordField.java JLabeledTextArea.java
                        JLabeledTextField.java VerticalLayout.java
               src/core/org/apache/jmeter/junit AllTests.java
               src/core/org/apache/jmeter/util ClassFinder.java Data.java
                        HashTree.java ListedHashTree.java
                        ListedHashTreeVisitor.java LoggingManager.java
                        SearchByClass.java SortedHashTree.java
                        TextFile.java
  Log:
  Extracting non-JMeter specific classes to separate library
  
  Revision  Changes    Path
  1.72      +3 -1      jakarta-jmeter/build.xml
  
  Index: build.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/build.xml,v
  retrieving revision 1.71
  retrieving revision 1.72
  diff -u -r1.71 -r1.72
  --- build.xml	27 Aug 2002 18:19:52 -0000	1.71
  +++ build.xml	15 Oct 2002 18:53:23 -0000	1.72
  @@ -419,9 +419,11 @@
   	</target>
   
   	<target name="test" depends="install">
  -	  <java classname="org.apache.jmeter.junit.AllTests" fork="yes" dir="${basedir}/bin">
  +	  <java classname="org.jorphan.test.AllTests" fork="yes" dir="${basedir}/bin">
   		 <classpath refid="testClasspath"/>
  +		 <arg value="../lib/ext"/>
   		 <arg value="./jmeter.properties"/>
  +		 <arg value="org.apache.jmeter.util.JMeterUtils"/>
   	  </java>
     </target>
   
  
  
  
  1.47      +1 -1      jakarta-jmeter/bin/jmeter.properties
  
  Index: jmeter.properties
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/bin/jmeter.properties,v
  retrieving revision 1.46
  retrieving revision 1.47
  diff -u -r1.46 -r1.47
  --- jmeter.properties	30 Aug 2002 17:24:23 -0000	1.46
  +++ jmeter.properties	15 Oct 2002 18:53:24 -0000	1.47
  @@ -65,7 +65,7 @@
   
   #Logging levels for the logging categories in JMeter.  Correct values are FATAL_ERROR, ERROR, WARN, INFO, and DEBUG
   log_level.jmeter=WARN
  -log_level.jmeter.engine=INFO
  +log_level.jmeter.engine=DEBUG
   log_level.jmeter.gui=WARN
   log_level.jmeter.elements=WARN
   log_level.jmeter.util=WARN
  
  
  
  1.1                  jakarta-jmeter/lib/jorphan.jar
  
  	<<Binary file>>
  
  
  1.5       +2 -2      jakarta-jmeter/src/components/org/apache/jmeter/assertions/gui/DurationAssertionGui.java
  
  Index: DurationAssertionGui.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/components/org/apache/jmeter/assertions/gui/DurationAssertionGui.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- DurationAssertionGui.java	29 Aug 2002 18:17:37 -0000	1.4
  +++ DurationAssertionGui.java	15 Oct 2002 18:53:24 -0000	1.5
  @@ -68,11 +68,11 @@
   import javax.swing.border.EmptyBorder;
   
   import org.apache.jmeter.assertions.DurationAssertion;
  -import org.apache.jmeter.gui.util.VerticalLayout;
   import org.apache.jmeter.testelement.TestElement;
   import org.apache.jmeter.util.JMeterUtils;
   import org.apache.log.Hierarchy;
   import org.apache.log.Logger;
  +import org.jorphan.gui.layout.VerticalLayout;
   
   
   /****************************************
  
  
  
  1.6       +1 -1      jakarta-jmeter/src/components/org/apache/jmeter/config/gui/ArgumentsPanel.java
  
  Index: ArgumentsPanel.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/components/org/apache/jmeter/config/gui/ArgumentsPanel.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- ArgumentsPanel.java	16 Aug 2002 13:05:35 -0000	1.5
  +++ ArgumentsPanel.java	15 Oct 2002 18:53:24 -0000	1.6
  @@ -81,8 +81,8 @@
   import org.apache.jmeter.gui.util.TextAreaCellRenderer;
   import org.apache.jmeter.gui.util.TextAreaTableCellEditor;
   import org.apache.jmeter.testelement.TestElement;
  -import org.apache.jmeter.util.Data;
   import org.apache.jmeter.util.JMeterUtils;
  +import org.jorphan.collections.Data;
   
   /****************************************
    * Title: JMeter Description: Copyright: Copyright (c) 2000 Company: Apache
  
  
  
  1.2       +8 -7      jakarta-jmeter/src/components/org/apache/jmeter/config/gui/LoginConfigGui.java
  
  Index: LoginConfigGui.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/components/org/apache/jmeter/config/gui/LoginConfigGui.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- LoginConfigGui.java	11 Aug 2002 19:24:40 -0000	1.1
  +++ LoginConfigGui.java	15 Oct 2002 18:53:24 -0000	1.2
  @@ -53,14 +53,15 @@
    * <http://www.apache.org/>.
    */
   package org.apache.jmeter.config.gui;
  -import java.awt.event.*;
  -import javax.swing.*;
  -import org.apache.jmeter.config.LoginConfig;
  -import org.apache.jmeter.gui.*;
  -import org.apache.jmeter.gui.util.VerticalLayout;
  -import org.apache.jmeter.util.JMeterUtils;
  -import org.apache.jmeter.testelement.TestElement;
  +import javax.swing.JLabel;
  +import javax.swing.JPanel;
  +import javax.swing.JPasswordField;
  +import javax.swing.JTextField;
  +
   import org.apache.jmeter.config.ConfigTestElement;
  +import org.apache.jmeter.testelement.TestElement;
  +import org.apache.jmeter.util.JMeterUtils;
  +import org.jorphan.gui.layout.VerticalLayout;
   
   /****************************************
    * Title: JMeter Description: Copyright: Copyright (c) 2000 Company: Apache
  
  
  
  1.2       +2 -3      jakarta-jmeter/src/components/org/apache/jmeter/control/ModifyController.java
  
  Index: ModifyController.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/components/org/apache/jmeter/control/ModifyController.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- ModifyController.java	11 Aug 2002 19:24:40 -0000	1.1
  +++ ModifyController.java	15 Oct 2002 18:53:24 -0000	1.2
  @@ -61,7 +61,6 @@
   import org.apache.jmeter.gui.JMeterComponentModel;
   import org.apache.jmeter.gui.util.MenuFactory;
   import org.apache.jmeter.samplers.*;
  -import org.apache.jmeter.util.ClassFinder;
   import org.apache.jmeter.util.JMeterUtils;
   import org.apache.jmeter.testelement.TestElement;
   
  
  
  
  1.3       +2 -2      jakarta-jmeter/src/components/org/apache/jmeter/control/gui/InterleaveControlGui.java
  
  Index: InterleaveControlGui.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/components/org/apache/jmeter/control/gui/InterleaveControlGui.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- InterleaveControlGui.java	20 Aug 2002 18:45:52 -0000	1.2
  +++ InterleaveControlGui.java	15 Oct 2002 18:53:24 -0000	1.3
  @@ -63,9 +63,9 @@
   
   import org.apache.jmeter.control.InterleaveControl;
   import org.apache.jmeter.gui.NamePanel;
  -import org.apache.jmeter.gui.util.VerticalLayout;
   import org.apache.jmeter.testelement.TestElement;
   import org.apache.jmeter.util.JMeterUtils;
  +import org.jorphan.gui.layout.VerticalLayout;
   
   /****************************************
    * Title: JMeter Description: Copyright: Copyright (c) 2000 Company: Apache
  
  
  
  1.2       +10 -9     jakarta-jmeter/src/components/org/apache/jmeter/control/gui/LogicControllerGui.java
  
  Index: LogicControllerGui.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/components/org/apache/jmeter/control/gui/LogicControllerGui.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- LogicControllerGui.java	11 Aug 2002 19:24:40 -0000	1.1
  +++ LogicControllerGui.java	15 Oct 2002 18:53:24 -0000	1.2
  @@ -53,17 +53,18 @@
    * <http://www.apache.org/>.
    */
   package org.apache.jmeter.control.gui;
  -import java.awt.*;
  -import java.awt.event.*;
  -import javax.swing.*;
  -import javax.swing.border.*;
  -import javax.swing.table.*;
  -import javax.swing.text.*;
  +import java.awt.Font;
  +
  +import javax.swing.JLabel;
  +import javax.swing.JPanel;
  +import javax.swing.border.Border;
  +import javax.swing.border.EmptyBorder;
  +
   import org.apache.jmeter.control.GenericController;
  -import org.apache.jmeter.gui.*;
  -import org.apache.jmeter.gui.util.VerticalLayout;
  +import org.apache.jmeter.gui.NamePanel;
   import org.apache.jmeter.testelement.TestElement;
   import org.apache.jmeter.util.JMeterUtils;
  +import org.jorphan.gui.layout.VerticalLayout;
   
   /****************************************
    * Title: JMeter Description: Copyright: Copyright (c) 2000 Company: Apache
  
  
  
  1.2       +16 -8     jakarta-jmeter/src/components/org/apache/jmeter/control/gui/LoopControlPanel.java
  
  Index: LoopControlPanel.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/components/org/apache/jmeter/control/gui/LoopControlPanel.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- LoopControlPanel.java	11 Aug 2002 19:24:40 -0000	1.1
  +++ LoopControlPanel.java	15 Oct 2002 18:53:24 -0000	1.2
  @@ -1,15 +1,23 @@
   package org.apache.jmeter.control.gui;
  -import java.awt.*;
  -import java.awt.event.*;
  -import java.util.*;
  -import javax.swing.*;
  -import javax.swing.border.*;
  +import java.awt.Font;
  +import java.awt.event.ActionEvent;
  +import java.awt.event.ActionListener;
  +import java.awt.event.KeyEvent;
  +import java.awt.event.KeyListener;
  +
  +import javax.swing.JCheckBox;
  +import javax.swing.JLabel;
  +import javax.swing.JOptionPane;
  +import javax.swing.JPanel;
  +import javax.swing.JTextField;
  +import javax.swing.border.Border;
  +import javax.swing.border.EmptyBorder;
  +
   import org.apache.jmeter.control.LoopController;
  -import org.apache.jmeter.gui.NamePanel;
   import org.apache.jmeter.gui.util.FocusRequester;
  -import org.apache.jmeter.gui.util.VerticalLayout;
   import org.apache.jmeter.testelement.TestElement;
   import org.apache.jmeter.util.JMeterUtils;
  +import org.jorphan.gui.layout.VerticalLayout;
   
   /****************************************
    * Title: JMeter Description: Copyright: Copyright (c) 2000 Company: Apache
  
  
  
  1.2       +3 -2      jakarta-jmeter/src/components/org/apache/jmeter/control/gui/ModifyControllerGui.java
  
  Index: ModifyControllerGui.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/components/org/apache/jmeter/control/gui/ModifyControllerGui.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- ModifyControllerGui.java	11 Aug 2002 19:24:40 -0000	1.1
  +++ ModifyControllerGui.java	15 Oct 2002 18:53:24 -0000	1.2
  @@ -62,12 +62,13 @@
   import javax.swing.JPopupMenu;
   import javax.swing.border.Border;
   import javax.swing.border.EmptyBorder;
  +
   import org.apache.jmeter.control.ModifyController;
   import org.apache.jmeter.gui.NamePanel;
   import org.apache.jmeter.gui.util.MenuFactory;
  -import org.apache.jmeter.gui.util.VerticalLayout;
   import org.apache.jmeter.testelement.TestElement;
   import org.apache.jmeter.util.JMeterUtils;
  +import org.jorphan.gui.layout.VerticalLayout;
   
   /****************************************
    * Title: JMeter Description: Copyright: Copyright (c) 2000 Company: Apache
  
  
  
  1.2       +10 -9     jakarta-jmeter/src/components/org/apache/jmeter/control/gui/OnceOnlyControllerGui.java
  
  Index: OnceOnlyControllerGui.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/components/org/apache/jmeter/control/gui/OnceOnlyControllerGui.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- OnceOnlyControllerGui.java	11 Aug 2002 19:24:40 -0000	1.1
  +++ OnceOnlyControllerGui.java	15 Oct 2002 18:53:24 -0000	1.2
  @@ -53,17 +53,18 @@
    * <http://www.apache.org/>.
    */
   package org.apache.jmeter.control.gui;
  -import java.awt.*;
  -import java.awt.event.*;
  -import javax.swing.*;
  -import javax.swing.border.*;
  -import javax.swing.table.*;
  -import javax.swing.text.*;
  +import java.awt.Font;
  +
  +import javax.swing.JLabel;
  +import javax.swing.JPanel;
  +import javax.swing.border.Border;
  +import javax.swing.border.EmptyBorder;
  +
   import org.apache.jmeter.control.OnceOnlyController;
  -import org.apache.jmeter.gui.*;
  -import org.apache.jmeter.gui.util.VerticalLayout;
  +import org.apache.jmeter.gui.NamePanel;
   import org.apache.jmeter.testelement.TestElement;
   import org.apache.jmeter.util.JMeterUtils;
  +import org.jorphan.gui.layout.VerticalLayout;
   
   /****************************************
    * Title: JMeter Description: Copyright: Copyright (c) 2000 Company: Apache
  
  
  
  1.3       +2 -2      jakarta-jmeter/src/components/org/apache/jmeter/control/gui/RandomControlGui.java
  
  Index: RandomControlGui.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/components/org/apache/jmeter/control/gui/RandomControlGui.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- RandomControlGui.java	20 Sep 2002 18:23:31 -0000	1.2
  +++ RandomControlGui.java	15 Oct 2002 18:53:24 -0000	1.3
  @@ -63,9 +63,9 @@
   
   import org.apache.jmeter.control.InterleaveControl;
   import org.apache.jmeter.control.RandomController;
  -import org.apache.jmeter.gui.util.VerticalLayout;
   import org.apache.jmeter.testelement.TestElement;
   import org.apache.jmeter.util.JMeterUtils;
  +import org.jorphan.gui.layout.VerticalLayout;
   
   /****************************************
    * Title: JMeter Description: Copyright: Copyright (c) 2000 Company: Apache
  
  
  
  1.2       +2 -2      jakarta-jmeter/src/components/org/apache/jmeter/modifiers/gui/CounterConfigGui.java
  
  Index: CounterConfigGui.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/components/org/apache/jmeter/modifiers/gui/CounterConfigGui.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- CounterConfigGui.java	28 Aug 2002 21:29:27 -0000	1.1
  +++ CounterConfigGui.java	15 Oct 2002 18:53:25 -0000	1.2
  @@ -3,11 +3,11 @@
   import javax.swing.JCheckBox;
   
   import org.apache.jmeter.config.gui.AbstractConfigGui;
  -import org.apache.jmeter.gui.util.JLabeledTextField;
  -import org.apache.jmeter.gui.util.VerticalLayout;
   import org.apache.jmeter.modifiers.CounterConfig;
   import org.apache.jmeter.testelement.TestElement;
   import org.apache.jmeter.util.JMeterUtils;
  +import org.jorphan.gui.JLabeledTextField;
  +import org.jorphan.gui.layout.VerticalLayout;
   /**
    * @author Administrator
    *
  
  
  
  1.2       +16 -9     jakarta-jmeter/src/components/org/apache/jmeter/timers/gui/ConstantTimerGui.java
  
  Index: ConstantTimerGui.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/components/org/apache/jmeter/timers/gui/ConstantTimerGui.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- ConstantTimerGui.java	11 Aug 2002 19:24:41 -0000	1.1
  +++ ConstantTimerGui.java	15 Oct 2002 18:53:25 -0000	1.2
  @@ -53,15 +53,22 @@
    * <http://www.apache.org/>.
    */
   package org.apache.jmeter.timers.gui;
  -import java.awt.*;
  -import java.awt.event.*;
  -import javax.swing.*;
  -import javax.swing.border.*;
  -import org.apache.jmeter.gui.*;
  -import org.apache.jmeter.gui.util.VerticalLayout;
  -import org.apache.jmeter.timers.*;
  -import org.apache.jmeter.util.*;
  +import java.awt.Font;
  +import java.awt.event.KeyEvent;
  +import java.awt.event.KeyListener;
  +
  +import javax.swing.JComponent;
  +import javax.swing.JLabel;
  +import javax.swing.JOptionPane;
  +import javax.swing.JPanel;
  +import javax.swing.JTextField;
  +import javax.swing.border.Border;
  +import javax.swing.border.EmptyBorder;
  +
   import org.apache.jmeter.testelement.TestElement;
  +import org.apache.jmeter.timers.ConstantTimer;
  +import org.apache.jmeter.util.JMeterUtils;
  +import org.jorphan.gui.layout.VerticalLayout;
   
   /****************************************
    * Title: JMeter Description: Copyright: Copyright (c) 2000 Company: Apache
  
  
  
  1.2       +19 -9     jakarta-jmeter/src/components/org/apache/jmeter/timers/gui/GaussianRandomTimerGui.java
  
  Index: GaussianRandomTimerGui.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/components/org/apache/jmeter/timers/gui/GaussianRandomTimerGui.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- GaussianRandomTimerGui.java	11 Aug 2002 19:24:41 -0000	1.1
  +++ GaussianRandomTimerGui.java	15 Oct 2002 18:53:25 -0000	1.2
  @@ -53,16 +53,26 @@
    * <http://www.apache.org/>.
    */
   package org.apache.jmeter.timers.gui;
  -import java.awt.*;
  -import java.awt.event.*;
  -import javax.swing.*;
  -import javax.swing.border.*;
  -import org.apache.jmeter.gui.*;
  +import java.awt.Font;
  +import java.awt.event.KeyEvent;
  +import java.awt.event.KeyListener;
  +
  +import javax.swing.BorderFactory;
  +import javax.swing.JComponent;
  +import javax.swing.JLabel;
  +import javax.swing.JOptionPane;
  +import javax.swing.JPanel;
  +import javax.swing.JTextField;
  +import javax.swing.border.Border;
  +import javax.swing.border.CompoundBorder;
  +import javax.swing.border.EmptyBorder;
  +
   import org.apache.jmeter.gui.util.FocusRequester;
  -import org.apache.jmeter.gui.util.VerticalLayout;
  -import org.apache.jmeter.timers.*;
  -import org.apache.jmeter.util.*;
   import org.apache.jmeter.testelement.TestElement;
  +import org.apache.jmeter.timers.GaussianRandomTimer;
  +import org.apache.jmeter.timers.RandomTimer;
  +import org.apache.jmeter.util.JMeterUtils;
  +import org.jorphan.gui.layout.VerticalLayout;
   
   /****************************************
    * Title: JMeter Description: Copyright: Copyright (c) 2000 Company: Apache
  
  
  
  1.2       +19 -9     jakarta-jmeter/src/components/org/apache/jmeter/timers/gui/UniformRandomTimerGui.java
  
  Index: UniformRandomTimerGui.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/components/org/apache/jmeter/timers/gui/UniformRandomTimerGui.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- UniformRandomTimerGui.java	11 Aug 2002 19:24:41 -0000	1.1
  +++ UniformRandomTimerGui.java	15 Oct 2002 18:53:25 -0000	1.2
  @@ -53,16 +53,26 @@
    * <http://www.apache.org/>.
    */
   package org.apache.jmeter.timers.gui;
  -import java.awt.*;
  -import java.awt.event.*;
  -import javax.swing.*;
  -import javax.swing.border.*;
  -import org.apache.jmeter.gui.*;
  +import java.awt.Font;
  +import java.awt.event.KeyEvent;
  +import java.awt.event.KeyListener;
  +
  +import javax.swing.BorderFactory;
  +import javax.swing.JComponent;
  +import javax.swing.JLabel;
  +import javax.swing.JOptionPane;
  +import javax.swing.JPanel;
  +import javax.swing.JTextField;
  +import javax.swing.border.Border;
  +import javax.swing.border.CompoundBorder;
  +import javax.swing.border.EmptyBorder;
  +
   import org.apache.jmeter.gui.util.FocusRequester;
  -import org.apache.jmeter.gui.util.VerticalLayout;
  -import org.apache.jmeter.timers.*;
  -import org.apache.jmeter.util.*;
   import org.apache.jmeter.testelement.TestElement;
  +import org.apache.jmeter.timers.RandomTimer;
  +import org.apache.jmeter.timers.UniformRandomTimer;
  +import org.apache.jmeter.util.JMeterUtils;
  +import org.jorphan.gui.layout.VerticalLayout;
   
   /****************************************
    * Title: JMeter Description: Copyright: Copyright (c) 2000 Company: Apache
  
  
  
  1.4       +2 -2      jakarta-jmeter/src/components/org/apache/jmeter/visualizers/AssertionVisualizer.java
  
  Index: AssertionVisualizer.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/components/org/apache/jmeter/visualizers/AssertionVisualizer.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- AssertionVisualizer.java	23 Aug 2002 22:58:19 -0000	1.3
  +++ AssertionVisualizer.java	15 Oct 2002 18:53:25 -0000	1.4
  @@ -67,11 +67,11 @@
   import javax.swing.border.EmptyBorder;
   
   import org.apache.jmeter.assertions.AssertionResult;
  -import org.apache.jmeter.gui.util.VerticalLayout;
   import org.apache.jmeter.samplers.Clearable;
   import org.apache.jmeter.samplers.SampleResult;
   import org.apache.jmeter.util.JMeterUtils;
   import org.apache.jmeter.visualizers.gui.AbstractVisualizer;
  +import org.jorphan.gui.layout.VerticalLayout;
   
   /****************************************
    * Title: Jakarta-JMeter Description: Copyright: Copyright (c) 2001 Company:
  
  
  
  1.5       +2 -2      jakarta-jmeter/src/components/org/apache/jmeter/visualizers/GraphAccumVisualizer.java
  
  Index: GraphAccumVisualizer.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/components/org/apache/jmeter/visualizers/GraphAccumVisualizer.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- GraphAccumVisualizer.java	30 Aug 2002 14:43:19 -0000	1.4
  +++ GraphAccumVisualizer.java	15 Oct 2002 18:53:25 -0000	1.5
  @@ -65,13 +65,13 @@
   import javax.swing.border.Border;
   import javax.swing.border.EmptyBorder;
   
  -import org.apache.jmeter.gui.util.VerticalLayout;
   import org.apache.jmeter.samplers.Clearable;
   import org.apache.jmeter.samplers.SampleResult;
   import org.apache.jmeter.util.JMeterUtils;
   import org.apache.jmeter.visualizers.gui.AbstractVisualizer;
   import org.apache.log.Hierarchy;
   import org.apache.log.Logger;
  +import org.jorphan.gui.layout.VerticalLayout;
   /****************************************
    * This class implements a statistical analyser that plots the accumulated time
    * taken to load each set of pages. The number of plots is equivalent to the
  
  
  
  1.3       +2 -2      jakarta-jmeter/src/components/org/apache/jmeter/visualizers/GraphVisualizer.java
  
  Index: GraphVisualizer.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/components/org/apache/jmeter/visualizers/GraphVisualizer.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- GraphVisualizer.java	24 Aug 2002 16:51:13 -0000	1.2
  +++ GraphVisualizer.java	15 Oct 2002 18:53:25 -0000	1.3
  @@ -72,11 +72,11 @@
   import javax.swing.border.EmptyBorder;
   
   import org.apache.jmeter.gui.util.JMeterColor;
  -import org.apache.jmeter.gui.util.VerticalLayout;
   import org.apache.jmeter.samplers.Clearable;
   import org.apache.jmeter.samplers.SampleResult;
   import org.apache.jmeter.util.JMeterUtils;
   import org.apache.jmeter.visualizers.gui.AbstractVisualizer;
  +import org.jorphan.gui.layout.VerticalLayout;
   
   /****************************************
    * This class implements a statistical analyser that calculates both the average
  
  
  
  1.6       +3 -3      jakarta-jmeter/src/components/org/apache/jmeter/visualizers/MailerVisualizer.java
  
  Index: MailerVisualizer.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/components/org/apache/jmeter/visualizers/MailerVisualizer.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- MailerVisualizer.java	29 Aug 2002 18:17:37 -0000	1.5
  +++ MailerVisualizer.java	15 Oct 2002 18:53:25 -0000	1.6
  @@ -75,7 +75,6 @@
   import javax.swing.border.Border;
   import javax.swing.border.EmptyBorder;
   
  -import org.apache.jmeter.gui.util.VerticalLayout;
   import org.apache.jmeter.samplers.Clearable;
   import org.apache.jmeter.samplers.SampleResult;
   import org.apache.jmeter.testelement.TestElement;
  @@ -83,6 +82,7 @@
   import org.apache.jmeter.visualizers.gui.AbstractVisualizer;
   import org.apache.log.Hierarchy;
   import org.apache.log.Logger;
  +import org.jorphan.gui.layout.VerticalLayout;
   
   /*
    * TODO :
  
  
  
  1.3       +20 -10    jakarta-jmeter/src/components/org/apache/jmeter/visualizers/SplineVisualizer.java
  
  Index: SplineVisualizer.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/components/org/apache/jmeter/visualizers/SplineVisualizer.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- SplineVisualizer.java	30 Aug 2002 14:43:19 -0000	1.2
  +++ SplineVisualizer.java	15 Oct 2002 18:53:25 -0000	1.3
  @@ -53,16 +53,26 @@
    * <http://www.apache.org/>.
    */
   package org.apache.jmeter.visualizers;
  -import java.awt.*;
  -import java.util.Vector;
  -import javax.swing.*;
  -import javax.swing.border.*;
  -import org.apache.jmeter.gui.*;
  -import org.apache.jmeter.gui.util.VerticalLayout;
  +import java.awt.BorderLayout;
  +import java.awt.Color;
  +import java.awt.Dimension;
  +import java.awt.Font;
  +import java.awt.Graphics;
  +import java.awt.GridLayout;
  +import java.awt.Image;
  +
  +import javax.swing.BorderFactory;
  +import javax.swing.JComponent;
  +import javax.swing.JLabel;
  +import javax.swing.JPanel;
  +import javax.swing.border.Border;
  +import javax.swing.border.EmptyBorder;
  +
  +import org.apache.jmeter.samplers.Clearable;
   import org.apache.jmeter.samplers.SampleResult;
   import org.apache.jmeter.util.JMeterUtils;
   import org.apache.jmeter.visualizers.gui.AbstractVisualizer;
  -import org.apache.jmeter.samplers.Clearable;
  +import org.jorphan.gui.layout.VerticalLayout;
   
   /****************************************
    * This class implements a statistical analyser that takes samples to process a
  
  
  
  1.4       +8 -8      jakarta-jmeter/src/components/org/apache/jmeter/visualizers/StatVisualizer.java
  
  Index: StatVisualizer.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/components/org/apache/jmeter/visualizers/StatVisualizer.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- StatVisualizer.java	30 Aug 2002 14:43:19 -0000	1.3
  +++ StatVisualizer.java	15 Oct 2002 18:53:25 -0000	1.4
  @@ -75,12 +75,12 @@
   import javax.swing.table.AbstractTableModel;
   import javax.swing.table.TableModel;
   
  -import org.apache.jmeter.gui.util.VerticalLayout;
   import org.apache.jmeter.samplers.Clearable;
   import org.apache.jmeter.samplers.SampleResult;
   import org.apache.jmeter.testelement.TestElement;
   import org.apache.jmeter.util.JMeterUtils;
   import org.apache.jmeter.visualizers.gui.AbstractVisualizer;
  +import org.jorphan.gui.layout.VerticalLayout;
   /****************************************
    * Title: StatVisualizer.java Description: Aggregrate Table-Based Reporting
    * Visualizer for JMeter Props to the people who've done the other visualizers
  
  
  
  1.3       +2 -2      jakarta-jmeter/src/components/org/apache/jmeter/visualizers/TableVisualizer.java
  
  Index: TableVisualizer.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/components/org/apache/jmeter/visualizers/TableVisualizer.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- TableVisualizer.java	3 Sep 2002 15:37:16 -0000	1.2
  +++ TableVisualizer.java	15 Oct 2002 18:53:25 -0000	1.3
  @@ -68,11 +68,11 @@
   import javax.swing.border.EmptyBorder;
   import javax.swing.event.TableModelEvent;
   
  -import org.apache.jmeter.gui.util.VerticalLayout;
   import org.apache.jmeter.samplers.Clearable;
   import org.apache.jmeter.samplers.SampleResult;
   import org.apache.jmeter.util.JMeterUtils;
   import org.apache.jmeter.visualizers.gui.AbstractVisualizer;
  +import org.jorphan.gui.layout.VerticalLayout;
   
   /****************************************
    * This class implements a statistical analyser that calculates both the average
  
  
  
  1.9       +4 -2      jakarta-jmeter/src/components/org/apache/jmeter/visualizers/ViewResultsFullVisualizer.java
  
  Index: ViewResultsFullVisualizer.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/components/org/apache/jmeter/visualizers/ViewResultsFullVisualizer.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- ViewResultsFullVisualizer.java	5 Sep 2002 13:51:28 -0000	1.8
  +++ ViewResultsFullVisualizer.java	15 Oct 2002 18:53:25 -0000	1.9
  @@ -60,6 +60,7 @@
   import java.awt.GridBagLayout;
   import java.awt.Insets;
   import java.io.UnsupportedEncodingException;
  +
   import javax.swing.ImageIcon;
   import javax.swing.JLabel;
   import javax.swing.JPanel;
  @@ -73,13 +74,14 @@
   import javax.swing.tree.DefaultTreeCellRenderer;
   import javax.swing.tree.DefaultTreeModel;
   import javax.swing.tree.TreeSelectionModel;
  -import org.apache.jmeter.gui.util.JLabeledTextArea;
  +
   import org.apache.jmeter.samplers.Clearable;
   import org.apache.jmeter.samplers.SampleResult;
   import org.apache.jmeter.util.JMeterUtils;
   import org.apache.jmeter.visualizers.gui.AbstractVisualizer;
   import org.apache.log.Hierarchy;
   import org.apache.log.Logger;
  +import org.jorphan.gui.JLabeledTextArea;
   /****************************************
    * Allows the tester to view the textual response from sampling an Entry. This
    * also allows to "single step through" the sampling process via a nice
  
  
  
  1.5       +4 -6      jakarta-jmeter/src/core/org/apache/jmeter/JMeter.java
  
  Index: JMeter.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/JMeter.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- JMeter.java	30 Aug 2002 17:24:23 -0000	1.4
  +++ JMeter.java	15 Oct 2002 18:53:26 -0000	1.5
  @@ -57,8 +57,6 @@
   import java.awt.event.ActionEvent;
   import java.io.File;
   import java.io.FileInputStream;
  -import java.io.FileNotFoundException;
  -import java.io.IOException;
   import java.net.Authenticator;
   
   import org.apache.avalon.excalibur.cli.CLArgsParser;
  @@ -75,14 +73,14 @@
   import org.apache.jmeter.gui.action.Load;
   import org.apache.jmeter.gui.tree.JMeterTreeListener;
   import org.apache.jmeter.gui.tree.JMeterTreeModel;
  -import org.apache.jmeter.gui.util.ComponentUtil;
   import org.apache.jmeter.reporters.ResultCollector;
   import org.apache.jmeter.save.SaveService;
   import org.apache.jmeter.testelement.TestListener;
   import org.apache.jmeter.util.JMeterUtils;
  -import org.apache.jmeter.util.ListedHashTree;
   import org.apache.log.Hierarchy;
   import org.apache.log.Logger;
  +import org.jorphan.collections.HashTree;
  +import org.jorphan.gui.ComponentUtil;
   
   /**
    * @author mstover
  @@ -203,7 +201,7 @@
   			{
   				File f = new File(testFile.getArgument());
   				FileInputStream reader = new FileInputStream(f);
  -				ListedHashTree tree = SaveService.loadSubTree(reader);
  +				HashTree tree = SaveService.loadSubTree(reader);
   				new Load().insertLoadedTree(1,tree);
   			}
   			catch (Exception e)
  @@ -335,7 +333,7 @@
   
   			reader = new FileInputStream(f);
   
  -			ListedHashTree tree = SaveService.loadSubTree(reader);
  +			HashTree tree = SaveService.loadSubTree(reader);
   			if(logFile != null)
   			{
   				ResultCollector logger = new ResultCollector();
  
  
  
  1.3       +0 -16     jakarta-jmeter/src/core/org/apache/jmeter/NewDriver.java
  
  Index: NewDriver.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/NewDriver.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- NewDriver.java	23 Aug 2002 19:10:13 -0000	1.2
  +++ NewDriver.java	15 Oct 2002 18:53:26 -0000	1.3
  @@ -131,23 +131,7 @@
   		
   		System.setProperty("java.class.path",System.getProperty("java.class.path")+classpath.toString());
   		loader = new URLClassLoader((URL[])jars.toArray(new URL[0]));
  -		try {
  -			loader.loadClass("org.apache.jmeter.gui.GuiPackage");
  -			loader.loadClass("org.apache.jmeter.gui.JMeterFileFilter");
  -			loader.loadClass("org.apache.jmeter.gui.MainFrame");
  -			loader.loadClass("org.apache.jmeter.gui.action.ActionRouter");
  -			loader.loadClass("org.apache.jmeter.gui.action.CheckDirty");
  -			loader.loadClass("org.apache.jmeter.gui.tree.JMeterTreeListener");
  -			loader.loadClass("org.apache.jmeter.gui.tree.JMeterTreeModel");
  -			loader.loadClass("org.apache.jmeter.gui.util.ComponentUtil");
  -			loader.loadClass("org.apache.jmeter.gui.util.MenuFactory");
  -			loader.loadClass("org.apache.jmeter.util.JMeterUtils");
  -			loader.loadClass("javax.xml.parsers.SAXParserFactory");
  -			loader.loadClass("org.apache.xerces.jaxp.SAXParserFactoryImpl");
   		
  -		} catch(ClassNotFoundException e) {
  -			e.printStackTrace();
  -		}
   	}
   	
   	public static String getJMeterDir()
  
  
  
  1.2       +14 -10    jakarta-jmeter/src/core/org/apache/jmeter/control/gui/WorkBenchGui.java
  
  Index: WorkBenchGui.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/control/gui/WorkBenchGui.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- WorkBenchGui.java	11 Aug 2002 19:24:42 -0000	1.1
  +++ WorkBenchGui.java	15 Oct 2002 18:53:26 -0000	1.2
  @@ -53,19 +53,23 @@
    * <http://www.apache.org/>.
    */
   package org.apache.jmeter.control.gui;
  -import java.awt.*;
  -import java.awt.event.*;
  -import java.util.*;
  -import javax.swing.*;
  -import javax.swing.border.*;
  -import javax.swing.table.*;
  -import javax.swing.text.*;
  -import org.apache.jmeter.gui.*;
  +import java.awt.Font;
  +import java.util.Collection;
  +
  +import javax.swing.JLabel;
  +import javax.swing.JMenu;
  +import javax.swing.JPanel;
  +import javax.swing.JPopupMenu;
  +import javax.swing.border.Border;
  +import javax.swing.border.EmptyBorder;
  +
  +import org.apache.jmeter.gui.JMeterGUIComponent;
  +import org.apache.jmeter.gui.NamePanel;
   import org.apache.jmeter.gui.util.MenuFactory;
  -import org.apache.jmeter.gui.util.VerticalLayout;
   import org.apache.jmeter.testelement.TestElement;
   import org.apache.jmeter.testelement.WorkBench;
   import org.apache.jmeter.util.JMeterUtils;
  +import org.jorphan.gui.layout.VerticalLayout;
   
   /****************************************
    * Title: JMeter Description: Copyright: Copyright (c) 2000 Company: Apache
  
  
  
  1.4       +8 -7      jakarta-jmeter/src/core/org/apache/jmeter/engine/ClientJMeterEngine.java
  
  Index: ClientJMeterEngine.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/engine/ClientJMeterEngine.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- ClientJMeterEngine.java	29 Aug 2002 18:17:38 -0000	1.3
  +++ ClientJMeterEngine.java	15 Oct 2002 18:53:26 -0000	1.4
  @@ -59,10 +59,11 @@
   import java.rmi.RemoteException;
   
   import org.apache.jmeter.testelement.TestListener;
  -import org.apache.jmeter.util.ListedHashTree;
  -import org.apache.jmeter.util.SearchByClass;
   import org.apache.log.Hierarchy;
   import org.apache.log.Logger;
  +import org.jorphan.collections.HashTree;
  +import org.jorphan.collections.ListedHashTree;
  +import org.jorphan.collections.SearchByClass;
   
   
   /************************************************************
  @@ -77,7 +78,7 @@
   	transient private static Logger log = Hierarchy.getDefaultHierarchy().getLoggerFor(
   			"jmeter.engine");
   	RemoteJMeterEngine remote;
  -	ListedHashTree test;
  +	HashTree test;
   	SearchByClass testListeners;
   	ConvertListeners sampleListeners;
   	private String host;
  @@ -107,12 +108,12 @@
   		this.remote = remote;
   	}
   	
  -	protected ListedHashTree getTestTree()
  +	protected HashTree getTestTree()
   	{
   		return test;
   	}
   
  -	public void configure(ListedHashTree testTree)
  +	public void configure(HashTree testTree)
   	{
   		test = testTree;
   	}
  
  
  
  1.4       +4 -4      jakarta-jmeter/src/core/org/apache/jmeter/engine/ConvertListeners.java
  
  Index: ConvertListeners.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/engine/ConvertListeners.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- ConvertListeners.java	29 Aug 2002 18:17:38 -0000	1.3
  +++ ConvertListeners.java	15 Oct 2002 18:53:26 -0000	1.4
  @@ -12,10 +12,10 @@
   import org.apache.jmeter.samplers.SampleListener;
   import org.apache.jmeter.testelement.TestListener;
   import org.apache.jmeter.threads.ThreadGroup;
  -import org.apache.jmeter.util.ListedHashTree;
  -import org.apache.jmeter.util.ListedHashTreeVisitor;
   import org.apache.log.Hierarchy;
   import org.apache.log.Logger;
  +import org.jorphan.collections.HashTree;
  +import org.jorphan.collections.HashTreeTraverser;
   
   /**
    * @author mstover
  @@ -23,14 +23,14 @@
    * To change this generated comment edit the template variable "typecomment":
    * Window>Preferences>Java>Templates.
    */
  -public class ConvertListeners implements ListedHashTreeVisitor {
  +public class ConvertListeners implements HashTreeTraverser {
   
   	transient private static Logger log = Hierarchy.getDefaultHierarchy().getLoggerFor(
   			"jmeter.engine");
   	/**
   	 * @see ListedHashTreeVisitor#addNode(Object, ListedHashTree)
   	 */
  -	public void addNode(Object node, ListedHashTree subTree) {
  +	public void addNode(Object node, HashTree subTree) {
   		if(node instanceof ThreadGroup)
   			{
   				log.info("num threads = "+((ThreadGroup)node).getNumThreads());
  
  
  
  1.2       +3 -4      jakarta-jmeter/src/core/org/apache/jmeter/engine/JMeterEngine.java
  
  Index: JMeterEngine.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/engine/JMeterEngine.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- JMeterEngine.java	11 Aug 2002 19:24:43 -0000	1.1
  +++ JMeterEngine.java	15 Oct 2002 18:53:26 -0000	1.2
  @@ -54,8 +54,7 @@
    */
   package org.apache.jmeter.engine;
   
  -import org.apache.jmeter.threads.ThreadGroup;
  -import org.apache.jmeter.util.ListedHashTree;
  +import org.jorphan.collections.HashTree;
   
   /************************************************************
    *  Title: JMeter Description: Copyright: Copyright (c) 2000 Company: Apache
  @@ -68,7 +67,7 @@
   public interface JMeterEngine
   {
   
  -	void configure(ListedHashTree testPlan);
  +	void configure(HashTree testPlan);
   
   	void runTest() throws JMeterEngineException;
   
  
  
  
  1.6       +6 -6      jakarta-jmeter/src/core/org/apache/jmeter/engine/PreCompiler.java
  
  Index: PreCompiler.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/engine/PreCompiler.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- PreCompiler.java	29 Aug 2002 18:17:38 -0000	1.5
  +++ PreCompiler.java	15 Oct 2002 18:53:26 -0000	1.6
  @@ -5,21 +5,21 @@
   import org.apache.jmeter.functions.ValueReplacer;
   import org.apache.jmeter.testelement.TestElement;
   import org.apache.jmeter.testelement.TestPlan;
  -import org.apache.jmeter.util.ListedHashTree;
  -import org.apache.jmeter.util.ListedHashTreeVisitor;
  -import org.apache.jmeter.util.LoggingManager;
  +import org.apache.jmeter.util.JMeterUtils;
   import org.apache.log.Hierarchy;
   import org.apache.log.Logger;
  +import org.jorphan.collections.HashTree;
  +import org.jorphan.collections.HashTreeTraverser;
   /**
    * @author mstover
    *
    * To change this generated comment edit the template variable "typecomment":
    * Window>Preferences>Java>Templates.
    */
  -public class PreCompiler implements ListedHashTreeVisitor
  +public class PreCompiler implements HashTreeTraverser
   {
   	transient private static Logger log =
  -		Hierarchy.getDefaultHierarchy().getLoggerFor(LoggingManager.ENGINE);
  +		Hierarchy.getDefaultHierarchy().getLoggerFor(JMeterUtils.ENGINE);
   	private Map userDefinedVariables;
   	private boolean testValid = true;
   	private ValueReplacer replacer;
  @@ -30,7 +30,7 @@
   	/**
   	 * @see ListedHashTreeVisitor#addNode(Object, ListedHashTree)
   	 */
  -	public void addNode(Object node, ListedHashTree subTree)
  +	public void addNode(Object node, HashTree subTree)
   	{
   		if (node instanceof TestPlan)
   		{
  
  
  
  1.2       +2 -2      jakarta-jmeter/src/core/org/apache/jmeter/engine/RemoteJMeterEngine.java
  
  Index: RemoteJMeterEngine.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/engine/RemoteJMeterEngine.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- RemoteJMeterEngine.java	11 Aug 2002 19:24:43 -0000	1.1
  +++ RemoteJMeterEngine.java	15 Oct 2002 18:53:26 -0000	1.2
  @@ -57,7 +57,7 @@
   import java.rmi.Remote;
   import java.rmi.RemoteException;
   
  -import org.apache.jmeter.util.ListedHashTree;
  +import org.jorphan.collections.HashTree;
   
   /************************************************************
    *  Description of the Interface
  @@ -67,7 +67,7 @@
    ***********************************************************/
   public interface RemoteJMeterEngine extends Remote
   {
  -	void configure(ListedHashTree testTree) throws RemoteException;
  +	void configure(HashTree testTree) throws RemoteException;
   
   	void runTest() throws RemoteException,JMeterEngineException;
   
  
  
  
  1.5       +2 -2      jakarta-jmeter/src/core/org/apache/jmeter/engine/RemoteJMeterEngineImpl.java
  
  Index: RemoteJMeterEngineImpl.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/engine/RemoteJMeterEngineImpl.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- RemoteJMeterEngineImpl.java	30 Aug 2002 14:43:19 -0000	1.4
  +++ RemoteJMeterEngineImpl.java	15 Oct 2002 18:53:26 -0000	1.5
  @@ -57,9 +57,9 @@
   import java.rmi.Naming;
   import java.rmi.RemoteException;
   
  -import org.apache.jmeter.util.ListedHashTree;
   import org.apache.log.Hierarchy;
   import org.apache.log.Logger;
  +import org.jorphan.collections.HashTree;
   
   
   /************************************************************
  @@ -107,7 +107,7 @@
   	 *      attribute
   	 *@exception  RemoteException  Description of Exception
   	 ***********************************************************/
  -	public void configure(ListedHashTree testTree) throws RemoteException
  +	public void configure(HashTree testTree) throws RemoteException
   	{
   		backingEngine.configure(testTree);
   	}
  
  
  
  1.14      +9 -8      jakarta-jmeter/src/core/org/apache/jmeter/engine/StandardJMeterEngine.java
  
  Index: StandardJMeterEngine.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/engine/StandardJMeterEngine.java,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- StandardJMeterEngine.java	30 Aug 2002 14:43:19 -0000	1.13
  +++ StandardJMeterEngine.java	15 Oct 2002 18:53:26 -0000	1.14
  @@ -73,10 +73,11 @@
   import org.apache.jmeter.threads.ListenerNotifier;
   import org.apache.jmeter.threads.TestCompiler;
   import org.apache.jmeter.threads.ThreadGroup;
  -import org.apache.jmeter.util.ListedHashTree;
  -import org.apache.jmeter.util.SearchByClass;
   import org.apache.log.Hierarchy;
   import org.apache.log.Logger;
  +import org.jorphan.collections.HashTree;
  +import org.jorphan.collections.ListedHashTree;
  +import org.jorphan.collections.SearchByClass;
   
   /************************************************************
    *  !ToDo (Class description)
  @@ -93,7 +94,7 @@
   	private static long WAIT_TO_DIE = 5 * 1000; //5 seconds
   	Map allThreads;
   	boolean running = false;
  -	ListedHashTree test;
  +	HashTree test;
   	SearchByClass testListeners;
   	String host = null;
   	ListenerNotifier notifier;
  @@ -112,7 +113,7 @@
   		this.host = host;
   	}
   
  -	public void configure(ListedHashTree testTree)
  +	public void configure(HashTree testTree)
   	{
   		test = testTree;
   	}
  @@ -122,7 +123,7 @@
   		this.host = host;
   	}
   
  -	protected ListedHashTree getTestTree()
  +	protected HashTree getTestTree()
   	{
   		return test;
   	}
  @@ -168,7 +169,7 @@
   				threads = new JMeterThread[group.getNumThreads()];
   				for(int i = 0;running && i < threads.length; i++)
   				{
  -					ListedHashTree threadGroupTree = searcher.getSubTree(group);
  +					ListedHashTree threadGroupTree = (ListedHashTree)searcher.getSubTree(group);
   					threadGroupTree.add(group,testLevelElements);
   					threads[i] = new JMeterThread(cloneTree(threadGroupTree),this,notifier);
   					threads[i].setInitialDelay((int)(((float)(group.getRampUp() * 1000) /
  
  
  
  1.2       +11 -10    jakarta-jmeter/src/core/org/apache/jmeter/engine/TreeCloner.java
  
  Index: TreeCloner.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/engine/TreeCloner.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- TreeCloner.java	11 Aug 2002 19:24:43 -0000	1.1
  +++ TreeCloner.java	15 Oct 2002 18:53:26 -0000	1.2
  @@ -2,11 +2,12 @@
   
   import java.util.LinkedList;
   
  -import org.apache.jmeter.testelement.PerThreadClonable;
  -import org.apache.jmeter.util.ListedHashTree;
  -import org.apache.jmeter.util.ListedHashTreeVisitor;
  -import org.apache.jmeter.control.GenericController;
   import org.apache.jmeter.config.Arguments;
  +import org.apache.jmeter.control.GenericController;
  +import org.apache.jmeter.testelement.PerThreadClonable;
  +import org.jorphan.collections.HashTree;
  +import org.jorphan.collections.HashTreeTraverser;
  +import org.jorphan.collections.ListedHashTree;
   
   /**
    * <p>Title: </p>
  @@ -17,7 +18,7 @@
    * @version 1.0
    */
   
  -public class TreeCloner implements ListedHashTreeVisitor
  +public class TreeCloner implements HashTreeTraverser
   {
   	ListedHashTree newTree;
   	LinkedList objects = new LinkedList();
  @@ -26,7 +27,7 @@
   	{
   		newTree = new ListedHashTree();
   	}
  -	public void addNode(Object node,ListedHashTree subTree)
  +	public void addNode(Object node,HashTree subTree)
   	{
   		if(node instanceof PerThreadClonable)
   		{
  @@ -73,13 +74,13 @@
   			ListedHashTree newTree = cloner.getClonedTree();
   			this.assertTrue(original != newTree);
   			assertEquals(original.size(),newTree.size());
  -			assertEquals(original.get(original.getArray()[0]).size(),
  -					newTree.get(newTree.getArray()[0]).size());
  +			assertEquals(original.getTree(original.getArray()[0]).size(),
  +					newTree.getTree(newTree.getArray()[0]).size());
   			assertTrue(original.getArray()[0] != newTree.getArray()[0]);
   			assertEquals(((GenericController)original.getArray()[0]).getName(),
   					((GenericController)newTree.getArray()[0]).getName());
  -			assertSame(original.get(original.getArray()[0]).getArray()[0],
  -							newTree.get(newTree.getArray()[0]).getArray()[0]);
  +			assertSame(original.getTree(original.getArray()[0]).getArray()[0],
  +							newTree.getTree(newTree.getArray()[0]).getArray()[0]);
   		}
   
   	}
  
  
  
  1.5       +4 -2      jakarta-jmeter/src/core/org/apache/jmeter/functions/CompoundFunction.java
  
  Index: CompoundFunction.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/functions/CompoundFunction.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- CompoundFunction.java	29 Aug 2002 18:17:38 -0000	1.4
  +++ CompoundFunction.java	15 Oct 2002 18:53:26 -0000	1.5
  @@ -12,12 +12,13 @@
   import org.apache.jmeter.samplers.SampleResult;
   import org.apache.jmeter.samplers.Sampler;
   import org.apache.jmeter.threads.JMeterVariables;
  -import org.apache.jmeter.util.ClassFinder;
  +import org.apache.jmeter.util.JMeterUtils;
   import org.apache.log.Hierarchy;
   import org.apache.log.Logger;
   import org.apache.oro.text.perl.Perl5Util;
   import org.apache.oro.text.regex.PatternCompiler;
   import org.apache.oro.text.regex.Perl5Compiler;
  +import org.jorphan.reflect.ClassFinder;
   
   /**
    * @author mstover
  @@ -46,7 +47,8 @@
   	{
   		try
   		{
  -			List classes = ClassFinder.findClassesThatExtend(new Class[]{Function.class},true);
  +			List classes = ClassFinder.findClassesThatExtend(JMeterUtils.getSearchPaths(),
  +					new Class[]{Function.class},true);
   			Iterator iter = classes.iterator();
   			while(iter.hasNext())
   			{
  
  
  
  1.4       +2 -2      jakarta-jmeter/src/core/org/apache/jmeter/functions/ValueReplacer.java
  
  Index: ValueReplacer.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/functions/ValueReplacer.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- ValueReplacer.java	29 Aug 2002 18:17:38 -0000	1.3
  +++ ValueReplacer.java	15 Oct 2002 18:53:26 -0000	1.4
  @@ -11,7 +11,7 @@
   
   import org.apache.jmeter.testelement.TestElement;
   import org.apache.jmeter.testelement.TestPlan;
  -import org.apache.jmeter.util.LoggingManager;
  +import org.apache.jmeter.util.JMeterUtils;
   import org.apache.jmeter.util.StringUtilities;
   import org.apache.log.Hierarchy;
   import org.apache.log.Logger;
  @@ -24,7 +24,7 @@
    */
   public class ValueReplacer
   {
  -	transient private static Logger log = Hierarchy.getDefaultHierarchy().getLoggerFor(LoggingManager.ELEMENTS);
  +	transient private static Logger log = Hierarchy.getDefaultHierarchy().getLoggerFor(JMeterUtils.ELEMENTS);
   	CompoundFunction masterFunction = new CompoundFunction();
   	Map variables = new HashMap();
   	
  
  
  
  1.3       +5 -4      jakarta-jmeter/src/core/org/apache/jmeter/functions/gui/FunctionHelper.java
  
  Index: FunctionHelper.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/functions/gui/FunctionHelper.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- FunctionHelper.java	31 Aug 2002 15:00:47 -0000	1.2
  +++ FunctionHelper.java	15 Oct 2002 18:53:27 -0000	1.3
  @@ -23,11 +23,11 @@
   import org.apache.jmeter.config.gui.ArgumentsPanel;
   import org.apache.jmeter.functions.Function;
   import org.apache.jmeter.gui.action.ActionRouter;
  -import org.apache.jmeter.gui.util.ComponentUtil;
  -import org.apache.jmeter.gui.util.JLabeledChoice;
  -import org.apache.jmeter.gui.util.JLabeledTextField;
  -import org.apache.jmeter.util.ClassFinder;
   import org.apache.jmeter.util.JMeterUtils;
  +import org.jorphan.gui.ComponentUtil;
  +import org.jorphan.gui.JLabeledChoice;
  +import org.jorphan.gui.JLabeledTextField;
  +import org.jorphan.reflect.ClassFinder;
   
   /**
    * @author Administrator
  @@ -79,6 +79,7 @@
   	{
   		try {
   			List functionClasses = ClassFinder.findClassesThatExtend(
  +					JMeterUtils.getSearchPaths(),
   					new Class[]{Function.class},true);
   			Iterator iter = functionClasses.iterator();
   			String[] functionNames = new String[functionClasses.size()];
  
  
  
  1.4       +3 -3      jakarta-jmeter/src/core/org/apache/jmeter/gui/GuiPackage.java
  
  Index: GuiPackage.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/gui/GuiPackage.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- GuiPackage.java	30 Aug 2002 18:28:15 -0000	1.3
  +++ GuiPackage.java	15 Oct 2002 18:53:27 -0000	1.4
  @@ -59,7 +59,7 @@
   import org.apache.jmeter.gui.tree.JMeterTreeListener;
   import org.apache.jmeter.gui.tree.JMeterTreeModel;
   import org.apache.jmeter.testelement.TestPlan;
  -import org.apache.jmeter.util.ListedHashTree;
  +import org.jorphan.collections.HashTree;
   
   /**
    * Title:        JMeter
  @@ -106,12 +106,12 @@
   		return dirty;
   	}
   
  -	public boolean addSubTree(ListedHashTree subTree) throws IllegalUserActionException
  +	public boolean addSubTree(HashTree subTree) throws IllegalUserActionException
   	{
   		return treeModel.addSubTree(subTree,treeListener.getCurrentNode());
   	}
   
  -	public ListedHashTree getCurrentSubTree()
  +	public HashTree getCurrentSubTree()
   	{
   		return treeModel.getCurrentSubTree(treeListener.getCurrentNode());
   	}
  
  
  
  1.5       +4 -4      jakarta-jmeter/src/core/org/apache/jmeter/gui/MainFrame.java
  
  Index: MainFrame.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/gui/MainFrame.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- MainFrame.java	30 Aug 2002 14:43:19 -0000	1.4
  +++ MainFrame.java	15 Oct 2002 18:53:27 -0000	1.5
  @@ -93,11 +93,11 @@
   import org.apache.jmeter.gui.action.GlobalMouseListener;
   import org.apache.jmeter.gui.tree.JMeterCellRenderer;
   import org.apache.jmeter.gui.tree.JMeterTreeListener;
  -import org.apache.jmeter.gui.util.ComponentUtil;
   import org.apache.jmeter.gui.util.JMeterMenuBar;
   import org.apache.jmeter.samplers.Remoteable;
   import org.apache.jmeter.testelement.TestListener;
   import org.apache.jmeter.util.JMeterUtils;
  +import org.jorphan.gui.ComponentUtil;
   /****************************************
    * Title: JMeter Description: Copyright: Copyright (c) 2000 Company: Apache
    *
  
  
  
  1.3       +3 -5      jakarta-jmeter/src/core/org/apache/jmeter/gui/action/AbstractAction.java
  
  Index: AbstractAction.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/gui/action/AbstractAction.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- AbstractAction.java	19 Aug 2002 22:33:13 -0000	1.2
  +++ AbstractAction.java	15 Oct 2002 18:53:27 -0000	1.3
  @@ -5,11 +5,9 @@
   import java.util.LinkedList;
   import java.util.Set;
   
  -import org.apache.jmeter.engine.StandardJMeterEngine;
  -import org.apache.jmeter.gui.GuiPackage;
   import org.apache.jmeter.gui.JMeterGUIComponent;
   import org.apache.jmeter.testelement.TestElement;
  -import org.apache.jmeter.util.ListedHashTree;
  +import org.jorphan.collections.HashTree;
   
   /**
    * @author mstover
  @@ -30,7 +28,7 @@
   	 */
   	abstract public Set getActionNames();
   
  -	protected void convertSubTree(ListedHashTree tree)
  +	protected void convertSubTree(HashTree tree)
   	{
   		Iterator iter = new LinkedList(tree.list()).iterator();
   		while (iter.hasNext())
  @@ -38,7 +36,7 @@
   			JMeterGUIComponent item = (JMeterGUIComponent)iter.next();
   			if(item.isEnabled())
   			{
  -				convertSubTree(tree.get(item));
  +				convertSubTree(tree.getTree(item));
   				TestElement testElement = item.createTestElement();
   				tree.replace(item,testElement);
   			}
  
  
  
  1.6       +2 -2      jakarta-jmeter/src/core/org/apache/jmeter/gui/action/ActionRouter.java
  
  Index: ActionRouter.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/gui/action/ActionRouter.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- ActionRouter.java	30 Aug 2002 18:28:15 -0000	1.5
  +++ ActionRouter.java	15 Oct 2002 18:53:27 -0000	1.6
  @@ -56,7 +56,6 @@
   
   import java.awt.event.ActionEvent;
   import java.awt.event.ActionListener;
  -import java.awt.event.MouseListener;
   import java.lang.reflect.Modifier;
   import java.util.HashMap;
   import java.util.HashSet;
  @@ -65,10 +64,10 @@
   import java.util.Map;
   import java.util.Set;
   
  -import org.apache.jmeter.util.ClassFinder;
   import org.apache.jmeter.util.JMeterUtils;
   import org.apache.log.Hierarchy;
   import org.apache.log.Logger;
  +import org.jorphan.reflect.ClassFinder;
   
   /**
    *  Title: JMeter Description: Copyright: Copyright (c) 2000 Company: Apache
  @@ -172,6 +171,7 @@
   		try
   		{
   			listClasses = ClassFinder.findClassesThatExtend(
  +					JMeterUtils.getSearchPaths(),
   					new Class[]{Class.forName("org.apache.jmeter.gui.action.Command")});
   			commands = new HashMap(listClasses.size());
   			if (listClasses.size() == 0)
  
  
  
  1.3       +2 -3      jakarta-jmeter/src/core/org/apache/jmeter/gui/action/ChangeLanguage.java
  
  Index: ChangeLanguage.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/gui/action/ChangeLanguage.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- ChangeLanguage.java	26 Aug 2002 15:49:37 -0000	1.2
  +++ ChangeLanguage.java	15 Oct 2002 18:53:27 -0000	1.3
  @@ -6,9 +6,8 @@
   import java.util.Set;
   
   import org.apache.jmeter.util.JMeterUtils;
  -import org.apache.jmeter.util.LoggingManager;
  -import org.apache.log.Hierarchy;
   import org.apache.log.Logger;
  +import org.jorphan.logging.LoggingManager;
   /**
    * @author Administrator
    *
  @@ -19,7 +18,7 @@
   {
   	private static final Set commands = new HashSet();
   	public final static String CHANGE_LANGUAGE = "change_language";
  -	private Logger log = Hierarchy.getDefaultHierarchy().getLoggerFor(LoggingManager.GUI);
  +	private Logger log = LoggingManager.getLoggerFor(JMeterUtils.GUI);
   	
   	static
   	{
  
  
  
  1.3       +8 -8      jakarta-jmeter/src/core/org/apache/jmeter/gui/action/CheckDirty.java
  
  Index: CheckDirty.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/gui/action/CheckDirty.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- CheckDirty.java	30 Aug 2002 18:28:15 -0000	1.2
  +++ CheckDirty.java	15 Oct 2002 18:53:27 -0000	1.3
  @@ -9,9 +9,9 @@
   import org.apache.jmeter.gui.GuiPackage;
   import org.apache.jmeter.gui.JMeterGUIComponent;
   import org.apache.jmeter.gui.tree.JMeterTreeNode;
  -import org.apache.jmeter.util.JMeterUtils;
  -import org.apache.jmeter.util.ListedHashTree;
  -import org.apache.jmeter.util.ListedHashTreeVisitor;
  +import org.jorphan.collections.HashTree;
  +import org.jorphan.collections.HashTreeTraverser;
  +import org.jorphan.collections.ListedHashTree;
   
   /**
    * @author mstover
  @@ -20,7 +20,7 @@
    * Window>Preferences>Java>Templates.
    */
   public class CheckDirty extends AbstractAction implements 
  -		ListedHashTreeVisitor 
  +		HashTreeTraverser 
   {
   	private Map previousGuiItems;
   	public static final String CHECK_DIRTY = "check_dirty";
  @@ -62,12 +62,12 @@
   		String action = e.getActionCommand();
   		if(action.equals(SUB_TREE_SAVED) || action.equals(SAVE))
   		{
  -			ListedHashTree subTree = GuiPackage.getInstance().getCurrentSubTree();
  +			HashTree subTree = GuiPackage.getInstance().getCurrentSubTree();
   			subTree.traverse(this);
   		}
   		else if(action.equals(SAVE_ALL) || action.equals(SAVE_TO_PREVIOUS))
   		{
  -			ListedHashTree subTree = GuiPackage.getInstance().getTreeModel().getTestPlan();
  +			HashTree subTree = GuiPackage.getInstance().getTreeModel().getTestPlan();
   			subTree.traverse(this);
   		}
   		else if(action.equals(SUB_TREE_LOADED))
  @@ -95,7 +95,7 @@
   		{
   			checkMode = true;
   			dirty = false;
  -			ListedHashTree wholeTree = GuiPackage.getInstance().getTreeModel().getTestPlan();
  +			HashTree wholeTree = GuiPackage.getInstance().getTreeModel().getTestPlan();
   			wholeTree.traverse(this);
   			GuiPackage.getInstance().setDirty(dirty);
   			checkMode = false;
  @@ -106,7 +106,7 @@
   	 * The tree traverses itself depth-first, calling processNode for each object
   	 * it encounters as it goes.
   	 */
  -	public void addNode(Object node,ListedHashTree subTree)
  +	public void addNode(Object node,HashTree subTree)
   	{
   		JMeterGUIComponent treeNode = (JMeterGUIComponent)node;
   		if(checkMode)
  
  
  
  1.2       +3 -3      jakarta-jmeter/src/core/org/apache/jmeter/gui/action/GlobalMouseListener.java
  
  Index: GlobalMouseListener.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/gui/action/GlobalMouseListener.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- GlobalMouseListener.java	30 Aug 2002 14:43:20 -0000	1.1
  +++ GlobalMouseListener.java	15 Oct 2002 18:53:27 -0000	1.2
  @@ -2,9 +2,9 @@
   import java.awt.event.MouseAdapter;
   import java.awt.event.MouseEvent;
   
  -import org.apache.jmeter.util.LoggingManager;
  -import org.apache.log.Hierarchy;
  +import org.apache.jmeter.util.JMeterUtils;
   import org.apache.log.Logger;
  +import org.jorphan.logging.LoggingManager;
   /**
    * @author Administrator
    *
  @@ -13,7 +13,7 @@
    */
   public class GlobalMouseListener extends MouseAdapter
   {
  -	transient private static Logger log = Hierarchy.getDefaultHierarchy().getLoggerFor(LoggingManager.GUI);
  +	transient private static Logger log = LoggingManager.getLoggerFor(JMeterUtils.GUI);
   	
   	public void mousePressed(MouseEvent e)
   	{
  
  
  
  1.5       +3 -4      jakarta-jmeter/src/core/org/apache/jmeter/gui/action/Help.java
  
  Index: Help.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/gui/action/Help.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- Help.java	7 Sep 2002 16:54:34 -0000	1.4
  +++ Help.java	15 Oct 2002 18:53:27 -0000	1.5
  @@ -10,12 +10,11 @@
   import javax.swing.JScrollPane;
   
   import org.apache.jmeter.gui.GuiPackage;
  -import org.apache.jmeter.gui.util.ComponentUtil;
   import org.apache.jmeter.swing.HtmlPane;
   import org.apache.jmeter.util.JMeterUtils;
  -import org.apache.jmeter.util.LoggingManager;
  -import org.apache.log.Hierarchy;
   import org.apache.log.Logger;
  +import org.jorphan.gui.ComponentUtil;
  +import org.jorphan.logging.LoggingManager;
   /**
    * @author Administrator
    *
  @@ -25,7 +24,7 @@
   public class Help implements Command
   {
   	transient private static Logger log =
  -		Hierarchy.getDefaultHierarchy().getLoggerFor(LoggingManager.GUI);
  +		LoggingManager.getLoggerFor(JMeterUtils.GUI);
   	private static Set commands = new HashSet();
   	public final static String HELP = "help";
   	private static String helpPage =
  
  
  
  1.8       +48 -47    jakarta-jmeter/src/core/org/apache/jmeter/gui/action/Load.java
  
  Index: Load.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/gui/action/Load.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- Load.java	30 Aug 2002 18:28:15 -0000	1.7
  +++ Load.java	15 Oct 2002 18:53:27 -0000	1.8
  @@ -56,7 +56,6 @@
   import java.awt.event.ActionEvent;
   import java.io.File;
   import java.io.FileInputStream;
  -import java.io.IOException;
   import java.io.InputStream;
   import java.util.HashSet;
   import java.util.Iterator;
  @@ -80,9 +79,10 @@
   import org.apache.jmeter.save.old.xml.XmlHandler;
   import org.apache.jmeter.testelement.TestElement;
   import org.apache.jmeter.util.JMeterUtils;
  -import org.apache.jmeter.util.ListedHashTree;
   import org.apache.log.Hierarchy;
   import org.apache.log.Logger;
  +import org.jorphan.collections.HashTree;
  +import org.jorphan.collections.ListedHashTree;
   import org.xml.sax.InputSource;
   import org.xml.sax.XMLReader;
   
  @@ -140,7 +140,7 @@
   			if(f != null)
   			{
   				reader = new FileInputStream(f);
  -				ListedHashTree tree = SaveService.loadSubTree(reader);
  +				HashTree tree = SaveService.loadSubTree(reader);
   				isTestPlan = insertLoadedTree(e.getID(), tree);
   			}
   		}
  @@ -175,7 +175,7 @@
   	/**
   	 * Returns a boolean indicating whether the loaded tree was a full test plan
   	 * */
  -	public boolean insertLoadedTree(int id, ListedHashTree tree) throws Exception, IllegalUserActionException {
  +	public boolean insertLoadedTree(int id, HashTree tree) throws Exception, IllegalUserActionException {
   		convertTree(tree);
   		boolean isTestPlan = GuiPackage.getInstance().addSubTree(tree);
   		tree = GuiPackage.getInstance().getCurrentSubTree();				
  @@ -184,13 +184,13 @@
   		return isTestPlan;
   	}
   
  -	private void convertTree(ListedHashTree tree) throws Exception
  +	private void convertTree(HashTree tree) throws Exception
   	{
   		Iterator iter = new LinkedList(tree.list()).iterator();
   		while (iter.hasNext())
   		{
   			TestElement item = (TestElement)iter.next();
  -			convertTree(tree.get(item));
  +			convertTree(tree.getTree(item));
   			JMeterGUIComponent comp = generateGUIComponent(item);
   			tree.replace(item,comp);
   		}
  @@ -237,7 +237,7 @@
   	/**
   	 * For loading a 1.6 version test tree
   	 * */
  -	private void updateTree(ListedHashTree tree) {
  +	private void updateTree(HashTree tree) {
   			List items = new LinkedList(tree.list());
   			Iterator iter = items.iterator();
   
  @@ -257,7 +257,7 @@
   							newControl.addTestElement( config);	
   							newControl.setProperty(TestElement.GUI_CLASS,
   									"org.apache.jmeter.protocol.http.control.gui.HttpTestSampleGui");
  -							tree.get(item).replace(config, newControl);
  +							tree.getTree(item).replace(config, newControl);
   						}
   					}
   
  @@ -273,7 +273,7 @@
   						tree.add(newControl, item);
   					}
   				} else {
  -					updateTree(tree.get(item));
  +					updateTree(tree.getTree(item));
   				}
   			}
   		}
  @@ -334,102 +334,103 @@
   		 *@exception  Exception  !ToDo (Exception description)
   		 ***********************************************************/
   		public void testUpdateTree() throws Exception {
  -			ListedHashTree tree = getTree(testFile2);
  +			HashTree tree = getTree(testFile2);
   			loader.updateTree(tree);
  -			assertTrue(tree.list(tree.list().get(0)).get(0) instanceof GenericController);
  +			assertTrue(tree.getArray(tree.getArray()[0])[0] instanceof GenericController);
   			loader.convertTree(tree);
   			assertEquals(new LogicControllerGui().getStaticLabel(),
  -					((JMeterGUIComponent)tree.list(tree.list().get(0)).get(0)).getStaticLabel());
  +					((JMeterGUIComponent)tree.getArray(tree.getArray()[0])[0]).getStaticLabel());
   		}
   
   		public void testFile3() throws Exception {
  -			ListedHashTree tree = getTree(testFile3);
  +			HashTree tree = getTree(testFile3);
   			//loader.updateTree(tree);
  -			assertTrue(tree.list().get(0) instanceof org.apache.jmeter.threads.ThreadGroup);
  +			log.debug("tree contents: "+tree.list());
  +			assertTrue(tree.getArray()[0] instanceof org.apache.jmeter.threads.ThreadGroup);
   			loader.convertTree(tree);
  -			assertTrue(tree.list().get(0) instanceof org.apache.jmeter.threads.gui.ThreadGroupGui);
  +			assertTrue(tree.getArray()[0] instanceof org.apache.jmeter.threads.gui.ThreadGroupGui);
   		}
   		
   		public void testFile4() throws Exception {
  -			ListedHashTree tree = getTree(testFile4);
  +			HashTree tree = getTree(testFile4);
   			//loader.updateTree(tree);
  -			assertTrue(tree.list().get(0) instanceof org.apache.jmeter.testelement.TestPlan);
  +			assertTrue(tree.getArray()[0] instanceof org.apache.jmeter.testelement.TestPlan);
   			loader.convertTree(tree);
  -			assertTrue(tree.list().get(0) instanceof org.apache.jmeter.control.gui.TestPlanGui);
  +			assertTrue(tree.getArray()[0] instanceof org.apache.jmeter.control.gui.TestPlanGui);
   		}
   		
   		public void testFile5() throws Exception {
  -			ListedHashTree tree = getTree(testFile5);
  +			HashTree tree = getTree(testFile5);
   			//loader.updateTree(tree);
  -			assertTrue(tree.list().get(0) instanceof org.apache.jmeter.testelement.TestPlan);
  +			assertTrue(tree.getArray()[0] instanceof org.apache.jmeter.testelement.TestPlan);
   			loader.convertTree(tree);
  -			assertTrue(tree.list().get(0) instanceof org.apache.jmeter.control.gui.TestPlanGui);
  +			assertTrue(tree.getArray()[0] instanceof org.apache.jmeter.control.gui.TestPlanGui);
   		}
   		
   		public void testFile6() throws Exception {
  -			ListedHashTree tree = getTree(testFile6);
  +			HashTree tree = getTree(testFile6);
   			//loader.updateTree(tree);
  -			assertTrue(tree.list().get(0) instanceof org.apache.jmeter.testelement.TestPlan);
  +			assertTrue(tree.getArray()[0] instanceof org.apache.jmeter.testelement.TestPlan);
   			loader.convertTree(tree);
  -			assertTrue(tree.list().get(0) instanceof org.apache.jmeter.control.gui.TestPlanGui);
  +			assertTrue(tree.getArray()[0] instanceof org.apache.jmeter.control.gui.TestPlanGui);
   		}
   		
   		public void testFile7() throws Exception {
  -			ListedHashTree tree = getTree(testFile7);
  +			HashTree tree = getTree(testFile7);
   			//loader.updateTree(tree);
  -			assertTrue(tree.list().get(0) instanceof org.apache.jmeter.testelement.TestPlan);
  +			assertTrue(tree.getArray()[0] instanceof org.apache.jmeter.testelement.TestPlan);
   			loader.convertTree(tree);
  -			assertTrue(tree.list().get(0) instanceof org.apache.jmeter.control.gui.TestPlanGui);
  +			assertTrue(tree.getArray()[0] instanceof org.apache.jmeter.control.gui.TestPlanGui);
   		}
   		
   		public void testFile8() throws Exception {
  -			ListedHashTree tree = getTree(testFile8);
  +			HashTree tree = getTree(testFile8);
   			//loader.updateTree(tree);
  -			assertTrue(tree.list().get(0) instanceof org.apache.jmeter.testelement.TestPlan);
  +			assertTrue(tree.getArray()[0] instanceof org.apache.jmeter.testelement.TestPlan);
   			loader.convertTree(tree);
  -			assertTrue(tree.list().get(0) instanceof org.apache.jmeter.control.gui.TestPlanGui);
  +			assertTrue(tree.getArray()[0] instanceof org.apache.jmeter.control.gui.TestPlanGui);
   		}
   		
   		public void testFile9() throws Exception {
  -			ListedHashTree tree = getTree(testFile9);
  +			HashTree tree = getTree(testFile9);
   			//loader.updateTree(tree);
  -			assertTrue(tree.list().get(0) instanceof org.apache.jmeter.testelement.TestPlan);
  +			assertTrue(tree.getArray()[0] instanceof org.apache.jmeter.testelement.TestPlan);
   			loader.convertTree(tree);
  -			assertTrue(tree.list().get(0) instanceof org.apache.jmeter.control.gui.TestPlanGui);
  +			assertTrue(tree.getArray()[0] instanceof org.apache.jmeter.control.gui.TestPlanGui);
   		}
   		
   		public void testFile10() throws Exception {
  -			ListedHashTree tree = getTree(testFile10);
  +			HashTree tree = getTree(testFile10);
   			//loader.updateTree(tree);
  -			assertTrue(tree.list().get(0) instanceof org.apache.jmeter.testelement.TestPlan);
  +			assertTrue(tree.getArray()[0] instanceof org.apache.jmeter.testelement.TestPlan);
   			loader.convertTree(tree);
  -			assertTrue(tree.list().get(0) instanceof org.apache.jmeter.control.gui.TestPlanGui);
  +			assertTrue(tree.getArray()[0] instanceof org.apache.jmeter.control.gui.TestPlanGui);
   		}
   		
   		public void testFile11() throws Exception {
  -			ListedHashTree tree = getTree(testFile11);
  +			HashTree tree = getTree(testFile11);
   			//loader.updateTree(tree);
  -			assertTrue(tree.list().get(0) instanceof org.apache.jmeter.testelement.TestPlan);
  +			assertTrue(tree.getArray()[0] instanceof org.apache.jmeter.testelement.TestPlan);
   			loader.convertTree(tree);
  -			assertTrue(tree.list().get(0) instanceof org.apache.jmeter.control.gui.TestPlanGui);
  +			assertTrue(tree.getArray()[0] instanceof org.apache.jmeter.control.gui.TestPlanGui);
   		}
   		
   		public void testFile12() throws Exception {
  -			ListedHashTree tree = getTree(testFile12);
  +			HashTree tree = getTree(testFile12);
   			//loader.updateTree(tree);
  -			assertTrue(tree.list().get(0) instanceof org.apache.jmeter.testelement.TestPlan);
  +			assertTrue(tree.getArray()[0] instanceof org.apache.jmeter.testelement.TestPlan);
   			loader.convertTree(tree);
  -			assertTrue(tree.list().get(0) instanceof org.apache.jmeter.control.gui.TestPlanGui);
  +			assertTrue(tree.getArray()[0] instanceof org.apache.jmeter.control.gui.TestPlanGui);
   		}
   
  -		private ListedHashTree getTree(File f) throws Exception {
  +		private HashTree getTree(File f) throws Exception {
   				FileInputStream reader = new FileInputStream(f);
   				XmlHandler handler = new XmlHandler(new JMeterNameSpaceHandler());
   				XMLReader parser = JMeterUtils.getXMLParser();
   				parser.setContentHandler(handler);
   				parser.setErrorHandler(handler);
   				parser.parse(new InputSource(reader));
  -				ListedHashTree tree = handler.getDataTree();
  +				HashTree tree = handler.getDataTree();
   				return tree;
   		}
   	}
  
  
  
  1.5       +3 -3      jakarta-jmeter/src/core/org/apache/jmeter/gui/action/RemoteStart.java
  
  Index: RemoteStart.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/gui/action/RemoteStart.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- RemoteStart.java	30 Aug 2002 14:43:20 -0000	1.4
  +++ RemoteStart.java	15 Oct 2002 18:53:27 -0000	1.5
  @@ -67,9 +67,9 @@
   import org.apache.jmeter.engine.JMeterEngineException;
   import org.apache.jmeter.gui.GuiPackage;
   import org.apache.jmeter.util.JMeterUtils;
  -import org.apache.jmeter.util.ListedHashTree;
   import org.apache.log.Hierarchy;
   import org.apache.log.Logger;
  +import org.jorphan.collections.HashTree;
   
   /****************************************
    * Title: Description: Copyright: Copyright (c) 2001 Company:
  @@ -156,7 +156,7 @@
   	private void startEngine(JMeterEngine engine, String host)
   	{
   		GuiPackage gui = GuiPackage.getInstance();
  -		ListedHashTree testTree = gui.getTreeModel().getTestPlan();
  +		HashTree testTree = gui.getTreeModel().getTestPlan();
   		convertSubTree(testTree);
   		testTree.add(testTree.getArray()[0],gui.getMainFrame());
   		engine.configure(testTree);
  
  
  
  1.5       +9 -8      jakarta-jmeter/src/core/org/apache/jmeter/gui/action/Save.java
  
  Index: Save.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/gui/action/Save.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- Save.java	30 Aug 2002 18:28:15 -0000	1.4
  +++ Save.java	15 Oct 2002 18:53:27 -0000	1.5
  @@ -68,9 +68,10 @@
   import org.apache.jmeter.gui.util.FileDialoger;
   import org.apache.jmeter.save.SaveService;
   import org.apache.jmeter.testelement.TestElement;
  -import org.apache.jmeter.util.ListedHashTree;
   import org.apache.log.Hierarchy;
   import org.apache.log.Logger;
  +import org.jorphan.collections.HashTree;
  +import org.jorphan.collections.ListedHashTree;
   
   /****************************************
    * Title: JMeter Description: Copyright: Copyright (c) 2000 Company: Apache
  @@ -128,7 +129,7 @@
   	 ***************************************/
   	public void doAction(ActionEvent e)
   	{
  -		ListedHashTree subTree = null;
  +		HashTree subTree = null;
   		if(e.getActionCommand().equals(SAVE))
   		{
   			subTree = GuiPackage.getInstance().getCurrentSubTree();
  @@ -182,13 +183,13 @@
   		}
   	}
   
  -	private void convertSubTree(ListedHashTree tree)
  +	private void convertSubTree(HashTree tree)
   	{
   		Iterator iter = new LinkedList(tree.list()).iterator();
   		while (iter.hasNext())
   		{
   			JMeterGUIComponent item = (JMeterGUIComponent)iter.next();
  -			convertSubTree(tree.get(item));
  +			convertSubTree(tree.getTree(item));
   			TestElement testElement = item.createTestElement();
   			tree.replace(item,testElement);
   		}
  @@ -209,16 +210,16 @@
   
   		public void testTreeConversion() throws Exception
   		{
  -			ListedHashTree tree = new ListedHashTree();
  +			HashTree tree = new ListedHashTree();
   			JMeterGUIComponent root = new org.apache.jmeter.protocol.http.control.gui.HttpTestSampleGui();
   			tree.add(root,root);
  -			tree.get(root).add(root,root);
  +			tree.getTree(root).add(root,root);
   			save.convertSubTree(tree);
   			assertEquals(tree.getArray()[0].getClass().getName(),root.createTestElement().getClass().getName());
  -			tree = tree.get(tree.getArray()[0]);
  +			tree = tree.getTree(tree.getArray()[0]);
   			assertEquals(tree.getArray()[0].getClass().getName(),
   					root.createTestElement().getClass().getName());
  -			assertEquals(tree.get(tree.getArray()[0]).getArray()[0].getClass().getName(),
  +			assertEquals(tree.getTree(tree.getArray()[0]).getArray()[0].getClass().getName(),
   					root.createTestElement().getClass().getName());
   		}
   	}
  
  
  
  1.4       +3 -2      jakarta-jmeter/src/core/org/apache/jmeter/gui/action/Start.java
  
  Index: Start.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/gui/action/Start.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- Start.java	30 Aug 2002 14:43:20 -0000	1.3
  +++ Start.java	15 Oct 2002 18:53:27 -0000	1.4
  @@ -58,11 +58,12 @@
   import java.util.Set;
   
   import javax.swing.JOptionPane;
  +
   import org.apache.jmeter.engine.JMeterEngineException;
   import org.apache.jmeter.engine.StandardJMeterEngine;
   import org.apache.jmeter.gui.GuiPackage;
   import org.apache.jmeter.util.JMeterUtils;
  -import org.apache.jmeter.util.ListedHashTree;
  +import org.jorphan.collections.HashTree;
   
   /****************************************
    * Title: Apache JMeter Description: Copyright: Copyright (c) 2000 Company:
  @@ -129,7 +130,7 @@
   	{
   		GuiPackage gui = GuiPackage.getInstance();
   		engine = new StandardJMeterEngine();
  -		ListedHashTree testTree = gui.getTreeModel().getTestPlan();
  +		HashTree testTree = gui.getTreeModel().getTestPlan();
   		convertSubTree(testTree);
   		testTree.add(testTree.getArray()[0],gui.getMainFrame());
   		engine.configure(testTree);
  
  
  
  1.5       +17 -16    jakarta-jmeter/src/core/org/apache/jmeter/gui/tree/JMeterTreeModel.java
  
  Index: JMeterTreeModel.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/gui/tree/JMeterTreeModel.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- JMeterTreeModel.java	30 Aug 2002 18:28:16 -0000	1.4
  +++ JMeterTreeModel.java	15 Oct 2002 18:53:27 -0000	1.5
  @@ -53,22 +53,23 @@
    * <http://www.apache.org/>.
    */
   package org.apache.jmeter.gui.tree;
  -import java.util.*;
  -import javax.swing.tree.*;
  -import org.apache.jmeter.config.ConfigElement;
  +import java.util.Enumeration;
  +import java.util.Iterator;
  +import java.util.LinkedList;
  +import java.util.List;
  +
  +import javax.swing.tree.DefaultTreeModel;
  +
  +import org.apache.jmeter.config.gui.AbstractConfigGui;
   import org.apache.jmeter.control.gui.TestPlanGui;
   import org.apache.jmeter.control.gui.WorkBenchGui;
  -import org.apache.jmeter.config.gui.AbstractConfigGui;
  -import org.apache.jmeter.threads.gui.ThreadGroupGui;
  -import org.apache.jmeter.gui.JMeterGUIComponent;
   import org.apache.jmeter.exceptions.IllegalUserActionException;
  +import org.apache.jmeter.gui.JMeterGUIComponent;
   import org.apache.jmeter.gui.NamePanel;
  -import org.apache.jmeter.samplers.SampleListener;
   import org.apache.jmeter.testelement.TestPlan;
   import org.apache.jmeter.testelement.WorkBench;
  -import org.apache.jmeter.threads.ThreadGroup;
  -import org.apache.jmeter.timers.Timer;
  -import org.apache.jmeter.util.ListedHashTree;
  +import org.jorphan.collections.HashTree;
  +import org.jorphan.collections.ListedHashTree;
   /****************************************
    * Title: JMeter Description: Copyright: Copyright (c) 2000 Company: Apache
    *
  @@ -113,7 +114,7 @@
   	 *@param current                         !ToDo
   	 *@exception IllegalUserActionException  !ToDo (Exception description)
   	 ***************************************/
  -	public boolean addSubTree(ListedHashTree subTree, JMeterTreeNode current)
  +	public boolean addSubTree(HashTree subTree, JMeterTreeNode current)
   			 throws IllegalUserActionException
   	{
   		boolean ret = false;
  @@ -125,12 +126,12 @@
   			{
   				current = (JMeterTreeNode)((JMeterTreeNode)getRoot()).getChildAt(0);
   				current.configure(item.createTestElement());
  -				addSubTree(subTree.get(item), current);
  +				addSubTree(subTree.getTree(item), current);
   				ret = true;
   			}
   			else
   			{
  -				addSubTree(subTree.get(item), addComponent(item, current));
  +				addSubTree(subTree.getTree(item), addComponent(item, current));
   			}
   		}
   		return ret;
  @@ -184,7 +185,7 @@
   		}
   	}
   
  -	public ListedHashTree getCurrentSubTree(JMeterTreeNode node)
  +	public HashTree getCurrentSubTree(JMeterTreeNode node)
   	{
   		ListedHashTree hashTree = new ListedHashTree(node);
   		Enumeration enum = node.children();
  @@ -196,7 +197,7 @@
   		return hashTree;
   	}
   
  -	public ListedHashTree getTestPlan()
  +	public HashTree getTestPlan()
   	{
   		return getCurrentSubTree((JMeterTreeNode)((JMeterTreeNode)this.getRoot()).getChildAt(0));
   	}
  
  
  
  1.9       +5 -3      jakarta-jmeter/src/core/org/apache/jmeter/gui/util/MenuFactory.java
  
  Index: MenuFactory.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/gui/util/MenuFactory.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- MenuFactory.java	30 Aug 2002 18:28:16 -0000	1.8
  +++ MenuFactory.java	15 Oct 2002 18:53:28 -0000	1.9
  @@ -70,10 +70,10 @@
   import org.apache.jmeter.gui.GuiPackage;
   import org.apache.jmeter.gui.JMeterGUIComponent;
   import org.apache.jmeter.gui.action.ActionRouter;
  -import org.apache.jmeter.util.ClassFinder;
   import org.apache.jmeter.util.JMeterUtils;
   import org.apache.log.Hierarchy;
   import org.apache.log.Logger;
  +import org.jorphan.reflect.ClassFinder;
   
   /****************************************
    * Title: JMeter Description: Copyright: Copyright (c) 2000 Company: Apache
  @@ -424,7 +424,9 @@
   	{
   		try
   		{
  -			List guiClasses = ClassFinder.findClassesThatExtend(new Class[]
  +			List guiClasses = ClassFinder.findClassesThatExtend(
  +					JMeterUtils.getSearchPaths(),
  +					new Class[]
   					{JMeterGUIComponent.class});
   			timers = new LinkedList();
   			controllers = new LinkedList();
  
  
  
  1.5       +1 -2      jakarta-jmeter/src/core/org/apache/jmeter/gui/util/PowerTableModel.java
  
  Index: PowerTableModel.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/gui/util/PowerTableModel.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- PowerTableModel.java	30 Aug 2002 14:43:20 -0000	1.4
  +++ PowerTableModel.java	15 Oct 2002 18:53:28 -0000	1.5
  @@ -1,12 +1,11 @@
   package org.apache.jmeter.gui.util;
   
   import java.lang.reflect.Constructor;
  -import java.util.Arrays;
   import java.util.List;
   
   import javax.swing.table.DefaultTableModel;
   
  -import org.apache.jmeter.util.Data;
  +import org.jorphan.collections.Data;
   /**
    * @author mstover
    *
  
  
  
  1.3       +8 -6      jakarta-jmeter/src/core/org/apache/jmeter/junit/JMeterTest.java
  
  Index: JMeterTest.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/junit/JMeterTest.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- JMeterTest.java	30 Aug 2002 14:43:20 -0000	1.2
  +++ JMeterTest.java	15 Oct 2002 18:53:28 -0000	1.3
  @@ -15,10 +15,10 @@
   import org.apache.jmeter.gui.tree.JMeterTreeNode;
   import org.apache.jmeter.save.SaveService;
   import org.apache.jmeter.testelement.TestElement;
  -import org.apache.jmeter.util.ClassFinder;
  -import org.apache.jmeter.util.LoggingManager;
  -import org.apache.log.Hierarchy;
  +import org.apache.jmeter.util.JMeterUtils;
   import org.apache.log.Logger;
  +import org.jorphan.logging.LoggingManager;
  +import org.jorphan.reflect.ClassFinder;
   
   /****************************************
    * Title: JMeter Description: Copyright: Copyright (c) 2000 Company: Apache
  @@ -30,7 +30,7 @@
   
   public class JMeterTest extends TestCase
   {
  -	private static Logger log = Hierarchy.getDefaultHierarchy().getLoggerFor(LoggingManager.TEST);
  +	private static Logger log = LoggingManager.getLoggerFor(JMeterUtils.TEST);
   
   	/****************************************
   	 * !ToDo (Constructor description)
  @@ -138,7 +138,9 @@
   	 ***************************************/
   	protected Collection getObjects(Class extendsClass) throws Exception
   	{
  -		Iterator classes = ClassFinder.findClassesThatExtend(new Class[]{extendsClass}).iterator();
  +		Iterator classes = ClassFinder.findClassesThatExtend(
  +				JMeterUtils.getSearchPaths(),
  +				new Class[]{extendsClass}).iterator();
   		List objects = new LinkedList();
   		while(classes.hasNext())
   		{
  
  
  
  1.7       +2 -2      jakarta-jmeter/src/core/org/apache/jmeter/reporters/ResultCollector.java
  
  Index: ResultCollector.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/reporters/ResultCollector.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- ResultCollector.java	30 Aug 2002 15:51:21 -0000	1.6
  +++ ResultCollector.java	15 Oct 2002 18:53:28 -0000	1.7
  @@ -80,9 +80,9 @@
   import org.apache.jmeter.save.SaveService;
   import org.apache.jmeter.testelement.TestListener;
   import org.apache.jmeter.util.JMeterUtils;
  -import org.apache.jmeter.util.TextFile;
   import org.apache.log.Hierarchy;
   import org.apache.log.Logger;
  +import org.jorphan.io.TextFile;
   import org.xml.sax.SAXException;
   
   /**
  
  
  
  1.8       +10 -9     jakarta-jmeter/src/core/org/apache/jmeter/save/SaveService.java
  
  Index: SaveService.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/save/SaveService.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- SaveService.java	17 Sep 2002 19:32:52 -0000	1.7
  +++ SaveService.java	15 Oct 2002 18:53:28 -0000	1.8
  @@ -21,9 +21,10 @@
   import org.apache.jmeter.assertions.ResponseAssertion;
   import org.apache.jmeter.samplers.SampleResult;
   import org.apache.jmeter.testelement.TestElement;
  -import org.apache.jmeter.util.ListedHashTree;
   import org.apache.log.Hierarchy;
   import org.apache.log.Logger;
  +import org.jorphan.collections.HashTree;
  +import org.jorphan.collections.ListedHashTree;
   import org.xml.sax.SAXException;
   /**
    * <p>Title: </p>
  @@ -61,7 +62,7 @@
   	{
   	}
   
  -	public static void saveSubTree(ListedHashTree subTree,OutputStream writer) throws
  +	public static void saveSubTree(HashTree subTree,OutputStream writer) throws
   			IOException
   	{
   		Configuration config = (Configuration)getConfigsFromTree(subTree).get(0);
  @@ -106,7 +107,7 @@
   		return result;
   	}
   
  -	private static List getConfigsFromTree(ListedHashTree subTree)
  +	private static List getConfigsFromTree(HashTree subTree)
   	{
   		Iterator iter = subTree.list().iterator();
   		List configs = new LinkedList();
  @@ -115,7 +116,7 @@
   			TestElement item = (TestElement)iter.next();
   			DefaultConfiguration config = new DefaultConfiguration("node","node");
   			config.addChild(getConfigForTestElement(null,item));
  -			List configList = getConfigsFromTree(subTree.get(item));
  +			List configList = getConfigsFromTree(subTree.getTree(item));
   			Iterator iter2 = configList.iterator();
   			while(iter2.hasNext())
   			{
  @@ -283,12 +284,12 @@
   		return config;
   	}
   
  -	public synchronized static ListedHashTree loadSubTree(InputStream in) throws IOException
  +	public synchronized static HashTree loadSubTree(InputStream in) throws IOException
   	{
   		try
   		{
   			Configuration config = builder.build(in);
  -			ListedHashTree loadedTree = generateNode(config);
  +			HashTree loadedTree = generateNode(config);
   			return loadedTree;
   		}
   		catch(ConfigurationException e)
  @@ -374,7 +375,7 @@
   		return coll;
   	}
   
  -	private static ListedHashTree generateNode(Configuration config)
  +	private static HashTree generateNode(Configuration config)
   	{
   		TestElement element = null;
   		try
  @@ -386,11 +387,11 @@
   			log.error("Problem loading part of file",e);
   			return null;
   		}
  -		ListedHashTree subTree = new ListedHashTree(element);
  +		HashTree subTree = new ListedHashTree(element);
   		Configuration[] subNodes = config.getChildren("node");
   		for (int i = 0; i < subNodes.length; i++)
   		{
  -			ListedHashTree t = generateNode(subNodes[i]);
  +			HashTree t = generateNode(subNodes[i]);
   			if(t != null)
   			{
   				subTree.add(element,t);
  
  
  
  1.4       +3 -1      jakarta-jmeter/src/core/org/apache/jmeter/save/old/JMeterNameSpaceHandler.java
  
  Index: JMeterNameSpaceHandler.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/save/old/JMeterNameSpaceHandler.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- JMeterNameSpaceHandler.java	29 Aug 2002 18:17:39 -0000	1.3
  +++ JMeterNameSpaceHandler.java	15 Oct 2002 18:53:28 -0000	1.4
  @@ -61,9 +61,10 @@
   
   import org.apache.jmeter.save.old.xml.NameSpaceHandler;
   import org.apache.jmeter.save.old.xml.TagHandler;
  -import org.apache.jmeter.util.ClassFinder;
  +import org.apache.jmeter.util.JMeterUtils;
   import org.apache.log.Hierarchy;
   import org.apache.log.Logger;
  +import org.jorphan.reflect.ClassFinder;
   import org.xml.sax.Attributes;
   
   /**
  @@ -83,6 +84,7 @@
   		try {
   			List classes =
   				ClassFinder.findClassesThatExtend(
  +						JMeterUtils.getSearchPaths(),
   					new Class[] { org.apache.jmeter.save.old.xml.TagHandler.class });
   			Iterator iter = classes.iterator();
   			while (iter.hasNext()) {
  
  
  
  1.4       +12 -9     jakarta-jmeter/src/core/org/apache/jmeter/save/old/xml/XmlHandler.java
  
  Index: XmlHandler.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/save/old/xml/XmlHandler.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- XmlHandler.java	29 Aug 2002 18:17:40 -0000	1.3
  +++ XmlHandler.java	15 Oct 2002 18:53:28 -0000	1.4
  @@ -54,13 +54,15 @@
    */
   package org.apache.jmeter.save.old.xml;
   
  +import java.util.Collection;
   import java.util.Iterator;
   import java.util.LinkedList;
   import java.util.List;
   
  -import org.apache.jmeter.util.ListedHashTree;
   import org.apache.log.Hierarchy;
   import org.apache.log.Logger;
  +import org.jorphan.collections.HashTree;
  +import org.jorphan.collections.ListedHashTree;
   import org.xml.sax.Attributes;
   import org.xml.sax.SAXException;
   import org.xml.sax.SAXParseException;
  @@ -277,7 +279,7 @@
   				break;
   			}
   		}
  -		ListedHashTree subTree = objectHierarchy.get(stack);
  +		HashTree subTree = objectHierarchy.getTree(stack);
   		if (subTree == null)
   		{
   			return new LinkedList();
  @@ -324,14 +326,15 @@
   		}
   	}
   
  -	private void replaceWithModels(ListedHashTree tree)
  +	private void replaceWithModels(HashTree tree)
   	{
  +		log.debug("XML elements: "+tree.list());
   		Iterator iter = new LinkedList(tree.list()).iterator();
   		while (iter.hasNext())
   		{
   			TagHandler item = (TagHandler)iter.next();
   			tree.replace(item,item.getModel());
  -			replaceWithModels(tree.get(item.getModel()));
  +			replaceWithModels(tree.getTree(item.getModel()));
   		}
   	}
   
  @@ -359,15 +362,15 @@
   		}
   	}
   
  -	private void replaceSubItems(ListedHashTree subTree, Object item)
  +	private void replaceSubItems(HashTree subTree, Object item)
   	{
  -		ListedHashTree subSubTree = subTree.get(item);
  -		List subItems = subSubTree.list();
  +		HashTree subSubTree = subTree.getTree(item);
  +		Collection subItems = subSubTree.list();
   		Iterator iter2 = subItems.iterator();
   		while (iter2.hasNext())
   		{
   			Object subItem = iter2.next();
  -			subTree.set(subItem, subSubTree.get(subItem));
  +			subTree.set(subItem, subSubTree.getTree(subItem));
   		}
   	}
   }
  
  
  
  1.10      +6 -7      jakarta-jmeter/src/core/org/apache/jmeter/threads/JMeterThread.java
  
  Index: JMeterThread.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/threads/JMeterThread.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- JMeterThread.java	29 Aug 2002 18:17:40 -0000	1.9
  +++ JMeterThread.java	15 Oct 2002 18:53:28 -0000	1.10
  @@ -63,16 +63,15 @@
   import org.apache.jmeter.assertions.AssertionResult;
   import org.apache.jmeter.control.Controller;
   import org.apache.jmeter.samplers.SampleEvent;
  -import org.apache.jmeter.samplers.SampleListener;
   import org.apache.jmeter.samplers.SampleResult;
   import org.apache.jmeter.samplers.Sampler;
   import org.apache.jmeter.testelement.TestElement;
   import org.apache.jmeter.testelement.ThreadListener;
   import org.apache.jmeter.timers.Timer;
  -import org.apache.jmeter.util.ListedHashTree;
  -import org.apache.jmeter.util.SearchByClass;
   import org.apache.log.Hierarchy;
   import org.apache.log.Logger;
  +import org.jorphan.collections.HashTree;
  +import org.jorphan.collections.SearchByClass;
   /****************************************
    * The JMeter interface to the sampling process, allowing JMeter to see the
    * timing, add listeners for sampling events and to stop the sampling process.
  @@ -88,7 +87,7 @@
   	int initialDelay = 0;
   	Controller controller;
   	private boolean running;
  -	ListedHashTree testTree;
  +	HashTree testTree;
   	TestCompiler compiler;
   	JMeterThreadMonitor monitor;
   	String threadName;
  @@ -100,7 +99,7 @@
   	 * !ToDo (Constructor description)
   	 ***************************************/
   	public JMeterThread() {}
  -	public JMeterThread(ListedHashTree test, JMeterThreadMonitor monitor,ListenerNotifier note) {
  +	public JMeterThread(HashTree test, JMeterThreadMonitor monitor,ListenerNotifier note) {
   		this.monitor = monitor;
   		threadVars = new JMeterVariables();
   		testTree = test;
  
  
  
  1.7       +4 -3      jakarta-jmeter/src/core/org/apache/jmeter/threads/ListenerNotifier.java
  
  Index: ListenerNotifier.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/threads/ListenerNotifier.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- ListenerNotifier.java	30 Aug 2002 14:43:20 -0000	1.6
  +++ ListenerNotifier.java	15 Oct 2002 18:53:28 -0000	1.7
  @@ -2,11 +2,12 @@
   import java.util.Iterator;
   import java.util.LinkedList;
   import java.util.List;
  +
   import org.apache.jmeter.samplers.SampleEvent;
   import org.apache.jmeter.samplers.SampleListener;
  -import org.apache.jmeter.util.LoggingManager;
  -import org.apache.log.Hierarchy;
  +import org.apache.jmeter.util.JMeterUtils;
   import org.apache.log.Logger;
  +import org.jorphan.logging.LoggingManager;
   /**
    * @author Administrator
    *
  @@ -16,7 +17,7 @@
   public class ListenerNotifier extends LinkedList implements Runnable
   {
   	private static Logger log =
  -		Hierarchy.getDefaultHierarchy().getLoggerFor(LoggingManager.ENGINE);
  +		LoggingManager.getLoggerFor(JMeterUtils.ENGINE);
   	/**
   	 * @see java.lang.Runnable#run()
   	 */
  
  
  
  1.9       +19 -12    jakarta-jmeter/src/core/org/apache/jmeter/threads/TestCompiler.java
  
  Index: TestCompiler.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/threads/TestCompiler.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- TestCompiler.java	29 Aug 2002 18:17:40 -0000	1.8
  +++ TestCompiler.java	15 Oct 2002 18:53:28 -0000	1.9
  @@ -25,10 +25,11 @@
   import org.apache.jmeter.testelement.PerSampleClonable;
   import org.apache.jmeter.testelement.TestElement;
   import org.apache.jmeter.timers.Timer;
  -import org.apache.jmeter.util.ListedHashTree;
  -import org.apache.jmeter.util.ListedHashTreeVisitor;
   import org.apache.log.Hierarchy;
   import org.apache.log.Logger;
  +import org.jorphan.collections.HashTree;
  +import org.jorphan.collections.HashTreeTraverser;
  +import org.jorphan.collections.ListedHashTree;
   
   /****************************************
    * <p>
  @@ -46,14 +47,14 @@
    *@version   1.0
    ***************************************/
   
  -public class TestCompiler implements ListedHashTreeVisitor, SampleListener
  +public class TestCompiler implements HashTreeTraverser, SampleListener
   {
   	transient private static Logger log = Hierarchy.getDefaultHierarchy().getLoggerFor(
   			"jmeter.engine");
   	LinkedList stack = new LinkedList();
   	Map samplerConfigMap = new HashMap();
   	Set objectsWithFunctions = new HashSet();
  -	ListedHashTree testTree;
  +	HashTree testTree;
   	SampleResult previousResult;
   	Sampler currentSampler;
   	JMeterVariables threadVars;
  @@ -64,7 +65,7 @@
   	 *
   	 *@param testTree  !ToDo (Parameter description)
   	 ***************************************/
  -	public TestCompiler(ListedHashTree testTree,
  +	public TestCompiler(HashTree testTree,
   			JMeterVariables vars)
   	{
   		threadVars = vars;
  @@ -138,9 +139,10 @@
   	 *@param node     !ToDo
   	 *@param subTree  !ToDo
   	 ***************************************/
  -	public void addNode(Object node, ListedHashTree subTree)
  +	public void addNode(Object node, HashTree subTree)
   	{
   		stack.addLast(node);
  +		log.debug("Added "+node+" to stack.  Stack size = "+stack.size());
   	}
   
   	/****************************************
  @@ -148,9 +150,11 @@
   	 ***************************************/
   	public void subtractNode()
   	{
  +		log.debug("Subtracting node, stack size = "+stack.size());
   		TestElement child = (TestElement)stack.getLast();
   		if(child instanceof Sampler)
   		{
  +			log.debug("Saving configs for sampler: "+child);
   			saveSamplerConfigs((Sampler)child);
   		}
   		stack.removeLast();
  @@ -178,8 +182,11 @@
   		List listeners = new LinkedList();
   		List timers = new LinkedList();
   		List assertions = new LinkedList();
  +		log.debug("Full stack = " + stack);
   		for(int i = stack.size(); i > 0; i--)
   		{
  +			log.debug("looping, i = "+i);
  +			log.debug("sub-stack = "+stack.subList(0,i));
   			Iterator iter = testTree.list(stack.subList(0, i)).iterator();
   			while(iter.hasNext())
   			{
  @@ -323,7 +330,7 @@
   			testing.add(controller, config1);
   			testing.add(controller, sampler);
   			testing.add(controller,sampler2);
  -			testing.get(controller).add(sampler, args);
  +			testing.getTree(controller).add(sampler, args);
   			TestCompiler.initialize();
   
   			TestCompiler compiler = new TestCompiler(testing,new JMeterVariables());
  
  
  
  1.2       +16 -10    jakarta-jmeter/src/core/org/apache/jmeter/threads/gui/ThreadGroupGui.java
  
  Index: ThreadGroupGui.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/threads/gui/ThreadGroupGui.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- ThreadGroupGui.java	11 Aug 2002 19:24:49 -0000	1.1
  +++ ThreadGroupGui.java	15 Oct 2002 18:53:29 -0000	1.2
  @@ -53,23 +53,29 @@
    * <http://www.apache.org/>.
    */
   package org.apache.jmeter.threads.gui;
  -import java.awt.*;
  -import java.awt.event.*;
  -import java.util.*;
  -import javax.swing.*;
  -import javax.swing.border.*;
  -import javax.swing.table.*;
  -import javax.swing.text.*;
  +import java.awt.Font;
  +import java.util.Collection;
  +
  +import javax.swing.BorderFactory;
  +import javax.swing.JLabel;
  +import javax.swing.JPanel;
  +import javax.swing.JPopupMenu;
  +import javax.swing.JTextField;
  +import javax.swing.border.Border;
  +import javax.swing.border.CompoundBorder;
  +import javax.swing.border.EmptyBorder;
  +
   import org.apache.jmeter.control.LoopController;
   import org.apache.jmeter.control.gui.LoopControlPanel;
  -import org.apache.jmeter.gui.*;
  +import org.apache.jmeter.gui.JMeterGUIComponent;
  +import org.apache.jmeter.gui.NamePanel;
   import org.apache.jmeter.gui.util.FocusRequester;
   import org.apache.jmeter.gui.util.MenuFactory;
  -import org.apache.jmeter.gui.util.VerticalLayout;
   import org.apache.jmeter.gui.util.NumberFieldErrorListener;
   import org.apache.jmeter.testelement.TestElement;
   import org.apache.jmeter.threads.ThreadGroup;
   import org.apache.jmeter.util.JMeterUtils;
  +import org.jorphan.gui.layout.VerticalLayout;
   
   /****************************************
    * Title: JMeter Description: Copyright: Copyright (c) 2000 Company: Apache
  
  
  
  1.8       +784 -912  jakarta-jmeter/src/core/org/apache/jmeter/util/JMeterUtils.java
  
  Index: JMeterUtils.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/util/JMeterUtils.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- JMeterUtils.java	29 Aug 2002 18:17:40 -0000	1.7
  +++ JMeterUtils.java	15 Oct 2002 18:53:29 -0000	1.8
  @@ -52,20 +52,14 @@
    * information on the Apache Software Foundation, please see
    * <http://www.apache.org/>.
    */
  -
  -
  -
   package org.apache.jmeter.util;
  -
   import java.awt.Dimension;
   import java.awt.event.ActionListener;
   import java.io.BufferedReader;
   import java.io.File;
   import java.io.FileInputStream;
  -import java.io.FileWriter;
   import java.io.IOException;
   import java.io.InputStreamReader;
  -import java.io.PrintWriter;
   import java.util.Enumeration;
   import java.util.Hashtable;
   import java.util.Locale;
  @@ -74,20 +68,17 @@
   import java.util.ResourceBundle;
   import java.util.StringTokenizer;
   import java.util.Vector;
  -
   import javax.swing.ImageIcon;
   import javax.swing.JButton;
   import javax.swing.JComboBox;
   import javax.swing.JOptionPane;
   import javax.xml.parsers.SAXParserFactory;
  -
   import org.apache.jmeter.gui.GuiPackage;
   import org.apache.log.Hierarchy;
   import org.apache.log.Logger;
  -import org.apache.log.Priority;
  +import org.jorphan.logging.LoggingManager;
  +import org.jorphan.test.UnitTestManager;
   import org.xml.sax.XMLReader;
  -
  -
   /**
    *  This class contains the static utility methods used by JMeter.
    *
  @@ -95,161 +86,149 @@
    *@created    June 28, 2001
    *@version    $Revision$ $Date$
    */
  -
  -public class JMeterUtils
  +public class JMeterUtils implements UnitTestManager
   {
  -	transient private static Logger log = Hierarchy.getDefaultHierarchy().getLoggerFor(
  -			"jmeter.util");
  +	transient private static Logger log =
  +		Hierarchy.getDefaultHierarchy().getLoggerFor("jmeter.util");
   	private static LoggingManager logManager;
   	private static String LOG_FILE = "log_file";
   	private static String LOG_PRIORITY = "log_level";
  -	 private static final SAXParserFactory xmlFactory;
  -
  -	 static {
  -		  SAXParserFactory temp = null;
  -		  try {
  -				temp = SAXParserFactory.newInstance();
  -		  } catch(Exception e) {
  -		  log.error("",e);
  -				temp = null;
  -		  }
  -
  -		  xmlFactory = temp;
  -	 }
  -
  -
  -	 private static Properties appProperties;
  -	 public static ResourceBundle RESOURCES = ResourceBundle.getBundle("org.apache.jmeter.resources.messages");
  -
  -
  -	 /**
  -	  *  This method is used by the init method to load the property file that may
  -	  *  even reside in the user space, or in the classpath under
  -	  *  org.apache.jmeter.jmeter.properties
  -	  *
  -	  *@param  file  Description of Parameter
  -	  *@return       The Properties value
  -	  */
  -	 public static Properties getProperties(String file)
  -	 {
  -		  Properties p = new Properties(System.getProperties());
  -		  try
  -		  {
  -				File f = new File(file);
  -				p.load(new FileInputStream(f));
  -		  }
  -		  catch (Exception e)
  -		  {
  -				try
  -				{
  -					 p.load(JMeterUtils.class.getClassLoader().getSystemResourceAsStream("org/apache/jmeter/jmeter.properties"));
  -				}
  -				catch (IOException ex)
  -				{
  -					 //JMeter.fail("Could not read internal resource. Archive is broken.");
  -				}
  -		  }
  -		  appProperties = p;
  -		  logManager = new LoggingManager();
  -		  try
  -		  {
  -		  	logManager.setTarget(new PrintWriter(new FileWriter(getPropDefault(LOG_FILE,"jmeter.log"))));
  -		  }
  -		  catch(IOException e)
  -		  {
  -		  	System.out.println("bad log file");
  -		  }
  -		  logManager.setPriority(Priority.getPriorityForName(getPropDefault(LOG_PRIORITY,"WARN")),"jmeter");
  -		  setLoggingLevels();
  -		  return p;
  -	 }
  -	 
  -	 private static void setLoggingLevels()
  -	 {
  -	 	Enumeration names = appProperties.keys();
  -		  while (names.hasMoreElements())
  -		  {
  -				String prop = (String) names.nextElement();
  -				if (prop.startsWith(LOG_PRIORITY))
  -				{
  -					String name = prop.substring(LOG_PRIORITY.length()+1);
  -					 logManager.setPriority(
  -					 		Priority.getPriorityForName(
  -					 		getPropDefault(prop,"WARN")),name);
  -				}
  -		  }
  -	 }
  -	 
  -	 public static void reinitializeLocale(Locale loc)
  -	 {
  -	 	RESOURCES = ResourceBundle.getBundle("org.apache.jmeter.resources.messages",loc);
  -	 }
  -
  -	 /**
  -	  *  Gets the resource string for this key.
  -	  *  @param key the key in the resource file
  -	  *  @return the resource string if the key is found; otherwise, return an empty string
  -	  */
  -	 public static String getResString(String key)
  -	 {
  -		if(key == null)
  +	private static final SAXParserFactory xmlFactory;
  +	static {
  +		SAXParserFactory temp = null;
  +		try
  +		{
  +			temp = SAXParserFactory.newInstance();
  +		}
  +		catch (Exception e)
  +		{
  +			log.error("", e);
  +			temp = null;
  +		}
  +		xmlFactory = temp;
  +	}
  +	private static Properties appProperties;
  +	public static ResourceBundle RESOURCES =
  +		ResourceBundle.getBundle("org.apache.jmeter.resources.messages");
  +	/**
  +	 *  This method is used by the init method to load the property file that may
  +	 *  even reside in the user space, or in the classpath under
  +	 *  org.apache.jmeter.jmeter.properties
  +	 *
  +	 *@param  file  Description of Parameter
  +	 *@return       The Properties value
  +	 */
  +	public static Properties getProperties(String file)
  +	{
  +		Properties p = new Properties(System.getProperties());
  +		try
  +		{
  +			File f = new File(file);
  +			p.load(new FileInputStream(f));
  +		}
  +		catch (Exception e)
  +		{
  +			try
  +			{
  +				p.load(
  +					JMeterUtils.class.getClassLoader().getSystemResourceAsStream(
  +						"org/apache/jmeter/jmeter.properties"));
  +			}
  +			catch (IOException ex)
  +			{
  +				//JMeter.fail("Could not read internal resource. Archive is broken.");
  +			}
  +		}
  +		appProperties = p;
  +		LoggingManager.initializeLogging(appProperties);
  +		log = LoggingManager.getLoggerFor(UTIL);
  +		return p;
  +	}
  +	public void initializeProperties(String file)
  +	{
  +		System.out.println("Initializing Properties: " + file);
  +		getProperties(file);
  +		String home = file.substring(0,file.lastIndexOf("/"));
  +		home = new File(home + "/..").getAbsolutePath();
  +		System.out.println("Setting JMeter home: " + home);
  +		setJMeterHome(home);
  +	}
  +	public static String[] getSearchPaths()
  +	{
  +		return new String[] { getJMeterHome() + "/lib/ext" };
  +	}
  +	public static void reinitializeLocale(Locale loc)
  +	{
  +		RESOURCES =
  +			ResourceBundle.getBundle("org.apache.jmeter.resources.messages", loc);
  +	}
  +	/**
  +	 *  Gets the resource string for this key.
  +	 *  @param key the key in the resource file
  +	 *  @return the resource string if the key is found; otherwise, return an empty string
  +	 */
  +	public static String getResString(String key)
  +	{
  +		if (key == null)
   		{
   			return null;
   		}
  -		key = key.replace(' ','_');
  +		key = key.replace(' ', '_');
   		key = key.toLowerCase();
  -		  String resString = null;
  -		  try
  -		  {
  -				resString = RESOURCES.getString(key);
  -		  }
  -		  catch (MissingResourceException mre)
  -		  {
  -				log.warn("ERROR! Resource string not found: [" + key + "]");
  -				resString = "";
  -		  }
  -		  return resString;
  -	 }
  -
  -	 /**
  -	  *  This gets the currently defined appProperties. It can only be called after
  -	  *  the getProperties(String file) method is called.
  -	  *
  -	  *@return    The JMeterProperties value
  -	  */
  -	 public static Properties getJMeterProperties()
  -	 {
  -		  return appProperties;
  -	 }
  -
  -	 /**
  -	  *  This looks for the requested image in the classpath under
  -	  *  org.apache.jmeter.images. <name>
  -	  *
  -	  *@param  name  Description of Parameter
  -	  *@return       The Image value
  -	  */
  -	 public static ImageIcon getImage(String name)
  -	 {
  -		  try
  -		  {
  -				return new ImageIcon(JMeterUtils.class.getClassLoader().getResource(
  -								  "org/apache/jmeter/images/" + name.trim()));
  -		  }
  -		  catch(NullPointerException e)
  -		  {
  -				log.warn("no icon for "+name);
  -				return null;
  -		  }
  -	 }
  -	 
  -	 public static String getResourceFileAsText(String name)
  -	 {
  -	 	try {
  +		String resString = null;
  +		try
  +		{
  +			resString = RESOURCES.getString(key);
  +		}
  +		catch (MissingResourceException mre)
  +		{
  +			log.warn("ERROR! Resource string not found: [" + key + "]");
  +			resString = "";
  +		}
  +		return resString;
  +	}
  +	/**
  +	 *  This gets the currently defined appProperties. It can only be called after
  +	 *  the getProperties(String file) method is called.
  +	 *
  +	 *@return    The JMeterProperties value
  +	 */
  +	public static Properties getJMeterProperties()
  +	{
  +		return appProperties;
  +	}
  +	/**
  +	 *  This looks for the requested image in the classpath under
  +	 *  org.apache.jmeter.images. <name>
  +	 *
  +	 *@param  name  Description of Parameter
  +	 *@return       The Image value
  +	 */
  +	public static ImageIcon getImage(String name)
  +	{
  +		try
  +		{
  +			return new ImageIcon(
  +				JMeterUtils.class.getClassLoader().getResource(
  +					"org/apache/jmeter/images/" + name.trim()));
  +		}
  +		catch (NullPointerException e)
  +		{
  +			log.warn("no icon for " + name);
  +			return null;
  +		}
  +	}
  +	public static String getResourceFileAsText(String name)
  +	{
  +		try
  +		{
   			String lineEnd = System.getProperty("line.separator");
  -		 	BufferedReader fileReader = new BufferedReader(new InputStreamReader(JMeterUtils.class.getClassLoader().getResourceAsStream(name)));
  -		 	StringBuffer text = new StringBuffer();
  -		 	String line = "NOTNULL";
  +			BufferedReader fileReader =
  +				new BufferedReader(
  +					new InputStreamReader(
  +						JMeterUtils.class.getClassLoader().getResourceAsStream(name)));
  +			StringBuffer text = new StringBuffer();
  +			String line = "NOTNULL";
   			while (line != null)
   			{
   				line = fileReader.readLine();
  @@ -260,782 +239,675 @@
   				}
   			}
   			return text.toString();
  -		} catch(IOException e) {
  +		}
  +		catch (IOException e)
  +		{
   			return "";
   		}
  -	 }
  -
  -	 /**
  -	  *  Creates the vector of Timers plugins.
  -	  *
  -	  *@param  properties  Description of Parameter
  -	  *@return             The Timers value
  -	  */
  -	 public static Vector getTimers(Properties properties)
  -	 {
  -		  return instantiate(getVector(properties, "timer."), "org.apache.jmeter.timers.Timer");
  -	 }
  -
  -	 /**
  -	  *  Creates the vector of visualizer plugins.
  -	  *
  -	  *@param  properties  Description of Parameter
  -	  *@return             The Visualizers value
  -	  */
  -	 public static Vector getVisualizers(Properties properties)
  -	 {
  -		  return instantiate(getVector(properties, "visualizer."),
  -					 "org.apache.jmeter.visualizers.Visualizer");
  -	 }
  -
  -	 /**
  -	  *  Creates a vector of SampleController plugins.
  -	  *
  -	  *@param  properties  The properties with information about the samplers
  -	  *@return             The Controllers value
  -	  */
  -	 public static Vector getControllers(Properties properties)
  -	 {
  -		  String name = "controller.";
  -		  Vector v = new Vector();
  -		  Enumeration names = properties.keys();
  -		  while (names.hasMoreElements())
  -		  {
  -				String prop = (String) names.nextElement();
  -				if (prop.startsWith(name))
  -				{
  -					 Object o = instantiate(properties.getProperty(prop),
  -								"org.apache.jmeter.control.SamplerController");
  -					 v.addElement(o);
  -				}
  -		  }
  -		  return v;
  -	 }
  -
  -	 /**
  -	  *  Create a string of class names for a particular SamplerController
  -	  *
  -	  *@param  properties  The properties with info about the samples.
  -	  *@param  name        The name of the sampler controller.
  -	  *@return             The TestSamples value
  -	  */
  -	 public static String[] getTestSamples(Properties properties, String name)
  -	 {
  -		  return (String[]) getVector(properties, name + ".testsample").toArray(new String[0]);
  -	 }
  -
  -	 /**
  -	  *  Create an instance of an org.xml.sax.Parser
  -	  *
  -	  * @deprecated use the plain version instead.  We are using JAXP!
  -	  *@param  properties  The properties file containing the parser's class name
  -	  *@return             The XMLParser value
  -	  */
  -	 public static XMLReader getXMLParser(Properties properties)
  -	 {
  -		  return getXMLParser();
  -	 }
  -
  -	 /**
  -	  *  Create an instance of an org.xml.sax.Parser based on the default props.
  -	  *
  -	  *@return    The XMLParser value
  -	  */
  -	 public static XMLReader getXMLParser()
  -	 {
  -		  XMLReader reader = null;
  -
  -		  try {
  -		  	reader = (XMLReader) instantiate(getPropDefault("xml.parser", "org.apache.xerces.parsers.SAXParser"), "org.xml.sax.XMLReader");
  -				//reader = xmlFactory.newSAXParser().getXMLReader();
  -		  } catch (Exception e) {
  -				reader = (XMLReader) instantiate(getPropDefault("xml.parser", "org.apache.xerces.parsers.SAXParser"), "org.xml.sax.XMLReader");
  -		  }
  -
  -		  return reader;
  -	 }
  -
  -	 /**
  -	  *  Creates the vector of alias strings.
  -	  *
  -	  *@param  properties  Description of Parameter
  -	  *@return             The Alias value
  -	  */
  -	 public static Hashtable getAlias(Properties properties)
  -	 {
  -		  return getHashtable(properties, "alias.");
  -	 }
  -
  -	 /**
  -	  *  Creates a vector of strings for all the properties that start with a common
  -	  *  prefix.
  -	  *
  -	  *@param  properties  Description of Parameter
  -	  *@param  name        Description of Parameter
  -	  *@return             The Vector value
  -	  */
  -	 public static Vector getVector(Properties properties, String name)
  -	 {
  -		  Vector v = new Vector();
  -		  Enumeration names = properties.keys();
  -		  while (names.hasMoreElements())
  -		  {
  -				String prop = (String) names.nextElement();
  -				if (prop.startsWith(name))
  -				{
  -					 v.addElement(properties.getProperty(prop));
  -				}
  -		  }
  -		  return v;
  -	 }
  -
  -	 /**
  -	  *  Creates a vector of strings for all the properties that start with a common
  -	  *  prefix.
  -	  *
  -	  *@param  properties  Description of Parameter
  -	  *@param  name        Description of Parameter
  -	  *@return             The Hashtable value
  -	  */
  -	 public static Hashtable getHashtable(Properties properties, String name)
  -	 {
  -		  Hashtable t = new Hashtable();
  -		  Enumeration names = properties.keys();
  -		  while (names.hasMoreElements())
  -		  {
  -				String prop = (String) names.nextElement();
  -				if (prop.startsWith(name))
  -				{
  -					 t.put(prop.substring(name.length()), properties.getProperty(prop));
  -				}
  -		  }
  -		  return t;
  -	 }
  -
  -	 /**
  -	  *  Get a int value with default if not present.
  -	  *
  -	  *@param  propName    the name of the property.
  -	  *@param  defaultVal  the default value.
  -	  *@return             The PropDefault value
  -	  */
  -	 public static int getPropDefault(String propName, int defaultVal)
  -	 {
  -		  int ans;
  -		  try
  -		  {
  -				ans = (Integer.valueOf(
  -						  appProperties.getProperty(propName, Integer.toString(defaultVal)).trim())).intValue();
  -		  }
  -		  catch (Exception e)
  -		  {
  -				ans = defaultVal;
  -		  }
  -		  return ans;
  -	 }
  -
  -	 /**
  -	  *  Get a boolean value with default if not present.
  -	  *
  -	  *@param  propName    the name of the property.
  -	  *@param  defaultVal  the default value.
  -	  *@return             The PropDefault value
  -	  */
  -	 public static boolean getPropDefault(String propName, boolean defaultVal)
  -	 {
  -		  boolean ans;
  -		  try
  -		  {
  -				String strVal = appProperties.getProperty(propName,
  -						  (new Boolean(defaultVal)).toString()).trim();
  -				if (strVal.equalsIgnoreCase("true") || strVal.equalsIgnoreCase("t"))
  -				{
  -					 ans = true;
  -				}
  -				else if (strVal.equalsIgnoreCase("false") || strVal.equalsIgnoreCase("f"))
  +	}
  +	/**
  +	 *  Creates the vector of Timers plugins.
  +	 *
  +	 *@param  properties  Description of Parameter
  +	 *@return             The Timers value
  +	 */
  +	public static Vector getTimers(Properties properties)
  +	{
  +		return instantiate(
  +			getVector(properties, "timer."),
  +			"org.apache.jmeter.timers.Timer");
  +	}
  +	/**
  +	 *  Creates the vector of visualizer plugins.
  +	 *
  +	 *@param  properties  Description of Parameter
  +	 *@return             The Visualizers value
  +	 */
  +	public static Vector getVisualizers(Properties properties)
  +	{
  +		return instantiate(
  +			getVector(properties, "visualizer."),
  +			"org.apache.jmeter.visualizers.Visualizer");
  +	}
  +	/**
  +	 *  Creates a vector of SampleController plugins.
  +	 *
  +	 *@param  properties  The properties with information about the samplers
  +	 *@return             The Controllers value
  +	 */
  +	public static Vector getControllers(Properties properties)
  +	{
  +		String name = "controller.";
  +		Vector v = new Vector();
  +		Enumeration names = properties.keys();
  +		while (names.hasMoreElements())
  +		{
  +			String prop = (String) names.nextElement();
  +			if (prop.startsWith(name))
  +			{
  +				Object o =
  +					instantiate(
  +						properties.getProperty(prop),
  +						"org.apache.jmeter.control.SamplerController");
  +				v.addElement(o);
  +			}
  +		}
  +		return v;
  +	}
  +	/**
  +	 *  Create a string of class names for a particular SamplerController
  +	 *
  +	 *@param  properties  The properties with info about the samples.
  +	 *@param  name        The name of the sampler controller.
  +	 *@return             The TestSamples value
  +	 */
  +	public static String[] getTestSamples(Properties properties, String name)
  +	{
  +		return (String[]) getVector(properties, name + ".testsample").toArray(
  +			new String[0]);
  +	}
  +	/**
  +	 *  Create an instance of an org.xml.sax.Parser
  +	 *
  +	 * @deprecated use the plain version instead.  We are using JAXP!
  +	 *@param  properties  The properties file containing the parser's class name
  +	 *@return             The XMLParser value
  +	 */
  +	public static XMLReader getXMLParser(Properties properties)
  +	{
  +		return getXMLParser();
  +	}
  +	/**
  +	 *  Create an instance of an org.xml.sax.Parser based on the default props.
  +	 *
  +	 *@return    The XMLParser value
  +	 */
  +	public static XMLReader getXMLParser()
  +	{
  +		XMLReader reader = null;
  +		try
  +		{
  +			reader =
  +				(XMLReader) instantiate(getPropDefault("xml.parser",
  +					"org.apache.xerces.parsers.SAXParser"),
  +					"org.xml.sax.XMLReader");
  +			//reader = xmlFactory.newSAXParser().getXMLReader();
  +		}
  +		catch (Exception e)
  +		{
  +			reader =
  +				(XMLReader) instantiate(getPropDefault("xml.parser",
  +					"org.apache.xerces.parsers.SAXParser"),
  +					"org.xml.sax.XMLReader");
  +		}
  +		return reader;
  +	}
  +	/**
  +	 *  Creates the vector of alias strings.
  +	 *
  +	 *@param  properties  Description of Parameter
  +	 *@return             The Alias value
  +	 */
  +	public static Hashtable getAlias(Properties properties)
  +	{
  +		return getHashtable(properties, "alias.");
  +	}
  +	/**
  +	 *  Creates a vector of strings for all the properties that start with a common
  +	 *  prefix.
  +	 *
  +	 *@param  properties  Description of Parameter
  +	 *@param  name        Description of Parameter
  +	 *@return             The Vector value
  +	 */
  +	public static Vector getVector(Properties properties, String name)
  +	{
  +		Vector v = new Vector();
  +		Enumeration names = properties.keys();
  +		while (names.hasMoreElements())
  +		{
  +			String prop = (String) names.nextElement();
  +			if (prop.startsWith(name))
  +			{
  +				v.addElement(properties.getProperty(prop));
  +			}
  +		}
  +		return v;
  +	}
  +	/**
  +	 *  Creates a vector of strings for all the properties that start with a common
  +	 *  prefix.
  +	 *
  +	 *@param  properties  Description of Parameter
  +	 *@param  name        Description of Parameter
  +	 *@return             The Hashtable value
  +	 */
  +	public static Hashtable getHashtable(Properties properties, String name)
  +	{
  +		Hashtable t = new Hashtable();
  +		Enumeration names = properties.keys();
  +		while (names.hasMoreElements())
  +		{
  +			String prop = (String) names.nextElement();
  +			if (prop.startsWith(name))
  +			{
  +				t.put(prop.substring(name.length()), properties.getProperty(prop));
  +			}
  +		}
  +		return t;
  +	}
  +	/**
  +	 *  Get a int value with default if not present.
  +	 *
  +	 *@param  propName    the name of the property.
  +	 *@param  defaultVal  the default value.
  +	 *@return             The PropDefault value
  +	 */
  +	public static int getPropDefault(String propName, int defaultVal)
  +	{
  +		int ans;
  +		try
  +		{
  +			ans =
  +				(Integer
  +					.valueOf(
  +						appProperties
  +							.getProperty(propName, Integer.toString(defaultVal))
  +							.trim()))
  +					.intValue();
  +		}
  +		catch (Exception e)
  +		{
  +			ans = defaultVal;
  +		}
  +		return ans;
  +	}
  +	/**
  +	 *  Get a boolean value with default if not present.
  +	 *
  +	 *@param  propName    the name of the property.
  +	 *@param  defaultVal  the default value.
  +	 *@return             The PropDefault value
  +	 */
  +	public static boolean getPropDefault(String propName, boolean defaultVal)
  +	{
  +		boolean ans;
  +		try
  +		{
  +			String strVal =
  +				appProperties
  +					.getProperty(propName, (new Boolean(defaultVal)).toString())
  +					.trim();
  +			if (strVal.equalsIgnoreCase("true") || strVal.equalsIgnoreCase("t"))
  +			{
  +				ans = true;
  +			}
  +			else if (
  +				strVal.equalsIgnoreCase("false") || strVal.equalsIgnoreCase("f"))
  +			{
  +				ans = false;
  +			}
  +			else
  +			{
  +				ans = ((Integer.valueOf(strVal)).intValue() == 1);
  +			}
  +		}
  +		catch (Exception e)
  +		{
  +			ans = defaultVal;
  +		}
  +		return ans;
  +	}
  +	/**
  +	 *  Get a long value with default if not present.
  +	 *
  +	 *@param  propName    the name of the property.
  +	 *@param  defaultVal  the default value.
  +	 *@return             The PropDefault value
  +	 */
  +	public static long getPropDefault(String propName, long defaultVal)
  +	{
  +		long ans;
  +		try
  +		{
  +			ans =
  +				(Long
  +					.valueOf(
  +						appProperties
  +							.getProperty(propName, Long.toString(defaultVal))
  +							.trim()))
  +					.longValue();
  +		}
  +		catch (Exception e)
  +		{
  +			ans = defaultVal;
  +		}
  +		return ans;
  +	}
  +	/**
  +	 *  Get a String value with default if not present.
  +	 *
  +	 *@param  propName    the name of the property.
  +	 *@param  defaultVal  the default value.
  +	 *@return             The PropDefault value
  +	 */
  +	public static String getPropDefault(String propName, String defaultVal)
  +	{
  +		String ans;
  +		try
  +		{
  +			ans = appProperties.getProperty(propName, defaultVal).trim();
  +		}
  +		catch (Exception e)
  +		{
  +			ans = defaultVal;
  +		}
  +		return ans;
  +	}
  +	/**
  +	 *  Sets the selection of the JComboBox to the Object 'name' from the list in
  +	 *  namVec.
  +	 *
  +	 *@param  properties  Description of Parameter
  +	 *@param  combo       Description of Parameter
  +	 *@param  namVec      Description of Parameter
  +	 *@param  name        Description of Parameter
  +	 */
  +	public static void selJComboBoxItem(
  +		Properties properties,
  +		JComboBox combo,
  +		Vector namVec,
  +		String name)
  +	{
  +		int idx = namVec.indexOf(name);
  +		combo.setSelectedIndex(idx);
  +		// Redisplay.
  +		combo.updateUI();
  +		return;
  +	}
  +	/**
  +	 *  Instatiate an object and guarantee its class.
  +	 *
  +	 *@param  className  The name of the class to instantiate.
  +	 *@param  impls      The name of the class it subclases.
  +	 *@return            Description of the Returned Value
  +	 */
  +	public static Object instantiate(String className, String impls)
  +	{
  +		if (className != null)
  +			className.trim();
  +		if (impls != null)
  +			className.trim();
  +		try
  +		{
  +			Class c = Class.forName(impls);
  +			try
  +			{
  +				Class o = Class.forName(className);
  +				Object res = o.newInstance();
  +				if (c.isInstance(res))
   				{
  -					 ans = false;
  +					return res;
   				}
   				else
   				{
  -					 ans = ((Integer.valueOf(strVal)).intValue() == 1);
  +					throw new IllegalArgumentException(
  +						className + " is not an instance of " + impls);
   				}
  -		  }
  -		  catch (Exception e)
  -		  {
  -				ans = defaultVal;
  -		  }
  -		  return ans;
  -	 }
  -
  -	 /**
  -	  *  Get a long value with default if not present.
  -	  *
  -	  *@param  propName    the name of the property.
  -	  *@param  defaultVal  the default value.
  -	  *@return             The PropDefault value
  -	  */
  -	 public static long getPropDefault(String propName, long defaultVal)
  -	 {
  -		  long ans;
  -		  try
  -		  {
  -				ans = (Long.valueOf(appProperties.getProperty(propName, Long.toString(defaultVal)).trim())).longValue();
  -		  }
  -		  catch (Exception e)
  -		  {
  -				ans = defaultVal;
  -		  }
  -		  return ans;
  -	 }
  -
  -	 /**
  -	  *  Get a String value with default if not present.
  -	  *
  -	  *@param  propName    the name of the property.
  -	  *@param  defaultVal  the default value.
  -	  *@return             The PropDefault value
  -	  */
  -	 public static String getPropDefault(String propName, String defaultVal)
  -	 {
  -		  String ans;
  -		  try
  -		  {
  -				ans = appProperties.getProperty(propName, defaultVal).trim();
  -		  }
  -		  catch (Exception e)
  -		  {
  -				ans = defaultVal;
  -		  }
  -		  return ans;
  -	 }
  -
  -	 /**
  -	  *  Sets the selection of the JComboBox to the Object 'name' from the list in
  -	  *  namVec.
  -	  *
  -	  *@param  properties  Description of Parameter
  -	  *@param  combo       Description of Parameter
  -	  *@param  namVec      Description of Parameter
  -	  *@param  name        Description of Parameter
  -	  */
  -
  -	 public static void selJComboBoxItem(Properties properties, JComboBox combo, Vector namVec, String name)
  -	 {
  -
  -		  int idx = namVec.indexOf(name);
  -
  -
  -		  combo.setSelectedIndex(idx);
  -
  -
  -		  // Redisplay.
  -
  -		  combo.updateUI();
  -
  -		  return;
  -	 }
  -
  -
  -	 /**
  -	  *  Instatiate an object and guarantee its class.
  -	  *
  -	  *@param  className  The name of the class to instantiate.
  -	  *@param  impls      The name of the class it subclases.
  -	  *@return            Description of the Returned Value
  -	  */
  -
  -	 public static Object instantiate(String className, String impls)
  -	 {
  -		  if (className != null) className.trim();
  -		  if (impls != null) className.trim();
  -
  -		  try
  -		  {
  -
  -				Class c = Class.forName(impls);
  -
  -
  +			}
  +			catch (ClassNotFoundException e)
  +			{
  +				log.error("Error loading class " + className + ": class is not found");
  +			}
  +			catch (IllegalAccessException e)
  +			{
  +				log.error(
  +					"Error loading class " + className + ": does not have access");
  +			}
  +			catch (InstantiationException e)
  +			{
  +				log.error(
  +					"Error loading class " + className + ": could not instantiate");
  +			}
  +			catch (NoClassDefFoundError e)
  +			{
  +				log.error(
  +					"Error loading class "
  +						+ className
  +						+ ": couldn't find class "
  +						+ e.getMessage());
  +			}
  +		}
  +		catch (ClassNotFoundException e)
  +		{
  +			log.error("Error loading class " + impls + ": was not found.");
  +		}
  +		return null;
  +	}
  +	/**
  +	 *  Instantiate a vector of classes
  +	 *
  +	 *@param  v          Description of Parameter
  +	 *@param  className  Description of Parameter
  +	 *@return            Description of the Returned Value
  +	 */
  +	public static Vector instantiate(Vector v, String className)
  +	{
  +		Vector i = new Vector();
  +		try
  +		{
  +			Class c = Class.forName(className);
  +			Enumeration elements = v.elements();
  +			while (elements.hasMoreElements())
  +			{
  +				String name = (String) elements.nextElement();
   				try
   				{
  -
  -					 Class o = Class.forName(className);
  -
  -
  -					 Object res = o.newInstance();
  -
  -					 if (c.isInstance(res))
  -					 {
  -
  -						  return res;
  -					 }
  -
  -					 else
  -					 {
  -
  -						  throw new IllegalArgumentException
  -									 (className + " is not an instance of " + impls);
  -					 }
  -
  +					Object o = Class.forName(name).newInstance();
  +					if (c.isInstance(o))
  +					{
  +						i.addElement(o);
  +					}
   				}
  -
   				catch (ClassNotFoundException e)
   				{
  -
  -					 log.error("Error loading class " +
  -								className + ": class is not found");
  -
  +					log.error("Error loading class " + name + ": class is not found");
   				}
  -
   				catch (IllegalAccessException e)
   				{
  -
  -					 log.error("Error loading class " + className +
  -								": does not have access");
  -
  +					log.error("Error loading class " + name + ": does not have access");
   				}
  -
   				catch (InstantiationException e)
   				{
  -
  -					 log.error("Error loading class " + className +
  -								": could not instantiate");
  -
  +					log.error("Error loading class " + name + ": could not instantiate");
   				}
  -
   				catch (NoClassDefFoundError e)
   				{
  -
  -					 log.error("Error loading class " + className +
  -								": couldn't find class " + e.getMessage());
  -
  -				}
  -
  -		  }
  -
  -		  catch (ClassNotFoundException e)
  -		  {
  -
  -				log.error("Error loading class " + impls +
  -						  ": was not found.");
  -
  -		  }
  -
  -		  return null;
  -	 }
  -
  -
  -	 /**
  -	  *  Instantiate a vector of classes
  -	  *
  -	  *@param  v          Description of Parameter
  -	  *@param  className  Description of Parameter
  -	  *@return            Description of the Returned Value
  -	  */
  -
  -	 public static Vector instantiate(Vector v, String className)
  -	 {
  -
  -		  Vector i = new Vector();
  -
  -
  -		  try
  -		  {
  -
  -				Class c = Class.forName(className);
  -
  -				Enumeration elements = v.elements();
  -
  -				while (elements.hasMoreElements())
  -				{
  -
  -					 String name = (String) elements.nextElement();
  -
  -					 try
  -					 {
  -
  -						  Object o = Class.forName(name).newInstance();
  -
  -						  if (c.isInstance(o))
  -						  {
  -
  -								i.addElement(o);
  -
  -						  }
  -
  -					 }
  -
  -					 catch (ClassNotFoundException e)
  -					 {
  -
  -						  log.error("Error loading class " +
  -									 name + ": class is not found");
  -
  -					 }
  -
  -					 catch (IllegalAccessException e)
  -					 {
  -
  -						  log.error("Error loading class " + name + ": does not have access");
  -
  -					 }
  -
  -					 catch (InstantiationException e)
  -					 {
  -
  -						  log.error("Error loading class " + name + ": could not instantiate");
  -
  -					 }
  -
  -					 catch (NoClassDefFoundError e)
  -					 {
  -
  -						  log.error("Error loading class " + name + ": couldn't find class " + e.getMessage());
  -
  -					 }
  -
  -
  +					log.error(
  +						"Error loading class "
  +							+ name
  +							+ ": couldn't find class "
  +							+ e.getMessage());
   				}
  -
  -		  }
  -		  catch (ClassNotFoundException e)
  -		  {
  -
  -				log.error("Error loading class " + className + ": class is not found");
  -
  -		  }
  -
  -
  -		  return i;
  -	 }
  -
  -
  -	 /**
  -	  *  Tokenize a string into a vector of tokens
  -	  *
  -	  *@param  string     Description of Parameter
  -	  *@param  separator  Description of Parameter
  -	  *@return            Description of the Returned Value
  -	  */
  -
  -	 public static Vector tokenize(String string, String separator)
  -	 {
  -
  -		  Vector v = new Vector();
  -
  -		  StringTokenizer s = new StringTokenizer(string, separator);
  -
  -		  while (s.hasMoreTokens())
  -		  {
  -
  -				v.addElement(s.nextToken());
  -
  -		  }
  -
  -		  return v;
  -	 }
  -
  -
  -	 /**
  -	  *  Create a button with the netscape style
  -	  *
  -	  *@param  name      Description of Parameter
  -	  *@param  listener  Description of Parameter
  -	  *@return           Description of the Returned Value
  -	  */
  -
  -	 public static JButton createButton(String name, ActionListener listener)
  -	 {
  -
  -		  JButton button = new JButton(getImage(name + ".on.gif"));
  -
  -		  button.setDisabledIcon(getImage(name + ".off.gif"));
  -
  -		  button.setRolloverIcon(getImage(name + ".over.gif"));
  -
  -		  button.setPressedIcon(getImage(name + ".down.gif"));
  -
  -		  button.setActionCommand(name);
  -
  -		  button.addActionListener(listener);
  -
  -		  button.setRolloverEnabled(true);
  -
  -		  button.setFocusPainted(false);
  -
  -		  button.setBorderPainted(false);
  -
  -		  button.setOpaque(false);
  -
  -		  button.setPreferredSize(new Dimension(24, 24));
  -
  -		  return button;
  -	 }
  -
  -
  -	 /**
  -	  *  Create a button with the netscape style
  -	  *
  -	  *@param  name      Description of Parameter
  -	  *@param  listener  Description of Parameter
  -	  *@return           Description of the Returned Value
  -	  */
  -
  -	 public static JButton createSimpleButton(String name, ActionListener listener)
  -	 {
  -
  -		  JButton button = new JButton(getImage(name + ".gif"));
  -
  -		  button.setActionCommand(name);
  -
  -		  button.addActionListener(listener);
  -
  -		  button.setFocusPainted(false);
  -
  -		  button.setBorderPainted(false);
  -
  -		  button.setOpaque(false);
  -
  -		  button.setPreferredSize(new Dimension(25, 25));
  -
  -		  return button;
  -	 }
  -
  -
  -	 /**
  -	  *  Takes a String and a tokenizer character, and returns a new array of
  -	  *  strings of the string split by the tokenizer character.
  -	  *
  -	  *@param  splittee   String to be split
  -	  *@param  splitChar  Character to split the string on
  -	  *@return            Array of all the tokens.
  -	  */
  -
  -	 public static String[] split(String splittee, String splitChar)
  -	 {
  -		  if (splittee == null || splitChar == null)
  -		  {
  -				return new String[0];
  -		  }
  -		  StringTokenizer tokens;
  -		  String temp;
  -		  int spot;
  -		  while ((spot = splittee.indexOf(splitChar + splitChar)) != -1)
  -		  {
  -				splittee = splittee.substring(0, spot + splitChar.length()) +
  -						  splittee.substring(spot + 2 * splitChar.length(),
  -						  splittee.length());
  -		  }
  -		  Vector returns = new Vector();
  -		  int start = 0;
  -		  int length = splittee.length();
  -		  spot = 0;
  -		  while (start < length && (spot = splittee.indexOf(splitChar, start)) > -1)
  -		  {
  -				if (spot > 0)
  -				{
  -					 returns.addElement(splittee.substring(start, spot));
  -				}
  -				start = spot + splitChar.length();
  -		  }
  -		  if (start < length)
  -		  {
  -				returns.add(splittee.substring(start));
  -		  }
  -		  String[] values = new String[returns.size()];
  -		  returns.copyInto(values);
  -		  return values;
  -	 }
  -	 // End Method
  -
  -
  -	 /**
  -	  *  Takes a String and a tokenizer character, and returns a new array of
  -	  *  strings of the string split by the tokenizer character.
  -	  *
  -	  *@param  splittee   String to be split
  -	  *@param  splitChar  Character to split the string on
  -	  *@param  def        Default value to place between two split chars that have
  -	  *      nothing between them
  -	  *@return            Array of all the tokens.
  -	  */
  -
  -	 public static String[] split(String splittee, String splitChar, String def)
  -	 {
  -		  if (splittee == null || splitChar == null)
  -		  {
  -				return new String[0];
  -		  }
  -		  StringTokenizer tokens;
  -		  String temp;
  -		  int spot;
  -		  while ((spot = splittee.indexOf(splitChar + splitChar)) != -1)
  -		  {
  -				splittee = splittee.substring(0, spot + splitChar.length()) + def +
  -						  splittee.substring(spot + 1 * splitChar.length(),
  -						  splittee.length());
  -		  }
  -		  Vector returns = new Vector();
  -		  int start = 0;
  -		  int length = splittee.length();
  -		  spot = 0;
  -		  while (start < length && (spot = splittee.indexOf(splitChar, start)) > -1)
  -		  {
  -				if (spot > 0)
  -				{
  -					 returns.addElement(splittee.substring(start, spot));
  -				}
  -				start = spot + splitChar.length();
  -		  }
  -		  if (start < length)
  -		  {
  -				returns.add(splittee.substring(start));
  -		  }
  -		  String[] values = new String[returns.size()];
  -		  returns.copyInto(values);
  -		  return values;
  -	 }
  -
  -	 /**
  -	  *  Report an error through a dialog box.
  -	  *
  -	  *@param  errorMsg  the error message.
  -	  */
  -	 public static void reportErrorToUser(String errorMsg)
  -	 {
  -		  JOptionPane.showMessageDialog(GuiPackage.getInstance().getMainFrame(),
  -					 errorMsg,"Error",JOptionPane.ERROR_MESSAGE);
  -	 }
  -
  -	 /**
  -	  *  Finds a string in an array of strings and returns the
  -	  *
  -	  *@param  array  Array of strings.
  -	  *@param  value  String to compare to array values.
  -	  *@return        Index of value in array, or -1 if not in array.
  -	  */
  -
  -	 public static int findInArray(String[] array, String value)
  -	 {
  -		  int count = -1;
  -		  int index = -1;
  -		  if (array != null && value != null)
  -		  {
  -				while (++count < array.length)
  -				{
  -					 if (array[count] != null && array[count].equals(value))
  -					 {
  -						  index = count;
  -						  break;
  -					 }
  -				}
  -		  }
  -		  return index;
  -	 }
  -
  -
  -	 /**
  -	  *  Takes an array of strings and a tokenizer character, and returns a string
  -	  *  of all the strings concatenated with the tokenizer string in between each
  -	  *  one.
  -	  *
  -	  *@param  splittee   Array of Objects to be concatenated.
  -	  *@param  splitChar  Object to unsplit the strings with.
  -	  *@return            Array of all the tokens.
  -	  */
  -
  -	 public static String unsplit(Object[] splittee, Object splitChar)
  -	 {
  -
  -		  StringBuffer retVal = new StringBuffer("");
  -
  -		  int count = -1;
  -
  -		  while (++count < splittee.length)
  -		  {
  -
  -				if (splittee[count] != null)
  -				{
  -
  -					 retVal.append(splittee[count]);
  -				}
  -
  -				if (count + 1 < splittee.length && splittee[count + 1] != null)
  -				{
  -
  -					 retVal.append(splitChar);
  -				}
  -
  -		  }
  -
  -		  return retVal.toString();
  -	 }
  -	 // End Method
  -
  -
  -	 /**
  -	  *  Takes an array of strings and a tokenizer character, and returns a string
  -	  *  of all the strings concatenated with the tokenizer string in between each
  -	  *  one.
  -	  *
  -	  *@param  splittee   Array of Objects to be concatenated.
  -	  *@param  splitChar  Object to unsplit the strings with.
  -	  *@param  def        Default value to replace null values in array.
  -	  *@return            Array of all the tokens.
  -	  */
  -
  -	 public static String unsplit(Object[] splittee, Object splitChar, String def)
  -	 {
  -
  -		  StringBuffer retVal = new StringBuffer("");
  -
  -		  int count = -1;
  -
  -		  while (++count < splittee.length)
  -		  {
  -
  -				if (splittee[count] != null)
  -				{
  -
  -					 retVal.append(splittee[count]);
  -				}
  -
  -				else
  -				{
  -
  -					 retVal.append(def);
  -				}
  -
  -				if (count + 1 < splittee.length)
  +			}
  +		}
  +		catch (ClassNotFoundException e)
  +		{
  +			log.error("Error loading class " + className + ": class is not found");
  +		}
  +		return i;
  +	}
  +	/**
  +	 *  Tokenize a string into a vector of tokens
  +	 *
  +	 *@param  string     Description of Parameter
  +	 *@param  separator  Description of Parameter
  +	 *@return            Description of the Returned Value
  +	 */
  +	public static Vector tokenize(String string, String separator)
  +	{
  +		Vector v = new Vector();
  +		StringTokenizer s = new StringTokenizer(string, separator);
  +		while (s.hasMoreTokens())
  +		{
  +			v.addElement(s.nextToken());
  +		}
  +		return v;
  +	}
  +	/**
  +	 *  Create a button with the netscape style
  +	 *
  +	 *@param  name      Description of Parameter
  +	 *@param  listener  Description of Parameter
  +	 *@return           Description of the Returned Value
  +	 */
  +	public static JButton createButton(String name, ActionListener listener)
  +	{
  +		JButton button = new JButton(getImage(name + ".on.gif"));
  +		button.setDisabledIcon(getImage(name + ".off.gif"));
  +		button.setRolloverIcon(getImage(name + ".over.gif"));
  +		button.setPressedIcon(getImage(name + ".down.gif"));
  +		button.setActionCommand(name);
  +		button.addActionListener(listener);
  +		button.setRolloverEnabled(true);
  +		button.setFocusPainted(false);
  +		button.setBorderPainted(false);
  +		button.setOpaque(false);
  +		button.setPreferredSize(new Dimension(24, 24));
  +		return button;
  +	}
  +	/**
  +	 *  Create a button with the netscape style
  +	 *
  +	 *@param  name      Description of Parameter
  +	 *@param  listener  Description of Parameter
  +	 *@return           Description of the Returned Value
  +	 */
  +	public static JButton createSimpleButton(
  +		String name,
  +		ActionListener listener)
  +	{
  +		JButton button = new JButton(getImage(name + ".gif"));
  +		button.setActionCommand(name);
  +		button.addActionListener(listener);
  +		button.setFocusPainted(false);
  +		button.setBorderPainted(false);
  +		button.setOpaque(false);
  +		button.setPreferredSize(new Dimension(25, 25));
  +		return button;
  +	}
  +	/**
  +	 *  Takes a String and a tokenizer character, and returns a new array of
  +	 *  strings of the string split by the tokenizer character.
  +	 *
  +	 *@param  splittee   String to be split
  +	 *@param  splitChar  Character to split the string on
  +	 *@return            Array of all the tokens.
  +	 */
  +	public static String[] split(String splittee, String splitChar)
  +	{
  +		if (splittee == null || splitChar == null)
  +		{
  +			return new String[0];
  +		}
  +		StringTokenizer tokens;
  +		String temp;
  +		int spot;
  +		while ((spot = splittee.indexOf(splitChar + splitChar)) != -1)
  +		{
  +			splittee =
  +				splittee.substring(0, spot + splitChar.length())
  +					+ splittee.substring(spot + 2 * splitChar.length(), splittee.length());
  +		}
  +		Vector returns = new Vector();
  +		int start = 0;
  +		int length = splittee.length();
  +		spot = 0;
  +		while (start < length && (spot = splittee.indexOf(splitChar, start)) > -1)
  +		{
  +			if (spot > 0)
  +			{
  +				returns.addElement(splittee.substring(start, spot));
  +			}
  +			start = spot + splitChar.length();
  +		}
  +		if (start < length)
  +		{
  +			returns.add(splittee.substring(start));
  +		}
  +		String[] values = new String[returns.size()];
  +		returns.copyInto(values);
  +		return values;
  +	}
  +	// End Method
  +	/**
  +	 *  Takes a String and a tokenizer character, and returns a new array of
  +	 *  strings of the string split by the tokenizer character.
  +	 *
  +	 *@param  splittee   String to be split
  +	 *@param  splitChar  Character to split the string on
  +	 *@param  def        Default value to place between two split chars that have
  +	 *      nothing between them
  +	 *@return            Array of all the tokens.
  +	 */
  +	public static String[] split(String splittee, String splitChar, String def)
  +	{
  +		if (splittee == null || splitChar == null)
  +		{
  +			return new String[0];
  +		}
  +		StringTokenizer tokens;
  +		String temp;
  +		int spot;
  +		while ((spot = splittee.indexOf(splitChar + splitChar)) != -1)
  +		{
  +			splittee =
  +				splittee.substring(0, spot + splitChar.length())
  +					+ def
  +					+ splittee.substring(spot + 1 * splitChar.length(), splittee.length());
  +		}
  +		Vector returns = new Vector();
  +		int start = 0;
  +		int length = splittee.length();
  +		spot = 0;
  +		while (start < length && (spot = splittee.indexOf(splitChar, start)) > -1)
  +		{
  +			if (spot > 0)
  +			{
  +				returns.addElement(splittee.substring(start, spot));
  +			}
  +			start = spot + splitChar.length();
  +		}
  +		if (start < length)
  +		{
  +			returns.add(splittee.substring(start));
  +		}
  +		String[] values = new String[returns.size()];
  +		returns.copyInto(values);
  +		return values;
  +	}
  +	/**
  +	 *  Report an error through a dialog box.
  +	 *
  +	 *@param  errorMsg  the error message.
  +	 */
  +	public static void reportErrorToUser(String errorMsg)
  +	{
  +		JOptionPane.showMessageDialog(
  +			GuiPackage.getInstance().getMainFrame(),
  +			errorMsg,
  +			"Error",
  +			JOptionPane.ERROR_MESSAGE);
  +	}
  +	/**
  +	 *  Finds a string in an array of strings and returns the
  +	 *
  +	 *@param  array  Array of strings.
  +	 *@param  value  String to compare to array values.
  +	 *@return        Index of value in array, or -1 if not in array.
  +	 */
  +	public static int findInArray(String[] array, String value)
  +	{
  +		int count = -1;
  +		int index = -1;
  +		if (array != null && value != null)
  +		{
  +			while (++count < array.length)
  +			{
  +				if (array[count] != null && array[count].equals(value))
   				{
  -
  -					 retVal.append(splitChar);
  +					index = count;
  +					break;
   				}
  -
  -		  }
  -
  -		  return retVal.toString();
  -	 }
  -	 // End Method
  -	 
  -	 public static String getJMeterHome()
  -	 {
  -	 	return jmDir;
  -	 }
  -	 
  -	 public static void setJMeterHome(String home)
  -	 {
  -	 	jmDir = home;
  -	 }
  -	 private static String jmDir;
  -
  -
  -	 /**
  -	  * Gets the JMeter Version.
  -	  * @returns the JMeter version.
  -	  */
  -	 public static String getJMeterVersion()
  -	 {
  -		  return "1.7.3";
  -	 }
  +			}
  +		}
  +		return index;
  +	}
  +	/**
  +	 *  Takes an array of strings and a tokenizer character, and returns a string
  +	 *  of all the strings concatenated with the tokenizer string in between each
  +	 *  one.
  +	 *
  +	 *@param  splittee   Array of Objects to be concatenated.
  +	 *@param  splitChar  Object to unsplit the strings with.
  +	 *@return            Array of all the tokens.
  +	 */
  +	public static String unsplit(Object[] splittee, Object splitChar)
  +	{
  +		StringBuffer retVal = new StringBuffer("");
  +		int count = -1;
  +		while (++count < splittee.length)
  +		{
  +			if (splittee[count] != null)
  +			{
  +				retVal.append(splittee[count]);
  +			}
  +			if (count + 1 < splittee.length && splittee[count + 1] != null)
  +			{
  +				retVal.append(splitChar);
  +			}
  +		}
  +		return retVal.toString();
  +	}
  +	// End Method
  +	/**
  +	 *  Takes an array of strings and a tokenizer character, and returns a string
  +	 *  of all the strings concatenated with the tokenizer string in between each
  +	 *  one.
  +	 *
  +	 *@param  splittee   Array of Objects to be concatenated.
  +	 *@param  splitChar  Object to unsplit the strings with.
  +	 *@param  def        Default value to replace null values in array.
  +	 *@return            Array of all the tokens.
  +	 */
  +	public static String unsplit(Object[] splittee, Object splitChar, String def)
  +	{
  +		StringBuffer retVal = new StringBuffer("");
  +		int count = -1;
  +		while (++count < splittee.length)
  +		{
  +			if (splittee[count] != null)
  +			{
  +				retVal.append(splittee[count]);
  +			}
  +			else
  +			{
  +				retVal.append(def);
  +			}
  +			if (count + 1 < splittee.length)
  +			{
  +				retVal.append(splitChar);
  +			}
  +		}
  +		return retVal.toString();
  +	}
  +	// End Method
  +	public static String getJMeterHome()
  +	{
  +		return jmDir;
  +	}
  +	public static void setJMeterHome(String home)
  +	{
  +		jmDir = home;
  +	}
  +	private static String jmDir;
  +	public static final String JMETER = "jmeter";
  +	public static final String ENGINE = "jmeter.engine";
  +	public static final String ELEMENTS = "jmeter.elements";
  +	public static final String GUI = "jmeter.gui";
  +	public static final String UTIL = "jmeter.util";
  +	public static final String CLASSFINDER = "jmeter.util.classfinder";
  +	public static final String TEST = "jmeter.test";
  +	public static final String HTTP = "jmeter.protocol.http";
  +	public static final String JDBC = "jmeter.protocol.jdbc";
  +	public static final String FTP = "jmeter.protocol.ftp";
  +	public static final String JAVA = "jmeter.protocol.java";
  +	/**
  +	 * Gets the JMeter Version.
  +	 * @returns the JMeter version.
  +	 */
  +	public static String getJMeterVersion()
  +	{
  +		return "@VERSION@";
  +	}
   }
  
  
  
  1.2       +13 -11    jakarta-jmeter/src/protocol/ftp/org/apache/jmeter/protocol/ftp/config/gui/FtpConfigGui.java
  
  Index: FtpConfigGui.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/protocol/ftp/org/apache/jmeter/protocol/ftp/config/gui/FtpConfigGui.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- FtpConfigGui.java	11 Aug 2002 19:24:50 -0000	1.1
  +++ FtpConfigGui.java	15 Oct 2002 18:53:29 -0000	1.2
  @@ -53,18 +53,20 @@
    * <http://www.apache.org/>.
    */
   package org.apache.jmeter.protocol.ftp.config.gui;
  -import java.awt.*;
  -import java.awt.event.*;
  -import javax.swing.*;
  -import javax.swing.border.*;
  -import org.apache.jmeter.gui.*;
  -import org.apache.jmeter.gui.util.VerticalLayout;
  -import org.apache.jmeter.protocol.ftp.config.*;
  -import org.apache.jmeter.util.JMeterUtils;
  +import java.awt.Font;
  +
  +import javax.swing.JLabel;
  +import javax.swing.JPanel;
  +import javax.swing.JTextField;
  +import javax.swing.border.Border;
  +import javax.swing.border.EmptyBorder;
  +
  +import org.apache.jmeter.config.ConfigTestElement;
   import org.apache.jmeter.config.gui.AbstractConfigGui;
  -import org.apache.jmeter.testelement.TestElement;
   import org.apache.jmeter.protocol.ftp.sampler.FTPSampler;
  -import org.apache.jmeter.config.ConfigTestElement;
  +import org.apache.jmeter.testelement.TestElement;
  +import org.apache.jmeter.util.JMeterUtils;
  +import org.jorphan.gui.layout.VerticalLayout;
   
   /****************************************
    * Title: JMeter Description: Copyright: Copyright (c) 2000 Company: Apache
  
  
  
  1.2       +12 -10    jakarta-jmeter/src/protocol/ftp/org/apache/jmeter/protocol/ftp/control/gui/FtpTestSamplerGui.java
  
  Index: FtpTestSamplerGui.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/protocol/ftp/org/apache/jmeter/protocol/ftp/control/gui/FtpTestSamplerGui.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- FtpTestSamplerGui.java	11 Aug 2002 19:24:50 -0000	1.1
  +++ FtpTestSamplerGui.java	15 Oct 2002 18:53:29 -0000	1.2
  @@ -53,19 +53,21 @@
    * <http://www.apache.org/>.
    */
   package org.apache.jmeter.protocol.ftp.control.gui;
  -import java.awt.*;
  -import javax.swing.*;
  -import javax.swing.border.*;
  +import java.awt.Font;
  +
  +import javax.swing.BorderFactory;
  +import javax.swing.JLabel;
  +import javax.swing.JPanel;
  +import javax.swing.border.Border;
  +import javax.swing.border.EmptyBorder;
  +
   import org.apache.jmeter.config.gui.LoginConfigGui;
  -import org.apache.jmeter.config.gui.LoginConfigGui;
  -import org.apache.jmeter.gui.*;
  -import org.apache.jmeter.gui.util.VerticalLayout;
   import org.apache.jmeter.protocol.ftp.config.gui.FtpConfigGui;
  -import org.apache.jmeter.protocol.ftp.control.*;
  -import org.apache.jmeter.util.JMeterUtils;
  +import org.apache.jmeter.protocol.ftp.sampler.FTPSampler;
   import org.apache.jmeter.samplers.gui.AbstractSamplerGui;
   import org.apache.jmeter.testelement.TestElement;
  -import org.apache.jmeter.protocol.ftp.sampler.FTPSampler;
  +import org.apache.jmeter.util.JMeterUtils;
  +import org.jorphan.gui.layout.VerticalLayout;
   
   /****************************************
    * Title: Apache JMeter Description: Copyright: Copyright (c) 2000 Company:
  
  
  
  1.2       +2 -2      jakarta-jmeter/src/protocol/http/org/apache/jmeter/protocol/http/config/gui/HttpDefaultsGui.java
  
  Index: HttpDefaultsGui.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/protocol/http/org/apache/jmeter/protocol/http/config/gui/HttpDefaultsGui.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- HttpDefaultsGui.java	24 Aug 2002 02:44:25 -0000	1.1
  +++ HttpDefaultsGui.java	15 Oct 2002 18:53:29 -0000	1.2
  @@ -9,12 +9,12 @@
   
   import org.apache.jmeter.config.ConfigTestElement;
   import org.apache.jmeter.config.gui.AbstractConfigGui;
  -import org.apache.jmeter.gui.util.JLabeledTextField;
  -import org.apache.jmeter.gui.util.VerticalLayout;
   import org.apache.jmeter.protocol.http.gui.HTTPArgumentsPanel;
   import org.apache.jmeter.protocol.http.sampler.HTTPSampler;
   import org.apache.jmeter.testelement.TestElement;
   import org.apache.jmeter.util.JMeterUtils;
  +import org.jorphan.gui.JLabeledTextField;
  +import org.jorphan.gui.layout.VerticalLayout;
   /**
    * @author Administrator
    *
  
  
  
  1.3       +2 -7      jakarta-jmeter/src/protocol/http/org/apache/jmeter/protocol/http/config/gui/MultipartUrlConfigGui.java
  
  Index: MultipartUrlConfigGui.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/protocol/http/org/apache/jmeter/protocol/http/config/gui/MultipartUrlConfigGui.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- MultipartUrlConfigGui.java	24 Aug 2002 02:44:25 -0000	1.2
  +++ MultipartUrlConfigGui.java	15 Oct 2002 18:53:29 -0000	1.3
  @@ -54,12 +54,9 @@
    */
   package org.apache.jmeter.protocol.http.config.gui;
   import java.awt.BorderLayout;
  -import java.awt.Font;
   import java.awt.event.ActionEvent;
   import java.awt.event.ActionListener;
  -import java.awt.BorderLayout;
   import java.io.File;
  -import java.util.Collection;
   
   import javax.swing.BorderFactory;
   import javax.swing.JButton;
  @@ -67,14 +64,12 @@
   import javax.swing.JLabel;
   import javax.swing.JPanel;
   import javax.swing.JTextField;
  -import javax.swing.border.Border;
  -import javax.swing.border.EmptyBorder;
   
   import org.apache.jmeter.gui.util.FileDialoger;
  -import org.apache.jmeter.gui.util.VerticalLayout;
   import org.apache.jmeter.protocol.http.sampler.HTTPSampler;
   import org.apache.jmeter.testelement.TestElement;
   import org.apache.jmeter.util.JMeterUtils;
  +import org.jorphan.gui.layout.VerticalLayout;
   
   /****************************************
    * Title: JMeter Description: Copyright: Copyright (c) 2000 Company: Apache
  
  
  
  1.4       +1 -7      jakarta-jmeter/src/protocol/http/org/apache/jmeter/protocol/http/config/gui/UrlConfigGui.java
  
  Index: UrlConfigGui.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/protocol/http/org/apache/jmeter/protocol/http/config/gui/UrlConfigGui.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- UrlConfigGui.java	24 Aug 2002 02:44:25 -0000	1.3
  +++ UrlConfigGui.java	15 Oct 2002 18:53:29 -0000	1.4
  @@ -56,7 +56,6 @@
   import java.awt.BorderLayout;
   import java.awt.Dimension;
   import java.awt.FlowLayout;
  -import java.awt.Font;
   
   import javax.swing.BorderFactory;
   import javax.swing.Box;
  @@ -67,14 +66,9 @@
   import javax.swing.JPanel;
   import javax.swing.JRadioButton;
   import javax.swing.JTextField;
  -import javax.swing.border.Border;
  -import javax.swing.border.EmptyBorder;
   
   import org.apache.jmeter.config.Arguments;
   import org.apache.jmeter.config.ConfigTestElement;
  -import org.apache.jmeter.config.gui.AbstractConfigGui;
  -import org.apache.jmeter.config.gui.ArgumentsPanel;
  -import org.apache.jmeter.gui.util.VerticalLayout;
   import org.apache.jmeter.protocol.http.gui.HTTPArgumentsPanel;
   import org.apache.jmeter.protocol.http.sampler.HTTPSampler;
   import org.apache.jmeter.protocol.http.util.HTTPArgument;
  
  
  
  1.3       +16 -9     jakarta-jmeter/src/protocol/http/org/apache/jmeter/protocol/http/control/gui/HttpTestSampleGui.java
  
  Index: HttpTestSampleGui.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/protocol/http/org/apache/jmeter/protocol/http/control/gui/HttpTestSampleGui.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- HttpTestSampleGui.java	24 Aug 2002 02:44:25 -0000	1.2
  +++ HttpTestSampleGui.java	15 Oct 2002 18:53:29 -0000	1.3
  @@ -53,19 +53,26 @@
    * <http://www.apache.org/>.
    */
   package org.apache.jmeter.protocol.http.control.gui;
  -import java.awt.*;
  -import java.awt.event.*;
  -import java.util.*;
  -import javax.swing.*;
  -import javax.swing.border.*;
  -import org.apache.jmeter.gui.*;
  -import org.apache.jmeter.gui.util.VerticalLayout;
  +import java.awt.BorderLayout;
  +import java.awt.Font;
  +import java.awt.GridLayout;
  +
  +import javax.swing.BorderFactory;
  +import javax.swing.BoxLayout;
  +import javax.swing.JCheckBox;
  +import javax.swing.JLabel;
  +import javax.swing.JPanel;
  +import javax.swing.border.Border;
  +import javax.swing.border.EmptyBorder;
  +
   import org.apache.jmeter.protocol.http.config.gui.MultipartUrlConfigGui;
   import org.apache.jmeter.protocol.http.config.gui.UrlConfigGui;
  -import org.apache.jmeter.protocol.http.sampler.*;
  +import org.apache.jmeter.protocol.http.sampler.HTTPSampler;
  +import org.apache.jmeter.protocol.http.sampler.HTTPSamplerFull;
   import org.apache.jmeter.samplers.gui.AbstractSamplerGui;
   import org.apache.jmeter.testelement.TestElement;
   import org.apache.jmeter.util.JMeterUtils;
  +import org.jorphan.gui.layout.VerticalLayout;
   
   /****************************************
    * Title: JMeter Description: Copyright: Copyright (c) 2000 Company: Apache
  
  
  
  1.2       +4 -3      jakarta-jmeter/src/protocol/http/org/apache/jmeter/protocol/http/control/gui/SoapSamplerGui.java
  
  Index: SoapSamplerGui.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/protocol/http/org/apache/jmeter/protocol/http/control/gui/SoapSamplerGui.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- SoapSamplerGui.java	11 Aug 2002 19:24:51 -0000	1.1
  +++ SoapSamplerGui.java	15 Oct 2002 18:53:29 -0000	1.2
  @@ -8,13 +8,14 @@
   import javax.swing.JPanel;
   import javax.swing.border.Border;
   import javax.swing.border.EmptyBorder;
  -import org.apache.jmeter.gui.util.JLabeledTextArea;
  -import org.apache.jmeter.gui.util.JLabeledTextField;
  -import org.apache.jmeter.gui.util.VerticalLayout;
  +
   import org.apache.jmeter.protocol.http.sampler.SoapSampler;
   import org.apache.jmeter.samplers.gui.AbstractSamplerGui;
   import org.apache.jmeter.testelement.TestElement;
   import org.apache.jmeter.util.JMeterUtils;
  +import org.jorphan.gui.JLabeledTextArea;
  +import org.jorphan.gui.JLabeledTextField;
  +import org.jorphan.gui.layout.VerticalLayout;
   
   /**
    * @author mstover
  
  
  
  1.4       +7 -7      jakarta-jmeter/src/protocol/http/org/apache/jmeter/protocol/http/gui/AuthPanel.java
  
  Index: AuthPanel.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/protocol/http/org/apache/jmeter/protocol/http/gui/AuthPanel.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- AuthPanel.java	29 Aug 2002 18:17:41 -0000	1.3
  +++ AuthPanel.java	15 Oct 2002 18:53:30 -0000	1.4
  @@ -82,13 +82,13 @@
   
   import org.apache.jmeter.config.gui.AbstractConfigGui;
   import org.apache.jmeter.gui.util.FileDialoger;
  -import org.apache.jmeter.gui.util.VerticalLayout;
   import org.apache.jmeter.protocol.http.control.AuthManager;
   import org.apache.jmeter.protocol.http.control.Authorization;
   import org.apache.jmeter.testelement.TestElement;
   import org.apache.jmeter.util.JMeterUtils;
   import org.apache.log.Hierarchy;
   import org.apache.log.Logger;
  +import org.jorphan.gui.layout.VerticalLayout;
   
   /****************************************
    * Handles input for determining if authentication services are required for a
  
  
  
  1.4       +3 -3      jakarta-jmeter/src/protocol/http/org/apache/jmeter/protocol/http/gui/CookiePanel.java
  
  Index: CookiePanel.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/protocol/http/org/apache/jmeter/protocol/http/gui/CookiePanel.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- CookiePanel.java	29 Aug 2002 18:17:41 -0000	1.3
  +++ CookiePanel.java	15 Oct 2002 18:53:30 -0000	1.4
  @@ -81,13 +81,13 @@
   import org.apache.jmeter.config.gui.AbstractConfigGui;
   import org.apache.jmeter.gui.util.FileDialoger;
   import org.apache.jmeter.gui.util.PowerTableModel;
  -import org.apache.jmeter.gui.util.VerticalLayout;
   import org.apache.jmeter.protocol.http.control.Cookie;
   import org.apache.jmeter.protocol.http.control.CookieManager;
   import org.apache.jmeter.testelement.TestElement;
   import org.apache.jmeter.util.JMeterUtils;
   import org.apache.log.Hierarchy;
   import org.apache.log.Logger;
  +import org.jorphan.gui.layout.VerticalLayout;
   
   /****************************************
    * Allows the user to specify if she needs cookie services, and give parameters
  
  
  
  1.5       +1 -7      jakarta-jmeter/src/protocol/http/org/apache/jmeter/protocol/http/gui/HTTPArgumentsPanel.java
  
  Index: HTTPArgumentsPanel.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/protocol/http/org/apache/jmeter/protocol/http/gui/HTTPArgumentsPanel.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- HTTPArgumentsPanel.java	26 Aug 2002 15:49:37 -0000	1.4
  +++ HTTPArgumentsPanel.java	15 Oct 2002 18:53:30 -0000	1.5
  @@ -1,20 +1,14 @@
   package org.apache.jmeter.protocol.http.gui;
   
  -import java.awt.event.FocusEvent;
  -import java.net.URLEncoder;
   import java.util.Iterator;
   
  -import javax.swing.event.ChangeEvent;
  -import javax.swing.table.TableCellEditor;
  -
   import org.apache.jmeter.config.Arguments;
   import org.apache.jmeter.config.gui.ArgumentsPanel;
   import org.apache.jmeter.gui.util.PowerTableModel;
  -import org.apache.jmeter.gui.util.TextAreaTableCellEditor;
   import org.apache.jmeter.protocol.http.util.HTTPArgument;
   import org.apache.jmeter.testelement.TestElement;
  -import org.apache.jmeter.util.Data;
   import org.apache.jmeter.util.JMeterUtils;
  +import org.jorphan.collections.Data;
   
   /**
    * @author Administrator
  
  
  
  1.5       +7 -7      jakarta-jmeter/src/protocol/http/org/apache/jmeter/protocol/http/gui/HeaderPanel.java
  
  Index: HeaderPanel.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/protocol/http/org/apache/jmeter/protocol/http/gui/HeaderPanel.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- HeaderPanel.java	29 Aug 2002 18:17:41 -0000	1.4
  +++ HeaderPanel.java	15 Oct 2002 18:53:30 -0000	1.5
  @@ -83,13 +83,13 @@
   
   import org.apache.jmeter.config.gui.AbstractConfigGui;
   import org.apache.jmeter.gui.util.FileDialoger;
  -import org.apache.jmeter.gui.util.VerticalLayout;
   import org.apache.jmeter.protocol.http.control.Header;
   import org.apache.jmeter.protocol.http.control.HeaderManager;
   import org.apache.jmeter.testelement.TestElement;
   import org.apache.jmeter.util.JMeterUtils;
   import org.apache.log.Hierarchy;
   import org.apache.log.Logger;
  +import org.jorphan.gui.layout.VerticalLayout;
   
   /****************************************
    * Allows the user to specify if she needs HTTP header services, and give
  
  
  
  1.2       +11 -11    jakarta-jmeter/src/protocol/http/org/apache/jmeter/protocol/http/modifier/gui/AnchorModifierGui.java
  
  Index: AnchorModifierGui.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/protocol/http/org/apache/jmeter/protocol/http/modifier/gui/AnchorModifierGui.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- AnchorModifierGui.java	11 Aug 2002 19:24:51 -0000	1.1
  +++ AnchorModifierGui.java	15 Oct 2002 18:53:30 -0000	1.2
  @@ -53,18 +53,18 @@
    * <http://www.apache.org/>.
    */
   package org.apache.jmeter.protocol.http.modifier.gui;
  -import java.awt.*;
  -import java.awt.event.*;
  -import javax.swing.*;
  -import javax.swing.border.*;
  -import javax.swing.table.*;
  -import javax.swing.text.*;
  -import org.apache.jmeter.gui.*;
  -import org.apache.jmeter.gui.util.VerticalLayout;
  -import org.apache.jmeter.protocol.http.modifier.AnchorModifier;
  -import org.apache.jmeter.util.JMeterUtils;
  +import java.awt.Font;
  +
  +import javax.swing.JLabel;
  +import javax.swing.JPanel;
  +import javax.swing.border.Border;
  +import javax.swing.border.EmptyBorder;
  +
   import org.apache.jmeter.config.gui.AbstractResponseBasedModifierGui;
  +import org.apache.jmeter.protocol.http.modifier.AnchorModifier;
   import org.apache.jmeter.testelement.TestElement;
  +import org.apache.jmeter.util.JMeterUtils;
  +import org.jorphan.gui.layout.VerticalLayout;
   
   /****************************************
    * Title: JMeter Description: Copyright: Copyright (c) 2000 Company: Apache
  
  
  
  1.2       +16 -6     jakarta-jmeter/src/protocol/http/org/apache/jmeter/protocol/http/modifier/gui/ParamModifierGui.java
  
  Index: ParamModifierGui.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/protocol/http/org/apache/jmeter/protocol/http/modifier/gui/ParamModifierGui.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- ParamModifierGui.java	11 Aug 2002 19:24:52 -0000	1.1
  +++ ParamModifierGui.java	15 Oct 2002 18:53:30 -0000	1.2
  @@ -1,16 +1,26 @@
   package org.apache.jmeter.protocol.http.modifier.gui;
  -import java.awt.*;
  -import java.awt.event.*;
  -import javax.swing.*;
  +import java.awt.Component;
  +import java.awt.Font;
  +import java.awt.GridBagConstraints;
  +import java.awt.GridBagLayout;
  +import java.awt.Insets;
  +import java.awt.event.FocusEvent;
  +import java.awt.event.FocusListener;
  +
  +import javax.swing.BorderFactory;
  +import javax.swing.JLabel;
  +import javax.swing.JOptionPane;
  +import javax.swing.JPanel;
  +import javax.swing.JTextField;
   import javax.swing.border.Border;
   import javax.swing.border.EmptyBorder;
  +
   import org.apache.jmeter.config.gui.AbstractModifierGui;
  -import org.apache.jmeter.gui.NamePanel;
  -import org.apache.jmeter.gui.util.VerticalLayout;
   import org.apache.jmeter.protocol.http.modifier.ParamMask;
   import org.apache.jmeter.protocol.http.modifier.ParamModifier;
   import org.apache.jmeter.testelement.TestElement;
   import org.apache.jmeter.util.JMeterUtils;
  +import org.jorphan.gui.layout.VerticalLayout;
   
   /****************************************
    * A swing panel to allow UI with the ParamModifier class.
  
  
  
  1.2       +3 -2      jakarta-jmeter/src/protocol/http/org/apache/jmeter/protocol/http/modifier/gui/URLRewritingModifierGui.java
  
  Index: URLRewritingModifierGui.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/protocol/http/org/apache/jmeter/protocol/http/modifier/gui/URLRewritingModifierGui.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- URLRewritingModifierGui.java	11 Aug 2002 19:24:52 -0000	1.1
  +++ URLRewritingModifierGui.java	15 Oct 2002 18:53:30 -0000	1.2
  @@ -7,12 +7,13 @@
   import javax.swing.JPanel;
   import javax.swing.border.Border;
   import javax.swing.border.EmptyBorder;
  +
   import org.apache.jmeter.config.gui.AbstractResponseBasedModifierGui;
  -import org.apache.jmeter.gui.util.JLabeledTextField;
  -import org.apache.jmeter.gui.util.VerticalLayout;
   import org.apache.jmeter.protocol.http.modifier.URLRewritingModifier;
   import org.apache.jmeter.testelement.TestElement;
   import org.apache.jmeter.util.JMeterUtils;
  +import org.jorphan.gui.JLabeledTextField;
  +import org.jorphan.gui.layout.VerticalLayout;
   
   /**
    * @author mstover
  
  
  
  1.2       +11 -9     jakarta-jmeter/src/protocol/http/org/apache/jmeter/protocol/http/modifier/gui/UserParameterModifierGui.java
  
  Index: UserParameterModifierGui.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/protocol/http/org/apache/jmeter/protocol/http/modifier/gui/UserParameterModifierGui.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- UserParameterModifierGui.java	11 Aug 2002 19:24:52 -0000	1.1
  +++ UserParameterModifierGui.java	15 Oct 2002 18:53:30 -0000	1.2
  @@ -53,17 +53,19 @@
    * <http://www.apache.org/>.
    */
   package org.apache.jmeter.protocol.http.modifier.gui;
  -import javax.swing.*;
  -import java.awt.event.*;
  -import javax.swing.border.*;
  -import javax.swing.table.*;
  -import java.awt.*;
  -import javax.swing.text.*;
  -import org.apache.jmeter.gui.util.*;
  +import java.awt.Font;
  +
  +import javax.swing.JLabel;
  +import javax.swing.JPanel;
  +import javax.swing.JTextField;
  +import javax.swing.border.Border;
  +import javax.swing.border.EmptyBorder;
  +
   import org.apache.jmeter.config.gui.AbstractModifierGui;
   import org.apache.jmeter.protocol.http.modifier.UserParameterModifier;
  -import org.apache.jmeter.util.JMeterUtils;
   import org.apache.jmeter.testelement.TestElement;
  +import org.apache.jmeter.util.JMeterUtils;
  +import org.jorphan.gui.layout.VerticalLayout;
   /************************************************************
    *  Title: JMeter Description: Copyright: Copyright (c) 2000 Company: Apache
    *
  
  
  
  1.5       +6 -5      jakarta-jmeter/src/protocol/http/org/apache/jmeter/protocol/http/proxy/HttpRequestHdr.java
  
  Index: HttpRequestHdr.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/protocol/http/org/apache/jmeter/protocol/http/proxy/HttpRequestHdr.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- HttpRequestHdr.java	25 Aug 2002 19:42:21 -0000	1.4
  +++ HttpRequestHdr.java	15 Oct 2002 18:53:30 -0000	1.5
  @@ -11,6 +11,7 @@
   import java.util.Iterator;
   import java.util.Map;
   import java.util.StringTokenizer;
  +
   import org.apache.jmeter.protocol.http.config.MultipartUrlConfig;
   import org.apache.jmeter.protocol.http.control.Header;
   import org.apache.jmeter.protocol.http.control.HeaderManager;
  @@ -18,9 +19,9 @@
   import org.apache.jmeter.protocol.http.gui.HeaderPanel;
   import org.apache.jmeter.protocol.http.sampler.HTTPSampler;
   import org.apache.jmeter.testelement.TestElement;
  -import org.apache.jmeter.util.LoggingManager;
  -import org.apache.log.Hierarchy;
  +import org.apache.jmeter.util.JMeterUtils;
   import org.apache.log.Logger;
  +import org.jorphan.logging.LoggingManager;
   //
   // Class:     HttpRequestHdr
   // Abstract:  The headers of the client HTTP request.
  @@ -35,7 +36,7 @@
   public class HttpRequestHdr
   {
   	Logger log =
  -		Hierarchy.getDefaultHierarchy().getLoggerFor(LoggingManager.HTTP);
  +		LoggingManager.getLoggerFor(JMeterUtils.HTTP);
   	/****************************************
   	 * Http Request method. Such as get or post.
   	 ***************************************/
  
  
  
  1.4       +6 -4      jakarta-jmeter/src/protocol/java/org/apache/jmeter/protocol/java/config/gui/JavaConfigGui.java
  
  Index: JavaConfigGui.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/protocol/java/org/apache/jmeter/protocol/java/config/gui/JavaConfigGui.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- JavaConfigGui.java	29 Aug 2002 18:17:42 -0000	1.3
  +++ JavaConfigGui.java	15 Oct 2002 18:53:30 -0000	1.4
  @@ -67,15 +67,15 @@
   import org.apache.jmeter.config.Arguments;
   import org.apache.jmeter.config.gui.AbstractConfigGui;
   import org.apache.jmeter.config.gui.ArgumentsPanel;
  -import org.apache.jmeter.gui.util.VerticalLayout;
   import org.apache.jmeter.protocol.java.config.JavaConfig;
   import org.apache.jmeter.protocol.java.sampler.JavaSampler;
   import org.apache.jmeter.protocol.java.sampler.JavaSamplerClient;
   import org.apache.jmeter.testelement.TestElement;
  -import org.apache.jmeter.util.ClassFinder;
   import org.apache.jmeter.util.JMeterUtils;
   import org.apache.log.Hierarchy;
   import org.apache.log.Logger;
  +import org.jorphan.gui.layout.VerticalLayout;
  +import org.jorphan.reflect.ClassFinder;
   
   
   /**
  @@ -162,7 +162,9 @@
   			
   			// Find all the classes which implement the JavaSamplerClient interface
   		
  -			possibleClasses = ClassFinder.findClassesThatExtend(new Class[]{JavaSamplerClient.class});
  +			possibleClasses = ClassFinder.findClassesThatExtend(
  +					JMeterUtils.getSearchPaths(),
  +					new Class[]{JavaSamplerClient.class});
   			
   			// Remove the JavaConfig class from the list since it only implements the interface for
   			// error conditions.
  
  
  
  1.2       +3 -2      jakarta-jmeter/src/protocol/java/org/apache/jmeter/protocol/java/control/gui/JavaTestSamplerGui.java
  
  Index: JavaTestSamplerGui.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/protocol/java/org/apache/jmeter/protocol/java/control/gui/JavaTestSamplerGui.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- JavaTestSamplerGui.java	11 Aug 2002 19:24:53 -0000	1.1
  +++ JavaTestSamplerGui.java	15 Oct 2002 18:53:30 -0000	1.2
  @@ -60,13 +60,14 @@
   import javax.swing.JPanel;
   import javax.swing.border.Border;
   import javax.swing.border.EmptyBorder;
  -import org.apache.jmeter.gui.util.VerticalLayout;
  +
   import org.apache.jmeter.protocol.java.config.JavaConfig;
   import org.apache.jmeter.protocol.java.config.gui.JavaConfigGui;
   import org.apache.jmeter.protocol.java.sampler.JavaSampler;
   import org.apache.jmeter.samplers.gui.AbstractSamplerGui;
   import org.apache.jmeter.testelement.TestElement;
   import org.apache.jmeter.util.JMeterUtils;
  +import org.jorphan.gui.layout.VerticalLayout;
   
   
   /**
  
  
  
  1.2       +15 -12    jakarta-jmeter/src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/config/gui/DbConfigGui.java
  
  Index: DbConfigGui.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/config/gui/DbConfigGui.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- DbConfigGui.java	11 Aug 2002 19:24:53 -0000	1.1
  +++ DbConfigGui.java	15 Oct 2002 18:53:30 -0000	1.2
  @@ -53,19 +53,22 @@
    * <http://www.apache.org/>.
    */
   package org.apache.jmeter.protocol.jdbc.config.gui;
  -import java.awt.*;
  -import java.awt.event.*;
  -import javax.swing.*;
  -import javax.swing.border.*;
  -import org.apache.jmeter.config.gui.LoginConfigGui;
  -import org.apache.jmeter.gui.*;
  -import org.apache.jmeter.gui.util.VerticalLayout;
  -import org.apache.jmeter.protocol.jdbc.config.DbConfig;
  -import org.apache.jmeter.util.JMeterUtils;
  +import java.awt.Font;
  +
  +import javax.swing.BorderFactory;
  +import javax.swing.JLabel;
  +import javax.swing.JPanel;
  +import javax.swing.JTextField;
  +import javax.swing.border.Border;
  +import javax.swing.border.EmptyBorder;
  +
  +import org.apache.jmeter.config.ConfigTestElement;
   import org.apache.jmeter.config.gui.AbstractConfigGui;
  -import org.apache.jmeter.testelement.TestElement;
  +import org.apache.jmeter.config.gui.LoginConfigGui;
   import org.apache.jmeter.protocol.jdbc.sampler.JDBCSampler;
  -import org.apache.jmeter.config.ConfigTestElement;
  +import org.apache.jmeter.testelement.TestElement;
  +import org.apache.jmeter.util.JMeterUtils;
  +import org.jorphan.gui.layout.VerticalLayout;
   
   /****************************************
    * Title: Description: Copyright: Copyright (c) 2001 Company:
  
  
  
  1.2       +17 -11    jakarta-jmeter/src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/config/gui/PoolConfigGui.java
  
  Index: PoolConfigGui.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/config/gui/PoolConfigGui.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- PoolConfigGui.java	11 Aug 2002 19:24:53 -0000	1.1
  +++ PoolConfigGui.java	15 Oct 2002 18:53:30 -0000	1.2
  @@ -53,18 +53,24 @@
    * <http://www.apache.org/>.
    */
   package org.apache.jmeter.protocol.jdbc.config.gui;
  -import java.awt.*;
  -import java.awt.event.*;
  -import javax.swing.*;
  -import javax.swing.border.*;
  -import org.apache.jmeter.gui.*;
  -import org.apache.jmeter.gui.util.VerticalLayout;
  -import org.apache.jmeter.protocol.jdbc.config.*;
  -import org.apache.jmeter.util.JMeterUtils;
  +import java.awt.Font;
  +import java.awt.event.FocusEvent;
  +import java.awt.event.FocusListener;
  +
  +import javax.swing.BorderFactory;
  +import javax.swing.JLabel;
  +import javax.swing.JOptionPane;
  +import javax.swing.JPanel;
  +import javax.swing.JTextField;
  +import javax.swing.border.Border;
  +import javax.swing.border.EmptyBorder;
  +
  +import org.apache.jmeter.config.ConfigTestElement;
   import org.apache.jmeter.config.gui.AbstractConfigGui;
  -import org.apache.jmeter.testelement.TestElement;
   import org.apache.jmeter.protocol.jdbc.sampler.JDBCSampler;
  -import org.apache.jmeter.config.ConfigTestElement;
  +import org.apache.jmeter.testelement.TestElement;
  +import org.apache.jmeter.util.JMeterUtils;
  +import org.jorphan.gui.layout.VerticalLayout;
   
   /****************************************
    * Title: JMeter Description: Copyright: Copyright (c) 2000 Company: Apache
  
  
  
  1.2       +13 -11    jakarta-jmeter/src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/config/gui/SqlConfigGui.java
  
  Index: SqlConfigGui.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/config/gui/SqlConfigGui.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- SqlConfigGui.java	11 Aug 2002 19:24:53 -0000	1.1
  +++ SqlConfigGui.java	15 Oct 2002 18:53:30 -0000	1.2
  @@ -53,18 +53,20 @@
    * <http://www.apache.org/>.
    */
   package org.apache.jmeter.protocol.jdbc.config.gui;
  -import java.awt.*;
  -import java.awt.event.*;
  -import javax.swing.*;
  -import javax.swing.border.*;
  -import org.apache.jmeter.gui.*;
  -import org.apache.jmeter.gui.util.VerticalLayout;
  -import org.apache.jmeter.protocol.jdbc.config.SqlConfig;
  -import org.apache.jmeter.util.JMeterUtils;
  -import org.apache.jmeter.config.gui.AbstractConfigGui;
  +import java.awt.Font;
  +
  +import javax.swing.JLabel;
  +import javax.swing.JPanel;
  +import javax.swing.JTextField;
  +import javax.swing.border.Border;
  +import javax.swing.border.EmptyBorder;
  +
   import org.apache.jmeter.config.ConfigTestElement;
  -import org.apache.jmeter.testelement.TestElement;
  +import org.apache.jmeter.config.gui.AbstractConfigGui;
   import org.apache.jmeter.protocol.jdbc.sampler.JDBCSampler;
  +import org.apache.jmeter.testelement.TestElement;
  +import org.apache.jmeter.util.JMeterUtils;
  +import org.jorphan.gui.layout.VerticalLayout;
   
   /****************************************
    * Title: JMeter Description: Copyright: Copyright (c) 2000 Company: Apache
  
  
  
  1.2       +14 -10    jakarta-jmeter/src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/control/gui/JdbcTestSampleGui.java
  
  Index: JdbcTestSampleGui.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/control/gui/JdbcTestSampleGui.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- JdbcTestSampleGui.java	11 Aug 2002 19:24:53 -0000	1.1
  +++ JdbcTestSampleGui.java	15 Oct 2002 18:53:30 -0000	1.2
  @@ -53,17 +53,21 @@
    * <http://www.apache.org/>.
    */
   package org.apache.jmeter.protocol.jdbc.control.gui;
  -import java.awt.*;
  -import javax.swing.*;
  -import javax.swing.border.*;
  -import org.apache.jmeter.gui.*;
  -import org.apache.jmeter.gui.util.VerticalLayout;
  -import org.apache.jmeter.protocol.jdbc.config.*;
  -import org.apache.jmeter.protocol.jdbc.config.gui.*;
  -import org.apache.jmeter.util.JMeterUtils;
  +import java.awt.Font;
  +
  +import javax.swing.JLabel;
  +import javax.swing.JPanel;
  +import javax.swing.border.Border;
  +import javax.swing.border.EmptyBorder;
  +
  +import org.apache.jmeter.protocol.jdbc.config.gui.DbConfigGui;
  +import org.apache.jmeter.protocol.jdbc.config.gui.PoolConfigGui;
  +import org.apache.jmeter.protocol.jdbc.config.gui.SqlConfigGui;
  +import org.apache.jmeter.protocol.jdbc.sampler.JDBCSampler;
   import org.apache.jmeter.samplers.gui.AbstractSamplerGui;
   import org.apache.jmeter.testelement.TestElement;
  -import org.apache.jmeter.protocol.jdbc.sampler.JDBCSampler;
  +import org.apache.jmeter.util.JMeterUtils;
  +import org.jorphan.gui.layout.VerticalLayout;
   
   /****************************************
    * Title: Description: Copyright: Copyright (c) 2001 Company:
  
  
  
  1.5       +4 -3      jakarta-jmeter/src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/sampler/JDBCSampler.java
  
  Index: JDBCSampler.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/sampler/JDBCSampler.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- JDBCSampler.java	30 Aug 2002 14:43:21 -0000	1.4
  +++ JDBCSampler.java	15 Oct 2002 18:53:31 -0000	1.5
  @@ -60,6 +60,7 @@
   import java.sql.Statement;
   import java.util.HashMap;
   import java.util.Map;
  +
   import org.apache.jmeter.config.ConfigTestElement;
   import org.apache.jmeter.protocol.jdbc.config.DbConfig;
   import org.apache.jmeter.protocol.jdbc.config.PoolConfig;
  @@ -71,9 +72,9 @@
   import org.apache.jmeter.samplers.SampleResult;
   import org.apache.jmeter.testelement.TestElement;
   import org.apache.jmeter.testelement.TestListener;
  -import org.apache.jmeter.util.Data;
   import org.apache.log.Hierarchy;
   import org.apache.log.Logger;
  +import org.jorphan.collections.Data;
   /************************************************************
    *  A sampler which understands JDBC database requests
    *
  
  
  

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>