Hi James,

Would you please check-in the following controls perf test changes. I corrected the test control implementations to implement serializable as required in Beehive.

Thanks,
Patrick.
Index: controls/test/perf/webapps/build.xml
===================================================================
--- controls/test/perf/webapps/build.xml        (revision 165152)
+++ controls/test/perf/webapps/build.xml        (working copy)
@@ -85,7 +85,8 @@
 
        <target name="controlsPerfWeb.postprocess"/>
 
-       <target name="reportWeb.stage" if="reportweb.properties.exists" 
depends="check.reportweb.properties">
+       <target name="reportWeb.stage" if="reportweb.properties.exists" 
depends="check.reportweb.properties"
+        description="stage the report web">
                
                <copy todir="${webapp.stage.dir}/${webapp.name}">
                        <fileset dir="${webapp.dir}"/>
Index: 
controls/test/perf/ctlsrc/org/apache/beehive/controls/perf/controls/custom/StrlenControlSTImpl.java
===================================================================
--- 
controls/test/perf/ctlsrc/org/apache/beehive/controls/perf/controls/custom/StrlenControlSTImpl.java
 (revision 165152)
+++ 
controls/test/perf/ctlsrc/org/apache/beehive/controls/perf/controls/custom/StrlenControlSTImpl.java
 (working copy)
@@ -1,3 +1,4 @@
+
 package org.apache.beehive.controls.perf.controls.custom;
 
 import org.apache.beehive.controls.api.bean.ControlImplementation;
@@ -4,9 +5,13 @@
 import org.apache.beehive.controls.api.bean.Threading;
 import org.apache.beehive.controls.api.bean.ThreadingPolicy;
 
+import java.io.Serializable;
+
 @ControlImplementation
[EMAIL PROTECTED](ThreadingPolicy.SINGLE_THREADED)
-public class StrlenControlSTImpl implements StrlenControlST
-{
-       public int stringLength(String input){ return input.length();}
+    @Threading(ThreadingPolicy.SINGLE_THREADED)
+    public class StrlenControlSTImpl implements StrlenControlST, Serializable {
+
+    public int stringLength( String input ) {
+        return input.length();
+    }
 }
Index: 
controls/test/perf/ctlsrc/org/apache/beehive/controls/perf/controls/custom/VarretControlImpl.java
===================================================================
--- 
controls/test/perf/ctlsrc/org/apache/beehive/controls/perf/controls/custom/VarretControlImpl.java
   (revision 165152)
+++ 
controls/test/perf/ctlsrc/org/apache/beehive/controls/perf/controls/custom/VarretControlImpl.java
   (working copy)
@@ -1,21 +1,22 @@
+
 package org.apache.beehive.controls.perf.controls.custom;
 
 import java.lang.StringBuffer;
+import java.io.Serializable;
+
 import org.apache.beehive.controls.api.bean.ControlImplementation;
 import org.apache.beehive.controls.api.bean.Threading;
 import org.apache.beehive.controls.api.bean.ThreadingPolicy;
 
 @ControlImplementation
[EMAIL PROTECTED](ThreadingPolicy.MULTI_THREADED)
-public class VarretControlImpl implements VarretControl
-{
-       public String createString(int p_size)
-  { 
-    StringBuffer buff = new StringBuffer();
-    for(int i=0; i<p_size; i++)
-    {
-      buff.append("z");
+    @Threading(ThreadingPolicy.MULTI_THREADED)
+    public class VarretControlImpl implements VarretControl, Serializable {
+
+    public String createString( int p_size ) {
+        StringBuffer buff = new StringBuffer();
+        for ( int i = 0; i < p_size; i++ ) {
+            buff.append( "z" );
+        }
+        return buff.toString();
     }
-    return buff.toString();
-  }
 }
Index: 
controls/test/perf/ctlsrc/org/apache/beehive/controls/perf/controls/custom/VarargsControlImpl.java
===================================================================
--- 
controls/test/perf/ctlsrc/org/apache/beehive/controls/perf/controls/custom/VarargsControlImpl.java
  (revision 165152)
+++ 
controls/test/perf/ctlsrc/org/apache/beehive/controls/perf/controls/custom/VarargsControlImpl.java
  (working copy)
@@ -1,3 +1,4 @@
+
 package org.apache.beehive.controls.perf.controls.custom;
 
 import org.apache.beehive.controls.api.bean.ControlImplementation;
@@ -4,18 +5,18 @@
 import org.apache.beehive.controls.api.bean.Threading;
 import org.apache.beehive.controls.api.bean.ThreadingPolicy;
 
+import java.io.Serializable;
+
 @ControlImplementation
[EMAIL PROTECTED](ThreadingPolicy.MULTI_THREADED)
-public class VarargsControlImpl implements VarargsControl
-{
-       public int getIntSum(int... args)
-  { 
-    int result = 0;
-    for(int arg : args)
-    {
-      result += arg;
+    @Threading(ThreadingPolicy.MULTI_THREADED)
+    public class VarargsControlImpl implements VarargsControl, Serializable {
+
+    public int getIntSum( int... args ) {
+        int result = 0;
+        for ( int arg : args ) {
+            result += arg;
+        }
+
+        return result;
     }
-
-    return result;
-  }
 }
Index: 
controls/test/perf/ctlsrc/org/apache/beehive/controls/perf/controls/custom/StrlenControlImpl.java
===================================================================
--- 
controls/test/perf/ctlsrc/org/apache/beehive/controls/perf/controls/custom/StrlenControlImpl.java
   (revision 165152)
+++ 
controls/test/perf/ctlsrc/org/apache/beehive/controls/perf/controls/custom/StrlenControlImpl.java
   (working copy)
@@ -1,3 +1,4 @@
+
 package org.apache.beehive.controls.perf.controls.custom;
 
 import org.apache.beehive.controls.api.bean.ControlImplementation;
@@ -4,9 +5,13 @@
 import org.apache.beehive.controls.api.bean.Threading;
 import org.apache.beehive.controls.api.bean.ThreadingPolicy;
 
+import java.io.Serializable;
+
 @ControlImplementation
[EMAIL PROTECTED](ThreadingPolicy.MULTI_THREADED)
-public class StrlenControlImpl implements StrlenControl
-{
-       public int stringLength(String input){ return input.length();}
+    @Threading(ThreadingPolicy.MULTI_THREADED)
+    public class StrlenControlImpl implements StrlenControl, Serializable {
+
+    public int stringLength( String input ) {
+        return input.length();
+    }
 }
Index: 
controls/test/perf/ctlsrc/org/apache/beehive/controls/perf/controls/custom/PerfResultControl.java
===================================================================
--- 
controls/test/perf/ctlsrc/org/apache/beehive/controls/perf/controls/custom/PerfResultControl.java
   (revision 165152)
+++ 
controls/test/perf/ctlsrc/org/apache/beehive/controls/perf/controls/custom/PerfResultControl.java
   (working copy)
@@ -1,22 +1,35 @@
+
 package org.apache.beehive.controls.perf.controls.custom;
 
 import org.apache.beehive.controls.api.bean.ControlInterface;
+
 import java.io.File;
 import java.io.IOException;
+import java.util.List;
 import java.util.HashMap;
+
 import org.apache.xmlbeans.XmlException;
 import org.openuri.perf.*;
 
 @ControlInterface
-public interface PerfResultControl
-{
-       // init methods
-       public void loadResult(File p_result) throws XmlException,IOException;
-       public void loadResults(File p_dir) throws XmlException,IOException;
-       public void clearResultSets();
-       
-       public HashMap<String,ResultSetDocument.ResultSet> getResultSets();
-       public ResultSetDocument.ResultSet[] getResultSetArray();
-       public ResultSetDocument.ResultSet getResultSet(String p_filename);
-       public String getLatestFilename();
+    public interface PerfResultControl {
+
+    // init methods
+    public void loadResult( File p_result ) throws XmlException, IOException;
+
+    public void loadResults( List<File> files ) throws XmlException, 
IOException;
+
+    public void loadResults( File p_dir ) throws XmlException, IOException;
+
+    public void clearResultSets();
+
+    public HashMap<String, ResultSetDocument.ResultSet> getResultSets();
+
+    public ResultSetDocument.ResultSet[] getResultSetArray();
+
+    public ResultSetDocument.ResultSet getLatestResultSet();
+
+    public ResultSetDocument.ResultSet getResultSet( String p_filename );
+
+    public String getLatestFilename();
 }
Index: 
controls/test/perf/ctlsrc/org/apache/beehive/controls/perf/controls/custom/StrlenEventControlImpl.java
===================================================================
--- 
controls/test/perf/ctlsrc/org/apache/beehive/controls/perf/controls/custom/StrlenEventControlImpl.java
      (revision 165152)
+++ 
controls/test/perf/ctlsrc/org/apache/beehive/controls/perf/controls/custom/StrlenEventControlImpl.java
      (working copy)
@@ -1,3 +1,4 @@
+
 package org.apache.beehive.controls.perf.controls.custom;
 
 import org.apache.beehive.controls.api.bean.ControlImplementation;
@@ -5,16 +6,18 @@
 import org.apache.beehive.controls.api.bean.ThreadingPolicy;
 import org.apache.beehive.controls.api.events.Client;
 
+import java.io.Serializable;
+
 @ControlImplementation
[EMAIL PROTECTED](ThreadingPolicy.MULTI_THREADED)
-public class StrlenEventControlImpl implements StrlenEventControl
-{
-       @Client
-       static StrlenEventControl.EventSet0 eventSet0;
-       
-       public int stringLength(String input){ 
-               //System.out.println("PERF**** calling setLength with: 
"+input.length());
-               eventSet0.setLength(input.length());
-               return input.length();
-       }
+    @Threading(ThreadingPolicy.MULTI_THREADED)
+    public class StrlenEventControlImpl implements StrlenEventControl, 
Serializable {
+
+    @Client
+        static StrlenEventControl.EventSet0 eventSet0;
+
+    public int stringLength( String input ) {
+        //System.out.println("PERF**** calling setLength with: 
"+input.length());
+        eventSet0.setLength( input.length() );
+        return input.length();
+    }
 }
Index: 
controls/test/perf/ctlsrc/org/apache/beehive/controls/perf/controls/custom/PerfResultControlImpl.java
===================================================================
--- 
controls/test/perf/ctlsrc/org/apache/beehive/controls/perf/controls/custom/PerfResultControlImpl.java
       (revision 165152)
+++ 
controls/test/perf/ctlsrc/org/apache/beehive/controls/perf/controls/custom/PerfResultControlImpl.java
       (working copy)
@@ -1,3 +1,4 @@
+
 package org.apache.beehive.controls.perf.controls.custom;
 
 import org.apache.beehive.controls.api.bean.ControlImplementation;
@@ -3,87 +4,95 @@
 
 import java.util.HashMap;
-import java.util.Set;
 import java.util.Calendar;
+import java.util.List;
 import java.util.Iterator;
+
 import org.openuri.perf.*;
 
 import java.io.File;
 import java.io.IOException;
+import java.io.Serializable;
+
 import org.apache.xmlbeans.XmlException;
 
 @ControlImplementation
-public class PerfResultControlImpl implements PerfResultControl
-{
-       private transient HashMap<String,ResultSetDocument.ResultSet> 
_resultSets = new HashMap<String,ResultSetDocument.ResultSet>();
-       private String _latestFilename = null;
-       
-       public void loadResult(File p_result) throws XmlException,IOException
-       {
-               ResultSetDocument doc = 
ResultSetDocument.Factory.parse(p_result);
-               doc.validate();
-               _resultSets.put(p_result.getAbsolutePath(),doc.getResultSet());
-               
-               // initialize the latest filename
-               if(null == _latestFilename)
-                       _latestFilename = p_result.getAbsolutePath();
-               else
-               {
-                       Calendar currentDate = 
((ResultSetDocument.ResultSet)_resultSets.get((Object)_latestFilename)).getEnvironment().getDate();
-                       Calendar candidateDate = 
doc.getResultSet().getEnvironment().getDate();
-                       if(currentDate.getTimeInMillis() < 
candidateDate.getTimeInMillis())
-                               _latestFilename = p_result.getAbsolutePath();
-               }       
-       }
-       
-       public void loadResults(File p_dir) throws XmlException,IOException
-       {
-               File[] files = p_dir.listFiles();
-               
-               for(int i=0; i<files.length; i++)
-               {
-                       if(files[i].getName().endsWith(".xml"))
-                       {
-                               loadResult(files[i]);
-                       }
-                               
-               }
-       }
-       
+    public class PerfResultControlImpl implements PerfResultControl, 
Serializable {
 
-  public HashMap<String,ResultSetDocument.ResultSet> getResultSets()
-  {
-    return _resultSets;
-  }
-  
-  public ResultSetDocument.ResultSet[] getResultSetArray()
-  {
-       ResultSetDocument.ResultSet[] resultSetArray = new 
ResultSetDocument.ResultSet[_resultSets.size()];
-       Set keys = _resultSets.keySet();
-       Iterator it = keys.iterator();
-       int i = 0;
-       while(it.hasNext())
-       {
-               String key = (String)it.next();
-               resultSetArray[i] = _resultSets.get(key);
-               i++;
-       }
-       return resultSetArray;
-  }
+    private transient HashMap<String, ResultSetDocument.ResultSet> _resultSets 
= new HashMap<String, ResultSetDocument.ResultSet>();
+    private File _latestFilename = null;
 
-  public void clearResultSets()
-  {
-    _resultSets.clear();
-  }
-  
-  public ResultSetDocument.ResultSet getResultSet(String p_filename)
-  {
-       return _resultSets.get((Object)p_filename);
-  }
-  
-  public String getLatestFilename()
-  {
-       return _latestFilename;
-  }
-  
+    public void loadResult( File p_result ) throws XmlException, IOException {
+        ResultSetDocument doc = ResultSetDocument.Factory.parse( p_result );
+        doc.validate();
+        _resultSets.put( p_result.getAbsolutePath(), doc.getResultSet() );
 
+        // initialize the latest filename
+        if ( null == _latestFilename ) {
+            _latestFilename = p_result;
+        }
+        else {
+            Calendar currentDate = ((ResultSetDocument.ResultSet) 
_resultSets.get( _latestFilename )).getEnvironment().getDate();
+            Calendar candidateDate = 
doc.getResultSet().getEnvironment().getDate();
+            if ( currentDate.getTimeInMillis() < 
candidateDate.getTimeInMillis() ) {
+                _latestFilename = p_result;
+            }
+        }
+    }
+
+    public void loadResults( List<File> files ) throws XmlException, 
IOException {
+        for ( int i = 0; i < files.size(); i++ ) {
+            File file = files.get( i );
+            loadResult( file );
+        }
+    }
+
+    public void loadResults( File p_dir ) throws XmlException, IOException {
+        File[] files = p_dir.listFiles();
+
+        for ( int i = 0; i < files.length; i++ ) {
+            if ( files[i].getName().endsWith( ".xml" ) ) {
+                loadResult( files[i] );
+            }
+
+        }
+    }
+
+    public HashMap<String, ResultSetDocument.ResultSet> getResultSets() {
+        return _resultSets;
+    }
+
+    public ResultSetDocument.ResultSet[] getResultSetArray() {
+        ResultSetDocument.ResultSet[] resultSetArray = new 
ResultSetDocument.ResultSet[_resultSets.size()];
+        Iterator it = _resultSets.keySet().iterator();
+        int i = 0;
+        while ( it.hasNext() ) {
+            String key = (String) it.next();
+            resultSetArray[i] = _resultSets.get( key );
+            i++;
+        }
+        return resultSetArray;
+    }
+
+    public void clearResultSets() {
+        _resultSets.clear();
+    }
+
+    public ResultSetDocument.ResultSet getLatestResultSet() {
+        return getResultSet( getLatestFilename() );
+    }
+
+    public ResultSetDocument.ResultSet getResultSet( String p_filename ) {
+        return _resultSets.get( p_filename );
+    }
+
+    public String getLatestFilename() {
+        try {
+            return _latestFilename.getCanonicalPath();
+        }
+        catch ( IOException e ) {
+            return _latestFilename.getPath();
+        }
+    }
+
+
 }

Reply via email to