Author: jsong
Date: Thu Dec 16 16:00:59 2004
New Revision: 122600

URL: http://svn.apache.org/viewcvs?view=rev&rev=122600
Log:
Contributed by Jamie Zyskowski: add webapp to report perf data, clean up perf 
webapp build and run targets, fix doc target for mantis
Added:
   
incubator/beehive/trunk/controls/test/perf/ctlsrc/org/apache/beehive/controls/perf/controls/custom/PerfResultControl.java
   
incubator/beehive/trunk/controls/test/perf/ctlsrc/org/apache/beehive/controls/perf/controls/custom/PerfResultControlImpl.java
   incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/
   incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/WEB-INF/
   incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/WEB-INF/src/
   
incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/WEB-INF/src/forms/
   
incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/WEB-INF/src/forms/ControlsForm.java
   
incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/WEB-INF/src/forms/ReportForm.java
   
incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/WEB-INF/src/forms/XmlbeansForm.java
   
incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/WEB-INF/src/graphing/
   
incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/WEB-INF/src/graphing/SeriesProducer.java
   
incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/WEB-INF/src/graphing/SnapshotProducer.java
   incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/WEB-INF/web.xml
   incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/error.jsp
   incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/images/
   
incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/images/runtime.jpeg
   (contents, props changed)
   incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/index.jsp
   incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/jpf/
   
incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/jpf/Controller.jpf
   
incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/jpf/controller.properties
   incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/jpf/index.jsp
   incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/jpf/snapshot.jsp
   incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/jpf/xmlbeans.jsp
   incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/runtimePerf.css
Removed:
   incubator/beehive/trunk/controls/test/perf/webapps/controlsPerfWeb/resources/
Modified:
   incubator/beehive/trunk/controls/test/perf/build.xml
   incubator/beehive/trunk/controls/test/perf/cases/controls-perf.xml
   
incubator/beehive/trunk/controls/test/perf/src/org/apache/beehive/controls/perf/tch/PerfTest.java
   
incubator/beehive/trunk/controls/test/perf/src/org/apache/beehive/controls/perf/tch/StandAlonePerfRunner.java
   
incubator/beehive/trunk/controls/test/perf/src/org/apache/beehive/controls/perf/tch/WebPerfRunner.java
   
incubator/beehive/trunk/controls/test/perf/src/org/apache/beehive/controls/perf/utils/Constants.java
   incubator/beehive/trunk/controls/test/perf/webapps/build.xml
   incubator/beehive/trunk/controls/test/tools/mantis/build.xml

Modified: incubator/beehive/trunk/controls/test/perf/build.xml
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/perf/build.xml?view=diff&rev=122600&p1=incubator/beehive/trunk/controls/test/perf/build.xml&r1=122599&p2=incubator/beehive/trunk/controls/test/perf/build.xml&r2=122600
==============================================================================
--- incubator/beehive/trunk/controls/test/perf/build.xml        (original)
+++ incubator/beehive/trunk/controls/test/perf/build.xml        Thu Dec 16 
16:00:59 2004
@@ -10,6 +10,8 @@
 clean - cleans everything
 clean.tests - just clean tests and utils
 clean.controls - just clean controls
+checkin.tests - rebuild webapp, start server, deploy webapp, run perf 
scenarios, and shutdown server
+checkin.tests.client - just run the test client side of the scenarios (no 
webapp rebuilding, etc.)
                </echo>
        </target>
 
@@ -31,6 +33,12 @@
        <property name="control.perf.build" value="${control.perf.root}/build"/>
        <property name="control.perf.cases" value="${control.perf.root}/cases"/>
        <property name="control.perf.temp" value="${control.perf.root}/temp"/>
+       <property name="control.perf.lib" value="${control.perf.root}/lib"/>
+       <property name="control.perf.logs" value="${control.perf.root}/logs"/>
+
+       <!-- graphing utils used in reportWeb -->
+       <property name="control.perf.external" 
value="${control.perf.root}/external"/>
+       <property name="cewolf.lib" 
value="${control.perf.external}/cewolf-0.9.8/lib"/>
 
        <!-- test run configuration (for web-based scenarios) -->
        <property name="test.hostname" value="localhost"/>
@@ -47,6 +55,9 @@
        </path>
 
        <path id="control.build.classpath">
+               <pathelement path="${control.perf.external}/perf-results.jar"/>
+               <pathelement path="${jsr173.jar}"/>
+               <pathelement path="${xbean.jar}"/>
                <pathelement path="${controls.jar}"/>
                <pathelement path="${velocitydep14.jar}"/>
                <pathelement path="${control.perf.ctlbuild}"/>
@@ -54,9 +65,10 @@
        </path>
 
        <path id="tch.run.classpath">
+               <pathelement path="${jsr173.jar}"/>
                <pathelement path="${tch.jar}"/>
                <pathelement path="${tch.schema.jar}"/>
-               <pathelement path="${tch.xbean.jar}"/>
+               <pathelement path="${xbean.jar}"/>
                <pathelement path="${ant.jar}"/>
                <pathelement path="${ant.home}/lib/ant-launcher.jar"/>
                <pathelement path="${jakarta.jar}"/>
@@ -77,6 +89,18 @@
            classpathref="tch.run.classpath"/>
 
        <!-- build targets -->
+       <target name="bootstrap">
+               <mkdir dir="${control.perf.external}"/>
+               <get 
src="http://umn.dl.sourceforge.net/sourceforge/cewolf/cewolf-0.9.8.zip"; 
+                                
dest="${control.perf.external}/cewolf-0.9.8.zip" 
+                                verbose="true"/>
+               <unzip src="${control.perf.external}/cewolf-0.9.8.zip" 
dest="${control.perf.external}"/>
+       </target>
+
+       <target name="clean.bootstrap">
+               <delete dir="${control.perf.external}/cewolf-0.9.8"/>
+       </target>
+
        <target name="build.controls">
                <delete dir="${control.perf.ctlbuild}/lib"/>
                <mkdir dir="${control.perf.ctlbuild}"/>
@@ -123,6 +147,7 @@
                <delete dir="${control.perf.temp}"/>
        </target>
 
+       <target name="build" 
depends="build.controls,build.tests,controlperf.jar"/>
        <target name="rebuild" depends="rebuild.controls,rebuild.tests"/>
        <target name="rebuild.controls" 
depends="clean.controls,build.controls"/>
        <target name="rebuild.tests" 
depends="clean.tests,build.tests,controlperf.jar"/>
@@ -146,6 +171,7 @@
           <property name="control.perf.root" value="${control.perf.root}"/>
                    <property name="test.hostname" value="${test.hostname}" />
                          <property name="test.port" value="${test.port}" />
+                                       <property name="tch.log.basedir" 
value="${control.perf.logs}"/>
                                        <property name="tch.log.date-format" 
value=""/>
           <property name="tch.replication.entry-point" value="ant -f 
${control.perf.root}/build.xml run"/>
           <property name="tch.filter.frequencies" value="${test.freq}"/>
@@ -153,13 +179,13 @@
                          <sysproperty key="gtlf.dtd.remote" 
value="${gtlf.dtd.remote}"/>
                          <sysproperty key="gtlf.dtd.local" 
value="${gtlf.dtd.local}"/>
        </tch>
-               <ant antfile="${controls.test.infra.dir}/tch/runtime/build.xml" 
target="generate-html-log" dir="${control.perf.root}">
-                       <property name="gtlf.file" 
value="${control.perf.root}/${tch.base-logfile-name}.xml"/>
-                       <property name="output.file" 
value="${control.perf.root}/${tch.base-logfile-name}.html"/>
+               <ant antfile="${controls.test.infra.dir}/tch/runtime/build.xml" 
target="generate-html-log" dir="${control.perf.logs}">
+                       <property name="gtlf.file" 
value="${control.perf.logs}/${tch.base-logfile-name}.xml"/>
+                       <property name="output.file" 
value="${control.perf.logs}/${tch.base-logfile-name}.html"/>
     </ant>
   </target>  
 
-       <target name="bvt_client">
+       <target name="checkin.tests.client">
                <property name="test-suite" 
value="${control.perf.root}/cases/controls-perf.xml"/>
                <property name="test.freq" value="bvt"/>
                <property name="tch.log.debug-level" value="0"/>
@@ -169,7 +195,7 @@
        </target>
 
        <!-- run targets that start tomcat, buid/deploy webapp, run tests and 
then undeploy/stop -->    
-  <target name="bvt">
+  <target name="checkin.tests">
                <parallel>
                        <echo message="start a new thread to build controlsWeb 
and start/deploy tomcat"/>
        <ant antfile="webapps/build.xml" target="start"/>
@@ -181,7 +207,7 @@
                                <echo message="continue the new thread, deploy 
controlsWeb"/>
                                <ant antfile="webapps/build.xml" 
target="ensure.deployed"/>
                                <echo message="continue the new thread, run 
perf tests"/>
-                               <antcall target="bvt_client"/>
+                               <antcall target="checkin.tests.client"/>
                                <echo message="continue the new thread, 
undeploy controlsWeb"/>
                                <ant antfile="webapps/build.xml" 
target="undeploy"/>
                                <echo message="stop tomcat server, finish the 
new thread"/>

Modified: incubator/beehive/trunk/controls/test/perf/cases/controls-perf.xml
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/perf/cases/controls-perf.xml?view=diff&rev=122600&p1=incubator/beehive/trunk/controls/test/perf/cases/controls-perf.xml&r1=122599&p2=incubator/beehive/trunk/controls/test/perf/cases/controls-perf.xml&r2=122600
==============================================================================
--- incubator/beehive/trunk/controls/test/perf/cases/controls-perf.xml  
(original)
+++ incubator/beehive/trunk/controls/test/perf/cases/controls-perf.xml  Thu Dec 
16 16:00:59 2004
@@ -10,7 +10,7 @@
                                        <cmdline>%{control.perf.root}/bin/perf 
StrlenPgmTest</cmdline>
                                        <hash>-1989672960</hash>
                                        <bar>4026</bar>
-                                       <drift>0.10</drift>
+                                       <drift>0.20</drift>
                                        <timeout>10000</timeout>
                                </controlsperf>
       </test>
@@ -19,7 +19,7 @@
                                        
<url>http://%{test.hostname}:%{test.port}/controlsPerfWeb/jpf/test/controls/performance/programmatic/strlen/Controller.jpf</url>
                                        <hash>-1989672960</hash>
                                        <bar>4026</bar>
-                                       <drift>0.10</drift>
+                                       <drift>0.20</drift>
                                        <timeout>10000</timeout>
                                </controlsperf>
       </test>
@@ -28,7 +28,7 @@
                                        
<cmdline>%{control.perf.root}/bin/benchmark dproxy.StrlenDProxyTest</cmdline>
                                        <hash>-1989672960</hash>
                                        <bar>724</bar>
-                                       <drift>0.10</drift>
+                                       <drift>0.20</drift>
                                        <timeout>10000</timeout>
                                </controlsperf>
       </test>
@@ -37,7 +37,7 @@
                                        
<url>http://%{test.hostname}:%{test.port}/controlsPerfWeb/jpf/test/controls/performance/benchmarks/strlen/dproxy/Controller.jpf</url>
                                        <hash>-1989672960</hash>
                                        <bar>1116</bar>
-                                       <drift>0.10</drift>
+                                       <drift>0.20</drift>
                                        <timeout>10000</timeout>
                                </controlsperf>
       </test>
@@ -46,7 +46,7 @@
                                        
<cmdline>%{control.perf.root}/bin/benchmark 
methodinv.StrlenMethodInvTest</cmdline>
                                        <hash>-1989672960</hash>
                                        <bar>11397</bar>
-                                       <drift>0.10</drift>
+                                       <drift>0.20</drift>
                                        <timeout>100000</timeout>
                                </controlsperf>
       </test>
@@ -55,7 +55,7 @@
                                        
<url>http://%{test.hostname}:%{test.port}/controlsPerfWeb/jpf/test/controls/performance/benchmarks/strlen/methodinv/Controller.jpf</url>
                                        <hash>-1989672960</hash>
                                        <bar>11928</bar>
-                                       <drift>0.10</drift>
+                                       <drift>0.20</drift>
                                        <timeout>10000</timeout>
                                </controlsperf>
       </test>
@@ -64,7 +64,7 @@
                                        
<cmdline>%{control.perf.root}/bin/benchmark javabean.StrlenBeanTest</cmdline>
                                        <hash>-1989672960</hash>
                                        <bar>42</bar>
-                                       <drift>0.10</drift>
+                                       <drift>0.20</drift>
                                        <timeout>1000</timeout>
                                </controlsperf>
       </test>
@@ -73,7 +73,7 @@
                                        
<url>http://%{test.hostname}:%{test.port}/controlsPerfWeb/jpf/test/controls/performance/benchmarks/strlen/javabean/Controller.jpf</url>
                                        <hash>-1989672960</hash>
                                        <bar>65</bar>
-                                       <drift>0.10</drift>
+                                       <drift>0.20</drift>
                                        <timeout>1000</timeout>
                                </controlsperf>
       </test>
@@ -82,7 +82,7 @@
                                        
<cmdline>%{control.perf.root}/bin/benchmark javaclass.StrlenClassTest</cmdline>
                                        <hash>-1989672960</hash>
                                        <bar>42</bar>
-                                       <drift>0.10</drift>
+                                       <drift>0.20</drift>
                                        <timeout>10000</timeout>
                                </controlsperf>
       </test>
@@ -91,7 +91,7 @@
                                        
<url>http://%{test.hostname}:%{test.port}/controlsPerfWeb/jpf/test/controls/performance/benchmarks/strlen/javaclass/Controller.jpf</url>
                                        <hash>-1989672960</hash>
                                        <bar>65</bar>
-                                       <drift>0.10</drift>
+                                       <drift>0.20</drift>
                                        <timeout>10000</timeout>
                                </controlsperf>
       </test>
@@ -100,7 +100,7 @@
                                        <cmdline>%{control.perf.root}/bin/perf 
VarargsPgmTest</cmdline>
                                        <hash>-1284084288</hash>
                                        <bar>4031</bar>
-                                       <drift>0.10</drift>
+                                       <drift>0.20</drift>
                                        <timeout>10000</timeout>
                                </controlsperf>
       </test>
@@ -109,7 +109,7 @@
                                        
<url>http://%{test.hostname}:%{test.port}/controlsPerfWeb/jpf/test/controls/performance/programmatic/varargs/Controller.jpf</url>
                                        <hash>-1284084288</hash>
                                        <bar>4031</bar>
-                                       <drift>0.10</drift>
+                                       <drift>0.20</drift>
                                        <timeout>10000</timeout>
                                </controlsperf>
       </test>
@@ -118,7 +118,7 @@
                                        <cmdline>%{control.perf.root}/bin/perf 
VarretPgmTest</cmdline>
                                        <hash>95000000</hash>
                                        <bar>12242</bar>
-                                       <drift>0.10</drift>
+                                       <drift>0.20</drift>
                                        <timeout>10000</timeout>
                                </controlsperf>
       </test>
@@ -127,7 +127,7 @@
                                        
<url>http://%{test.hostname}:%{test.port}/controlsPerfWeb/jpf/test/controls/performance/programmatic/varret/Controller.jpf</url>
                                        <hash>95000000</hash>
                                        <bar>12242</bar>
-                                       <drift>0.10</drift>
+                                       <drift>0.20</drift>
                                        <timeout>10000</timeout>
                                </controlsperf>
       </test>

Added: 
incubator/beehive/trunk/controls/test/perf/ctlsrc/org/apache/beehive/controls/perf/controls/custom/PerfResultControl.java
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/perf/ctlsrc/org/apache/beehive/controls/perf/controls/custom/PerfResultControl.java?view=auto&rev=122600
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/controls/test/perf/ctlsrc/org/apache/beehive/controls/perf/controls/custom/PerfResultControl.java
   Thu Dec 16 16:00:59 2004
@@ -0,0 +1,21 @@
+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.HashMap;
+import org.apache.xmlbeans.XmlException;
+import org.openuri.perf.*;
+
[EMAIL PROTECTED]
+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 getResultSet(String p_filename);
+       public String getLatestFilename();
+}

Added: 
incubator/beehive/trunk/controls/test/perf/ctlsrc/org/apache/beehive/controls/perf/controls/custom/PerfResultControlImpl.java
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/perf/ctlsrc/org/apache/beehive/controls/perf/controls/custom/PerfResultControlImpl.java?view=auto&rev=122600
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/controls/test/perf/ctlsrc/org/apache/beehive/controls/perf/controls/custom/PerfResultControlImpl.java
       Thu Dec 16 16:00:59 2004
@@ -0,0 +1,74 @@
+package org.apache.beehive.controls.perf.controls.custom;
+
+import org.apache.beehive.controls.api.bean.ControlImplementation;
+
+import java.util.HashMap;
+import java.util.Set;
+import java.util.Calendar;
+import java.util.Iterator;
+import org.openuri.perf.*;
+
+import java.io.File;
+import java.io.IOException;
+import org.apache.xmlbeans.XmlException;
+
[EMAIL PROTECTED]
+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());
+               
+               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 HashMap<String,ResultSetDocument.ResultSet> getResultSets()
+  {
+    return _resultSets;
+  }
+
+  public void clearResultSets()
+  {
+    _resultSets.clear();
+  }
+  
+  public ResultSetDocument.ResultSet getResultSet(String p_filename)
+  {
+       return _resultSets.get((Object)p_filename);
+  }
+  
+  public String getLatestFilename()
+  {
+       return _latestFilename;
+  }
+
+}

Modified: 
incubator/beehive/trunk/controls/test/perf/src/org/apache/beehive/controls/perf/tch/PerfTest.java
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/perf/src/org/apache/beehive/controls/perf/tch/PerfTest.java?view=diff&rev=122600&p1=incubator/beehive/trunk/controls/test/perf/src/org/apache/beehive/controls/perf/tch/PerfTest.java&r1=122599&p2=incubator/beehive/trunk/controls/test/perf/src/org/apache/beehive/controls/perf/tch/PerfTest.java&r2=122600
==============================================================================
--- 
incubator/beehive/trunk/controls/test/perf/src/org/apache/beehive/controls/perf/tch/PerfTest.java
   (original)
+++ 
incubator/beehive/trunk/controls/test/perf/src/org/apache/beehive/controls/perf/tch/PerfTest.java
   Thu Dec 16 16:00:59 2004
@@ -21,7 +21,7 @@
   private String _sCmdline = null;
   private String _sUrl = null;
   private int _iHash;
-  private float _fBar;
+  private long _lBar;
   private float _fDrift;
   private long _lTimeout;
 
@@ -42,9 +42,10 @@
     if(null != _sCmdline && null == _sUrl)
     {
       StandAlonePerfRunner logicTask = new 
StandAlonePerfRunner(getResultHandler());
-      logicTask.init(_sCmdline,
+      logicTask.init(getLogicalTestName(),
+                     _sCmdline,
                      _iHash,
-                     _fBar,
+                     _lBar,
                      _fDrift,
                      _lTimeout);
       return logicTask;
@@ -52,9 +53,10 @@
     else if(null != _sUrl && null == _sCmdline)
     {
       WebPerfRunner logicTask = new WebPerfRunner(getResultHandler());
-      logicTask.init(_sUrl,
+      logicTask.init(getLogicalTestName(),
+                     _sUrl,
                      _iHash,
-                     _fBar,
+                     _lBar,
                      _fDrift,
                      _lTimeout);
       return logicTask;
@@ -93,7 +95,7 @@
 
   public void addConfiguredBar(Bar p_bar)
        {
-               this._fBar = Float.parseFloat(handleValue(p_bar.getText()));
+               this._lBar = Long.parseLong(handleValue(p_bar.getText()));
        }
 
   public void addConfiguredDrift(Drift p_drift)

Modified: 
incubator/beehive/trunk/controls/test/perf/src/org/apache/beehive/controls/perf/tch/StandAlonePerfRunner.java
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/perf/src/org/apache/beehive/controls/perf/tch/StandAlonePerfRunner.java?view=diff&rev=122600&p1=incubator/beehive/trunk/controls/test/perf/src/org/apache/beehive/controls/perf/tch/StandAlonePerfRunner.java&r1=122599&p2=incubator/beehive/trunk/controls/test/perf/src/org/apache/beehive/controls/perf/tch/StandAlonePerfRunner.java&r2=122600
==============================================================================
--- 
incubator/beehive/trunk/controls/test/perf/src/org/apache/beehive/controls/perf/tch/StandAlonePerfRunner.java
       (original)
+++ 
incubator/beehive/trunk/controls/test/perf/src/org/apache/beehive/controls/perf/tch/StandAlonePerfRunner.java
       Thu Dec 16 16:00:59 2004
@@ -17,6 +17,7 @@
  */
 public class StandAlonePerfRunner extends AbstractTestLogicTask
 {
+  private String _sTestname = null;
   private String _sCmdline = null;
   private int _iHash;
   private float _fBar;
@@ -30,13 +31,15 @@
     super("StandAlonePerfRunner",inResultHandler);
   }
 
-  public void init(String p_sCmdline,
+  public void init(String p_sTestname,
+                   String p_sCmdline,
                    int p_iHash,
                    float p_fBar,
                    float p_fDrift,
                    long p_lTimeout)
   {
     // set private members
+    this._sTestname = p_sTestname;
     this._sCmdline = p_sCmdline;
     this._iHash = p_iHash;
     this._fBar = p_fBar;
@@ -47,7 +50,7 @@
 
   public TaskContext run(TaskContext in)
   {
-    float fActualTime = -1;
+    long lActualTime = -1;
     int iActualHash = -1;
 
     // run the commandline
@@ -70,7 +73,7 @@
         if(sCurrent.startsWith("time=")){
           StringTokenizer stTime = new StringTokenizer(sCurrent,"=");
           stTime.nextToken();
-          fActualTime = Float.parseFloat(stTime.nextToken());
+          lActualTime = Long.parseLong(stTime.nextToken());
         }
         else if(sCurrent.startsWith("hash=")){
           StringTokenizer stHash = new StringTokenizer(sCurrent,"=");
@@ -80,17 +83,19 @@
       }
 
       // calculate the drift
-      float fActualDrift = ((fActualTime - _fBar)/_fBar);
+      float fActualDrift = ((lActualTime - _fBar)/_fBar);
 
       // log the test result
       _logger.inform("allowed hash="+_iHash);
       _logger.inform("actual hash="+iActualHash);
       _logger.inform("----------");
       _logger.inform("allowed time="+_fBar);
-      _logger.inform("actual time="+fActualTime);
+      _logger.inform("actual time="+lActualTime);
       _logger.inform("----------");
       _logger.inform("allowed drift (abs)="+_fDrift);
       _logger.inform("actual drift="+fActualDrift);
+
+      _logger.inform("\nTEST: "+_sTestname+"  time "+lActualTime+" hash 
"+iActualHash);
 
       // evaluate the result
       if(iActualHash != _iHash)

Modified: 
incubator/beehive/trunk/controls/test/perf/src/org/apache/beehive/controls/perf/tch/WebPerfRunner.java
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/perf/src/org/apache/beehive/controls/perf/tch/WebPerfRunner.java?view=diff&rev=122600&p1=incubator/beehive/trunk/controls/test/perf/src/org/apache/beehive/controls/perf/tch/WebPerfRunner.java&r1=122599&p2=incubator/beehive/trunk/controls/test/perf/src/org/apache/beehive/controls/perf/tch/WebPerfRunner.java&r2=122600
==============================================================================
--- 
incubator/beehive/trunk/controls/test/perf/src/org/apache/beehive/controls/perf/tch/WebPerfRunner.java
      (original)
+++ 
incubator/beehive/trunk/controls/test/perf/src/org/apache/beehive/controls/perf/tch/WebPerfRunner.java
      Thu Dec 16 16:00:59 2004
@@ -22,9 +22,10 @@
  */
 public class WebPerfRunner extends AbstractTestLogicTask
 {
+  private String _sTestname = null;
   private String _sUrl = null;
   private int _iHash;
-  private float _fBar;
+  private long _lBar;
   private float _fDrift;
   private long _lTimeout;
 
@@ -35,16 +36,18 @@
     super("WebPerfRunner",inResultHandler);
   }
 
-  public void init(String p_sUrl,
+  public void init(String p_sTestname,
+                   String p_sUrl,
                    int p_iHash,
-                   float p_fBar,
+                   long p_lBar,
                    float p_fDrift,
                    long p_lTimeout)
   {
     // set private members
+    this._sTestname = p_sTestname;
     this._sUrl = p_sUrl;
     this._iHash = p_iHash;
-    this._fBar = p_fBar;
+    this._lBar = p_lBar;
     this._fDrift = p_fDrift;
     this._lTimeout = p_lTimeout;
     this._logger = this.getResultLogger();
@@ -64,18 +67,21 @@
         return null;
       }
 
-      float actualDrift = ((urlreport.getTime()-_fBar)/_fBar);      
+      float actualDrift = ((urlreport.getTime()-_lBar)/_lBar);      
 
       // log the test result from UrlReport
       _logger.inform("allowed hash="+_iHash);
       _logger.inform("actual hash="+urlreport.getHash());
       _logger.inform("----------");
-      _logger.inform("allowed time="+_fBar);
+      _logger.inform("allowed time="+_lBar);
       _logger.inform("actual time="+urlreport.getTime());
       _logger.inform("----------");
       _logger.inform("allowed drift (abs)="+_fDrift);
       _logger.inform("actual drift="+actualDrift);
 
+      // log result for processing into perf-result
+      _logger.inform("\nTEST: "+_sTestname+"  time "+urlreport.getTime()+" 
hash "+urlreport.getHash());
+
       // evaluate the result
       if(urlreport.getHash() != _iHash)
       {
@@ -111,7 +117,7 @@
   {
     private String _url = null;
     private int _actualHash = -1;
-    private int _actualTime = -1;
+    private long _actualTime = -1;
 
     UrlReport(String p_url)
     {
@@ -177,7 +183,7 @@
         {
           StringTokenizer st2 = new StringTokenizer(current,"=");
           st2.nextToken();
-          _actualTime = Integer.parseInt(st2.nextToken());
+          _actualTime = Long.parseLong(st2.nextToken());
         }
       }
 
@@ -188,12 +194,12 @@
         return true;
     }
 
-    float getTime()
+    long getTime()
     {
       return _actualTime;
     }
     
-    float getHash()
+    int getHash()
     {
       return _actualHash;
     }

Modified: 
incubator/beehive/trunk/controls/test/perf/src/org/apache/beehive/controls/perf/utils/Constants.java
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/perf/src/org/apache/beehive/controls/perf/utils/Constants.java?view=diff&rev=122600&p1=incubator/beehive/trunk/controls/test/perf/src/org/apache/beehive/controls/perf/utils/Constants.java&r1=122599&p2=incubator/beehive/trunk/controls/test/perf/src/org/apache/beehive/controls/perf/utils/Constants.java&r2=122600
==============================================================================
--- 
incubator/beehive/trunk/controls/test/perf/src/org/apache/beehive/controls/perf/utils/Constants.java
        (original)
+++ 
incubator/beehive/trunk/controls/test/perf/src/org/apache/beehive/controls/perf/utils/Constants.java
        Thu Dec 16 16:00:59 2004
@@ -8,10 +8,8 @@
   public static final int DEFAULT_STR_SIZE = 2048;
 
   public static final int VARARGS_ITERATIONS = 1000000;
-  //public static final int DEFAULT_VARARG_INTERVAL = 64;
   public static final int DEFAULT_VARARG_SIZE = 10;
   public static final int[] DEFAULT_VARARG_PARAMS = new 
int[]{10,20,40,80,160,320};
-
 
   public static final int VARRET_ITERATIONS = 10000;
   public static final int[] DEFAULT_VARRET_PARAMS = new 
int[]{100,200,400,800,1600,3200};

Modified: incubator/beehive/trunk/controls/test/perf/webapps/build.xml
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/perf/webapps/build.xml?view=diff&rev=122600&p1=incubator/beehive/trunk/controls/test/perf/webapps/build.xml&r1=122599&p2=incubator/beehive/trunk/controls/test/perf/webapps/build.xml&r2=122600
==============================================================================
--- incubator/beehive/trunk/controls/test/perf/webapps/build.xml        
(original)
+++ incubator/beehive/trunk/controls/test/perf/webapps/build.xml        Thu Dec 
16 16:00:59 2004
@@ -15,9 +15,11 @@
 
     <property environment="os"/>
     <property file="${os.BEEHIVE_HOME}/beehive.properties"/>
+    <property file="${os.BEEHIVE_HOME}/controls/test/common/path.properties"/>
                <property name="controls.perf.root" 
value="${os.BEEHIVE_HOME}/controls/test/perf"/> 
                <property name="buildWebapp.xml" 
value="${os.BEEHIVE_HOME}/test/ant/buildWebapp.xml"/> 
                <property name="runTomcat.xml" 
value="${os.BEEHIVE_HOME}/test/ant/runTomcat.xml"/> 
+    <property name="webapp.stage.dir" 
value="${controls.perf.root}/webapps/stage"/>
     <property name="webapp.name" value="controlsPerfWeb"/>
     <property name="webapp.dir" 
location="${controls.perf.root}/webapps/${webapp.name}"/>
     <property name="webapp.waitfor.url" 
value="http://localhost:8080/${webapp.name}"/>
@@ -53,51 +55,74 @@
         <echo message="-----------------------------------------------------"/>
         <echo message="|    ${webapp.name} build starting    |"/>
         <echo message="-----------------------------------------------------"/>
-
-        <!--<property name="webapp.dir" location="./${webapp.name}"/>-->
+               <antcall target="${webapp.name}.stage"/>
 
                                <ant antfile="${buildWebapp.xml}" 
target="deploy.beehive.webapp.runtime" inheritAll="false">
-                                       <property name="webapp.dir" 
value="${webapp.dir}" />
+                                       <property name="webapp.dir" 
value="${webapp.stage.dir}/${webapp.name}" />
                                </ant>
 
         <copy file="${webapp.dir}/WEB-INF/local-netui-config.xml" 
-              tofile="${webapp.dir}/WEB-INF/${netuiconfig.xml.name}" 
+              
tofile="${webapp.stage.dir}/${webapp.name}/WEB-INF/${netuiconfig.xml.name}" 
               overwrite="true" failonerror="false"/>
 
                                <!-- TODO: remove this copy once milton.jar is 
not deleted by the updeploy.netui call -->       
-                               <copy 
file="${beehive.dir}/controls/test/infra/milton/milton.jar" 
todir="${webapp.name}/WEB-INF/lib"/>
+                               <!--copy 
file="${beehive.dir}/controls/test/infra/milton/milton.jar" 
todir="${webapp.name}/WEB-INF/lib"/-->
                                
-                               <copy 
file="${controls.perf.root}/ctlbuild/lib/customcontrols.jar" 
todir="${webapp.name}/WEB-INF/lib"/>
-                               <copy 
file="${controls.perf.root}/build/lib/controlperf.jar" 
todir="${webapp.name}/WEB-INF/lib"/>
-
         <ant antfile="${buildWebapp.xml}" target="build.webapp" 
inheritAll="false">
-            <property name="webapp.dir" location="${webapp.dir}"/>
+            <property name="webapp.dir" 
location="${webapp.stage.dir}/${webapp.name}"/>
         </ant>
-
+       
         <echo message="----------------------------------------------"/>
         <echo message="|     ${webapp.name} build ending      |"/>
         <echo message="----------------------------------------------"/>
     </target>
 
+
+       <!-- staging targets -->        
+       <target name="controlsPerfWeb.stage" depends="clean">
+               <copy todir="${webapp.stage.dir}/${webapp.name}">
+                       <fileset dir="${webapp.dir}"/>
+               </copy>
+
+               <!-- inject stuff -->
+    <ant antfile="${controls.test.dir}/webapps/build.xml" 
target="-inject.milton" inheritAll="false">
+        <property name="webapp.dir" 
location="${webapp.stage.dir}/${webapp.name}"/>
+        <property name="do.inject.milton" value="true"/>
+    </ant>
+               <copy 
file="${controls.perf.root}/ctlbuild/lib/customcontrols.jar" 
todir="${webapp.stage.dir}/${webapp.name}/WEB-INF/lib"/>
+               <copy file="${controls.perf.root}/build/lib/controlperf.jar" 
todir="${webapp.stage.dir}/${webapp.name}/WEB-INF/lib"/>
+       </target>
+
+       <target name="reportWeb.stage" depends="clean">
+               <copy todir="${webapp.stage.dir}/${webapp.name}">
+                       <fileset dir="${webapp.dir}"/>
+               </copy>
+
+               <!-- inject stuff -->
+    <ant antfile="${controls.test.dir}/webapps/build.xml" 
target="-inject.milton" inheritAll="false">
+        <property name="webapp.dir" 
location="${webapp.stage.dir}/${webapp.name}"/>
+        <property name="do.inject.milton" value="true"/>
+    </ant>
+               <copy todir="${webapp.stage.dir}/${webapp.name}/WEB-INF/lib">
+                       <fileset 
dir="${controls.perf.root}/external/cewolf-0.9.8/lib">
+                                                        <exclude 
name="servlet.jar"/>
+                       </fileset>
+               </copy>
+               <copy file="${controls.perf.root}/external/perf-results.jar" 
todir="${webapp.stage.dir}/${webapp.name}/WEB-INF/lib"/>
+               <copy 
file="${controls.perf.root}/ctlbuild/lib/customcontrols.jar" 
todir="${webapp.stage.dir}/${webapp.name}/WEB-INF/lib"/>
+               <copy file="${webapp.dir}/jpf/controller.properties" 
todir="${webapp.stage.dir}/${webapp.name}/WEB-INF/classes/jpf"/>
+       </target>
+
     <target name="clean" description="Clean webapp">
         <echo message="----------------------------------------------"/>
         <echo message="|     ${webapp.name} clean starting    |"/>
         <echo message="----------------------------------------------"/>
 
         <ant antfile="${buildWebapp.xml}" 
target="undeploy.beehive.webapp.runtime" inheritAll="false">
-            <property name="webapp.dir" location="./${webapp.name}"/>
-        </ant>
-
-                       <!--
-        <ant antfile="${deployNetui.ant}" target="clean.webapp" 
inheritAll="false">
-            <property name="webapp.dir" location="./${webapp.name}"/>
+            <property name="webapp.dir" 
location="${webapp.stage.dir}/${webapp.name}"/>
         </ant>
-                       -->
-        <echo message="****************************************************"/>
-        <echo message="* milton.jar is deleted by undeploy.netui.runtime, *"/>
-        <echo message="* please put it back to ${webapp.name}/WEB-INF/lib/   
*"/>
-        <echo message="****************************************************"/>
 
+                               <delete 
dir="${webapp.stage.dir}/${webapp.name}"/>
 
         <echo message="----------------------------------------------"/>
         <echo message="|     ${webapp.name} clean ending      |"/>
@@ -120,8 +145,8 @@
             <property name="catalina.username" value="manager"/>
             <property name="catalina.password" value="manager"/>
             <property name="context.path" value="${webapp.name}"/>
-            <property name="webapp.dir" value="${webapp.dir}"/>
-            <property name="webapp.root" value="${basedir}/${webapp.name}"/>
+            <property name="webapp.dir" 
value="${webapp.stage.dir}/${webapp.name}"/>
+            <property name="webapp.root" 
value="${webapp.stage.dir}/${webapp.name}"/>
         </ant>
     </target>
 

Added: 
incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/WEB-INF/src/forms/ControlsForm.java
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/WEB-INF/src/forms/ControlsForm.java?view=auto&rev=122600
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/WEB-INF/src/forms/ControlsForm.java
    Thu Dec 16 16:00:59 2004
@@ -0,0 +1,7 @@
+package jpf.forms;
+
+public class ControlsForm
+{
+    public String filename;
+
+}

Added: 
incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/WEB-INF/src/forms/ReportForm.java
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/WEB-INF/src/forms/ReportForm.java?view=auto&rev=122600
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/WEB-INF/src/forms/ReportForm.java
      Thu Dec 16 16:00:59 2004
@@ -0,0 +1,10 @@
+package jpf.forms;
+
+public class ReportForm
+{
+    public String filename;
+    public String regex;
+    public String xvals;
+    public String yvals;
+    public String type;
+}

Added: 
incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/WEB-INF/src/forms/XmlbeansForm.java
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/WEB-INF/src/forms/XmlbeansForm.java?view=auto&rev=122600
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/WEB-INF/src/forms/XmlbeansForm.java
    Thu Dec 16 16:00:59 2004
@@ -0,0 +1,7 @@
+package jpf.forms;
+
+public class XmlbeansForm
+{
+    public String filename;
+
+}

Added: 
incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/WEB-INF/src/graphing/SeriesProducer.java
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/WEB-INF/src/graphing/SeriesProducer.java?view=auto&rev=122600
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/WEB-INF/src/graphing/SeriesProducer.java
       Thu Dec 16 16:00:59 2004
@@ -0,0 +1,135 @@
+package graphing;
+
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Set;
+import java.util.Iterator;
+import java.io.Serializable;
+import org.jfree.data.CategoryDataset;
+import org.jfree.data.DefaultCategoryDataset;
+import de.laures.cewolf.DatasetProduceException;
+import de.laures.cewolf.DatasetProducer;
+import de.laures.cewolf.CategoryItemLinkGenerator;
+import java.io.File;
+import java.io.IOException;
+import java.io.FileNotFoundException;
+import org.apache.xmlbeans.XmlException;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.jfree.chart.entity.CategoryItemEntity;
+import org.jfree.chart.tooltips.CategoryToolTipGenerator;
+
+//Controls
+import org.apache.beehive.controls.api.bean.Control;
+import org.apache.beehive.controls.perf.controls.custom.PerfResultControlBean;
+import org.apache.beehive.controls.perf.controls.custom.StrlenControlBean;
+
+// xmlbeans
+import org.openuri.perf.*;
+
+public class SeriesProducer implements DatasetProducer, Serializable {
+       
+       // TODO: implement this method correctly
+       public Object produceDataset(Map params) throws DatasetProduceException 
{       
+               
+               // keys used to retreive params passed from the jsp form
+               String k_dir = "dir";
+               String k_regex = "regex";
+               String dir = (String)params.get((Object)k_dir);
+               String regex = (String)params.get((Object)k_regex);     
+               DefaultCategoryDataset dataset = new DefaultCategoryDataset();
+               
+               try
+               {
+                   // programatically instantiate the control to be used
+                   PerfResultControlBean perfresult = 
(PerfResultControlBean)java.beans.Beans.instantiate(this.getClass().getClassLoader(),"org.apache.beehive.controls.perf.controls.custom.PerfResultControlBean");
+                       System.out.println("dir="+dir);
+                       System.out.println("regex="+regex);
+                       
+                       perfresult.loadResults(new File(dir));
+                       
+                       
+                       /*
+                       ResultSetDocument.ResultSet[] resultSets = 
(ResultSetDocument.ResultSet[]) perfresult.getResultSets().toArray();        
+                       System.out.println("number of result sets: 
"+resultSets.length);
+
+                       for(int q=0; q<resultSets.length; q++)
+                       {       
+                               System.out.println("processing result set: "+q);
+                               Result[] results = 
resultSets[q].getResultArray();
+                               System.out.println("getting date");
+                               String date = 
resultSets[q].getEnvironment().getDate().toString();
+                               for(int i=0; i<results.length; i++)
+                               {
+                                       String name = results[i].getName();
+                                       Custom[] customs = 
results[i].getCustomArray();
+                                       
+                                       if(customs.length > 0)
+                                       {
+                                               for(int j=0; j<customs.length; 
j++)
+                                               {
+                                                       name = 
name+"["+customs[j].getName()+"="+customs[j].getValue()+"]";
+                                               }
+                                       }                               
+                                       
+                                       
+                                       if(name.matches(regex))
+                                       {
+                                               System.out.println("adding data 
name: "+name);
+                                               
+                                               if(results[i].isSetTime())
+                                               {
+                                                       dataset.addValue( 
(Number) results[i].getTime(), name, date);
+                                               }
+                                               else 
if(results[i].isSetMemory())
+                                               {
+                                                       dataset.addValue( 
(Number) results[i].getMemory(), name, date);
+                                               }
+                                               else
+                                               {
+                                                       dataset.addValue( 
(double)500,"UNRECOGNIZED PERF VALUE","UNRECOGNIZED PERF VALUE");
+                                               }
+                                       }
+                                       
+                               }
+                       }*/
+                                       
+                       return dataset;
+                       
+               }
+               catch(ClassNotFoundException cnfe)
+               {
+                       
dataset.addValue((double)500,"ClassNotFoundException","ClassNotFoundException");
+                       cnfe.printStackTrace();
+                       return dataset;
+               }
+               catch(IOException ioe)
+               {
+                       dataset.addValue((double)500,"IOE","IOE");
+                       ioe.printStackTrace();
+                       return dataset;
+               }
+               catch(XmlException xmle)
+               {
+                       
dataset.addValue((double)500,"XMLException","XMLException");
+                       xmle.printStackTrace();
+                       return dataset;
+               }
+               
+       }
+    
+       public boolean hasExpired(Map params, Date since) {             
+               return (System.currentTimeMillis() - since.getTime())  > 5000;
+       }
+
+       public String getProducerId() {
+               return "Example DatasetProducer";
+       }
+       
+       
+
+       
+}

Added: 
incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/WEB-INF/src/graphing/SnapshotProducer.java
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/WEB-INF/src/graphing/SnapshotProducer.java?view=auto&rev=122600
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/WEB-INF/src/graphing/SnapshotProducer.java
     Thu Dec 16 16:00:59 2004
@@ -0,0 +1,117 @@
+package graphing;
+
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Set;
+import java.util.Iterator;
+import java.io.Serializable;
+import org.jfree.data.CategoryDataset;
+import org.jfree.data.DefaultCategoryDataset;
+import de.laures.cewolf.DatasetProduceException;
+import de.laures.cewolf.DatasetProducer;
+import de.laures.cewolf.CategoryItemLinkGenerator;
+import java.io.File;
+import java.io.IOException;
+import java.io.FileNotFoundException;
+import org.apache.xmlbeans.XmlException;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.jfree.chart.entity.CategoryItemEntity;
+import org.jfree.chart.tooltips.CategoryToolTipGenerator;
+
+//Controls
+import org.apache.beehive.controls.api.bean.Control;
+import org.apache.beehive.controls.perf.controls.custom.PerfResultControlBean;
+import org.apache.beehive.controls.perf.controls.custom.StrlenControlBean;
+
+//xmlbeans
+import org.openuri.perf.*;
+import org.openuri.perf.Result;
+
+public class SnapshotProducer implements DatasetProducer, Serializable {
+       
+       public Object produceDataset(Map params) throws DatasetProduceException 
{
+               
+               // keys used to retreive params passed from the jsp form
+               String k_regex = "regex";
+               String k_filename = "filename";
+               String regex = (String)params.get((Object)k_regex);     
+               String filename = (String)params.get((Object)k_filename);
+               ResultSetDocument.ResultSet resultset = null;
+               
+               try{
+                       ResultSetDocument doc = 
ResultSetDocument.Factory.parse(new File(filename));
+                       resultset = doc.getResultSet();
+               }
+               catch(XmlException xe){
+                       System.out.println("got xml exception: 
"+xe.getMessage());
+                       xe.printStackTrace();
+               }
+               catch(IOException ioe){
+                       System.out.println("got ioe: "+ioe.getMessage());
+                       ioe.printStackTrace();
+               }
+               
+               if(null != resultset)
+                       System.out.println("got results 
"+resultset.getEnvironment().getDate().toString());
+               else
+                       System.out.println("resutls are null :-(");
+               
+               DefaultCategoryDataset dataset = new DefaultCategoryDataset();
+               
+               
+               // loop through results and populate the data set
+               Result[] results = resultset.getResultArray();
+               for(int i=0; i<results.length; i++)
+               {
+                       String name = results[i].getName();
+                       Custom[] customs = results[i].getCustomArray();
+                       
+                       if(customs.length > 0)
+                       {
+                               for(int j=0; j<customs.length; j++)
+                               {
+                                       name = 
name+"["+customs[j].getName()+"="+customs[j].getValue()+"]";
+                               }
+                       }                               
+                       
+                       
+                       if(name.matches(regex))
+                       {
+                                                               
+                               if(results[i].isSetTime())
+                               {
+                                       System.out.println("adding time data: 
"+name);
+                                       dataset.addValue( (Number) 
results[i].getTime(), name, "scenarios");
+                               }
+                               else if(results[i].isSetMemory())
+                               {
+                                       System.out.println("adding mem data: 
"+name);
+                                       dataset.addValue( (Number) 
results[i].getMemory(), name, "scenarios");
+                               }
+                               else
+                               {
+                                       System.out.println("ERROR finding 
data");
+                                       dataset.addValue( 
(double)500,"UNRECOGNIZED PERF VALUE","UNRECOGNIZED PERF VALUE");
+                               }
+                       }
+                       
+               }
+               
+               return dataset;
+               
+       }
+       
+       
+       
+       public boolean hasExpired(Map params, Date since) {             
+               return (System.currentTimeMillis() - since.getTime())  > 10000;
+       }
+       
+       public String getProducerId() {
+               return "SnapshotProducer";
+       }
+}

Added: 
incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/WEB-INF/web.xml
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/WEB-INF/web.xml?view=auto&rev=122600
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/WEB-INF/web.xml    
    Thu Dec 16 16:00:59 2004
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<web-app xmlns="http://java.sun.com/xml/ns/j2ee";
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd";
+    version="2.4">
+
+    <display-name>Beehive Web Application</display-name>
+
+    <filter>
+        <filter-name>PageFlowJspFilter</filter-name>
+        
<filter-class>org.apache.beehive.netui.pageflow.PageFlowJspFilter</filter-class>
+    </filter>
+
+    <filter-mapping>
+        <filter-name>PageFlowJspFilter</filter-name>
+        <url-pattern>*.jsp</url-pattern>
+        <dispatcher>FORWARD</dispatcher>
+    </filter-mapping>
+
+               <servlet>
+               <servlet-name>CewolfServlet</servlet-name>
+       <servlet-class>de.laures.cewolf.CewolfRenderer</servlet-class>
+               </servlet>
+       <servlet-mapping>
+       <servlet-name>CewolfServlet</servlet-name>
+       <url-pattern>/jpf/cewolf/*</url-pattern>
+       </servlet-mapping>
+
+
+    <!-- Action Servlet Configuration (with debugging) -->
+    <servlet>
+        <servlet-name>action</servlet-name>
+        
<servlet-class>org.apache.beehive.netui.pageflow.PageFlowActionServlet</servlet-class>
+        <init-param>
+            <param-name>config</param-name>
+            
<param-value>/WEB-INF/.pageflow-struts-generated/jpf-struts-config.xml</param-value>
+        </init-param>
+        <init-param>
+            <param-name>config/-global</param-name>
+            
<param-value>/WEB-INF/.pageflow-struts-generated/jpf-struts-config--global.xml</param-value>
+        </init-param>
+        <init-param>
+            <param-name>debug</param-name>
+            <param-value>2</param-value>
+        </init-param>
+        <init-param>
+            <param-name>detail</param-name>
+            <param-value>2</param-value>
+        </init-param>
+        <load-on-startup>2</load-on-startup>
+    </servlet>
+
+    <!-- Struts Action Servlet Mappings -->
+    <!-- Note that because Struts takes the *last* mapping here as the 
extension to add to
+         actions posted from forms, we must have *.do come after *.jpf. -->
+    <servlet-mapping>
+        <servlet-name>action</servlet-name>
+        <url-pattern>*.jpf</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>action</servlet-name>
+        <url-pattern>*.do</url-pattern>
+    </servlet-mapping>
+
+    <welcome-file-list>
+        <welcome-file>index.jsp</welcome-file>
+    </welcome-file-list>
+
+    <error-page>
+        <error-code>500</error-code>
+        <location>/error.jsp</location>
+    </error-page>
+
+    <jsp-config>
+        <!-- Define the NetUI tag library TLDs -->
+        <taglib>
+            <taglib-uri>beehive-netui-tags-html.tld</taglib-uri>
+            
<taglib-location>/WEB-INF/beehive-netui-tags-html.tld</taglib-location>
+        </taglib>
+        <taglib>
+            <taglib-uri>beehive-netui-tags-databinding.tld</taglib-uri>
+            
<taglib-location>/WEB-INF/beehive-netui-tags-databinding.tld</taglib-location>
+        </taglib>
+        <taglib>
+            <taglib-uri>beehive-netui-tags-template.tld</taglib-uri>
+            
<taglib-location>/WEB-INF/beehive-netui-tags-template.tld</taglib-location>
+        </taglib>
+    </jsp-config>
+
+</web-app>

Added: incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/error.jsp
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/error.jsp?view=auto&rev=122600
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/error.jsp      
Thu Dec 16 16:00:59 2004
@@ -0,0 +1,7 @@
+<%@ page language="java" contentType="text/html;charset=UTF-8"%>
+<%@ taglib uri="http://beehive.apache.org/netui/tags-html-1.0"; prefix="netui"%>
+<netui:html>
+  <netui:body>
+         <p>ERROR: <netui:span value="${requestScope.msg}"/>
+  </netui:body>
+</netui:html>

Added: 
incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/images/runtime.jpeg
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/images/runtime.jpeg?view=auto&rev=122600
==============================================================================
Binary file. No diff available.

Added: incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/index.jsp
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/index.jsp?view=auto&rev=122600
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/index.jsp      
Thu Dec 16 16:00:59 2004
@@ -0,0 +1,31 @@
+<%@ page language="java" contentType="text/html;charset=UTF-8"%>
+<%@ taglib uri="http://beehive.apache.org/netui/tags-databinding-1.0"; 
prefix="netui-data"%>
+<%@ taglib uri="http://beehive.apache.org/netui/tags-html-1.0"; prefix="netui"%>
+<%@ taglib uri="http://beehive.apache.org/netui/tags-template-1.0"; 
prefix="netui-template"%>
+
+
+
+<netui:html>
+       <head>
+               <title>report web</title>
+               <link rel="stylesheet" type="text/css" href="runtimePerf.css" />
+    <meta content="text/html; charset=windows-1252" http-equiv=Content-Type>
+       </head>
+
+       <netui:body>
+               <img src="images/runtime.jpeg" align="left">
+               <img src="images/runtime.jpeg" align="right">
+               <h1 class=margin>Runtime Performance Web</h1>
+               <br><br><br><netui:label value="Runtime Perf Home"/>
+
+               <br><br>
+                               This web application is a work in progress, 
however the core
+                               functionality that allows the analysis of 
result sets is
+                               functional. Click below to begin.
+
+               <br><a href="jpf/Controller.jpf">View Available Results</a>
+
+       </netui:body>
+</netui:html>
+
+

Added: 
incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/jpf/Controller.jpf
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/jpf/Controller.jpf?view=auto&rev=122600
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/jpf/Controller.jpf 
    Thu Dec 16 16:00:59 2004
@@ -0,0 +1,211 @@
+/*
+ *
+ *
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * All Rights Reserved. Unpublished rights reserved under the copyright laws
+ * of the United States. The software contained on this media is proprietary
+ * to and embodies the confidential technology of BEA Systems, Inc. The
+ * possession or receipt of this information does not convey any right to
+ * disclose its contents, reproduce it, or use,  or license the use,
+ * for manufacture or sale, the information or anything described
+ * therein. Any use, disclosure, or reproduction without BEA System's
+ * prior written permission is strictly prohibited.
+ *
+ * $Header:$
+ */
+package jpf;
+
+import org.apache.beehive.netui.pageflow.PageFlowController;
+import org.apache.beehive.netui.pageflow.Forward;
+import org.apache.beehive.netui.pageflow.FormData;
+import org.apache.beehive.netui.pageflow.annotations.Jpf;
+
+import java.util.Properties;
+import java.util.HashMap;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.FileNotFoundException;
+import org.apache.xmlbeans.XmlException;
+
+//Controls
+import org.apache.beehive.controls.api.bean.Control;
+import org.apache.beehive.controls.perf.controls.custom.PerfResultControlBean;
+
+//xmlbeans
+import org.openuri.perf.*;
+
+//report web utils
+import jpf.forms.*;
+
+
[EMAIL PROTECTED](
+               forwards = {
+                               @Jpf.Forward(name="index",path="index.jsp"),
+                               
@Jpf.Forward(name="snapshot",path="snapshot.jsp"),
+                               
@Jpf.Forward(name="xmlbeans",path="xmlbeans.jsp"),
+                               @Jpf.Forward(name="error",path="/error.jsp")
+               })
+public class Controller extends PageFlowController
+{
+       private static HashMap<String,PerfResultControlBean> _controls = new 
HashMap<String,PerfResultControlBean>();
+       private static boolean _isInited = false;
+       private static Properties _props = null;
+       
+       
+       @Jpf.Action()
+       protected Forward begin()
+       {       
+               try
+               {
+                       initializeProperties();
+                       
initializeControl(_props.getProperty("xmlbeansdir"),"xmlbeans");
+                       
initializeControl(_props.getProperty("controlsdir"),"controls");
+                       _isInited = true;
+                       return new Forward("index","controls",_controls);
+               }
+               catch(ClassNotFoundException cnfe)
+               {
+                       Forward f = new Forward("error");
+                       getRequest().setAttribute("msg", 
"ClassNotFouncException "+cnfe.getMessage());
+                       cnfe.printStackTrace();
+                       return f;
+               }
+               catch(XmlException xe)
+               {
+                       Forward f = new Forward("error");
+                       getRequest().setAttribute("msg", "XmlException 
"+xe.getMessage());
+                       xe.printStackTrace();
+                       return f;
+               }
+               catch(IOException ioe)
+               {
+                       Forward f = new Forward("error");
+                       getRequest().setAttribute("msg", "IOException 
"+ioe.getMessage());
+                       ioe.printStackTrace();
+                       return f;
+               }
+               
+       }
+       
+       @Jpf.Action()
+       protected Forward snapshot(ReportForm form)
+       {
+               // defaults
+               getRequest().setAttribute("chartid","CHARTID");
+               getRequest().setAttribute("title","Runtime Performance");
+               
+               // from form
+               getRequest().setAttribute("filename",form.filename);
+               getRequest().setAttribute("regex",form.regex);
+               getRequest().setAttribute("type",form.type);
+               getRequest().setAttribute("xlabel",form.xvals);
+               getRequest().setAttribute("ylabel",form.yvals);
+               return new Forward("snapshot");
+       }
+       
+       @Jpf.Action()
+       protected Forward xmlbeans(XmlbeansForm form)
+       {               
+               initializeProperties();
+               // from form
+               System.out.println("inside xmlbeans()");
+               System.out.println("filename="+form.filename);
+               String filename = form.filename;
+               
+               // if no filename given, use the newest
+               if( (null == filename  || filename.equalsIgnoreCase(""))
+                               && _isInited)
+               {
+                       filename = 
((PerfResultControlBean)_controls.get("xmlbeans")).getLatestFilename();
+               }
+               else if((null == filename  || filename.equalsIgnoreCase(""))
+                               && !_isInited)
+               {
+
+                       try
+                       {
+                               
initializeControl(_props.getProperty("xmlbeansdir"),"xmlbeans");
+                       }
+                       catch(ClassNotFoundException cnfe)
+                       {
+                               Forward f = new Forward("error");
+                               getRequest().setAttribute("msg", 
"ClassNotFouncException "+cnfe.getMessage());
+                               cnfe.printStackTrace();
+                               return f;
+                       }
+                       catch(XmlException xe)
+                       {
+                               Forward f = new Forward("error");
+                               getRequest().setAttribute("msg", "XmlException 
"+xe.getMessage());
+                               xe.printStackTrace();
+                               return f;
+                       }
+                       catch(IOException ioe)
+                       {
+                               Forward f = new Forward("error");
+                               getRequest().setAttribute("msg", "IOException 
"+ioe.getMessage());
+                               ioe.printStackTrace();
+                               return f;
+                       }
+                       filename = 
((PerfResultControlBean)_controls.get("xmlbeans")).getLatestFilename();
+               }
+               
+               ResultSetDocument.ResultSet resultSet = 
((PerfResultControlBean)_controls.get("xmlbeans")).getResultSet(filename);
+               
getRequest().setAttribute("date",resultSet.getEnvironment().getDate().toString());
+               
getRequest().setAttribute("jvm",resultSet.getEnvironment().getJvm());
+               
getRequest().setAttribute("os",resultSet.getEnvironment().getOs());
+               getRequest().setAttribute("filename",filename);
+               // set various regexes so the jsp can pass them to the data 
producer(s)
+               // TODO: figure out why these strings can't just be in the jsp
+               // TODO: didn't work as of 12/14/2004
+               getRequest().setAttribute("CursorWalk",".*CursorWalk.*");
+               getRequest().setAttribute("CursorGetSetGet",".*CursorGet.*");
+               getRequest().setAttribute("BisLoad",".*BisLoad.*");
+               getRequest().setAttribute("DomWalk",".*DomWalk.*");
+               getRequest().setAttribute("POValidate",".*POValidate.*");
+               getRequest().setAttribute("POTopDown",".*POTopDown[^Save].*");
+               getRequest().setAttribute("POTopDownSave",".*POTopDownSave.*");
+               getRequest().setAttribute("PrimTopDown",".*[^N]PrimTopDown.*");
+               getRequest().setAttribute("NPrimTopDown",".*NPrimTopDown.*");
+               return new Forward("xmlbeans");
+       }
+       
+       @Jpf.Action()
+       protected Forward controls(ControlsForm form)
+       {
+               initializeProperties();
+               getRequest().setAttribute("msg","not yet implemented");
+               return new Forward("error");
+       }
+       
+       private void initializeControl(String p_dir,String p_key) throws 
XmlException,IOException,ClassNotFoundException
+       {
+               PerfResultControlBean control = (PerfResultControlBean) 
java.beans.Beans.instantiate(this.getClass().getClassLoader(),
+               
"org.apache.beehive.controls.perf.controls.custom.PerfResultControlBean");
+               control.loadResults(new File(p_dir));
+               _controls.put(p_key,control);
+       }
+       
+       private void initializeProperties()
+       {
+               if(null != _props) return;
+               try
+               {
+                       _props = new Properties();
+                       FileInputStream in = new 
FileInputStream(getServletContext().getRealPath("/jpf/controller.properties"));
+                       _props.load(in);
+                       in.close();
+                       _props.list(System.out);
+               }
+               catch(FileNotFoundException fnfe)
+               {
+                       fnfe.printStackTrace();
+               }
+               catch(IOException ioe)
+               {
+                       ioe.printStackTrace();
+               }               
+       }
+}

Added: 
incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/jpf/controller.properties
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/jpf/controller.properties?view=auto&rev=122600
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/jpf/controller.properties
      Thu Dec 16 16:00:59 2004
@@ -0,0 +1,2 @@
+xmlbeansdir=/home/dev/sandbox/runtimePerf/xmlbeans/reports
+controlsdir=/home/beehive/beehive/trunk/controls/test/perf/logs/results

Added: 
incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/jpf/index.jsp
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/jpf/index.jsp?view=auto&rev=122600
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/jpf/index.jsp  
Thu Dec 16 16:00:59 2004
@@ -0,0 +1,124 @@
+<%@ page language="java" contentType="text/html;charset=UTF-8"%>
+<%@ taglib uri="http://beehive.apache.org/netui/tags-databinding-1.0"; 
prefix="netui-data"%>
+<%@ taglib uri="http://beehive.apache.org/netui/tags-html-1.0"; prefix="netui"%>
+<%@ taglib uri="http://beehive.apache.org/netui/tags-template-1.0"; 
prefix="netui-template"%>
+<%@ page 
import="org.apache.beehive.controls.perf.controls.custom.PerfResultControlBean"%>
+<%@ page import="org.openuri.perf.*"%>
+<%@ page import="java.util.Iterator"%>
+<%@ page import="java.util.HashMap"%>
+<%@ page import="java.util.Set"%>
+<%@ page import="org.apache.beehive.netui.pageflow.PageFlowUtils"%>
+
+<% 
+HashMap<String,PerfResultControlBean> controls = 
(HashMap<String,PerfResultControlBean>)PageFlowUtils.getPageInput("controls", 
request); 
+PerfResultControlBean xmlbeanResults = 
(PerfResultControlBean)controls.get("xmlbeans");
+PerfResultControlBean controlResults = 
(PerfResultControlBean)controls.get("controls");
+%>
+<netui:html>
+       <head>
+               <title>report web</title>
+               <link rel="stylesheet" type="text/css" 
href="../runtimePerf.css" />
+         <meta content="text/html; charset=windows-1252" 
http-equiv=Content-Type>
+       </head>
+       
+       <netui:body>
+
+               <img src="../images/runtime.jpeg" align="left">
+               <img src="../images/runtime.jpeg" align="right">
+               <h1 class=margin>Runtime Performance Result Summary</h1>
+               <h2><a href="../index.jsp">Home</a></h2>
+       
+       
+               <br><br><h4 class=margin>XMLBeans Result Sets</h4>
+               <table border="1" id="XMLBEANS SUMMARY TABLE">
+                                       <tr>
+                                               <td id="XMLBEANS 
HEADINGS">Filename</td>
+                                               <td id="XMLBEANS 
HEADINGS">Date</td>
+                                               <td id="XMLBEANS 
HEADINGS">OS</td>
+                                               <td id="XMLBEANS 
HEADINGS">JVM</td>
+                                               <td id="XMLBEANS 
HEADINGS">Result Count</td>
+                                       </tr>
+               <%
+                       HashMap<String,ResultSetDocument.ResultSet> 
xmlbeanResultSets = xmlbeanResults.getResultSets();
+                       Set keys = xmlbeanResultSets.keySet();
+                       Iterator it = keys.iterator();
+                       while(it.hasNext()){
+                               String filename = (String) it.next();
+                               ResultSetDocument.ResultSet xmlbeanResultSet = 
(ResultSetDocument.ResultSet)xmlbeanResultSets.get((Object)filename);
+                               %>
+                                       <tr>
+                                               <td id="RESULT FILENAME"><% 
out.print(filename); %></td>
+                                               <td id="RESULT DATE"><% 
out.print(xmlbeanResultSet.getEnvironment().getDate()); %></td>
+                                               <td id="RESULT OS"><% 
out.print(xmlbeanResultSet.getEnvironment().getOs()); %></td>
+                                               <td id="RESULT JVM"><% 
out.print(xmlbeanResultSet.getEnvironment().getJvm()); %></td>
+                                               <td id="RESULT NUMRESULTS"><% 
out.print(xmlbeanResultSet.getResultArray().length); %></td>
+                                       </tr>
+                               <%
+                       }
+               %>
+               </table>
+
+               <h4 class=margin>XMLBeans Analysis</h4>
+               <netui:form action="xmlbeans">
+                       Filename (if none provided, latest by date):
+                       <netui:textBox dataSource="actionForm.filename"/>
+                       <netui:button value="Submit" type="submit"/> 
+               </netui:form>
+
+
+
+               <h4 class=margin>Controls Result Sets</h4>
+               <table border="1" id="CONTROLS SUMMARY TABLE">
+                                       <tr>
+                                               <td id="CONTROLS 
HEADINGS">Filename</td>
+                                               <td id="CONTROLS 
HEADINGS">Date</td>
+                                               <td id="CONTROLS 
HEADINGS">OS</td>
+                                               <td id="CONTROLS 
HEADINGS">JVM</td>
+                                               <td id="CONTROLS 
HEADINGS">Result Count</td>
+                                       </tr>
+               <%
+                       HashMap<String,ResultSetDocument.ResultSet> 
controlResultSets = controlResults.getResultSets();
+                       keys = controlResultSets.keySet();
+                       it = keys.iterator();
+                       while(it.hasNext()){
+                               String filename = (String) it.next();
+                               ResultSetDocument.ResultSet controlResultSet = 
(ResultSetDocument.ResultSet)controlResultSets.get((Object)filename);
+                               %>
+                                       <tr>
+                                               <td id="RESULT FILENAME"><% 
out.print(filename); %></td>
+                                               <td id="RESULT DATE"><% 
out.print(controlResultSet.getEnvironment().getDate()); %></td>
+                                               <td id="RESULT OS"><% 
out.print(controlResultSet.getEnvironment().getOs()); %></td>
+                                               <td id="RESULT JVM"><% 
out.print(controlResultSet.getEnvironment().getJvm()); %></td>
+                                               <td id="RESULT NUMRESULTS"><% 
out.print(controlResultSet.getResultArray().length); %></td>
+                                       </tr>
+                               <%
+                       }
+               %>
+               </table>
+
+               <h4 class=margin>Controls Analysis</h4>
+               <netui:form action="controls">
+                       Filename (if none provided, latest by date):
+                       <netui:textBox dataSource="actionForm.filename"/>
+                       <netui:button value="Submit" type="submit"/> 
+               </netui:form>
+
+
+
+               <h4 class=margin>Custom Graph Form</h4>
+               <netui:form action="snapshot">
+                       Filename:
+                       <netui:textBox dataSource="actionForm.filename"/>
+                       Regex:
+                       <netui:textBox dataSource="actionForm.regex"/>
+                       X axis:
+                       <netui:textBox dataSource="actionForm.xvals"/>
+                       Y axis:
+                       <netui:textBox dataSource="actionForm.yvals"/>
+                       Type:
+                       <netui:textBox dataSource="actionForm.type"/>
+                       <netui:button value="Submit" type="submit"/> 
+               </netui:form>
+
+       </netui:body>
+</netui:html>

Added: 
incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/jpf/snapshot.jsp
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/jpf/snapshot.jsp?view=auto&rev=122600
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/jpf/snapshot.jsp   
    Thu Dec 16 16:00:59 2004
@@ -0,0 +1,27 @@
+<%@ page language="java" contentType="text/html;charset=UTF-8"%>
+<[EMAIL PROTECTED] uri='http://cewolf.sourceforge.net/taglib/cewolf.tld' 
prefix='cewolf' %>
+
+<html>
+
+  <body>
+         <jsp:useBean id="snapshot_data" class="graphing.SnapshotProducer"/>
+         <cewolf:chart 
+                 id="${requestScope.chartid}"
+                 title="${requestScope.title}" 
+                 type="${requestScope.type}" 
+                 xaxislabel="${requestScope.xlabel}" 
+                 yaxislabel="${requestScope.ylabel}">
+                 <cewolf:data>
+                     <cewolf:producer id="snapshot_data">
+                       <cewolf:param name="filename" 
value="${requestScope.filename}" />
+                       <cewolf:param name="regex" 
value="${requestScope.regex}"/>
+                     </cewolf:producer>
+                 </cewolf:data>
+    </cewolf:chart>
+         <p>
+               <cewolf:img chartid="${requestScope.chartid}" renderer="cewolf" 
width="600" height="400"/>
+         <P> 
+
+  </body>
+
+</html>

Added: 
incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/jpf/xmlbeans.jsp
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/jpf/xmlbeans.jsp?view=auto&rev=122600
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/jpf/xmlbeans.jsp   
    Thu Dec 16 16:00:59 2004
@@ -0,0 +1,186 @@
+<%@ page language="java" contentType="text/html;charset=UTF-8"%>
+<%@ taglib uri="http://beehive.apache.org/netui/tags-databinding-1.0"; 
prefix="netui-data"%>
+<%@ taglib uri="http://beehive.apache.org/netui/tags-html-1.0"; prefix="netui"%>
+<%@ taglib uri="http://beehive.apache.org/netui/tags-template-1.0"; 
prefix="netui-template"%>
+<[EMAIL PROTECTED] uri='http://cewolf.sourceforge.net/taglib/cewolf.tld' 
prefix='cewolf' %>
+
+<netui:html>
+       <head>
+               <title>report web</title>
+               <link rel="stylesheet" type="text/css" href="runtimePerf.css" />
+         <meta content="text/html; charset=windows-1252" 
http-equiv=Content-Type>
+       </head>
+
+  <netui:body>
+
+               <h3 class=margin>XMLBeans Runtime Performance</h3>
+               <p>Date: <netui:label value="${requestScope.date}"/>    
+               <p>JVM: <netui:label value="${requestScope.jvm}"/>      
+               <p>OS: <netui:label value="${requestScope.os}"/>        
+               <p>Filename: <netui:label value="${requestScope.filename}"/>    
+
+         <jsp:useBean id="cursorwalk_data" class="graphing.SnapshotProducer"/>
+         <cewolf:chart 
+                 id="CursorWalk"
+                 title="Cursor Walk" 
+                 type="verticalbar" 
+                 xaxislabel="scneario" 
+                 yaxislabel="time(ms)">
+                 <cewolf:data>
+                     <cewolf:producer id="cursorwalk_data">
+                       <cewolf:param name="filename" 
value="${requestScope.filename}" />
+                       <cewolf:param name="regex" 
value="${requestScope.CursorWalk}" />
+                     </cewolf:producer>
+                 </cewolf:data>
+    </cewolf:chart>
+         <p>
+               <cewolf:img chartid="CursorWalk" renderer="cewolf" width="600" 
height="400"/>
+         <P> 
+
+         <jsp:useBean id="cursorgetsetget_data" 
class="graphing.SnapshotProducer"/>
+         <cewolf:chart 
+                 id="CursorGetSetGet"
+                 title="Cursor Get vs. Get-Set-Get" 
+                 type="verticalbar" 
+                 xaxislabel="scneario" 
+                 yaxislabel="time(ms)">
+                 <cewolf:data>
+                     <cewolf:producer id="cursorgetsetget_data">
+                       <cewolf:param name="filename" 
value="${requestScope.filename}" />
+                       <cewolf:param name="regex" 
value="${requestScope.CursorGetSetGet}" />
+                     </cewolf:producer>
+                 </cewolf:data>
+    </cewolf:chart>
+         <p>
+               <cewolf:img chartid="CursorGetSetGet" renderer="cewolf" 
width="600" height="400"/>
+         <P> 
+
+         <jsp:useBean id="bisload_data" class="graphing.SnapshotProducer"/>
+         <cewolf:chart 
+                 id="BisLoad"
+                 title="Buffered Input Stream Load" 
+                 type="verticalbar" 
+                 xaxislabel="scneario" 
+                 yaxislabel="time(ms)">
+                 <cewolf:data>
+                     <cewolf:producer id="bisload_data">
+                       <cewolf:param name="filename" 
value="${requestScope.filename}" />
+                       <cewolf:param name="regex" 
value="${requestScope.BisLoad}" />
+                     </cewolf:producer>
+                 </cewolf:data>
+    </cewolf:chart>
+         <p>
+               <cewolf:img chartid="BisLoad" renderer="cewolf" width="600" 
height="700"/>
+         <P> 
+
+         <jsp:useBean id="domwalk_data" class="graphing.SnapshotProducer"/>
+         <cewolf:chart 
+                 id="DomWalk"
+                 title="DOM Walk (NodeList and GetNextSibling)" 
+                 type="verticalbar" 
+                 xaxislabel="scneario" 
+                 yaxislabel="time(ms)">
+                 <cewolf:data>
+                     <cewolf:producer id="domwalk_data">
+                       <cewolf:param name="filename" 
value="${requestScope.filename}" />
+                       <cewolf:param name="regex" 
value="${requestScope.DomWalk}" />
+                     </cewolf:producer>
+                 </cewolf:data>
+    </cewolf:chart>
+         <p>
+               <cewolf:img chartid="DomWalk" renderer="cewolf" width="600" 
height="700"/>
+         <P> 
+
+         <jsp:useBean id="povalidate_data" class="graphing.SnapshotProducer"/>
+         <cewolf:chart 
+                 id="POValidate"
+                 title="Purchase Order Validation" 
+                 type="verticalbar" 
+                 xaxislabel="scneario" 
+                 yaxislabel="time(ms)">
+                 <cewolf:data>
+                     <cewolf:producer id="povalidate_data">
+                       <cewolf:param name="filename" 
value="${requestScope.filename}" />
+                       <cewolf:param name="regex" 
value="${requestScope.POValidate}" />
+                     </cewolf:producer>
+                 </cewolf:data>
+    </cewolf:chart>
+         <p>
+               <cewolf:img chartid="POValidate" renderer="cewolf" width="600" 
height="400"/>
+         <P> 
+
+         <jsp:useBean id="potopdown_data" class="graphing.SnapshotProducer"/>
+         <cewolf:chart 
+                 id="POTopDown"
+                 title="Purchase Order Top Down Construction (in memory)" 
+                 type="verticalbar" 
+                 xaxislabel="scneario" 
+                 yaxislabel="time(ms)">
+                 <cewolf:data>
+                     <cewolf:producer id="potopdown_data">
+                       <cewolf:param name="filename" 
value="${requestScope.filename}" />
+                       <cewolf:param name="regex" 
value="${requestScope.POTopDown}"/>
+                     </cewolf:producer>
+                 </cewolf:data>
+    </cewolf:chart>
+         <p>
+               <cewolf:img chartid="POTopDown" renderer="cewolf" width="600" 
height="400"/>
+         <P> 
+
+         <jsp:useBean id="potopdownsave_data" 
class="graphing.SnapshotProducer"/>
+         <cewolf:chart 
+                 id="POTopDownSave"
+                 title="Purchase Order Top Down Construct and Save" 
+                 type="verticalbar" 
+                 xaxislabel="scneario" 
+                 yaxislabel="time(ms)">
+                 <cewolf:data>
+                     <cewolf:producer id="potopdownsave_data">
+                       <cewolf:param name="filename" 
value="${requestScope.filename}" />
+                       <cewolf:param name="regex" 
value="${requestScope.POTopDownSave}"/>
+                     </cewolf:producer>
+                 </cewolf:data>
+    </cewolf:chart>
+         <p>
+               <cewolf:img chartid="POTopDownSave" renderer="cewolf" 
width="600" height="400"/>
+         <P>
+ 
+         <jsp:useBean id="primtopdown_data" class="graphing.SnapshotProducer"/>
+         <cewolf:chart 
+                 id="PrimTopDown"
+                 title="Primitive Types Top Down Construction (im memory)" 
+                 type="verticalbar" 
+                 xaxislabel="scneario" 
+                 yaxislabel="time(ms)">
+                 <cewolf:data>
+                     <cewolf:producer id="primtopdown_data">
+                       <cewolf:param name="filename" 
value="${requestScope.filename}" />
+                       <cewolf:param name="regex" 
value="${requestScope.PrimTopDown}"/>
+                     </cewolf:producer>
+                 </cewolf:data>
+    </cewolf:chart>
+         <p>
+               <cewolf:img chartid="PrimTopDown" renderer="cewolf" width="600" 
height="400"/>
+         <P> 
+
+         <jsp:useBean id="nprimtopdown_data" 
class="graphing.SnapshotProducer"/>
+         <cewolf:chart 
+                 id="NPrimTopDown"
+                 title="Non-Primitive Types Top Down Construction (in memory)" 
+                 type="verticalbar" 
+                 xaxislabel="scneario" 
+                 yaxislabel="time(ms)">
+                 <cewolf:data>
+                     <cewolf:producer id="nprimtopdown_data">
+                       <cewolf:param name="filename" 
value="${requestScope.filename}" />
+                       <cewolf:param name="regex" 
value="${requestScope.NPrimTopDown}"/>
+                     </cewolf:producer>
+                 </cewolf:data>
+    </cewolf:chart>
+         <p>
+               <cewolf:img chartid="NPrimTopDown" renderer="cewolf" 
width="600" height="400"/>
+         <P> 
+
+  </netui:body>
+
+</netui:html>

Added: 
incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/runtimePerf.css
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/runtimePerf.css?view=auto&rev=122600
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/runtimePerf.css    
    Thu Dec 16 16:00:59 2004
@@ -0,0 +1,5 @@
+h1 {color: rgb(100,100,100); font-size=125%; text-align: center}
+h2 {color: rgb(100,100,100); font-size=100%; text-align: center}
+h3 {color: rgb(0,100,100); font-size: 90%}
+h4 {color: rgb(100,100,100); font-size=150%;}
+p {margin-left: 100px: color: rgb(0,100,100); font-size: 90%}

Modified: incubator/beehive/trunk/controls/test/tools/mantis/build.xml
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/tools/mantis/build.xml?view=diff&rev=122600&p1=incubator/beehive/trunk/controls/test/tools/mantis/build.xml&r1=122599&p2=incubator/beehive/trunk/controls/test/tools/mantis/build.xml&r2=122600
==============================================================================
--- incubator/beehive/trunk/controls/test/tools/mantis/build.xml        
(original)
+++ incubator/beehive/trunk/controls/test/tools/mantis/build.xml        Thu Dec 
16 16:00:59 2004
@@ -69,7 +69,7 @@
                        sourcepath="${src.dir}"
                        destdir="${doc.dir}"
                        source="1.5"
-                       packagenames="org.apache.beehive.mantis.*"
+                       packagenames="org.apache.beehive.test.tools.mantis.*"
                        classpathref="classpath"
                />
        </target>

Reply via email to