Author: jsong
Date: Tue Feb  8 14:46:35 2005
New Revision: 152954

URL: http://svn.apache.org/viewcvs?view=rev&rev=152954
Log:
Contributed by Jamie Zyskowski: updates to reportWeb, resetting bar for dual 
proc results

Added:
    
incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/WEB-INF/src/graphing/postprocessors/
    
incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/WEB-INF/src/graphing/postprocessors/VerticalXLabel.java
    incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/jpf/series.jsp
Modified:
    incubator/beehive/trunk/controls/test/perf/cases/controls-perf.xml
    incubator/beehive/trunk/controls/test/perf/webapps/build.xml
    
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/jpf/Controller.jpf
    
incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/jpf/controls.jsp
    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

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&r1=152953&r2=152954
==============================================================================
--- incubator/beehive/trunk/controls/test/perf/cases/controls-perf.xml 
(original)
+++ incubator/beehive/trunk/controls/test/perf/cases/controls-perf.xml Tue Feb  
8 14:46:35 2005
@@ -4,6 +4,7 @@
                <test-suite testunit="controls-perf">
                <test-metadata>
                        <freq>bvt</freq>
+                       <description>Values tuned for 
cg2kcc09.bea.com</description>
                </test-metadata>
                        <test name="StrlenPgmTest_standalone">
         <controlsperf>
@@ -27,7 +28,7 @@
         <controlsperf>
                                        <cmdline>%{control.perf.root}/bin/perf 
StrlenSTPgmTest</cmdline>
                                        <hash>-1989672960</hash>
-                                       <bar>5288</bar>
+                                       <bar>16062</bar>
                                        <drift>0.20</drift>
                                        <timeout>10000</timeout>
                                </controlsperf>
@@ -36,7 +37,7 @@
         <controlsperf>
                                        
<url>http://%{test.hostname}:%{test.port}/controlsPerfWeb/jpf/test/controls/performance/programmatic/strlenST/Controller.jpf</url>
                                        <hash>-1989672960</hash>
-                                       <bar>5288</bar>
+                                       <bar>16062</bar>
                                        <drift>0.20</drift>
                                        <timeout>10000</timeout>
                                </controlsperf>
@@ -63,7 +64,7 @@
         <controlsperf>
                                        
<cmdline>%{control.perf.root}/bin/benchmark 
methodinv.StrlenMethodInvTest</cmdline>
                                        <hash>-1989672960</hash>
-                                       <bar>3054</bar>
+                                       <bar>10000</bar>
                                        <drift>0.20</drift>
                                        <timeout>100000</timeout>
                                </controlsperf>
@@ -72,7 +73,7 @@
         <controlsperf>
                                        
<url>http://%{test.hostname}:%{test.port}/controlsPerfWeb/jpf/test/controls/performance/benchmarks/strlen/methodinv/Controller.jpf</url>
                                        <hash>-1989672960</hash>
-                                       <bar>3054</bar>
+                                       <bar>10000</bar>
                                        <drift>0.20</drift>
                                        <timeout>10000</timeout>
                                </controlsperf>
@@ -117,7 +118,7 @@
         <controlsperf>
                                        <cmdline>%{control.perf.root}/bin/perf 
VarargsPgmTest</cmdline>
                                        <hash>-1284084288</hash>
-                                       <bar>2914</bar>
+                                       <bar>5172</bar>
                                        <drift>0.20</drift>
                                        <timeout>10000</timeout>
                                </controlsperf>
@@ -126,7 +127,7 @@
         <controlsperf>
                                        
<url>http://%{test.hostname}:%{test.port}/controlsPerfWeb/jpf/test/controls/performance/programmatic/varargs/Controller.jpf</url>
                                        <hash>-1284084288</hash>
-                                       <bar>2914</bar>
+                                       <bar>5172</bar>
                                        <drift>0.20</drift>
                                        <timeout>10000</timeout>
                                </controlsperf>
@@ -135,7 +136,7 @@
         <controlsperf>
                                        <cmdline>%{control.perf.root}/bin/perf 
VarretPgmTest</cmdline>
                                        <hash>95000000</hash>
-                                       <bar>4176</bar>
+                                       <bar>10874</bar>
                                        <drift>0.20</drift>
                                        <timeout>10000</timeout>
                                </controlsperf>
@@ -144,7 +145,7 @@
         <controlsperf>
                                        
<url>http://%{test.hostname}:%{test.port}/controlsPerfWeb/jpf/test/controls/performance/programmatic/varret/Controller.jpf</url>
                                        <hash>95000000</hash>
-                                       <bar>4176</bar>
+                                       <bar>10874</bar>
                                        <drift>0.20</drift>
                                        <timeout>10000</timeout>
                                </controlsperf>

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&r1=152953&r2=152954
==============================================================================
--- incubator/beehive/trunk/controls/test/perf/webapps/build.xml (original)
+++ incubator/beehive/trunk/controls/test/perf/webapps/build.xml Tue Feb  8 
14:46:35 2005
@@ -22,7 +22,9 @@
     <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}"/>
+               <property name="test.hostname" value="localhost"/>
+               <property name="test.port" value="8080"/>
+    <property name="webapp.waitfor.url" 
value="http://${test.hostname}:${test.port}/${webapp.name}"/>
 
   <target name="usage">
     <echo message="" />
@@ -94,7 +96,7 @@
         <property name="webapp.dir" 
location="${webapp.stage.dir}/${webapp.name}"/>
         <property name="do.inject.milton" value="true"/>
     </ant>
-           <ant antfile="${controls.test.dir}/webapps/build.xml" 
target="-inject.milton" inheritAll="false">
+           <ant antfile="${controls.test.root}/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>
@@ -125,9 +127,9 @@
         <echo message="|     ${webapp.name} clean starting    |"/>
         <echo message="----------------------------------------------"/>
 
-        <clean-webapp webappDir="${webapp.stage.dir}/${webapp.name}"/> 
-
-                               <delete 
dir="${webapp.stage.dir}/${webapp.name}"/>
+        <!--clean-webapp webappDir="${webapp.stage.dir}/${webapp.name}"/--> 
+                               
+                               <delete failonerror="false" 
dir="${webapp.stage.dir}/${webapp.name}"/>
 
         <echo message="----------------------------------------------"/>
         <echo message="|     ${webapp.name} clean ending      |"/>

Modified: 
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=diff&r1=152953&r2=152954
==============================================================================
--- 
incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/WEB-INF/src/graphing/SeriesProducer.java
 (original)
+++ 
incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/WEB-INF/src/graphing/SeriesProducer.java
 Tue Feb  8 14:46:35 2005
@@ -3,12 +3,16 @@
 import java.text.SimpleDateFormat;
 import java.util.Date;
 import java.util.HashMap;
+import java.util.HashSet;
 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.Dataset;
 import org.jfree.data.DefaultCategoryDataset;
+import org.jfree.data.XYSeriesCollection;
+import org.jfree.data.XYSeries;
 import de.laures.cewolf.DatasetProduceException;
 import de.laures.cewolf.DatasetProducer;
 import de.laures.cewolf.CategoryItemLinkGenerator;
@@ -27,109 +31,154 @@
 import org.apache.beehive.controls.perf.controls.custom.PerfResultControlBean;
 import org.apache.beehive.controls.perf.controls.custom.StrlenControlBean;
 
-// xmlbeans
+//xmlbeans
 import org.openuri.perf.*;
+import org.openuri.perf.Result;
 
 public class SeriesProducer implements DatasetProducer, Serializable {
        
-       // TODO: implement this method correctly
-       public Object produceDataset(Map params) throws DatasetProduceException 
{       
+       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 k_filename = "filename";
+               String k_xaxis = "xaxis";
+               String k_yaxis = "yaxis";
+               // retreive the param values
                String regex = (String)params.get((Object)k_regex);     
-               DefaultCategoryDataset dataset = new DefaultCategoryDataset();
+               String filename = (String)params.get((Object)k_filename);
+               String xaxis = (String)params.get((Object)k_xaxis);
+               String yaxis = (String)params.get((Object)k_yaxis);
                
-               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;
-                       
+               // get the result set specified by filename
+               ResultSetDocument.ResultSet resultset = null;
+               try{
+                       ResultSetDocument doc = 
ResultSetDocument.Factory.parse(new File(filename));
+                       resultset = doc.getResultSet();
                }
-               catch(ClassNotFoundException cnfe)
-               {
-                       
dataset.addValue((double)500,"ClassNotFoundException","ClassNotFoundException");
-                       cnfe.printStackTrace();
-                       return dataset;
+               catch(XmlException xe){
+                       System.out.println("got xml exception: 
"+xe.getMessage());
+                       xe.printStackTrace();
                }
-               catch(IOException ioe)
-               {
-                       dataset.addValue((double)500,"IOE","IOE");
+               catch(IOException ioe){
+                       System.out.println("got ioe: "+ioe.getMessage());
                        ioe.printStackTrace();
-                       return dataset;
-               }
-               catch(XmlException xmle)
-               {
-                       
dataset.addValue((double)500,"XMLException","XMLException");
-                       xmle.printStackTrace();
-                       return dataset;
                }
                
+               if(null != resultset)
+                       System.out.println("got results 
"+resultset.getEnvironment().getDate().toString());
+               else
+                       System.out.println("resutls are null :-(");
+               
+               
+               // map matching test names to result ids
+               HashMap<Long,String> names = getNames(regex,resultset);
+               return getXYSeriesDataset(regex,names,xaxis,yaxis,resultset);
        }
-    
+       
        public boolean hasExpired(Map params, Date since) {             
-               return (System.currentTimeMillis() - since.getTime())  > 5000;
+               return (System.currentTimeMillis() - since.getTime())  > 10000;
        }
-
+       
        public String getProducerId() {
-               return "Example DatasetProducer";
+               return "SnapshotProducer";
        }
        
+       ////////////
+       // utilities
+       ////////////
+       private Dataset getXYSeriesDataset(String p_seriesName, 
HashMap<Long,String> p_names, String p_xvalue, String p_yvalue, 
ResultSetDocument.ResultSet p_resultset)
+       {
+               System.out.println("getXYSeriesDataset START");
+               XYSeries xyseries = new XYSeries(p_seriesName);
+               Dataset dataset = new XYSeriesCollection(xyseries);
+               Result[] results = p_resultset.getResultArray();
+               for(int i=0; i<results.length; i++)
+               {
+                       if(p_names.containsKey(results[i].getId()))
+                       {
+                               String name = p_names.get(results[i].getId());
+                               if(p_yvalue.equalsIgnoreCase("time") && 
results[i].isSetTime())
+                               {
+                                       System.out.println("adding y-axis time 
data for: "+name);
+                                       Float xvalue = 
Float.parseFloat(getCustomValue(p_xvalue,results[i]));
+                                       xyseries.add((Number) xvalue,(Number) 
results[i].getTime());
+                               }
+                               else if(p_yvalue.equalsIgnoreCase("memory") && 
results[i].isSetMemory())
+                               {
+                                       System.out.println("adding y-axis 
memory data for: "+name);
+                                       Float xvalue = 
Float.parseFloat(getCustomValue(p_xvalue,results[i]));
+                                       xyseries.add((Number) xvalue,(Number) 
results[i].getMemory());
+                               }
+                               else if(p_xvalue.equalsIgnoreCase("time") && 
results[i].isSetTime())
+                               {
+                                       System.out.println("adding x-axis time 
data for: "+name);
+                                       Float yvalue = 
Float.parseFloat(getCustomValue(p_yvalue,results[i]));
+                                       System.out.println("adding y-axis 
custom data ("+yvalue+") for:"+name);
+                                       
xyseries.add((Number)results[i].getTime(),(Number)yvalue);
+                               }
+                               else if(p_xvalue.equalsIgnoreCase("memory") && 
results[i].isSetMemory())
+                               {
+                                       System.out.println("adding x-axis 
memory data for: "+name);
+                                       Float yvalue = 
Float.parseFloat(getCustomValue(p_yvalue,results[i]));
+                                       System.out.println("adding y-axis 
custom data ("+yvalue+") for:"+name);
+                                       
xyseries.add((Number)results[i].getMemory(),(Number)yvalue);
+                               }
+                               else if(null != 
getCustomValue(p_yvalue,results[i]) &&
+                                               null != 
getCustomValue(p_xvalue,results[i]))
+                               {
+                                       System.out.println("adding custom 
y-axis data ("+p_yvalue+") for: "+name);
+                                       System.out.println("adding custom 
x-axis data ("+p_xvalue+") for: "+name);
+                                       Float yvalue = 
Float.parseFloat(getCustomValue(p_yvalue,results[i]));
+                                       Float xvalue = 
Float.parseFloat(getCustomValue(p_xvalue,results[i]));
+                                       
xyseries.add((Number)xvalue,(Number)yvalue);
+                               }
+                               else
+                               {
+                                       System.out.println("ERROR finding data 
for test: "+name);
+                               }                                               
+                       }
+               }                       
+               return dataset;
+       }
        
-
+       private HashMap<Long,String> getNames(String p_regex, 
ResultSetDocument.ResultSet p_resultset)
+       {
+               
+               Result[] results = p_resultset.getResultArray();
+               HashMap<Long,String> names = new HashMap<Long,String>();
+               for(int i=0; i<results.length; i++)
+               {
+                       String name = results[i].getName();
+                       Long id = results[i].getId();
+                       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(p_regex))
+                       {
+                               names.put(id,name);
+                       }
+               }       
+               return names;
+       }
        
+       private String getCustomValue(String p_name, Result p_result)
+       {
+               Custom[] customs = p_result.getCustomArray();
+               for(int i=0; i<customs.length; i++)
+               {
+                       if(p_name.equalsIgnoreCase(customs[i].getName()))
+                       {
+                               return customs[i].getValue();
+                       }
+               }
+               return null;
+       }
 }

Modified: 
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=diff&r1=152953&r2=152954
==============================================================================
--- 
incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/WEB-INF/src/graphing/SnapshotProducer.java
 (original)
+++ 
incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/WEB-INF/src/graphing/SnapshotProducer.java
 Tue Feb  8 14:46:35 2005
@@ -1,31 +1,39 @@
 package graphing;
 
-import java.text.SimpleDateFormat;
+//import java.text.SimpleDateFormat;
 import java.util.Date;
 import java.util.HashMap;
+//import java.util.HashSet;
 import java.util.Map;
-import java.util.Set;
-import java.util.Iterator;
+//import java.util.Set;
+//import java.util.Iterator;
 import java.io.Serializable;
-import org.jfree.data.CategoryDataset;
+//import org.jfree.chart.JFreeChart;
+//import org.jfree.chart.plot.CategoryPlot;
+//import org.jfree.chart.axis.HorizontalCategoryAxis;
+//import org.jfree.data.CategoryDataset;
+import org.jfree.data.Dataset;
 import org.jfree.data.DefaultCategoryDataset;
+//import org.jfree.data.XYSeriesCollection;
+//import org.jfree.data.XYSeries;
 import de.laures.cewolf.DatasetProduceException;
 import de.laures.cewolf.DatasetProducer;
-import de.laures.cewolf.CategoryItemLinkGenerator;
+//import de.laures.cewolf.CategoryItemLinkGenerator;
+//import de.laures.cewolf.ChartPostProcessor;
 import java.io.File;
 import java.io.IOException;
-import java.io.FileNotFoundException;
+//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;
+//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;
+//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.*;
@@ -45,11 +53,13 @@
                String filename = (String)params.get((Object)k_filename);
                String xaxis = (String)params.get((Object)k_xaxis);
                String yaxis = (String)params.get((Object)k_yaxis);
-               ResultSetDocument.ResultSet resultset = null;
-               
-               if(null == yaxis) yaxis = "time";
-               if(null == xaxis) xaxis = "name";
+               if(null == xaxis || xaxis.equalsIgnoreCase(""))
+                       xaxis = "name";
+               if(null == yaxis || yaxis.equalsIgnoreCase(""))
+                       yaxis = "time";
                
+               // get the result set specified by filename
+               ResultSetDocument.ResultSet resultset = null;
                try{
                        ResultSetDocument doc = 
ResultSetDocument.Factory.parse(new File(filename));
                        resultset = doc.getResultSet();
@@ -68,86 +78,108 @@
                else
                        System.out.println("resutls are null :-(");
                
-               DefaultCategoryDataset dataset = new DefaultCategoryDataset();  
-               // loop through results and populate the data set
-               Result[] results = resultset.getResultArray();
+               
+               // map matching test names to result ids
+               HashMap<Long,String> names = getNames(regex,resultset);
+               return getDefaultDataset(names,xaxis,yaxis,resultset);
+       }
+       
+       public boolean hasExpired(Map params, Date since) {             
+               return (System.currentTimeMillis() - since.getTime())  > 10000;
+       }
+       
+       public String getProducerId() {
+               return "SnapshotProducer";
+       }
+       
+       ////////////
+       // utilities
+       ////////////
+       private Dataset getDefaultDataset(HashMap<Long,String> p_names, String 
p_xvalue, String p_yvalue, ResultSetDocument.ResultSet p_resultset)
+       {
+               System.out.println("getDefaultDataset START");
+               DefaultCategoryDataset dataset = new DefaultCategoryDataset();
+               Result[] results = p_resultset.getResultArray();
                for(int i=0; i<results.length; i++)
                {
-                       String name = results[i].getName();
-                       Custom[] customs = results[i].getCustomArray();
-                       
-                       if(customs.length > 0)
+                       if(p_names.containsKey(results[i].getId()))
                        {
-                               for(int j=0; j<customs.length; j++)
+                               String name = p_names.get(results[i].getId());
+                               if(p_yvalue.equalsIgnoreCase("time") && 
results[i].isSetTime())
                                {
-                                       name = 
name+"["+customs[j].getName()+"="+customs[j].getValue()+"]";
-                               }
-                       }                               
-                       
-                       
-                       if(name.matches(regex))
-                       {                                       
-                               if(yaxis.equalsIgnoreCase("time") && 
results[i].isSetTime())
-                               {
-                                       System.out.println("adding y-axis time 
data for test: "+name);
-                                       if(xaxis.equalsIgnoreCase("name") || 
-                                          null == 
getCustomValue(xaxis,results[i]))
-                                               dataset.addValue( (Number) 
results[i].getTime(), name, "scenarios");
+                                       System.out.println("adding y-axis time 
data for: "+name);
+                                       if(p_xvalue.equalsIgnoreCase("name") || 
+                                                       null == 
getCustomValue(p_xvalue,results[i]))
+                                               dataset.addValue( (Number) 
results[i].getTime(), name, name);
                                        else
                                        {
-                                               Float xvalue = 
Float.parseFloat(getCustomValue(xaxis,results[i]));
-                                               dataset.addValue( (Number) 
results[i].getTime(), xvalue, "scneraios");
+                                               Float xvalue = 
Float.parseFloat(getCustomValue(p_xvalue,results[i]));
+                                               dataset.addValue( (Number) 
results[i].getTime(), name, xvalue);
                                        }
                                }
-                               else if(yaxis.equalsIgnoreCase("memory") && 
results[i].isSetMemory())
+                               else if(p_yvalue.equalsIgnoreCase("memory") && 
results[i].isSetMemory())
                                {
-                                       System.out.println("adding y-axis 
memory data for test: "+name);
-                                       if(null == 
getCustomValue(xaxis,results[i]))
-                                               dataset.addValue( (Number) 
results[i].getMemory(), name, "scenarios");
+                                       System.out.println("adding y-axis 
memory data for: "+name);
+                                       if(null == 
getCustomValue(p_xvalue,results[i]))
+                                               dataset.addValue( (Number) 
results[i].getMemory(), name, name);
                                        else
                                        {
-                                               Float xvalue = 
Float.parseFloat(getCustomValue(xaxis,results[i]));
-                                               dataset.addValue( (Number) 
results[i].getMemory(), xvalue, "scneraios");
+                                               Float xvalue = 
Float.parseFloat(getCustomValue(p_xvalue,results[i]));
+                                               dataset.addValue( (Number) 
results[i].getMemory(), name, xvalue);
                                        }
                                }
-                               else if(xaxis.equalsIgnoreCase("memory") && 
+                               else if(p_xvalue.equalsIgnoreCase("memory") && 
                                                results[i].isSetMemory() && 
-                                               null != 
getCustomValue(yaxis,results[i]))
+                                               null != 
getCustomValue(p_yvalue,results[i]))
                                {
-                                       System.out.println("adding x-axis 
memory data for test: "+name);
-                                       Float yvalue = 
Float.parseFloat(getCustomValue(yaxis,results[i]));
-                                       dataset.addValue( (Number)yvalue, 
name+"[mem="+results[i].getMemory()+"]","scenarios");
-                               }
-                               else if(null != 
getCustomValue(yaxis,results[i]) &&
-                                               null != 
getCustomValue(xaxis,results[i]))
-                               {
-                                       System.out.println("adding custom 
y-axis data ("+yaxis+") for test: "+name);
-                                       System.out.println("adding custom 
x-axis data ("+xaxis+") for test: "+name);
-                                       Float yvalue = 
Float.parseFloat(getCustomValue(yaxis,results[i]));
-                                       Float xvalue = 
Float.parseFloat(getCustomValue(xaxis,results[i]));
-                                       dataset.addValue( (Number)yvalue, 
xvalue, "scenarios");
+                                       System.out.println("adding x-axis 
memory data for: "+p_names.get(results[i].getId()));
+                                       Float yvalue = 
Float.parseFloat(getCustomValue(p_yvalue,results[i]));
+                                       System.out.println("adding y-axis 
custom data ("+yvalue+") for:"+name);
+                                       dataset.addValue( (Number)yvalue, name, 
results[i].getMemory());
+                               }
+                               else if(null != 
getCustomValue(p_yvalue,results[i]) &&
+                                               null != 
getCustomValue(p_xvalue,results[i]))
+                               {
+                                       System.out.println("adding custom 
y-axis data ("+p_yvalue+") for: "+name);
+                                       System.out.println("adding custom 
x-axis data ("+p_xvalue+") for: "+name);
+                                       Float yvalue = 
Float.parseFloat(getCustomValue(p_yvalue,results[i]));
+                                       Float xvalue = 
Float.parseFloat(getCustomValue(p_xvalue,results[i]));
+                                       dataset.addValue( (Number)yvalue, name, 
xvalue);
                                }
                                else
                                {
                                        System.out.println("ERROR finding data 
for test: "+name);
-                                       //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";
+       private HashMap<Long,String> getNames(String p_regex, 
ResultSetDocument.ResultSet p_resultset)
+       {
+               
+               Result[] results = p_resultset.getResultArray();
+               HashMap<Long,String> names = new HashMap<Long,String>();
+               for(int i=0; i<results.length; i++)
+               {
+                       String name = results[i].getName();
+                       Long id = results[i].getId();
+                       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(p_regex))
+                       {
+                               names.put(id,name);
+                       }
+               }
+               return names;
        }
        
        private String getCustomValue(String p_name, Result p_result)

Added: 
incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/WEB-INF/src/graphing/postprocessors/VerticalXLabel.java
URL: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/WEB-INF/src/graphing/postprocessors/VerticalXLabel.java?view=auto&rev=152954
==============================================================================
--- 
incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/WEB-INF/src/graphing/postprocessors/VerticalXLabel.java
 (added)
+++ 
incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/WEB-INF/src/graphing/postprocessors/VerticalXLabel.java
 Tue Feb  8 14:46:35 2005
@@ -0,0 +1,27 @@
+package graphing.postprocessors;
+
+import java.util.Map;
+import de.laures.cewolf.ChartPostProcessor;
+import org.jfree.chart.JFreeChart;
+import org.jfree.chart.plot.CategoryPlot;
+//import org.jfree.chart.axis.CategoryAxis;
+//import org.jfree.chart.axis.Axis;
+import org.jfree.chart.axis.HorizontalCategoryAxis;
+
+public class VerticalXLabel implements ChartPostProcessor
+{
+       public void processChart(Object chart, Map params)
+       {
+               // TODO: figure out how to make the angle better
+               // for reading the labels - v0.9.8 of JFreeChart
+               // doens't seem to support this, and that's the version
+               // that comes with cewolf v0.9.8.
+               
+               // set the xaxis labels vertical
+               CategoryPlot plot = ((JFreeChart)chart).getCategoryPlot();
+               HorizontalCategoryAxis axis = 
(HorizontalCategoryAxis)plot.getDomainAxis();
+               axis.setVerticalCategoryLabels(true);
+               
+       }
+}
+

Modified: 
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=diff&r1=152953&r2=152954
==============================================================================
--- 
incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/jpf/Controller.jpf 
(original)
+++ 
incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/jpf/Controller.jpf 
Tue Feb  8 14:46:35 2005
@@ -44,6 +44,7 @@
                forwards = {
                                @Jpf.Forward(name="index",path="index.jsp"),
                                
@Jpf.Forward(name="snapshot",path="snapshot.jsp"),
+                               @Jpf.Forward(name="series",path="series.jsp"),
                                
@Jpf.Forward(name="xmlbeans",path="xmlbeans.jsp"),
                                
@Jpf.Forward(name="controls",path="controls.jsp"),
                                @Jpf.Forward(name="error",path="/error.jsp")
@@ -108,6 +109,26 @@
                getRequest().setAttribute("width",form.width);
                getRequest().setAttribute("height",form.height);
                return new Forward("snapshot");
+       }
+       
+       @Jpf.Action()
+       protected Forward series(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("xaxis",form.xaxis);
+               getRequest().setAttribute("xlabel",form.xlabel);
+               getRequest().setAttribute("yaxis",form.yaxis);
+               getRequest().setAttribute("ylabel",form.ylabel);
+               getRequest().setAttribute("width",form.width);
+               getRequest().setAttribute("height",form.height);
+               return new Forward("series");
        }
        
        @Jpf.Action()

Modified: 
incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/jpf/controls.jsp
URL: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/jpf/controls.jsp?view=diff&r1=152953&r2=152954
==============================================================================
--- 
incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/jpf/controls.jsp 
(original)
+++ 
incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/jpf/controls.jsp 
Tue Feb  8 14:46:35 2005
@@ -19,11 +19,14 @@
                <p>OS: <netui:label value="${requestScope.os}"/>        
                <p>Filename: <netui:label value="${requestScope.filename}"/>    
 
+         <jsp:useBean id="verticalxlabel" 
class="graphing.postprocessors.VerticalXLabel"/>
+
          <jsp:useBean id="strlenpgm_data" class="graphing.SnapshotProducer"/>
          <cewolf:chart 
                  id="StrlenPgm"
                  title="String Length Custom Control" 
                  type="verticalbar" 
+                 showlegend="false" 
                  xaxislabel="scneario" 
                  yaxislabel="time(ms)">
                  <cewolf:data>
@@ -32,9 +35,10 @@
                        <cewolf:param name="regex" 
value="${requestScope.StrlenPgm}" />
                      </cewolf:producer>
                  </cewolf:data>
+                       <cewolf:chartpostprocessor id="verticalxlabel"/>
     </cewolf:chart>
          <p>
-               <cewolf:img chartid="StrlenPgm" renderer="cewolf" width="600" 
height="400"/>
+               <cewolf:img chartid="StrlenPgm" renderer="cewolf" width="800" 
height="800"/>
          <P> 
 
 
@@ -43,6 +47,7 @@
                  id="VarargsPgm"
                  title="Variable Arguments Custom Control" 
                  type="verticalbar" 
+                 showlegend="false" 
                  xaxislabel="scneario" 
                  yaxislabel="time(ms)">
                  <cewolf:data>
@@ -51,9 +56,10 @@
                        <cewolf:param name="regex" 
value="${requestScope.VarargsPgm}" />
                      </cewolf:producer>
                  </cewolf:data>
+                       <cewolf:chartpostprocessor id="verticalxlabel"/>
     </cewolf:chart>
          <p>
-               <cewolf:img chartid="VarargsPgm" renderer="cewolf" width="600" 
height="400"/>
+               <cewolf:img chartid="VarargsPgm" renderer="cewolf" width="800" 
height="800"/>
          <P> 
 
          <jsp:useBean id="varretpgm_data" class="graphing.SnapshotProducer"/>
@@ -61,6 +67,7 @@
                  id="VarretPgm"
                  title="Variable Return Value Size Custom Control" 
                  type="verticalbar" 
+                 showlegend="false" 
                  xaxislabel="scneario" 
                  yaxislabel="time(ms)">
                  <cewolf:data>
@@ -69,9 +76,10 @@
                        <cewolf:param name="regex" 
value="${requestScope.VarretPgm}" />
                      </cewolf:producer>
                  </cewolf:data>
+                       <cewolf:chartpostprocessor id="verticalxlabel"/>
     </cewolf:chart>
          <p>
-               <cewolf:img chartid="VarretPgm" renderer="cewolf" width="600" 
height="400"/>
+               <cewolf:img chartid="VarretPgm" renderer="cewolf" width="800" 
height="800"/>
          <P> 
 
   </netui:body>

Modified: 
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=diff&r1=152953&r2=152954
==============================================================================
--- incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/jpf/index.jsp 
(original)
+++ incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/jpf/index.jsp 
Tue Feb  8 14:46:35 2005
@@ -110,14 +110,18 @@
                </netui:form>
 
                <h4 class=margin>Custom Series Graph Form</h4>
-               <netui:form action="snapshot">
+               <netui:form action="series">
                        Filename:
                        <netui:textBox dataSource="actionForm.filename"/>
                        Regex:
                        <netui:textBox dataSource="actionForm.regex"/>
-                       X axis label:
+                       X axis:
+                       <netui:textBox dataSource="actionForm.xaxis"/>
+                       X label:
                        <netui:textBox dataSource="actionForm.xlabel"/>
-                       Y axis label:
+                       Y axis:
+                       <netui:textBox dataSource="actionForm.yaxis"/>
+                       Y label:
                        <netui:textBox dataSource="actionForm.ylabel"/>
                        Type:
                        <netui:textBox dataSource="actionForm.type"/>
@@ -128,20 +132,19 @@
                        <netui:button value="Submit" type="submit"/> 
                </netui:form>
 
-
                <h4 class=margin>Custom Snapshot Graph Form</h4>
                <netui:form action="snapshot">
                        Filename:
                        <netui:textBox dataSource="actionForm.filename"/>
                        Regex:
                        <netui:textBox dataSource="actionForm.regex"/>
-                       X axis value name:
+                       X axis:
                        <netui:textBox dataSource="actionForm.xaxis"/>
-                       X axis label:
+                       X label:
                        <netui:textBox dataSource="actionForm.xlabel"/>
-                       Y axis value name:
+                       Y axis:
                        <netui:textBox dataSource="actionForm.yaxis"/>
-                       Y axis label:
+                       Y label:
                        <netui:textBox dataSource="actionForm.ylabel"/>
                        Type:
                        <netui:textBox dataSource="actionForm.type"/>

Added: 
incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/jpf/series.jsp
URL: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/jpf/series.jsp?view=auto&rev=152954
==============================================================================
--- incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/jpf/series.jsp 
(added)
+++ incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/jpf/series.jsp 
Tue Feb  8 14:46:35 2005
@@ -0,0 +1,30 @@
+<%@ 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="series_data" class="graphing.SeriesProducer"/>
+         <cewolf:chart 
+                 id="${requestScope.chartid}"
+                 title="${requestScope.title}" 
+                 type="${requestScope.type}" 
+                 showlegend="${false}" 
+                 xaxislabel="${requestScope.xlabel}" 
+                 yaxislabel="${requestScope.ylabel}">
+                 <cewolf:data>
+                     <cewolf:producer id="series_data">
+                       <cewolf:param name="filename" 
value="${requestScope.filename}" />
+                       <cewolf:param name="regex" 
value="${requestScope.regex}"/>
+                       <cewolf:param name="xaxis" 
value="${requestScope.xaxis}"/>
+                       <cewolf:param name="yaxis" 
value="${requestScope.yaxis}"/>
+                     </cewolf:producer>
+                 </cewolf:data>
+    </cewolf:chart>
+         <p>
+               <cewolf:img chartid="${requestScope.chartid}" renderer="cewolf" 
width="${requestScope.width}" height="${requestScope.height}"/>
+         <P> 
+
+  </body>
+
+</html>

Modified: 
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=diff&r1=152953&r2=152954
==============================================================================
--- 
incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/jpf/snapshot.jsp 
(original)
+++ 
incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/jpf/snapshot.jsp 
Tue Feb  8 14:46:35 2005
@@ -5,10 +5,12 @@
 
   <body>
          <jsp:useBean id="snapshot_data" class="graphing.SnapshotProducer"/>
+         <jsp:useBean id="verticalxlabel" 
class="graphing.postprocessors.VerticalXLabel"/>
          <cewolf:chart 
                  id="${requestScope.chartid}"
                  title="${requestScope.title}" 
                  type="${requestScope.type}" 
+                 showlegend="${false}" 
                  xaxislabel="${requestScope.xlabel}" 
                  yaxislabel="${requestScope.ylabel}">
                  <cewolf:data>
@@ -19,6 +21,7 @@
                        <cewolf:param name="yaxis" 
value="${requestScope.yaxis}"/>
                      </cewolf:producer>
                  </cewolf:data>
+                       <cewolf:chartpostprocessor id="verticalxlabel"/>
     </cewolf:chart>
          <p>
                <cewolf:img chartid="${requestScope.chartid}" renderer="cewolf" 
width="${requestScope.width}" height="${requestScope.height}"/>

Modified: 
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=diff&r1=152953&r2=152954
==============================================================================
--- 
incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/jpf/xmlbeans.jsp 
(original)
+++ 
incubator/beehive/trunk/controls/test/perf/webapps/reportWeb/jpf/xmlbeans.jsp 
Tue Feb  8 14:46:35 2005
@@ -18,12 +18,15 @@
                <p>JVM: <netui:label value="${requestScope.jvm}"/>      
                <p>OS: <netui:label value="${requestScope.os}"/>        
                <p>Filename: <netui:label value="${requestScope.filename}"/>    
+               
+         <jsp:useBean id="verticalxlabel" 
class="graphing.postprocessors.VerticalXLabel"/>
 
          <jsp:useBean id="cursorwalk_data" class="graphing.SnapshotProducer"/>
          <cewolf:chart 
                  id="CursorWalk"
                  title="Cursor Walk" 
                  type="verticalbar" 
+                 showlegend="false" 
                  xaxislabel="scneario" 
                  yaxislabel="time(ms)">
                  <cewolf:data>
@@ -32,9 +35,10 @@
                        <cewolf:param name="regex" 
value="${requestScope.CursorWalk}" />
                      </cewolf:producer>
                  </cewolf:data>
+                       <cewolf:chartpostprocessor id="verticalxlabel"/>
     </cewolf:chart>
          <p>
-               <cewolf:img chartid="CursorWalk" renderer="cewolf" width="600" 
height="400"/>
+               <cewolf:img chartid="CursorWalk" renderer="cewolf" width="800" 
height="800"/>
          <P> 
 
          <jsp:useBean id="cursorgetsetget_data" 
class="graphing.SnapshotProducer"/>
@@ -42,6 +46,7 @@
                  id="CursorGetSetGet"
                  title="Cursor Get vs. Get-Set-Get" 
                  type="verticalbar" 
+                 showlegend="false" 
                  xaxislabel="scneario" 
                  yaxislabel="time(ms)">
                  <cewolf:data>
@@ -50,9 +55,10 @@
                        <cewolf:param name="regex" 
value="${requestScope.CursorGetSetGet}" />
                      </cewolf:producer>
                  </cewolf:data>
+                       <cewolf:chartpostprocessor id="verticalxlabel"/>
     </cewolf:chart>
          <p>
-               <cewolf:img chartid="CursorGetSetGet" renderer="cewolf" 
width="600" height="400"/>
+               <cewolf:img chartid="CursorGetSetGet" renderer="cewolf" 
width="800" height="800"/>
          <P> 
 
          <jsp:useBean id="bisload_data" class="graphing.SnapshotProducer"/>
@@ -60,6 +66,7 @@
                  id="BisLoad"
                  title="Buffered Input Stream Load" 
                  type="verticalbar" 
+                 showlegend="false" 
                  xaxislabel="scneario" 
                  yaxislabel="time(ms)">
                  <cewolf:data>
@@ -68,9 +75,10 @@
                        <cewolf:param name="regex" 
value="${requestScope.BisLoad}" />
                      </cewolf:producer>
                  </cewolf:data>
+                       <cewolf:chartpostprocessor id="verticalxlabel"/>
     </cewolf:chart>
          <p>
-               <cewolf:img chartid="BisLoad" renderer="cewolf" width="600" 
height="700"/>
+               <cewolf:img chartid="BisLoad" renderer="cewolf" width="800" 
height="800"/>
          <P> 
 
          <jsp:useBean id="domwalk_data" class="graphing.SnapshotProducer"/>
@@ -78,6 +86,7 @@
                  id="DomWalk"
                  title="DOM Walk (NodeList and GetNextSibling)" 
                  type="verticalbar" 
+                 showlegend="false" 
                  xaxislabel="scneario" 
                  yaxislabel="time(ms)">
                  <cewolf:data>
@@ -86,9 +95,10 @@
                        <cewolf:param name="regex" 
value="${requestScope.DomWalk}" />
                      </cewolf:producer>
                  </cewolf:data>
+                       <cewolf:chartpostprocessor id="verticalxlabel"/>
     </cewolf:chart>
          <p>
-               <cewolf:img chartid="DomWalk" renderer="cewolf" width="600" 
height="700"/>
+               <cewolf:img chartid="DomWalk" renderer="cewolf" width="800" 
height="800"/>
          <P> 
 
          <jsp:useBean id="povalidate_data" class="graphing.SnapshotProducer"/>
@@ -96,6 +106,7 @@
                  id="POValidate"
                  title="Purchase Order Validation" 
                  type="verticalbar" 
+                 showlegend="false" 
                  xaxislabel="scneario" 
                  yaxislabel="time(ms)">
                  <cewolf:data>
@@ -104,9 +115,10 @@
                        <cewolf:param name="regex" 
value="${requestScope.POValidate}" />
                      </cewolf:producer>
                  </cewolf:data>
+                       <cewolf:chartpostprocessor id="verticalxlabel"/>
     </cewolf:chart>
          <p>
-               <cewolf:img chartid="POValidate" renderer="cewolf" width="600" 
height="400"/>
+               <cewolf:img chartid="POValidate" renderer="cewolf" width="800" 
height="800"/>
          <P> 
 
          <jsp:useBean id="potopdown_data" class="graphing.SnapshotProducer"/>
@@ -114,6 +126,7 @@
                  id="POTopDown"
                  title="Purchase Order Top Down Construction (in memory)" 
                  type="verticalbar" 
+                 showlegend="false" 
                  xaxislabel="scneario" 
                  yaxislabel="time(ms)">
                  <cewolf:data>
@@ -122,9 +135,10 @@
                        <cewolf:param name="regex" 
value="${requestScope.POTopDown}"/>
                      </cewolf:producer>
                  </cewolf:data>
+                       <cewolf:chartpostprocessor id="verticalxlabel"/>
     </cewolf:chart>
          <p>
-               <cewolf:img chartid="POTopDown" renderer="cewolf" width="600" 
height="400"/>
+               <cewolf:img chartid="POTopDown" renderer="cewolf" width="800" 
height="800"/>
          <P> 
 
          <jsp:useBean id="potopdownsave_data" 
class="graphing.SnapshotProducer"/>
@@ -132,6 +146,7 @@
                  id="POTopDownSave"
                  title="Purchase Order Top Down Construct and Save" 
                  type="verticalbar" 
+                 showlegend="false" 
                  xaxislabel="scneario" 
                  yaxislabel="time(ms)">
                  <cewolf:data>
@@ -140,9 +155,10 @@
                        <cewolf:param name="regex" 
value="${requestScope.POTopDownSave}"/>
                      </cewolf:producer>
                  </cewolf:data>
+                       <cewolf:chartpostprocessor id="verticalxlabel"/>
     </cewolf:chart>
          <p>
-               <cewolf:img chartid="POTopDownSave" renderer="cewolf" 
width="600" height="400"/>
+               <cewolf:img chartid="POTopDownSave" renderer="cewolf" 
width="800" height="800"/>
          <P>
  
          <jsp:useBean id="primtopdown_data" class="graphing.SnapshotProducer"/>
@@ -150,6 +166,7 @@
                  id="PrimTopDown"
                  title="Primitive Types Top Down Construction (im memory)" 
                  type="verticalbar" 
+                 showlegend="false" 
                  xaxislabel="scneario" 
                  yaxislabel="time(ms)">
                  <cewolf:data>
@@ -158,9 +175,10 @@
                        <cewolf:param name="regex" 
value="${requestScope.PrimTopDown}"/>
                      </cewolf:producer>
                  </cewolf:data>
+                       <cewolf:chartpostprocessor id="verticalxlabel"/>
     </cewolf:chart>
          <p>
-               <cewolf:img chartid="PrimTopDown" renderer="cewolf" width="600" 
height="400"/>
+               <cewolf:img chartid="PrimTopDown" renderer="cewolf" width="800" 
height="800"/>
          <P> 
 
          <jsp:useBean id="nprimtopdown_data" 
class="graphing.SnapshotProducer"/>
@@ -168,6 +186,7 @@
                  id="NPrimTopDown"
                  title="Non-Primitive Types Top Down Construction (in memory)" 
                  type="verticalbar" 
+                 showlegend="false" 
                  xaxislabel="scneario" 
                  yaxislabel="time(ms)">
                  <cewolf:data>
@@ -176,9 +195,10 @@
                        <cewolf:param name="regex" 
value="${requestScope.NPrimTopDown}"/>
                      </cewolf:producer>
                  </cewolf:data>
+                       <cewolf:chartpostprocessor id="verticalxlabel"/>
     </cewolf:chart>
          <p>
-               <cewolf:img chartid="NPrimTopDown" renderer="cewolf" 
width="600" height="400"/>
+               <cewolf:img chartid="NPrimTopDown" renderer="cewolf" 
width="800" height="800"/>
          <P> 
 
   </netui:body>


Reply via email to