mstover1    02/05/28 10:30:19

  Modified:    .        build.bat build.xml
               src_1/org/apache/jmeter/engine ConvertListeners.java
                        StandardJMeterEngine.java TreeCloner.java
               src_1/org/apache/jmeter/gui GuiPackage.java MainFrame.java
               src_1/org/apache/jmeter/gui/action RemoteStart.java
                        Start.java
               src_1/org/apache/jmeter/protocol/java/test SleepTest.java
               src_1/org/apache/jmeter/samplers
                        RemoteSampleListenerImpl.java
               src_1/org/apache/jmeter/testelement AbstractTestElement.java
               src_1/org/apache/jmeter/threads JMeterThread.java
  Added:       src_1/org/apache/jmeter/samplers RemoteListenerWrapper.java
                        RemoteSampleListenerWrapper.java
                        RemoteTestListenerWrapper.java
  Log:
  Remote testing working
  
  Revision  Changes    Path
  1.7       +1 -0      jakarta-jmeter/build.bat
  
  Index: build.bat
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/build.bat,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- build.bat 28 Apr 2002 16:40:22 -0000      1.6
  +++ build.bat 28 May 2002 17:30:18 -0000      1.7
  @@ -10,6 +10,7 @@
   set PATH=%JAVA_HOME%\bin;%PATH%
   
   for %%i in (".\lib\*.jar") do CALL lcp %%i
  +for %%i in (".\ext\*.jar") do CALL lcp %%i
   
   for %%i in (..\jakarta-site2\lib\*.jar) do CALL lcp %%i
   
  
  
  
  1.56      +3 -2      jakarta-jmeter/build.xml
  
  Index: build.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/build.xml,v
  retrieving revision 1.55
  retrieving revision 1.56
  diff -u -r1.55 -r1.56
  --- build.xml 23 May 2002 15:47:03 -0000      1.55
  +++ build.xml 28 May 2002 17:30:18 -0000      1.56
  @@ -15,8 +15,9 @@
   
     <!-- Build classpath -->
     <path id="classpath">
  -     <fileset dir="./lib">
  -      <include name="**/*.jar"/>
  +     <fileset dir=".">
  +      <include name="**/lib/*.jar"/>
  +     <include name="**/ext/*.jar"/>
        </fileset>
          <pathelement location="${tools.jar}"/>
     </path>
  
  
  
  1.2       +27 -1     
jakarta-jmeter/src_1/org/apache/jmeter/engine/ConvertListeners.java
  
  Index: ConvertListeners.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/engine/ConvertListeners.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- ConvertListeners.java     23 May 2002 15:47:04 -0000      1.1
  +++ ConvertListeners.java     28 May 2002 17:30:18 -0000      1.2
  @@ -7,9 +7,13 @@
   import org.apache.jmeter.samplers.RemoteSampleListenerImpl;
   import org.apache.jmeter.samplers.Remoteable;
   import org.apache.jmeter.samplers.SampleListener;
  +import org.apache.jmeter.samplers.RemoteListenerWrapper;
  +import org.apache.jmeter.samplers.RemoteSampleListenerWrapper;
  +import org.apache.jmeter.samplers.RemoteTestListenerWrapper;
   import org.apache.jmeter.testelement.TestListener;
   import org.apache.jmeter.util.ListedHashTree;
   import org.apache.jmeter.util.ListedHashTreeVisitor;
  +import org.apache.jmeter.threads.ThreadGroup;
   
   /**
    * @author mstover
  @@ -23,15 +27,37 @@
         * @see ListedHashTreeVisitor#addNode(Object, ListedHashTree)
         */
        public void addNode(Object node, ListedHashTree subTree) {
  +             if(node instanceof ThreadGroup)
  +                     {
  +                             System.out.println("num threads = 
"+((ThreadGroup)node).getNumThreads());
  +                     }
                Iterator iter = subTree.list().iterator();
                while(iter.hasNext())
                {
                        Object item = iter.next();
  +                     if(item instanceof ThreadGroup)
  +                     {
  +                             System.out.println("num threads = 
"+((ThreadGroup)item).getNumThreads());
  +                     }
                        if(item instanceof Remoteable && (item instanceof TestListener 
|| item instanceof SampleListener))
                        {
                                try {
                                        RemoteSampleListener rtl = new 
RemoteSampleListenerImpl(item);
  -                                     subTree.replace(item,rtl);
  +                                     if(item instanceof TestListener && item 
instanceof SampleListener)
  +                                     {
  +                                             RemoteListenerWrapper wrap = new 
RemoteListenerWrapper(rtl);
  +                                             subTree.replace(item,wrap);
  +                                     }
  +                                     else if(item instanceof TestListener)
  +                                     {
  +                                             RemoteTestListenerWrapper wrap = new 
RemoteTestListenerWrapper(rtl);
  +                                             subTree.replace(item,wrap);
  +                                     }
  +                                     else
  +                                     {
  +                                             RemoteSampleListenerWrapper wrap = new 
RemoteSampleListenerWrapper(rtl);
  +                                             subTree.replace(item,wrap);
  +                                     }
                                } catch(RemoteException e) {
                                        e.printStackTrace();
                                }
  
  
  
  1.7       +13 -47    
jakarta-jmeter/src_1/org/apache/jmeter/engine/StandardJMeterEngine.java
  
  Index: StandardJMeterEngine.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/engine/StandardJMeterEngine.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- StandardJMeterEngine.java 23 May 2002 15:47:04 -0000      1.6
  +++ StandardJMeterEngine.java 28 May 2002 17:30:18 -0000      1.7
  @@ -67,21 +67,22 @@
   import org.apache.jmeter.threads.ThreadGroup;
   import org.apache.jmeter.util.ListedHashTree;
   import org.apache.jmeter.util.SearchByClass;
  +import org.apache.jmeter.engine.ConvertListeners;
   
   /************************************************************
    *  !ToDo (Class description)
    *
    *@author     $Author: mstover1 $
  - *@created    $Date: 2002/05/23 15:47:04 $
  - *@version    $Revision: 1.6 $
  + *@created    $Date: 2002/05/28 17:30:18 $
  + *@version    $Revision: 1.7 $
    ***********************************************************/
   public class StandardJMeterEngine implements JMeterEngine,JMeterThreadMonitor
   {
        Set allThreads;
        boolean running = false;
        ListedHashTree test;
  -     SearchByClass testListeners,remoteTestListeners;
  -     String host;
  +     SearchByClass testListeners;
  +     String host = null;
   
        /************************************************************
         *  !ToDo (Constructor description)
  @@ -90,7 +91,7 @@
        {
                allThreads = new HashSet();
        }
  -     
  +
        public StandardJMeterEngine(String host)
        {
                this();
  @@ -116,10 +117,8 @@
                running = true;
                SearchByClass searcher = new SearchByClass(ThreadGroup.class);
                testListeners = new SearchByClass(TestListener.class);
  -             remoteTestListeners = new SearchByClass(RemoteSampleListener.class);
                getTestTree().traverse(testListeners);
                getTestTree().traverse(searcher);
  -             getTestTree().traverse(remoteTestListeners);
                TestCompiler.initialize();
                //for each thread group, generate threads
                // hand each thread the sampler controller
  @@ -132,8 +131,10 @@
                {
                        ThreadGroup group = (ThreadGroup)iter.next();
                        threads = new JMeterThread[group.getNumThreads()];
  +                     System.out.println("number of threads = 
"+group.getNumThreads());
                        for(int i = 0;running && i < threads.length; i++)
                        {
  +                             System.out.println("starting a thread:tree list = 
"+searcher.getSubTree(group).list());
                                threads[i] = new 
JMeterThread(cloneTree(searcher.getSubTree(group)),this);
                                
threads[i].setInitialDelay((int)(((float)(group.getRampUp() * 1000) /
                                                (float)group.getNumThreads()) * 
(float)i));
  @@ -145,10 +146,10 @@
                        }
                }
        }
  -     
  +
        protected void notifyTestListenersOfStart()
        {
  -             System.out.println("notifying test listeners");
  +             System.out.println("notifying test listeners: 
"+testListeners.getSearchResults().size());
                Iterator iter = testListeners.getSearchResults().iterator();
                while(iter.hasNext())
                {
  @@ -161,27 +162,9 @@
                                ((TestListener)iter.next()).testStarted(host);
                        }
                }
  -             
  -             iter = remoteTestListeners.getSearchResults().iterator();
  -             while(iter.hasNext())
  -             {
  -                     try {
  -                             System.out.println("Notifying a remote listener");
  -                             if(host == null)
  -                             {
  -                                     
((RemoteSampleListener)iter.next()).testStarted();
  -                             }
  -                             else
  -                             {
  -                                     
((RemoteSampleListener)iter.next()).testStarted(host);
  -                             }
  -                     } catch(RemoteException e) {
  -                             e.printStackTrace();
  -                     }
  -             }
        }
  -             
  -     
  +
  +
        protected void notifyTestListenersOfEnd()
        {
                Iterator iter = testListeners.getSearchResults().iterator();
  @@ -196,23 +179,6 @@
                                ((TestListener)iter.next()).testEnded(host);
                        }
                }
  -             
  -             iter = remoteTestListeners.getSearchResults().iterator();
  -             while(iter.hasNext())
  -             {
  -                     try {
  -                             if(host == null)
  -                             {
  -                                     
((RemoteSampleListener)iter.next()).testEnded();
  -                             }
  -                             else
  -                             {
  -                                     
((RemoteSampleListener)iter.next()).testEnded(host);
  -                             }
  -                     } catch(RemoteException e) {
  -                             e.printStackTrace();
  -                     }
  -             }
        }
   
        private ListedHashTree cloneTree(ListedHashTree tree)
  @@ -233,7 +199,7 @@
                        running = false;
                }
        }
  -     
  +
        public void threadFinished(JMeterThread thread)
        {
                allThreads.remove(thread);
  
  
  
  1.2       +1 -0      jakarta-jmeter/src_1/org/apache/jmeter/engine/TreeCloner.java
  
  Index: TreeCloner.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/engine/TreeCloner.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- TreeCloner.java   19 Apr 2002 02:31:48 -0000      1.1
  +++ TreeCloner.java   28 May 2002 17:30:18 -0000      1.2
  @@ -28,6 +28,7 @@
        }
        public void addNode(Object node,ListedHashTree subTree)
        {
  +             System.out.println("Cloning object: "+node);
                if(node instanceof PerThreadClonable)
                {
                        node = ((PerThreadClonable)node).clone();
  
  
  
  1.8       +3 -40     jakarta-jmeter/src_1/org/apache/jmeter/gui/GuiPackage.java
  
  Index: GuiPackage.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/gui/GuiPackage.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- GuiPackage.java   23 May 2002 15:47:04 -0000      1.7
  +++ GuiPackage.java   28 May 2002 17:30:18 -0000      1.8
  @@ -73,12 +73,11 @@
    * @version 1.0
    */
   
  -public class GuiPackage implements TestListener,Remoteable
  +public class GuiPackage
   {
   
        private static GuiPackage guiPack;
        private boolean dirty = false;
  -     private Set hosts = new HashSet();
   
        private GuiPackage()
        {
  @@ -99,51 +98,15 @@
                }
                return guiPack;
        }
  -     
  +
        public void setDirty(boolean d)
        {
                dirty = d;
        }
  -     
  +
        public boolean isDirty()
        {
                return dirty;
  -     }
  -     
  -     public void testStarted(String host)
  -     {
  -             hosts.add(host);
  -             if("local".equals(host))
  -             {
  -                     getMainFrame().setRunning(true);
  -             }
  -             else
  -             {
  -                     getMainFrame().setRunning(true,host);
  -             }
  -     }
  -     
  -     public void testStarted()
  -     {
  -             getMainFrame().setRunning(true);
  -     }
  -     
  -     public void testEnded()
  -     {
  -             testEnded("local");
  -     }
  -     
  -     public void testEnded(String host)
  -     {               
  -             hosts.remove(host);
  -             if(!("local".equals(host)))
  -             {
  -                     getMainFrame().setRunning(false,host);
  -             }
  -             if(hosts.size() == 0)
  -             {
  -                     getMainFrame().setRunning(false);
  -             }
        }
   
        public void addSubTree(ListedHashTree subTree) throws 
IllegalUserActionException
  
  
  
  1.8       +46 -6     jakarta-jmeter/src_1/org/apache/jmeter/gui/MainFrame.java
  
  Index: MainFrame.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/gui/MainFrame.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- MainFrame.java    23 May 2002 15:47:04 -0000      1.7
  +++ MainFrame.java    28 May 2002 17:30:18 -0000      1.8
  @@ -55,6 +55,7 @@
   package org.apache.jmeter.gui;
   import java.awt.*;
   import java.awt.event.*;
  +import java.util.*;
   import javax.swing.*;
   import javax.swing.tree.*;
   import org.apache.jmeter.gui.action.ActionRouter;
  @@ -63,15 +64,17 @@
   import org.apache.jmeter.util.JMeterUtils;
   import org.apache.jmeter.gui.action.Start;
   import org.apache.jmeter.gui.action.CheckDirty;
  +import org.apache.jmeter.testelement.TestListener;
  +import org.apache.jmeter.samplers.Remoteable;
   /****************************************
    * Title: JMeter Description: Copyright: Copyright (c) 2000 Company: Apache
    *
    *@author    Michael Stover
  - *@created   $Date: 2002/05/23 15:47:04 $
  + *@created   $Date: 2002/05/28 17:30:18 $
    *@version   1.0
    ***************************************/
   
  -public class MainFrame extends JFrame
  +public class MainFrame extends JFrame implements TestListener,Remoteable
   {
        JPanel all, mainPanel;
        Box toolPanel;
  @@ -87,6 +90,7 @@
        private boolean running;
        int previousDragXLocation = 0;
        int previousDragYLocation = 0;
  +     private Set hosts = new HashSet();
   
        /****************************************
         * !ToDo (Constructor description)
  @@ -244,9 +248,45 @@
         ***************************************/
        public void setRunning(boolean newRunning, String host)
        {
  +             if(newRunning)
  +             {
  +                     hosts.add(host);
  +             }
  +             else
  +             {
  +                     hosts.remove(host);
  +             }
                this.menuBar.setRunning(newRunning, host);
        }
   
  +     public void testStarted(String host)
  +     {
  +             runningIndicator.setIcon(runningIcon);
  +             menuBar.setRunning(true,host);
  +     }
  +
  +     public void testStarted()
  +     {
  +             testStarted("local");
  +             menuBar.setEnabled(true);
  +     }
  +
  +     public void testEnded()
  +     {
  +             testEnded("local");
  +             menuBar.setEnabled(false);
  +     }
  +
  +     public void testEnded(String host)
  +     {
  +             hosts.remove(host);
  +             if(hosts.size() == 0)
  +             {
  +                     runningIndicator.setIcon(stoppedIcon);
  +             }
  +             menuBar.setRunning(false,host);
  +     }
  +
        /****************************************
         * !ToDo (Method description)
         *
  @@ -328,9 +368,9 @@
        {
                treePanel = new JScrollPane(makeTree());
        }
  -     
  +
        public void drawDraggedComponent(Component dragIcon,int x,int y)
  -     {               
  +     {
                Dimension size = dragIcon.getPreferredSize();
                
treePanel.paintImmediately(previousDragXLocation,previousDragYLocation,size.width,size.height);
                this.getLayeredPane().setLayer(dragIcon,400);
  @@ -363,8 +403,8 @@
         * !ToDo (Class description)
         *
         *@author    $Author: mstover1 $
  -      *@created   $Date: 2002/05/23 15:47:04 $
  -      *@version   $Revision: 1.7 $
  +      *@created   $Date: 2002/05/28 17:30:18 $
  +      *@version   $Revision: 1.8 $
         ***************************************/
        private class WindowHappenings extends WindowAdapter
        {
  
  
  
  1.4       +2 -2      
jakarta-jmeter/src_1/org/apache/jmeter/gui/action/RemoteStart.java
  
  Index: RemoteStart.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/gui/action/RemoteStart.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- RemoteStart.java  23 May 2002 15:47:04 -0000      1.3
  +++ RemoteStart.java  28 May 2002 17:30:18 -0000      1.4
  @@ -68,7 +68,7 @@
    * Title: Description: Copyright: Copyright (c) 2001 Company:
    *
    *@author    Michael Stover
  - *@created   $Date: 2002/05/23 15:47:04 $
  + *@created   $Date: 2002/05/28 17:30:18 $
    *@version   1.0
    ***************************************/
   
  @@ -149,7 +149,7 @@
                GuiPackage gui = GuiPackage.getInstance();
                ListedHashTree testTree = gui.getTreeModel().getTestPlan();
                convertSubTree(testTree);
  -             testTree.add(testTree.getArray()[0],gui);
  +             testTree.add(testTree.getArray()[0],gui.getMainFrame());
                engine.configure(testTree);
                engine.runTest();
        }
  
  
  
  1.7       +1 -1      jakarta-jmeter/src_1/org/apache/jmeter/gui/action/Start.java
  
  Index: Start.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/gui/action/Start.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- Start.java        23 May 2002 15:47:04 -0000      1.6
  +++ Start.java        28 May 2002 17:30:18 -0000      1.7
  @@ -129,7 +129,7 @@
                engine = new StandardJMeterEngine();
                ListedHashTree testTree = gui.getTreeModel().getTestPlan();
                convertSubTree(testTree);
  -             testTree.add(testTree.getArray()[0],gui);
  +             testTree.add(testTree.getArray()[0],gui.getMainFrame());
                engine.configure(testTree);
                gui.getMainFrame().setRunning(true);
                engine.runTest();
  
  
  
  1.2       +14 -13    
jakarta-jmeter/src_1/org/apache/jmeter/protocol/java/test/SleepTest.java
  
  Index: SleepTest.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/protocol/java/test/SleepTest.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- SleepTest.java    21 May 2002 03:36:44 -0000      1.1
  +++ SleepTest.java    28 May 2002 17:30:18 -0000      1.2
  @@ -64,8 +64,8 @@
   import org.apache.log4j.Category;
   
   /**
  - * The <code>SleepTest</code> class is a simple example class for a 
  - * JMeter Java protocol client.  The class implements the 
  + * The <code>SleepTest</code> class is a simple example class for a
  + * JMeter Java protocol client.  The class implements the
    * <code>JavaSamplerClient</code> interface.
    */
   
  @@ -78,8 +78,8 @@
        private long sleepMask = 0x3ff;
        /**
         * Default constructor for <code>SleepTest</code>.
  -      * 
  -      * {@link org.apache.jmeter.protocol.java.config.JavaConfig JavaConfig} 
  +      *
  +      * {@link org.apache.jmeter.protocol.java.config.JavaConfig JavaConfig}
         * uses the default constructor to instantiate an instance of
         * the client class.
         */
  @@ -89,7 +89,7 @@
   
        /**
         * @see JavaSamplerClient#setupTest()
  -      * 
  +      *
         * setupTest() provides a way to do any initialization that may be required.
         */
        public void setupTest(HashMap arguments) {
  @@ -99,11 +99,11 @@
                        Entry entry = (Entry)argsIt.next();
                        cat.debug(entry.getKey().toString() + "=" + 
entry.getValue().toString());
                }
  -             
  +
                if (arguments.containsKey("SleepTime")) {
                        setSleepTime(arguments.get("SleepTime"));
                }
  -             
  +
                if (arguments.containsKey("SleepMask")) {
                        setSleepMask(arguments.get("SleepMask"));
                }
  @@ -111,7 +111,7 @@
   
        /**
         * @see JavaSamplerClient#teardownTest()
  -      * 
  +      *
         * teardownTest() provides a way to do any clean-up that may be required.
         */
        public void teardownTest(HashMap arguments) {
  @@ -125,8 +125,8 @@
   
        /**
         * @see JavaSamplerClient#runTest()
  -      * 
  -      * runTest() is called for each sample.  The method returns a 
  +      *
  +      * runTest() is called for each sample.  The method returns a
         * <code>SampleResult</code> object.  The method must calculate
         * how long the sample took to execute.
         */
  @@ -139,12 +139,12 @@
                        //
                        long ct = System.currentTimeMillis();
                        ct %= getSleepMask();
  -                     // 
  +                     //
                        // Record sample start time.
                        //
                        long start = System.currentTimeMillis();
                        //
  -                     // Execute the sample.  In this case sleep for the 
  +                     // Execute the sample.  In this case sleep for the
                        // specified time.
                        //
                        Thread.sleep(getSleepTime() + ct);
  @@ -154,6 +154,7 @@
                        long end = System.currentTimeMillis();
                        results.setTime(end - start);
                        results.setSuccessful(true);
  +                     System.out.println("Sleep Test: time = "+(end-start));
                        results.setSampleLabel("Sleep Test: time = "+getSleepTime() + 
ct);
                } catch (Exception e) {
                }
  @@ -178,7 +179,7 @@
                sb.append(Integer.toHexString(hashCode()));
                return sb.toString();
        }
  -     
  +
        private long getSleepTime() {return sleepTime;}
        private long getSleepMask() {return sleepMask;}
        private void setSleepTime(Object arg) {
  
  
  
  1.5       +7 -8      
jakarta-jmeter/src_1/org/apache/jmeter/samplers/RemoteSampleListenerImpl.java
  
  Index: RemoteSampleListenerImpl.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/samplers/RemoteSampleListenerImpl.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- RemoteSampleListenerImpl.java     23 May 2002 15:47:06 -0000      1.4
  +++ RemoteSampleListenerImpl.java     28 May 2002 17:30:19 -0000      1.5
  @@ -25,8 +25,7 @@
    * if and wherever such third-party acknowledgments normally appear.
    *
    * 4. The names "Apache" and "Apache Software Foundation" and
  - * "Apache JMeter" must not be used to endorse or promote products
  - * derived from this software without prior written permission. For
  + * "Apache JMeter" must not be used to endorse or promote products * derived from 
this software without prior written permission. For
    * written permission, please contact [EMAIL PROTECTED]
    *
    * 5. Products derived from this software may not be called "Apache",
  @@ -62,8 +61,8 @@
    *  !ToDo (Class description)
    *
    *@author     $Author: mstover1 $
  - *@created    $Date: 2002/05/23 15:47:06 $
  - *@version    $Revision: 1.4 $
  + *@created    $Date: 2002/05/28 17:30:19 $
  + *@version    $Revision: 1.5 $
    ***********************************************************/
   public class RemoteSampleListenerImpl
                 extends java.rmi.server.UnicastRemoteObject
  @@ -90,7 +89,7 @@
                        sampleListener = (SampleListener)listener;
                }
        }
  -     
  +
        public void testStarted()
        {
                System.out.println("remoteSampleListener: testStarted()");
  @@ -99,7 +98,7 @@
                        testListener.testStarted();
                }
        }
  -     
  +
        public void testStarted(String host)
        {
                System.out.println("remoteSampleListener: testStarted(String)");
  @@ -108,7 +107,7 @@
                        testListener.testStarted(host);
                }
        }
  -     
  +
        public void testEnded()
        {
                System.out.println("remoteSampleListener: testEnded()");
  @@ -117,7 +116,7 @@
                        testListener.testEnded();
                }
        }
  -     
  +
        public void testEnded(String host)
        {
                System.out.println("remoteSampleListener: testEnded(String)");
  
  
  
  1.1                  
jakarta-jmeter/src_1/org/apache/jmeter/samplers/RemoteListenerWrapper.java
  
  Index: RemoteListenerWrapper.java
  ===================================================================
  package org.apache.jmeter.samplers;
  
  import java.rmi.RemoteException;
  import org.apache.jmeter.testelement.TestListener;
  import org.apache.jmeter.testelement.AbstractTestElement;
  import java.io.Serializable;
  
  /**
   * <p>Title: </p>
   * <p>Description: </p>
   * <p>Copyright: Copyright (c) 2001</p>
   * <p>Company: </p>
   * @author unascribed
   * @version 1.0
   */
  
  public class RemoteListenerWrapper extends AbstractTestElement implements
                SampleListener,TestListener,Serializable
  {
        RemoteSampleListener listener;
  
        public RemoteListenerWrapper(RemoteSampleListener l)
        {
                listener = l;
        }
  
        public RemoteListenerWrapper()
        {
        }
  
        public void testStarted()
        {
                try
                {
                        listener.testStarted();
                }
                catch (Exception ex)
                {
                        ex.printStackTrace();
                }
  
        }
        public void testEnded()
        {
                try
                {
                        listener.testEnded();
                }
                catch (Exception ex)
                {
                        ex.printStackTrace();
                }
        }
        public void testStarted(String host)
        {
                try
                {
                        listener.testStarted(host);
                }
                catch (Exception ex)
                {
                        ex.printStackTrace();
                }
        }
        public void testEnded(String host)
        {
                try
                {
                        listener.testEnded(host);
                }
                catch (Exception ex)
                {
                        ex.printStackTrace();
                }
        }
  
        public void sampleOccurred(SampleEvent e)
        {
                try
                {
                        listener.sampleOccurred(e);
                }
                catch(RemoteException err)
                {
                        err.printStackTrace();
                }
        }
        public void sampleStarted(SampleEvent e)
        {
                try
                {
                        listener.sampleStarted(e);
                }
                catch(RemoteException err)
                {
                        err.printStackTrace();
                }
        }
        public void sampleStopped(SampleEvent e)
        {
                try
                {
                        listener.sampleStopped(e);
                }
                catch(RemoteException err)
                {
                        err.printStackTrace();
                }
        }
  }
  
  
  1.1                  
jakarta-jmeter/src_1/org/apache/jmeter/samplers/RemoteSampleListenerWrapper.java
  
  Index: RemoteSampleListenerWrapper.java
  ===================================================================
  package org.apache.jmeter.samplers;
  
  import java.rmi.RemoteException;
  import org.apache.jmeter.testelement.AbstractTestElement;
  import java.io.Serializable;
  
  /**
   * <p>Title: </p>
   * <p>Description: </p>
   * <p>Copyright: Copyright (c) 2001</p>
   * <p>Company: </p>
   * @author unascribed
   * @version 1.0
   */
  
  public class RemoteSampleListenerWrapper extends AbstractTestElement implements
                SampleListener,Serializable
  {
        RemoteSampleListener listener;
  
        public RemoteSampleListenerWrapper(RemoteSampleListener l)
        {
                listener = l;
        }
  
        public RemoteSampleListenerWrapper()
        {
        }
  
        public void sampleOccurred(SampleEvent e)
        {
                try
                {
                        listener.sampleOccurred(e);
                }
                catch(RemoteException err)
                {
                        err.printStackTrace();
                }
        }
        public void sampleStarted(SampleEvent e)
        {
                try
                {
                        listener.sampleStarted(e);
                }
                catch(RemoteException err)
                {
                        err.printStackTrace();
                }
        }
        public void sampleStopped(SampleEvent e)
        {
                try
                {
                        listener.sampleStopped(e);
                }
                catch(RemoteException err)
                {
                        err.printStackTrace();
                }
        }
  }
  
  
  1.1                  
jakarta-jmeter/src_1/org/apache/jmeter/samplers/RemoteTestListenerWrapper.java
  
  Index: RemoteTestListenerWrapper.java
  ===================================================================
  package org.apache.jmeter.samplers;
  
  import org.apache.jmeter.testelement.TestListener;
  import org.apache.jmeter.testelement.AbstractTestElement;
  import java.io.Serializable;
  
  /**
   * <p>Title: </p>
   * <p>Description: </p>
   * <p>Copyright: Copyright (c) 2001</p>
   * <p>Company: </p>
   * @author unascribed
   * @version 1.0
   */
  
  public class RemoteTestListenerWrapper extends AbstractTestElement implements
                TestListener,Serializable
  {
  
        RemoteSampleListener listener;
  
        public RemoteTestListenerWrapper()
        {
        }
  
        public RemoteTestListenerWrapper(RemoteSampleListener l)
        {
                listener = l;
        }
        public void testStarted()
        {
                try
                {
                        listener.testStarted();
                }
                catch (Exception ex)
                {
                        ex.printStackTrace();
                }
  
        }
        public void testEnded()
        {
                try
                {
                        listener.testEnded();
                }
                catch (Exception ex)
                {
                        ex.printStackTrace();
                }
        }
        public void testStarted(String host)
        {
                try
                {
                        listener.testStarted(host);
                }
                catch (Exception ex)
                {
                        ex.printStackTrace();
                }
        }
        public void testEnded(String host)
        {
                try
                {
                        listener.testEnded(host);
                }
                catch (Exception ex)
                {
                        ex.printStackTrace();
                }
        }
  }
  
  
  1.8       +6 -5      
jakarta-jmeter/src_1/org/apache/jmeter/testelement/AbstractTestElement.java
  
  Index: AbstractTestElement.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/testelement/AbstractTestElement.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- AbstractTestElement.java  23 May 2002 15:47:06 -0000      1.7
  +++ AbstractTestElement.java  28 May 2002 17:30:19 -0000      1.8
  @@ -1,16 +1,17 @@
   package org.apache.jmeter.testelement;
   import java.lang.reflect.*;
   import java.util.*;
  +import java.io.Serializable;
   
   /****************************************
    * Title: JMeter Description: Copyright: Copyright (c) 2000 Company: Apache
    *
    *@author    Michael Stover
  - *@created   $Date: 2002/05/23 15:47:06 $
  + *@created   $Date: 2002/05/28 17:30:19 $
    *@version   1.0
    ***************************************/
   
  -public abstract class AbstractTestElement implements TestElement
  +public abstract class AbstractTestElement implements TestElement,Serializable
   {
        private Map testInfo = new HashMap();
   
  @@ -39,7 +40,7 @@
        {
                testInfo.remove(key);
        }
  -     
  +
        public boolean equals(Object o)
        {
                if(o instanceof AbstractTestElement)
  @@ -139,7 +140,7 @@
                                        
newObject.setProperty(key,cloneCollection(value));
                                } catch(Exception e) {
                                        e.printStackTrace();
  -                             } 
  +                             }
                        }
                        else
                        {
  @@ -166,7 +167,7 @@
                                        val = cloneCollection(val);
                                } catch(Exception e) {
                                        continue;
  -                             } 
  +                             }
                        }
                        newColl.add(val);
                }
  
  
  
  1.10      +7 -5      jakarta-jmeter/src_1/org/apache/jmeter/threads/JMeterThread.java
  
  Index: JMeterThread.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/threads/JMeterThread.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- JMeterThread.java 23 May 2002 15:47:07 -0000      1.9
  +++ JMeterThread.java 28 May 2002 17:30:19 -0000      1.10
  @@ -70,8 +70,8 @@
    * timing, add listeners for sampling events and to stop the sampling process.
    *
    *@author    $Author: mstover1 $
  - *@created   $Date: 2002/05/23 15:47:07 $
  - *@version   $Revision: 1.9 $
  + *@created   $Date: 2002/05/28 17:30:19 $
  + *@version   $Revision: 1.10 $
    ***************************************/
   public class JMeterThread implements Runnable, java.io.Serializable {
        static Map samplers = new HashMap();
  @@ -92,7 +92,7 @@
                compiler = new TestCompiler(testTree);
                controller = (Controller) testTree.getArray()[0];
        }
  -     
  +
        public void setThreadName(String threadName)
        {
                this.threadName = threadName;
  @@ -133,7 +133,7 @@
                Iterator iter = assertions.iterator();
                while (iter.hasNext()) {
                        AssertionResult assertion = 
((Assertion)iter.next()).getResult(result);
  -                     result.setSuccessful(result.isSuccessful() && 
  +                     result.setSuccessful(result.isSuccessful() &&
                                        !(assertion.isError() || 
assertion.isFailure()));
                        result.addAssertionResult(assertion);
                }
  @@ -156,7 +156,9 @@
                        new SampleEvent(result, (String) 
controller.getProperty(TestElement.NAME));
                Iterator iter = listeners.iterator();
                while (iter.hasNext()) {
  -                     SampleListener item = (SampleListener) iter.next();
  +                     SampleListener lis = (SampleListener)iter.next();
  +                     System.out.println("notifying listener: "+lis);
  +                     SampleListener item = lis;
                        item.sampleOccurred(event);
                }
        }
  
  
  

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

Reply via email to