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();
+ }
+ }
+
+
}
