You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@click.apache.org by sa...@apache.org on 2009/08/03 17:51:59 UTC

svn commit: r800435 [1/2] - in /incubator/click/trunk/examples/click-bench: ./ jmeter/ src/benchmark/click/container/ src/benchmark/stripes/ src/benchmark/tapestry/ src/benchmark/tapestry/pages/ src/benchmark/tapestry/pages/tapestry/ src/benchmark/tape...

Author: sabob
Date: Mon Aug  3 15:51:58 2009
New Revision: 800435

URL: http://svn.apache.org/viewvc?rev=800435&view=rev
Log:
added tapestry, stripes and upgraded to latest click version

Added:
    incubator/click/trunk/examples/click-bench/src/benchmark/click/container/
    incubator/click/trunk/examples/click-bench/src/benchmark/click/container/CustomerList.java
    incubator/click/trunk/examples/click-bench/src/benchmark/stripes/
    incubator/click/trunk/examples/click-bench/src/benchmark/stripes/CustomerListActionBean.java
    incubator/click/trunk/examples/click-bench/src/benchmark/tapestry/
    incubator/click/trunk/examples/click-bench/src/benchmark/tapestry/pages/
    incubator/click/trunk/examples/click-bench/src/benchmark/tapestry/pages/tapestry/
    incubator/click/trunk/examples/click-bench/src/benchmark/tapestry/pages/tapestry/CustomerList.java
    incubator/click/trunk/examples/click-bench/src/benchmark/tapestry/services/
    incubator/click/trunk/examples/click-bench/src/benchmark/tapestry/services/AppModule.java
    incubator/click/trunk/examples/click-bench/web/click/
    incubator/click/trunk/examples/click-bench/web/click/container/
    incubator/click/trunk/examples/click-bench/web/click/container/customer-list.htm
    incubator/click/trunk/examples/click-bench/web/click/jsp/
    incubator/click/trunk/examples/click-bench/web/click/jsp/jsp-customer-list.jsp   (contents, props changed)
      - copied, changed from r733489, incubator/click/trunk/examples/click-bench/web/jsp/jsp-customer-list.jsp
    incubator/click/trunk/examples/click-bench/web/click/pages/
    incubator/click/trunk/examples/click-bench/web/click/pages/add-customer.htm
    incubator/click/trunk/examples/click-bench/web/click/pages/customer-list.htm
    incubator/click/trunk/examples/click-bench/web/click/pages/edit-customer.htm
    incubator/click/trunk/examples/click-bench/web/click/velocity/
    incubator/click/trunk/examples/click-bench/web/click/velocity/velocity-customer-list.htm   (contents, props changed)
      - copied, changed from r733489, incubator/click/trunk/examples/click-bench/web/velocity/velocity-customer-list.htm
    incubator/click/trunk/examples/click-bench/web/stripes/
    incubator/click/trunk/examples/click-bench/web/stripes/customer-list.jsp
    incubator/click/trunk/examples/click-bench/web/tapestry/
    incubator/click/trunk/examples/click-bench/web/tapestry/CustomerList.tml
Modified:
    incubator/click/trunk/examples/click-bench/build.xml
    incubator/click/trunk/examples/click-bench/jmeter/benchmark.jmx
    incubator/click/trunk/examples/click-bench/src/benchmark/wicket/BenchmarkApplication.java
    incubator/click/trunk/examples/click-bench/src/benchmark/wicket/CustomerList.html
    incubator/click/trunk/examples/click-bench/src/benchmark/wicket/CustomerList.java
    incubator/click/trunk/examples/click-bench/src/benchmark/wicket/EditCustomer.java
    incubator/click/trunk/examples/click-bench/web/WEB-INF/click.xml
    incubator/click/trunk/examples/click-bench/web/WEB-INF/web.xml
    incubator/click/trunk/examples/click-bench/web/index.html
    incubator/click/trunk/examples/click-bench/web/jmeter/benchmark.jmx
    incubator/click/trunk/examples/click-bench/web/jsp/direct-jsp.jsp
    incubator/click/trunk/examples/click-bench/web/struts/customer-list.jsp

Modified: incubator/click/trunk/examples/click-bench/build.xml
URL: http://svn.apache.org/viewvc/incubator/click/trunk/examples/click-bench/build.xml?rev=800435&r1=800434&r2=800435&view=diff
==============================================================================
--- incubator/click/trunk/examples/click-bench/build.xml (original)
+++ incubator/click/trunk/examples/click-bench/build.xml Mon Aug  3 15:51:58 2009
@@ -21,7 +21,7 @@
 <project name="click-bench" default="compile" basedir=".">
     <description>Builds, tests, and runs the project click-bench.</description>
 
-    <property name="click.version" value="1.4.1"/>
+    <property name="click.version" value="2.0.1-RC1-incubator"/>
     <property name="name" value="click-bench"/>
     <property name="build.dir" value="build"/>
     <property name="build.web.dir" value="${build.dir}/web"/>
@@ -73,7 +73,7 @@
                destdir="${build.classes.dir}"
                debug="true"
                encoding="ISO-8859-1"
-               source="1.4">
+               source="1.5">
             <classpath refid="classpath"/>
         </javac>
     </target>

Modified: incubator/click/trunk/examples/click-bench/jmeter/benchmark.jmx
URL: http://svn.apache.org/viewvc/incubator/click/trunk/examples/click-bench/jmeter/benchmark.jmx?rev=800435&r1=800434&r2=800435&view=diff
==============================================================================
--- incubator/click/trunk/examples/click-bench/jmeter/benchmark.jmx (original)
+++ incubator/click/trunk/examples/click-bench/jmeter/benchmark.jmx Mon Aug  3 15:51:58 2009
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<jmeterTestPlan version="1.2" properties="1.8">
+<jmeterTestPlan version="1.2" properties="2.1">
   <hashTree>
     <TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="Test Plan" enabled="true">
       <elementProp name="TestPlan.user_defined_variables" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
@@ -27,14 +27,14 @@
       </ThreadGroup>
       <hashTree>
         <ConfigTestElement guiclass="HttpDefaultsGui" testclass="ConfigTestElement" testname="HTTP Request Defaults" enabled="true">
-          <stringProp name="HTTPSampler.protocol">http</stringProp>
-          <stringProp name="HTTPSampler.domain">localhost</stringProp>
-          <stringProp name="HTTPSampler.path"></stringProp>
           <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
             <collectionProp name="Arguments.arguments"/>
           </elementProp>
+          <stringProp name="HTTPSampler.domain">localhost</stringProp>
           <stringProp name="HTTPSampler.port">8080</stringProp>
+          <stringProp name="HTTPSampler.protocol">http</stringProp>
           <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+          <stringProp name="HTTPSampler.path"></stringProp>
         </ConfigTestElement>
         <hashTree/>
         <CookieManager guiclass="CookiePanel" testclass="CookieManager" testname="HTTP Cookie Manager" enabled="true">
@@ -56,16 +56,16 @@
               <stringProp name="HTTPSampler.domain"></stringProp>
               <stringProp name="HTTPSampler.port"></stringProp>
               <stringProp name="HTTPSampler.protocol"></stringProp>
-              <stringProp name="HTTPSampler.method">GET</stringProp>
               <stringProp name="HTTPSampler.contentEncoding"></stringProp>
               <stringProp name="HTTPSampler.path">/click-bench/wicket-session</stringProp>
+              <stringProp name="HTTPSampler.method">GET</stringProp>
               <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
               <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
               <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
               <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
-              <stringProp name="HTTPSampler.mimetype"></stringProp>
               <stringProp name="HTTPSampler.FILE_NAME"></stringProp>
               <stringProp name="HTTPSampler.FILE_FIELD"></stringProp>
+              <stringProp name="HTTPSampler.mimetype"></stringProp>
               <stringProp name="HTTPSampler.monitor">false</stringProp>
               <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
             </HTTPSampler>
@@ -86,23 +86,23 @@
               <stringProp name="HTTPSampler.domain"></stringProp>
               <stringProp name="HTTPSampler.port"></stringProp>
               <stringProp name="HTTPSampler.protocol"></stringProp>
-              <stringProp name="HTTPSampler.method">GET</stringProp>
               <stringProp name="HTTPSampler.contentEncoding"></stringProp>
               <stringProp name="HTTPSampler.path">/click-bench/wicket-session/?wicket:bookmarkablePage=wicket-5%3Abenchmark.wicket.AddCustomer</stringProp>
+              <stringProp name="HTTPSampler.method">GET</stringProp>
               <boolProp name="HTTPSampler.follow_redirects">false</boolProp>
               <boolProp name="HTTPSampler.auto_redirects">true</boolProp>
               <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
               <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
-              <stringProp name="HTTPSampler.mimetype"></stringProp>
               <stringProp name="HTTPSampler.FILE_NAME"></stringProp>
               <stringProp name="HTTPSampler.FILE_FIELD"></stringProp>
+              <stringProp name="HTTPSampler.mimetype"></stringProp>
               <stringProp name="HTTPSampler.monitor">false</stringProp>
               <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
             </HTTPSampler>
             <hashTree/>
           </hashTree>
         </hashTree>
-        <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="CLICK" enabled="false"/>
+        <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="CLICK" enabled="true"/>
         <hashTree>
           <LoopController guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
             <boolProp name="LoopController.continue_forever">true</boolProp>
@@ -116,23 +116,53 @@
               <stringProp name="HTTPSampler.domain"></stringProp>
               <stringProp name="HTTPSampler.port"></stringProp>
               <stringProp name="HTTPSampler.protocol"></stringProp>
-              <stringProp name="HTTPSampler.method">GET</stringProp>
               <stringProp name="HTTPSampler.contentEncoding"></stringProp>
-              <stringProp name="HTTPSampler.path">/click-bench/pages/customer-list.htm</stringProp>
+              <stringProp name="HTTPSampler.path">/click-bench/click/pages/customer-list.htm</stringProp>
+              <stringProp name="HTTPSampler.method">GET</stringProp>
               <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
               <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
               <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
               <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+              <stringProp name="HTTPSampler.FILE_NAME"></stringProp>
+              <stringProp name="HTTPSampler.FILE_FIELD"></stringProp>
               <stringProp name="HTTPSampler.mimetype"></stringProp>
+              <stringProp name="HTTPSampler.monitor">false</stringProp>
+              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+            </HTTPSampler>
+            <hashTree/>
+          </hashTree>
+        </hashTree>
+        <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="CLICK Container" enabled="false"/>
+        <hashTree>
+          <LoopController guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
+            <boolProp name="LoopController.continue_forever">true</boolProp>
+            <stringProp name="LoopController.loops">400</stringProp>
+          </LoopController>
+          <hashTree>
+            <HTTPSampler guiclass="HttpTestSampleGui" testclass="HTTPSampler" testname="HTTP Request" enabled="true">
+              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+                <collectionProp name="Arguments.arguments"/>
+              </elementProp>
+              <stringProp name="HTTPSampler.domain"></stringProp>
+              <stringProp name="HTTPSampler.port"></stringProp>
+              <stringProp name="HTTPSampler.protocol"></stringProp>
+              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+              <stringProp name="HTTPSampler.path">/click-bench/click/container/customer-list.htm</stringProp>
+              <stringProp name="HTTPSampler.method">GET</stringProp>
+              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
               <stringProp name="HTTPSampler.FILE_NAME"></stringProp>
               <stringProp name="HTTPSampler.FILE_FIELD"></stringProp>
+              <stringProp name="HTTPSampler.mimetype"></stringProp>
               <stringProp name="HTTPSampler.monitor">false</stringProp>
               <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
             </HTTPSampler>
             <hashTree/>
           </hashTree>
         </hashTree>
-        <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="Click Add Customer" enabled="false"/>
+        <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="CLICK Add Customer" enabled="false"/>
         <hashTree>
           <LoopController guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
             <boolProp name="LoopController.continue_forever">true</boolProp>
@@ -146,23 +176,23 @@
               <stringProp name="HTTPSampler.domain"></stringProp>
               <stringProp name="HTTPSampler.port"></stringProp>
               <stringProp name="HTTPSampler.protocol"></stringProp>
-              <stringProp name="HTTPSampler.method">GET</stringProp>
               <stringProp name="HTTPSampler.contentEncoding"></stringProp>
-              <stringProp name="HTTPSampler.path">/click-bench/pages/add-customer.htm</stringProp>
+              <stringProp name="HTTPSampler.path">/click-bench/click/pages/add-customer.htm</stringProp>
+              <stringProp name="HTTPSampler.method">GET</stringProp>
               <boolProp name="HTTPSampler.follow_redirects">false</boolProp>
               <boolProp name="HTTPSampler.auto_redirects">true</boolProp>
               <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
               <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
-              <stringProp name="HTTPSampler.mimetype"></stringProp>
               <stringProp name="HTTPSampler.FILE_NAME"></stringProp>
               <stringProp name="HTTPSampler.FILE_FIELD"></stringProp>
+              <stringProp name="HTTPSampler.mimetype"></stringProp>
               <stringProp name="HTTPSampler.monitor">false</stringProp>
               <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
             </HTTPSampler>
             <hashTree/>
           </hashTree>
         </hashTree>
-        <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="Click+JSP" enabled="false"/>
+        <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="CLICK+Velocity" enabled="false"/>
         <hashTree>
           <LoopController guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
             <boolProp name="LoopController.continue_forever">true</boolProp>
@@ -176,23 +206,23 @@
               <stringProp name="HTTPSampler.domain"></stringProp>
               <stringProp name="HTTPSampler.port"></stringProp>
               <stringProp name="HTTPSampler.protocol"></stringProp>
-              <stringProp name="HTTPSampler.method">GET</stringProp>
               <stringProp name="HTTPSampler.contentEncoding"></stringProp>
-              <stringProp name="HTTPSampler.path">/click-bench/jsp/jsp-customer-list.htm</stringProp>
+              <stringProp name="HTTPSampler.path">/click-bench/click/velocity/velocity-customer-list.htm</stringProp>
+              <stringProp name="HTTPSampler.method">GET</stringProp>
               <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
               <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
               <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
               <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
-              <stringProp name="HTTPSampler.mimetype"></stringProp>
               <stringProp name="HTTPSampler.FILE_NAME"></stringProp>
               <stringProp name="HTTPSampler.FILE_FIELD"></stringProp>
+              <stringProp name="HTTPSampler.mimetype"></stringProp>
               <stringProp name="HTTPSampler.monitor">false</stringProp>
               <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
             </HTTPSampler>
             <hashTree/>
           </hashTree>
         </hashTree>
-        <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="Click+Velocity" enabled="false"/>
+        <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="CLICK+JSP" enabled="false"/>
         <hashTree>
           <LoopController guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
             <boolProp name="LoopController.continue_forever">true</boolProp>
@@ -206,23 +236,23 @@
               <stringProp name="HTTPSampler.domain"></stringProp>
               <stringProp name="HTTPSampler.port"></stringProp>
               <stringProp name="HTTPSampler.protocol"></stringProp>
-              <stringProp name="HTTPSampler.method">GET</stringProp>
               <stringProp name="HTTPSampler.contentEncoding"></stringProp>
-              <stringProp name="HTTPSampler.path">/click-bench/velocity/velocity-customer-list.htm</stringProp>
+              <stringProp name="HTTPSampler.path">/click-bench/click/jsp/jsp-customer-list.htm</stringProp>
+              <stringProp name="HTTPSampler.method">GET</stringProp>
               <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
               <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
               <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
               <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
-              <stringProp name="HTTPSampler.mimetype"></stringProp>
               <stringProp name="HTTPSampler.FILE_NAME"></stringProp>
               <stringProp name="HTTPSampler.FILE_FIELD"></stringProp>
+              <stringProp name="HTTPSampler.mimetype"></stringProp>
               <stringProp name="HTTPSampler.monitor">false</stringProp>
               <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
             </HTTPSampler>
             <hashTree/>
           </hashTree>
         </hashTree>
-        <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="JSP" enabled="true"/>
+        <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="JSP" enabled="false"/>
         <hashTree>
           <LoopController guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
             <boolProp name="LoopController.continue_forever">true</boolProp>
@@ -236,16 +266,16 @@
               <stringProp name="HTTPSampler.domain"></stringProp>
               <stringProp name="HTTPSampler.port"></stringProp>
               <stringProp name="HTTPSampler.protocol"></stringProp>
-              <stringProp name="HTTPSampler.method">GET</stringProp>
               <stringProp name="HTTPSampler.contentEncoding"></stringProp>
               <stringProp name="HTTPSampler.path">/click-bench/jsp/direct-jsp.jsp</stringProp>
+              <stringProp name="HTTPSampler.method">GET</stringProp>
               <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
               <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
               <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
               <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
-              <stringProp name="HTTPSampler.mimetype"></stringProp>
               <stringProp name="HTTPSampler.FILE_NAME"></stringProp>
               <stringProp name="HTTPSampler.FILE_FIELD"></stringProp>
+              <stringProp name="HTTPSampler.mimetype"></stringProp>
               <stringProp name="HTTPSampler.monitor">false</stringProp>
               <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
             </HTTPSampler>
@@ -266,54 +296,82 @@
               <stringProp name="HTTPSampler.domain"></stringProp>
               <stringProp name="HTTPSampler.port"></stringProp>
               <stringProp name="HTTPSampler.protocol"></stringProp>
-              <stringProp name="HTTPSampler.method">GET</stringProp>
               <stringProp name="HTTPSampler.contentEncoding"></stringProp>
               <stringProp name="HTTPSampler.path">/click-bench/customer-list.do</stringProp>
+              <stringProp name="HTTPSampler.method">GET</stringProp>
               <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
               <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
               <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
               <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+              <stringProp name="HTTPSampler.FILE_NAME"></stringProp>
+              <stringProp name="HTTPSampler.FILE_FIELD"></stringProp>
               <stringProp name="HTTPSampler.mimetype"></stringProp>
+              <stringProp name="HTTPSampler.monitor">false</stringProp>
+              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+            </HTTPSampler>
+            <hashTree/>
+          </hashTree>
+        </hashTree>
+        <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="Tapestry" enabled="false"/>
+        <hashTree>
+          <LoopController guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
+            <boolProp name="LoopController.continue_forever">true</boolProp>
+            <stringProp name="LoopController.loops">400</stringProp>
+          </LoopController>
+          <hashTree>
+            <HTTPSampler guiclass="HttpTestSampleGui" testclass="HTTPSampler" testname="HTTP Request" enabled="true">
+              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+                <collectionProp name="Arguments.arguments"/>
+              </elementProp>
+              <stringProp name="HTTPSampler.domain"></stringProp>
+              <stringProp name="HTTPSampler.port"></stringProp>
+              <stringProp name="HTTPSampler.protocol"></stringProp>
+              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+              <stringProp name="HTTPSampler.path">/click-bench/tapestry/customerlist</stringProp>
+              <stringProp name="HTTPSampler.method">GET</stringProp>
+              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
               <stringProp name="HTTPSampler.FILE_NAME"></stringProp>
               <stringProp name="HTTPSampler.FILE_FIELD"></stringProp>
+              <stringProp name="HTTPSampler.mimetype"></stringProp>
+              <stringProp name="HTTPSampler.monitor">false</stringProp>
+              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+            </HTTPSampler>
+            <hashTree/>
+          </hashTree>
+        </hashTree>
+        <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="Stripes" enabled="false"/>
+        <hashTree>
+          <LoopController guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
+            <boolProp name="LoopController.continue_forever">true</boolProp>
+            <stringProp name="LoopController.loops">400</stringProp>
+          </LoopController>
+          <hashTree>
+            <HTTPSampler guiclass="HttpTestSampleGui" testclass="HTTPSampler" testname="HTTP Request" enabled="true">
+              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+                <collectionProp name="Arguments.arguments"/>
+              </elementProp>
+              <stringProp name="HTTPSampler.domain"></stringProp>
+              <stringProp name="HTTPSampler.port"></stringProp>
+              <stringProp name="HTTPSampler.protocol"></stringProp>
+              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+              <stringProp name="HTTPSampler.path">/click-bench/CustomerList.action</stringProp>
+              <stringProp name="HTTPSampler.method">GET</stringProp>
+              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+              <stringProp name="HTTPSampler.FILE_NAME"></stringProp>
+              <stringProp name="HTTPSampler.FILE_FIELD"></stringProp>
+              <stringProp name="HTTPSampler.mimetype"></stringProp>
               <stringProp name="HTTPSampler.monitor">false</stringProp>
               <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
             </HTTPSampler>
             <hashTree/>
           </hashTree>
         </hashTree>
-        <ResultCollector guiclass="SummaryReport" testclass="ResultCollector" testname="Summary Report" enabled="true">
-          <boolProp name="ResultCollector.error_logging">false</boolProp>
-          <objProp>
-            <value class="SampleSaveConfiguration">
-              <time>true</time>
-              <latency>true</latency>
-              <timestamp>true</timestamp>
-              <success>true</success>
-              <label>true</label>
-              <code>true</code>
-              <message>true</message>
-              <threadName>true</threadName>
-              <dataType>true</dataType>
-              <encoding>false</encoding>
-              <assertions>true</assertions>
-              <subresults>true</subresults>
-              <responseData>false</responseData>
-              <samplerData>false</samplerData>
-              <xml>true</xml>
-              <fieldNames>false</fieldNames>
-              <responseHeaders>false</responseHeaders>
-              <requestHeaders>false</requestHeaders>
-              <responseDataOnError>false</responseDataOnError>
-              <saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage>
-              <assertionsResultsToSave>0</assertionsResultsToSave>
-              <bytes>true</bytes>
-            </value>
-            <name>saveConfig</name>
-          </objProp>
-          <stringProp name="filename"></stringProp>
-        </ResultCollector>
-        <hashTree/>
       </hashTree>
     </hashTree>
   </hashTree>

Added: incubator/click/trunk/examples/click-bench/src/benchmark/click/container/CustomerList.java
URL: http://svn.apache.org/viewvc/incubator/click/trunk/examples/click-bench/src/benchmark/click/container/CustomerList.java?rev=800435&view=auto
==============================================================================
--- incubator/click/trunk/examples/click-bench/src/benchmark/click/container/CustomerList.java (added)
+++ incubator/click/trunk/examples/click-bench/src/benchmark/click/container/CustomerList.java Mon Aug  3 15:51:58 2009
@@ -0,0 +1,165 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package benchmark.click.container;
+
+import benchmark.click.pages.EditCustomer;
+import org.apache.click.Control;
+import org.apache.click.Page;
+import org.apache.click.control.ActionLink;
+
+import benchmark.dao.CustomerDao;
+import benchmark.dao.Customer;
+import java.text.SimpleDateFormat;
+import java.util.List;
+import net.sf.clickclick.control.html.table.Cell;
+import net.sf.clickclick.control.html.table.HeaderCell;
+import net.sf.clickclick.control.html.table.HtmlTable;
+import net.sf.clickclick.control.html.table.Row;
+import org.apache.click.ActionListener;
+import org.apache.click.control.AbstractContainer;
+import org.apache.click.control.Container;
+import org.apache.click.util.HtmlStringBuffer;
+
+public class CustomerList extends Page {
+
+    private HtmlTable table;
+
+    private ActionLink editLink = new ActionLink("Edit", this, "onEditClick");
+
+    private ActionLink deleteLink = new ActionLink("Delete", this, "onDeleteClick");
+
+    private final SimpleDateFormat FORMAT = new SimpleDateFormat(
+        "MMMM d, yyyy");
+
+    public CustomerList() {
+        table = new HtmlTable("table");
+        table.addStyleClass("decorated");
+
+        addControl(table);
+        addControl(editLink);
+        addControl(deleteLink);
+
+        editLink.setActionListener(new ActionListener() {
+
+            public boolean onAction(Control source) {
+                Integer id = editLink.getValueInteger();
+                Customer customer = CustomerDao.getInstance().findById(id);
+                EditCustomer editPage = (EditCustomer) getContext().createPage(
+                    EditCustomer.class);
+                editPage.setCustomer(customer);
+                setForward(editPage);
+                return true;
+            }
+        });
+
+        deleteLink.setActionListener(new ActionListener() {
+
+            public boolean onAction(Control source) {
+                Integer id = deleteLink.getValueInteger();
+                Customer customer = CustomerDao.getInstance().findById(id);
+                CustomerDao.getInstance().delete(customer);
+                return true;
+            }
+        });
+    }
+
+    public void onRender() {
+        Container thead = new AbstractContainer() {
+            public String getTag() {
+                return "thead";
+            }
+        };
+        thead.add(createHeaderRow());
+        table.add(thead);
+        
+        List<Customer> customers = CustomerDao.getInstance().findAll();
+        for (Customer customer : customers) {
+            Row row = createRow(customer);
+            table.add(row);
+        }
+    }
+
+    private Row createHeaderRow() {
+        Row row = new Row();
+        Cell cell = new HeaderCell();
+        cell.setText("First Name");
+        row.add(cell);
+
+        cell = new HeaderCell();
+        cell.setText("Last Name");
+        row.add(cell);
+
+        cell = new HeaderCell();
+        cell.setText("State");
+        row.add(cell);
+
+        cell = new HeaderCell();
+        cell.setText("Birth Date");
+        row.add(cell);
+
+        cell = new HeaderCell();
+        cell.setText("Options");
+        row.add(cell);
+        return row;
+    }
+
+    private Row createRow(final Customer customer) {
+        Row row = new Row();
+        Cell cell = new Cell();
+        row.add(cell);
+        cell.setText(customer.getFirstName());
+
+        cell = new Cell();
+        row.add(cell);
+        cell.setText(customer.getLastName());
+
+        cell = new Cell();
+        row.add(cell);
+        cell.setText(customer.getState());
+
+        cell = new Cell();
+        row.add(cell);
+        cell.setText(FORMAT.format(customer.getBirthDate()));
+
+
+        cell = new Cell();
+        
+        final AbstractContainer editLinkWrapper = new AbstractContainer("Edit") {
+            public void render(HtmlStringBuffer buffer) {
+                editLink.setValue(customer.getId().toString());
+                editLink.render(buffer);
+            }
+        };
+
+        
+        final Container deleteLinkWrapper = new AbstractContainer("Delete") {
+            public void render(HtmlStringBuffer buffer) {
+                deleteLink.setValue(customer.getId().toString());
+                deleteLink.render(buffer);
+            }
+        };
+
+        cell.add(editLinkWrapper);
+        cell.setText(" | ");
+        cell.add(deleteLinkWrapper);
+        row.add(cell);
+
+        return row;
+    }
+}

Added: incubator/click/trunk/examples/click-bench/src/benchmark/stripes/CustomerListActionBean.java
URL: http://svn.apache.org/viewvc/incubator/click/trunk/examples/click-bench/src/benchmark/stripes/CustomerListActionBean.java?rev=800435&view=auto
==============================================================================
--- incubator/click/trunk/examples/click-bench/src/benchmark/stripes/CustomerListActionBean.java (added)
+++ incubator/click/trunk/examples/click-bench/src/benchmark/stripes/CustomerListActionBean.java Mon Aug  3 15:51:58 2009
@@ -0,0 +1,53 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package benchmark.stripes;
+
+import benchmark.dao.Customer;
+import benchmark.dao.CustomerDao;
+import java.util.List;
+import net.sourceforge.stripes.action.ActionBean;
+import net.sourceforge.stripes.action.ActionBeanContext;
+import net.sourceforge.stripes.action.DefaultHandler;
+import net.sourceforge.stripes.action.ForwardResolution;
+import net.sourceforge.stripes.action.Resolution;
+
+public class CustomerListActionBean implements ActionBean {
+
+    private ActionBeanContext context;
+
+    private List<Customer> customers;
+
+    public ActionBeanContext getContext() {
+        return context;
+    }
+
+    public void setContext(ActionBeanContext context) {
+        this.context = context;
+    }
+
+    public List<Customer> getCustomers() {
+        return customers;
+    }
+
+    @DefaultHandler
+    public Resolution handler() {
+        customers = CustomerDao.getInstance().findAll();
+        return new ForwardResolution("/stripes/customer-list.jsp");
+    }
+}

Added: incubator/click/trunk/examples/click-bench/src/benchmark/tapestry/pages/tapestry/CustomerList.java
URL: http://svn.apache.org/viewvc/incubator/click/trunk/examples/click-bench/src/benchmark/tapestry/pages/tapestry/CustomerList.java?rev=800435&view=auto
==============================================================================
--- incubator/click/trunk/examples/click-bench/src/benchmark/tapestry/pages/tapestry/CustomerList.java (added)
+++ incubator/click/trunk/examples/click-bench/src/benchmark/tapestry/pages/tapestry/CustomerList.java Mon Aug  3 15:51:58 2009
@@ -0,0 +1,58 @@
+package benchmark.tapestry.pages.tapestry;
+
+import benchmark.dao.Customer;
+import benchmark.dao.CustomerDao;
+import java.util.List;
+import org.apache.tapestry5.ComponentResources;
+import org.apache.tapestry5.annotations.Property;
+import org.apache.tapestry5.annotations.Retain;
+import org.apache.tapestry5.beaneditor.BeanModel;
+import org.apache.tapestry5.ioc.annotations.Inject;
+import org.apache.tapestry5.services.BeanModelSource;
+
+/**
+ *
+ */
+public class CustomerList {
+
+    @Inject
+    private BeanModelSource _beanModelSource;
+
+    @Inject
+    private ComponentResources _componentResources;
+
+    @SuppressWarnings("unchecked")
+    @Property
+    @Retain
+    private BeanModel _myModel;
+
+    @Property
+    private Customer customer;
+
+    @SuppressWarnings("unused")
+    @Property
+    private List<Customer> customers;
+
+    void onActionFromDelete(Integer userId) {
+    }
+
+    void onActionFromEdit(Integer userId) {
+    }
+
+    void setupRender() {
+
+        if (_myModel == null) {
+            _myModel =
+                _beanModelSource.createDisplayModel(Customer.class,
+                                                    _componentResources.getMessages());
+            _myModel.add("delete", null);
+            _myModel.get("firstName").sortable(false);
+            _myModel.get("lastName").sortable(false);
+            _myModel.get("state").sortable(false);
+            _myModel.get("birthDate").sortable(false);
+        }
+
+        // Get all persons - ask business service to find them (from the database)
+        customers = CustomerDao.getInstance().findAll();
+    }
+}

Added: incubator/click/trunk/examples/click-bench/src/benchmark/tapestry/services/AppModule.java
URL: http://svn.apache.org/viewvc/incubator/click/trunk/examples/click-bench/src/benchmark/tapestry/services/AppModule.java?rev=800435&view=auto
==============================================================================
--- incubator/click/trunk/examples/click-bench/src/benchmark/tapestry/services/AppModule.java (added)
+++ incubator/click/trunk/examples/click-bench/src/benchmark/tapestry/services/AppModule.java Mon Aug  3 15:51:58 2009
@@ -0,0 +1,21 @@
+package benchmark.tapestry.services;
+
+import org.apache.tapestry5.SymbolConstants;
+import org.apache.tapestry5.ioc.MappedConfiguration;
+
+/**
+ *
+ */
+public class AppModule {
+
+    public static void contributeApplicationDefaults(
+        MappedConfiguration<String, String> configuration) {
+
+        configuration.add(SymbolConstants.OMIT_GENERATOR_META, "true");
+        configuration.add(SymbolConstants.GZIP_COMPRESSION_ENABLED, "false");
+        configuration.add(SymbolConstants.PRODUCTION_MODE, "true");
+        configuration.add(SymbolConstants.FILE_CHECK_INTERVAL, "10 m");
+        configuration.add("tapestry.page-pool.hard-limit", "120");
+        configuration.add("tapestry.page-pool.soft-limit", "120");
+    }
+}

Modified: incubator/click/trunk/examples/click-bench/src/benchmark/wicket/BenchmarkApplication.java
URL: http://svn.apache.org/viewvc/incubator/click/trunk/examples/click-bench/src/benchmark/wicket/BenchmarkApplication.java?rev=800435&r1=800434&r2=800435&view=diff
==============================================================================
--- incubator/click/trunk/examples/click-bench/src/benchmark/wicket/BenchmarkApplication.java (original)
+++ incubator/click/trunk/examples/click-bench/src/benchmark/wicket/BenchmarkApplication.java Mon Aug  3 15:51:58 2009
@@ -1,6 +1,8 @@
 package benchmark.wicket;
 
+import org.apache.wicket.protocol.http.HttpSessionStore;
 import org.apache.wicket.protocol.http.WebApplication;
+import org.apache.wicket.session.ISessionStore;
 
 public class BenchmarkApplication extends WebApplication {
 
@@ -9,6 +11,10 @@
         getRequestLoggerSettings().setRequestLoggerEnabled(false);
     }
 
+    protected ISessionStore newSessionStore() {
+    		return new HttpSessionStore(this);
+    }
+
     public Class getHomePage() {
         return CustomerList.class;
     }

Modified: incubator/click/trunk/examples/click-bench/src/benchmark/wicket/CustomerList.html
URL: http://svn.apache.org/viewvc/incubator/click/trunk/examples/click-bench/src/benchmark/wicket/CustomerList.html?rev=800435&r1=800434&r2=800435&view=diff
==============================================================================
--- incubator/click/trunk/examples/click-bench/src/benchmark/wicket/CustomerList.html (original)
+++ incubator/click/trunk/examples/click-bench/src/benchmark/wicket/CustomerList.html Mon Aug  3 15:51:58 2009
@@ -1,34 +1,34 @@
 <html>
-    <head>
-        <title>Customer List</title>
-        <link rel="stylesheet" type="text/css" href="styles/default.css"/>
-    </head>
-    <body>
-        <h1>Customer List</h1>
-        <table class="decorated">
-            <thead>
-                <tr>
-                    <td>First Name</td>
-                    <td>Last Name</td>
-                    <td>State</td>
-                    <td>Birth Date</td>
-                    <td>Options</td>
-                </tr>
-            </thead>
-            <tbody>
-                <tr wicket:id="rows">
-                    <td wicket:id="firstName">Mike</td>
-                    <td wicket:id="lastName">Smith</td>
-                    <td wicket:id="state">Oregon</td>
-                    <td wicket:id="birthDate">June 23, 1981</td>
-                    <td>
-                        <a href="" wicket:id="delete">Delete</a>
-                        <a href="" wicket:id="edit">Edit</a>
-                    </td>
-                </tr>
-            </tbody>
-        </table>
+<head>
+<title>Customer List</title>
+<link rel="stylesheet" type="text/css" href="styles/default.css"/>
+</head>
+<body>
+<h1>Customer List</h1>
+<table class="decorated">
+<thead>
+  <tr>
+    <td>First Name</td>
+    <td>Last Name</td>
+    <td>State</td>
+    <td>Birth Date</td>
+    <td>Options</td>
+  </tr>
+</thead>
+<tbody>
+  <tr wicket:id="rows">
+    <td wicket:id="firstName">Mike</td>
+    <td wicket:id="lastName">Smith</td>
+    <td wicket:id="state">Oregon</td>
+    <td wicket:id="birthDate">June 23, 1981</td>
+    <td>
+      <a href="" wicket:id="delete">Delete</a>
+      <a href="" wicket:id="edit">Edit</a>
+    </td>
+  </tr>
+</tbody>
+</table>
         
-    </body>
+</body>
 </html>
 

Modified: incubator/click/trunk/examples/click-bench/src/benchmark/wicket/CustomerList.java
URL: http://svn.apache.org/viewvc/incubator/click/trunk/examples/click-bench/src/benchmark/wicket/CustomerList.java?rev=800435&r1=800434&r2=800435&view=diff
==============================================================================
--- incubator/click/trunk/examples/click-bench/src/benchmark/wicket/CustomerList.java (original)
+++ incubator/click/trunk/examples/click-bench/src/benchmark/wicket/CustomerList.java Mon Aug  3 15:51:58 2009
@@ -7,6 +7,7 @@
 import benchmark.dao.CustomerDao;
 import benchmark.dao.DetachableCustomer;
 import benchmark.dao.DetachableCustomerList;
+import java.io.Serializable;
 import org.apache.wicket.markup.html.WebPage;
 import org.apache.wicket.markup.html.basic.Label;
 import org.apache.wicket.markup.html.link.Link;
@@ -45,28 +46,17 @@
             item.add(new Label("state"));
             item.add(new Label("birthDate", new Model() {
 
-                public Object getObject() {
+                public Serializable getObject() {
                     Customer customer = (Customer) item.getModelObject();
-
-                    // Under heavy testing the customer is sometimes null
-                    if (customer != null) {
-                        try {
-                            return FORMAT.format(customer.getBirthDate());
-                        } catch (Exception exception) {
-                            System.out.println("Error formatting date : " + customer.getBirthDate());
-                            throw new RuntimeException(exception);
-                        }
-
-                    } else {
-                        return customer.getBirthDate();
-                    }
+        				    //SimpleDateFormat FORMAT = new SimpleDateFormat("MMMM d, yyyy");
+                	  return FORMAT.format(customer.getBirthDate());
                 }
             }));
 
             item.add(new Link("delete") {
 
                 public void onClick() {
-                    Customer customer = (Customer) getParent().getModelObject();
+                    Customer customer = (Customer) getParent().getDefaultModelObject();
                     CustomerDao.getInstance().delete(customer);
                 }
             });
@@ -74,7 +64,7 @@
             item.add(new Link("edit") {
 
                 public void onClick() {
-                    EditCustomer editPage = new EditCustomer(getParent().getModel());
+                    EditCustomer editPage = new EditCustomer(getParent().getDefaultModel());
                     setResponsePage(editPage);
                 }
             });

Modified: incubator/click/trunk/examples/click-bench/src/benchmark/wicket/EditCustomer.java
URL: http://svn.apache.org/viewvc/incubator/click/trunk/examples/click-bench/src/benchmark/wicket/EditCustomer.java?rev=800435&r1=800434&r2=800435&view=diff
==============================================================================
--- incubator/click/trunk/examples/click-bench/src/benchmark/wicket/EditCustomer.java (original)
+++ incubator/click/trunk/examples/click-bench/src/benchmark/wicket/EditCustomer.java Mon Aug  3 15:51:58 2009
@@ -36,7 +36,7 @@
         public void onSubmit() {
             Customer customer = (Customer) getModelObject();
             CustomerDao.getInstance().saveOrUpdate(customer);
-            setResponsePage(newPage(CustomerList.class));
+            setResponsePage(new CustomerList());
         }
     }
 

Modified: incubator/click/trunk/examples/click-bench/web/WEB-INF/click.xml
URL: http://svn.apache.org/viewvc/incubator/click/trunk/examples/click-bench/web/WEB-INF/click.xml?rev=800435&r1=800434&r2=800435&view=diff
==============================================================================
--- incubator/click/trunk/examples/click-bench/web/WEB-INF/click.xml (original)
+++ incubator/click/trunk/examples/click-bench/web/WEB-INF/click.xml Mon Aug  3 15:51:58 2009
@@ -19,12 +19,12 @@
 -->
 <click-app> 
 
-  <pages package="benchmark.click">
+  <pages package="benchmark">
       <!-- Setup a velocity page -->
-      <page path="velocity/velocity-customer-list.htm" classname="velocity.VelocityCustomerList"/>
+      <page path="click/velocity/velocity-customer-list.htm" classname="click.velocity.VelocityCustomerList"/>
 
       <!-- Setup a JSP page -->
-      <page path="jsp/jsp-customer-list.jsp" classname="jsp.JSPCustomerList"/>
+      <page path="click/jsp/jsp-customer-list.jsp" classname="click.jsp.JSPCustomerList"/>
   </pages>
 
   <mode value="production"/>

Modified: incubator/click/trunk/examples/click-bench/web/WEB-INF/web.xml
URL: http://svn.apache.org/viewvc/incubator/click/trunk/examples/click-bench/web/WEB-INF/web.xml?rev=800435&r1=800434&r2=800435&view=diff
==============================================================================
--- incubator/click/trunk/examples/click-bench/web/WEB-INF/web.xml (original)
+++ incubator/click/trunk/examples/click-bench/web/WEB-INF/web.xml Mon Aug  3 15:51:58 2009
@@ -17,15 +17,81 @@
    specific language governing permissions and limitations
    under the License.
 -->
-<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
-<web-app>
+
+<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>Click/Wicket Benchmark</display-name>
-    
+
+    <!--
+    Wicket config
+    -->
     <context-param>
         <param-name>configuration</param-name>
         <param-value>deployment</param-value>
     </context-param>
-    
+
+    <!--
+    Tapestry config
+    -->
+    <context-param>
+       <!-- The only significant configuration for Tapestry 5, this informs Tapestry
+            of where to look for pages, components and mixins. -->
+       <param-name>tapestry.app-package</param-name>
+       <param-value>benchmark.tapestry</param-value>
+    </context-param>
+
+    <context-param>
+        <param-name>page_hard_limit</param-name>
+        <param-value>120</param-value>
+    </context-param>
+
+    <!--
+    Tapestry config
+    -->
+    <filter>
+        <filter-name>app</filter-name>
+        <filter-class>org.apache.tapestry5.TapestryFilter</filter-class>
+    </filter>
+
+    <!--
+    Stripes config
+    -->
+    <filter>
+		    <display-name>Stripes Filter</display-name>
+		    <filter-name>StripesFilter</filter-name>
+		    <filter-class>net.sourceforge.stripes.controller.StripesFilter</filter-class>
+		    <init-param>
+			      <param-name>ActionResolver.Packages</param-name>
+            <param-value>benchmark.stripes</param-value>
+        </init-param>
+ 	  </filter>
+
+    <!--
+    Tapestry config
+    -->
+    <filter-mapping>
+        <filter-name>app</filter-name>
+        <url-pattern>/tapestry/*</url-pattern>
+    </filter-mapping>
+
+    <!--
+    Stripes config
+    -->
+    <filter-mapping>
+	      <filter-name>StripesFilter</filter-name>
+		    <url-pattern>/stripes/*</url-pattern>
+		    <dispatcher>REQUEST</dispatcher>
+	  </filter-mapping>
+
+    <filter-mapping>
+		    <filter-name>StripesFilter</filter-name>
+        <servlet-name>StripesDispatcher</servlet-name>
+		    <dispatcher>REQUEST</dispatcher>
+	  </filter-mapping>
+
     <!--
     Wicket config
     -->
@@ -61,7 +127,17 @@
         <load-on-startup>1</load-on-startup>
     </servlet>
     
-   <!--
+    <!--
+    Stripes config
+    -->
+    <servlet>
+	      <servlet-name>StripesDispatcher</servlet-name>
+        <servlet-class>net.sourceforge.stripes.controller.DispatcherServlet</servlet-class>
+        <load-on-startup>1</load-on-startup>
+    </servlet>
+
+
+    <!--
     Wicket mapping
     -->
     <servlet-mapping>
@@ -85,6 +161,13 @@
         <servlet-name>action</servlet-name>
         <url-pattern>*.do</url-pattern>
     </servlet-mapping>
-    
+
+    <!--
+    Stripes config
+    -->
+  	<servlet-mapping>
+        <servlet-name>StripesDispatcher</servlet-name>
+        <url-pattern>*.action</url-pattern>
+	  </servlet-mapping>
     
 </web-app>

Added: incubator/click/trunk/examples/click-bench/web/click/container/customer-list.htm
URL: http://svn.apache.org/viewvc/incubator/click/trunk/examples/click-bench/web/click/container/customer-list.htm?rev=800435&view=auto
==============================================================================
--- incubator/click/trunk/examples/click-bench/web/click/container/customer-list.htm (added)
+++ incubator/click/trunk/examples/click-bench/web/click/container/customer-list.htm Mon Aug  3 15:51:58 2009
@@ -0,0 +1,12 @@
+<html>
+  <head>
+    <title>Customer List 2</title>
+    <link rel="stylesheet" type="text/css" href="$context/styles/default.css"/>
+    ${cssImports}
+    ${jsImports}
+  </head>
+  <body>
+    <h1>Customer List</h1>
+    $table
+    </body>
+</html>
\ No newline at end of file

Copied: incubator/click/trunk/examples/click-bench/web/click/jsp/jsp-customer-list.jsp (from r733489, incubator/click/trunk/examples/click-bench/web/jsp/jsp-customer-list.jsp)
URL: http://svn.apache.org/viewvc/incubator/click/trunk/examples/click-bench/web/click/jsp/jsp-customer-list.jsp?p2=incubator/click/trunk/examples/click-bench/web/click/jsp/jsp-customer-list.jsp&p1=incubator/click/trunk/examples/click-bench/web/jsp/jsp-customer-list.jsp&r1=733489&r2=800435&rev=800435&view=diff
==============================================================================
--- incubator/click/trunk/examples/click-bench/web/jsp/jsp-customer-list.jsp (original)
+++ incubator/click/trunk/examples/click-bench/web/click/jsp/jsp-customer-list.jsp Mon Aug  3 15:51:58 2009
@@ -1,6 +1,6 @@
 <%@page contentType="text/html" pageEncoding="UTF-8"%>
-<%@taglib prefix="c" uri="http://java.sun.com/jstl/core"%>
-<%@taglib prefix="fmt" uri="http://java.sun.com/jstl/fmt"%>
+<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
+<%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
 <html>
 <head>
  <link rel="stylesheet" type="text/css" href="<c:out value="${context}"/>/styles/default.css"/>
@@ -24,13 +24,13 @@
 <c:when test="${lineInfo.count % 2 == 0}"> <tr class="odd"> </c:when> 
 <c:otherwise> <tr class="even"> </c:otherwise>
 </c:choose> 
-<td id="table-firstName_<c:out value="${lineInfo.count}"/>"><c:out value="${customer.firstName}"/></td> 
- <td id="table-lastName_<c:out value="${lineInfo.count}"/>"><c:out value="${customer.lastName}"/></td>
-<td id="table-state_<c:out value="${lineInfo.count}"/>"> <c:out value="${customer.state}"/> </td>
- <td id="table-birthDate_<c:out value="${lineInfo.count}"/>"> <fmt:formatDate value="${customer.birthDate}" pattern="MMMM d, yyyy"/> </td>
+<td><c:out value="${customer.firstName}"/></td> 
+<td><c:out value="${customer.lastName}"/></td>
+<td> <c:out value="${customer.state}"/> </td>
+<td> <fmt:formatDate value="${customer.birthDate}" pattern="MMMM d, yyyy"/> </td>
 <td align="left">
-<a href="/jsp/jsp-customer-list.htm?id=${customer.id}&value=0&page=0">Edit</a> |
-<a href="/jsp/jsp-customer-list.htm?id=${customer.id}&value=0&page=0">Delete</a>                            
+<a href="${context}/click/jsp/jsp-customer-list.htm?id=${customer.id}&value=0&page=0">Edit</a> |
+<a href="${context}/click/jsp/jsp-customer-list.htm?id=${customer.id}&value=0&page=0">Delete</a>
  </td>
 </tr>
 </c:forEach>

Propchange: incubator/click/trunk/examples/click-bench/web/click/jsp/jsp-customer-list.jsp
------------------------------------------------------------------------------
    svn:mergeinfo = 

Added: incubator/click/trunk/examples/click-bench/web/click/pages/add-customer.htm
URL: http://svn.apache.org/viewvc/incubator/click/trunk/examples/click-bench/web/click/pages/add-customer.htm?rev=800435&view=auto
==============================================================================
--- incubator/click/trunk/examples/click-bench/web/click/pages/add-customer.htm (added)
+++ incubator/click/trunk/examples/click-bench/web/click/pages/add-customer.htm Mon Aug  3 15:51:58 2009
@@ -0,0 +1,14 @@
+<html>
+  <head>
+    <title>Edit Customer</title>
+    <link rel="stylesheet" type="text/css" href="$context/styles/default.css"/>
+    ${headElements}
+    ${jsElements}
+  </head>
+  <body>
+    <h1>Add Customer</h1>
+        
+    $form
+
+  </body>
+</html>
\ No newline at end of file

Added: incubator/click/trunk/examples/click-bench/web/click/pages/customer-list.htm
URL: http://svn.apache.org/viewvc/incubator/click/trunk/examples/click-bench/web/click/pages/customer-list.htm?rev=800435&view=auto
==============================================================================
--- incubator/click/trunk/examples/click-bench/web/click/pages/customer-list.htm (added)
+++ incubator/click/trunk/examples/click-bench/web/click/pages/customer-list.htm Mon Aug  3 15:51:58 2009
@@ -0,0 +1,10 @@
+<html>
+  <head>
+    <title>Customer List</title>
+    <link rel="stylesheet" type="text/css" href="$context/styles/default.css"/>
+  </head>
+  <body>
+    <h1>Customer List</h1>
+    $table
+    </body>
+</html>
\ No newline at end of file

Added: incubator/click/trunk/examples/click-bench/web/click/pages/edit-customer.htm
URL: http://svn.apache.org/viewvc/incubator/click/trunk/examples/click-bench/web/click/pages/edit-customer.htm?rev=800435&view=auto
==============================================================================
--- incubator/click/trunk/examples/click-bench/web/click/pages/edit-customer.htm (added)
+++ incubator/click/trunk/examples/click-bench/web/click/pages/edit-customer.htm Mon Aug  3 15:51:58 2009
@@ -0,0 +1,14 @@
+<html>
+  <head>
+    <title>Edit Customer</title>
+    <link rel="stylesheet" type="text/css" href="$context/styles/default.css"/>
+    ${headElements}
+    ${jsElements}
+  </head>
+  <body>
+    <h1>Edit Customer</h1>
+        
+    $form
+
+  </body>
+</html>
\ No newline at end of file

Copied: incubator/click/trunk/examples/click-bench/web/click/velocity/velocity-customer-list.htm (from r733489, incubator/click/trunk/examples/click-bench/web/velocity/velocity-customer-list.htm)
URL: http://svn.apache.org/viewvc/incubator/click/trunk/examples/click-bench/web/click/velocity/velocity-customer-list.htm?p2=incubator/click/trunk/examples/click-bench/web/click/velocity/velocity-customer-list.htm&p1=incubator/click/trunk/examples/click-bench/web/velocity/velocity-customer-list.htm&r1=733489&r2=800435&rev=800435&view=diff
==============================================================================
--- incubator/click/trunk/examples/click-bench/web/velocity/velocity-customer-list.htm (original)
+++ incubator/click/trunk/examples/click-bench/web/click/velocity/velocity-customer-list.htm Mon Aug  3 15:51:58 2009
@@ -24,10 +24,10 @@
 #if ($count % 2 == 0) <tr class="odd">
 #else <tr class="even"> #end
 
-     <td id="table-firstName_$count">$customer.firstName</td>
-     <td id="table-lastName_$count">$customer.lastName</td>
-     <td id="table-state_$count">$customer.state</td>
-     <td id="table-birthDate_$count">$format.date($customer.birthDate, "MMMM d, yyyy")</td>
+     <td>$customer.firstName</td>
+     <td>$customer.lastName</td>
+     <td>$customer.state</td>
+     <td>$format.date($customer.birthDate, "MMMM d, yyyy")</td>
      <td>
      <a href="$context/pages/edit-customer.htm?id=$customer.id&page=0&value=0">Delete</a>
      <a href="$context/pages/edit-customer.htm?id=$customer.id&page=0&value=0">Edit</a>

Propchange: incubator/click/trunk/examples/click-bench/web/click/velocity/velocity-customer-list.htm
------------------------------------------------------------------------------
    svn:mergeinfo = 

Modified: incubator/click/trunk/examples/click-bench/web/index.html
URL: http://svn.apache.org/viewvc/incubator/click/trunk/examples/click-bench/web/index.html?rev=800435&r1=800434&r2=800435&view=diff
==============================================================================
--- incubator/click/trunk/examples/click-bench/web/index.html (original)
+++ incubator/click/trunk/examples/click-bench/web/index.html Mon Aug  3 15:51:58 2009
@@ -16,7 +16,7 @@
             <div id="content">
                 <p>
                     This benchmark was adapted to Click from the <a href="http://wicket.apache.org/">Wicket</a> benchmark available 
-                    <a href="http://wicket-stuff.svn.sourceforge.net/svnroot/wicket-stuff/branches/wicket-1.3.x/wicket-benchmark/">here.</a>
+                    <a href="https://wicket-stuff.svn.sourceforge.net/svnroot/wicket-stuff/branches/wicket-1.3.x/wicket-benchmark/">here.</a>
                 </p>
                 <p>
                     To run the test you must first download and install
@@ -28,34 +28,46 @@
                 <p>
                     Below you can find links to the tests.
                 </p>
-                <h3>Click benchmark (v2.0.1)</h3>
+                <h3>Click benchmark (v2.1.0)</h3>
                 <ul>
-                    <li><a href="pages/customer-list.htm">Click - List Customers</a></li>
-                    <li><a href="pages/add-customer.htm">Click - Add Customer</a></li>
+                    <li><a href="click/pages/customer-list.htm">Click - List Customers</a></li>
+                    <li><a href="click/pages/add-customer.htm">Click - Add Customer</a></li>
                 </ul>
-                <h3>Wicket benchmark (v1.3.0)</h3>
+                <h3>Click Container benchmark (v2.1.0)</h3>
+                <ul>
+                    <li><a href="click/container/customer-list.htm">Click - List Customers</a></li>
+                </ul>
+                <h3>Wicket benchmark (v1.4.0)</h3>
                 <ul>
                     <li><a href="wicket-session">Wicket - List Customers</a></li>
                     <li><a href="wicket-session/?wicket:bookmarkablePage=wicket-2%3Abenchmark.wicket.AddCustomer">Wicket - Add Customer</a></li>
                 </ul>
+                <h3>Tapestry benchmark (v5.1)</h3>
+                <ul>
+                    <li><a href="tapestry/CustomerList">Tapestry - List Customers</a></li>
+                </ul>
                 <h3>Struts benchmark (v1.3.8)</h3>
                 <ul>
                     <li><a href="customer-list.do">Struts - List Customers</a></li>
                 </ul>
+                <h3>Stripes benchmark (v1.5.1)</h3>
+                <ul>
+                    <li><a href="CustomerList.action">Stripes - List Customers</a></li>
+                </ul>
                 <h3>Click + Velocity benchmark</h3>
                 <ul>
                     <li>
-                        <a href="velocity/velocity-customer-list.htm">Click + Velocity - List Customers</a>
+                        <a href="click/velocity/velocity-customer-list.htm">Click + Velocity - List Customers</a>
                     </li>
                 </ul>
                 <h3>Click + JSP + JSTL 1.0 benchmark</h3>
                 <ul>
-                    <li><a href="jsp/jsp-customer-list.htm">Click + JSP + JSTL 1.0 - List Customers</a></li>
+                    <li><a href="click/jsp/jsp-customer-list.htm">Click + JSP + JSTL 1.0 - List Customers</a></li>
                 </ul>                
                 <h3>JSP + JSTL 1.0 benchmark</h3>
                 <ul>
                     <li><a href="jsp/direct-jsp.jsp">JSP + JSTL 1.0 - List Customers</a></li>
-                </ul>    
+                </ul>
             </div>
         </div>
     </body>

Modified: incubator/click/trunk/examples/click-bench/web/jmeter/benchmark.jmx
URL: http://svn.apache.org/viewvc/incubator/click/trunk/examples/click-bench/web/jmeter/benchmark.jmx?rev=800435&r1=800434&r2=800435&view=diff
==============================================================================
--- incubator/click/trunk/examples/click-bench/web/jmeter/benchmark.jmx (original)
+++ incubator/click/trunk/examples/click-bench/web/jmeter/benchmark.jmx Mon Aug  3 15:51:58 2009
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<jmeterTestPlan version="1.2" properties="1.8">
+<jmeterTestPlan version="1.2" properties="2.1">
   <hashTree>
     <TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="Test Plan" enabled="true">
       <elementProp name="TestPlan.user_defined_variables" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
@@ -27,14 +27,14 @@
       </ThreadGroup>
       <hashTree>
         <ConfigTestElement guiclass="HttpDefaultsGui" testclass="ConfigTestElement" testname="HTTP Request Defaults" enabled="true">
-          <stringProp name="HTTPSampler.protocol">http</stringProp>
-          <stringProp name="HTTPSampler.domain">localhost</stringProp>
-          <stringProp name="HTTPSampler.path"></stringProp>
           <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
             <collectionProp name="Arguments.arguments"/>
           </elementProp>
+          <stringProp name="HTTPSampler.domain">localhost</stringProp>
           <stringProp name="HTTPSampler.port">8080</stringProp>
+          <stringProp name="HTTPSampler.protocol">http</stringProp>
           <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+          <stringProp name="HTTPSampler.path"></stringProp>
         </ConfigTestElement>
         <hashTree/>
         <CookieManager guiclass="CookiePanel" testclass="CookieManager" testname="HTTP Cookie Manager" enabled="true">
@@ -56,16 +56,16 @@
               <stringProp name="HTTPSampler.domain"></stringProp>
               <stringProp name="HTTPSampler.port"></stringProp>
               <stringProp name="HTTPSampler.protocol"></stringProp>
-              <stringProp name="HTTPSampler.method">GET</stringProp>
               <stringProp name="HTTPSampler.contentEncoding"></stringProp>
               <stringProp name="HTTPSampler.path">/click-bench/wicket-session</stringProp>
+              <stringProp name="HTTPSampler.method">GET</stringProp>
               <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
               <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
               <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
               <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
-              <stringProp name="HTTPSampler.mimetype"></stringProp>
               <stringProp name="HTTPSampler.FILE_NAME"></stringProp>
               <stringProp name="HTTPSampler.FILE_FIELD"></stringProp>
+              <stringProp name="HTTPSampler.mimetype"></stringProp>
               <stringProp name="HTTPSampler.monitor">false</stringProp>
               <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
             </HTTPSampler>
@@ -86,23 +86,23 @@
               <stringProp name="HTTPSampler.domain"></stringProp>
               <stringProp name="HTTPSampler.port"></stringProp>
               <stringProp name="HTTPSampler.protocol"></stringProp>
-              <stringProp name="HTTPSampler.method">GET</stringProp>
               <stringProp name="HTTPSampler.contentEncoding"></stringProp>
               <stringProp name="HTTPSampler.path">/click-bench/wicket-session/?wicket:bookmarkablePage=wicket-5%3Abenchmark.wicket.AddCustomer</stringProp>
+              <stringProp name="HTTPSampler.method">GET</stringProp>
               <boolProp name="HTTPSampler.follow_redirects">false</boolProp>
               <boolProp name="HTTPSampler.auto_redirects">true</boolProp>
               <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
               <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
-              <stringProp name="HTTPSampler.mimetype"></stringProp>
               <stringProp name="HTTPSampler.FILE_NAME"></stringProp>
               <stringProp name="HTTPSampler.FILE_FIELD"></stringProp>
+              <stringProp name="HTTPSampler.mimetype"></stringProp>
               <stringProp name="HTTPSampler.monitor">false</stringProp>
               <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
             </HTTPSampler>
             <hashTree/>
           </hashTree>
         </hashTree>
-        <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="CLICK" enabled="false"/>
+        <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="CLICK" enabled="true"/>
         <hashTree>
           <LoopController guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
             <boolProp name="LoopController.continue_forever">true</boolProp>
@@ -116,23 +116,53 @@
               <stringProp name="HTTPSampler.domain"></stringProp>
               <stringProp name="HTTPSampler.port"></stringProp>
               <stringProp name="HTTPSampler.protocol"></stringProp>
-              <stringProp name="HTTPSampler.method">GET</stringProp>
               <stringProp name="HTTPSampler.contentEncoding"></stringProp>
-              <stringProp name="HTTPSampler.path">/click-bench/pages/customer-list.htm</stringProp>
+              <stringProp name="HTTPSampler.path">/click-bench/click/pages/customer-list.htm</stringProp>
+              <stringProp name="HTTPSampler.method">GET</stringProp>
               <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
               <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
               <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
               <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+              <stringProp name="HTTPSampler.FILE_NAME"></stringProp>
+              <stringProp name="HTTPSampler.FILE_FIELD"></stringProp>
               <stringProp name="HTTPSampler.mimetype"></stringProp>
+              <stringProp name="HTTPSampler.monitor">false</stringProp>
+              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+            </HTTPSampler>
+            <hashTree/>
+          </hashTree>
+        </hashTree>
+        <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="CLICK Container" enabled="false"/>
+        <hashTree>
+          <LoopController guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
+            <boolProp name="LoopController.continue_forever">true</boolProp>
+            <stringProp name="LoopController.loops">400</stringProp>
+          </LoopController>
+          <hashTree>
+            <HTTPSampler guiclass="HttpTestSampleGui" testclass="HTTPSampler" testname="HTTP Request" enabled="true">
+              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+                <collectionProp name="Arguments.arguments"/>
+              </elementProp>
+              <stringProp name="HTTPSampler.domain"></stringProp>
+              <stringProp name="HTTPSampler.port"></stringProp>
+              <stringProp name="HTTPSampler.protocol"></stringProp>
+              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+              <stringProp name="HTTPSampler.path">/click-bench/click/container/customer-list.htm</stringProp>
+              <stringProp name="HTTPSampler.method">GET</stringProp>
+              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
               <stringProp name="HTTPSampler.FILE_NAME"></stringProp>
               <stringProp name="HTTPSampler.FILE_FIELD"></stringProp>
+              <stringProp name="HTTPSampler.mimetype"></stringProp>
               <stringProp name="HTTPSampler.monitor">false</stringProp>
               <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
             </HTTPSampler>
             <hashTree/>
           </hashTree>
         </hashTree>
-        <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="Click Add Customer" enabled="false"/>
+        <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="CLICK Add Customer" enabled="false"/>
         <hashTree>
           <LoopController guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
             <boolProp name="LoopController.continue_forever">true</boolProp>
@@ -146,23 +176,23 @@
               <stringProp name="HTTPSampler.domain"></stringProp>
               <stringProp name="HTTPSampler.port"></stringProp>
               <stringProp name="HTTPSampler.protocol"></stringProp>
-              <stringProp name="HTTPSampler.method">GET</stringProp>
               <stringProp name="HTTPSampler.contentEncoding"></stringProp>
-              <stringProp name="HTTPSampler.path">/click-bench/pages/add-customer.htm</stringProp>
+              <stringProp name="HTTPSampler.path">/click-bench/click/pages/add-customer.htm</stringProp>
+              <stringProp name="HTTPSampler.method">GET</stringProp>
               <boolProp name="HTTPSampler.follow_redirects">false</boolProp>
               <boolProp name="HTTPSampler.auto_redirects">true</boolProp>
               <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
               <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
-              <stringProp name="HTTPSampler.mimetype"></stringProp>
               <stringProp name="HTTPSampler.FILE_NAME"></stringProp>
               <stringProp name="HTTPSampler.FILE_FIELD"></stringProp>
+              <stringProp name="HTTPSampler.mimetype"></stringProp>
               <stringProp name="HTTPSampler.monitor">false</stringProp>
               <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
             </HTTPSampler>
             <hashTree/>
           </hashTree>
         </hashTree>
-        <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="Click+JSP" enabled="false"/>
+        <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="CLICK+Velocity" enabled="false"/>
         <hashTree>
           <LoopController guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
             <boolProp name="LoopController.continue_forever">true</boolProp>
@@ -176,23 +206,23 @@
               <stringProp name="HTTPSampler.domain"></stringProp>
               <stringProp name="HTTPSampler.port"></stringProp>
               <stringProp name="HTTPSampler.protocol"></stringProp>
-              <stringProp name="HTTPSampler.method">GET</stringProp>
               <stringProp name="HTTPSampler.contentEncoding"></stringProp>
-              <stringProp name="HTTPSampler.path">/click-bench/jsp/jsp-customer-list.htm</stringProp>
+              <stringProp name="HTTPSampler.path">/click-bench/click/velocity/velocity-customer-list.htm</stringProp>
+              <stringProp name="HTTPSampler.method">GET</stringProp>
               <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
               <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
               <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
               <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
-              <stringProp name="HTTPSampler.mimetype"></stringProp>
               <stringProp name="HTTPSampler.FILE_NAME"></stringProp>
               <stringProp name="HTTPSampler.FILE_FIELD"></stringProp>
+              <stringProp name="HTTPSampler.mimetype"></stringProp>
               <stringProp name="HTTPSampler.monitor">false</stringProp>
               <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
             </HTTPSampler>
             <hashTree/>
           </hashTree>
         </hashTree>
-        <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="Click+Velocity" enabled="false"/>
+        <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="CLICK+JSP" enabled="false"/>
         <hashTree>
           <LoopController guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
             <boolProp name="LoopController.continue_forever">true</boolProp>
@@ -206,23 +236,23 @@
               <stringProp name="HTTPSampler.domain"></stringProp>
               <stringProp name="HTTPSampler.port"></stringProp>
               <stringProp name="HTTPSampler.protocol"></stringProp>
-              <stringProp name="HTTPSampler.method">GET</stringProp>
               <stringProp name="HTTPSampler.contentEncoding"></stringProp>
-              <stringProp name="HTTPSampler.path">/click-bench/velocity/velocity-customer-list.htm</stringProp>
+              <stringProp name="HTTPSampler.path">/click-bench/click/jsp/jsp-customer-list.htm</stringProp>
+              <stringProp name="HTTPSampler.method">GET</stringProp>
               <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
               <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
               <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
               <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
-              <stringProp name="HTTPSampler.mimetype"></stringProp>
               <stringProp name="HTTPSampler.FILE_NAME"></stringProp>
               <stringProp name="HTTPSampler.FILE_FIELD"></stringProp>
+              <stringProp name="HTTPSampler.mimetype"></stringProp>
               <stringProp name="HTTPSampler.monitor">false</stringProp>
               <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
             </HTTPSampler>
             <hashTree/>
           </hashTree>
         </hashTree>
-        <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="JSP" enabled="true"/>
+        <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="JSP" enabled="false"/>
         <hashTree>
           <LoopController guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
             <boolProp name="LoopController.continue_forever">true</boolProp>
@@ -236,16 +266,16 @@
               <stringProp name="HTTPSampler.domain"></stringProp>
               <stringProp name="HTTPSampler.port"></stringProp>
               <stringProp name="HTTPSampler.protocol"></stringProp>
-              <stringProp name="HTTPSampler.method">GET</stringProp>
               <stringProp name="HTTPSampler.contentEncoding"></stringProp>
               <stringProp name="HTTPSampler.path">/click-bench/jsp/direct-jsp.jsp</stringProp>
+              <stringProp name="HTTPSampler.method">GET</stringProp>
               <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
               <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
               <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
               <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
-              <stringProp name="HTTPSampler.mimetype"></stringProp>
               <stringProp name="HTTPSampler.FILE_NAME"></stringProp>
               <stringProp name="HTTPSampler.FILE_FIELD"></stringProp>
+              <stringProp name="HTTPSampler.mimetype"></stringProp>
               <stringProp name="HTTPSampler.monitor">false</stringProp>
               <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
             </HTTPSampler>
@@ -266,54 +296,82 @@
               <stringProp name="HTTPSampler.domain"></stringProp>
               <stringProp name="HTTPSampler.port"></stringProp>
               <stringProp name="HTTPSampler.protocol"></stringProp>
-              <stringProp name="HTTPSampler.method">GET</stringProp>
               <stringProp name="HTTPSampler.contentEncoding"></stringProp>
               <stringProp name="HTTPSampler.path">/click-bench/customer-list.do</stringProp>
+              <stringProp name="HTTPSampler.method">GET</stringProp>
               <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
               <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
               <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
               <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+              <stringProp name="HTTPSampler.FILE_NAME"></stringProp>
+              <stringProp name="HTTPSampler.FILE_FIELD"></stringProp>
               <stringProp name="HTTPSampler.mimetype"></stringProp>
+              <stringProp name="HTTPSampler.monitor">false</stringProp>
+              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+            </HTTPSampler>
+            <hashTree/>
+          </hashTree>
+        </hashTree>
+        <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="Tapestry" enabled="false"/>
+        <hashTree>
+          <LoopController guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
+            <boolProp name="LoopController.continue_forever">true</boolProp>
+            <stringProp name="LoopController.loops">400</stringProp>
+          </LoopController>
+          <hashTree>
+            <HTTPSampler guiclass="HttpTestSampleGui" testclass="HTTPSampler" testname="HTTP Request" enabled="true">
+              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+                <collectionProp name="Arguments.arguments"/>
+              </elementProp>
+              <stringProp name="HTTPSampler.domain"></stringProp>
+              <stringProp name="HTTPSampler.port"></stringProp>
+              <stringProp name="HTTPSampler.protocol"></stringProp>
+              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+              <stringProp name="HTTPSampler.path">/click-bench/tapestry/customerlist</stringProp>
+              <stringProp name="HTTPSampler.method">GET</stringProp>
+              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
               <stringProp name="HTTPSampler.FILE_NAME"></stringProp>
               <stringProp name="HTTPSampler.FILE_FIELD"></stringProp>
+              <stringProp name="HTTPSampler.mimetype"></stringProp>
+              <stringProp name="HTTPSampler.monitor">false</stringProp>
+              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+            </HTTPSampler>
+            <hashTree/>
+          </hashTree>
+        </hashTree>
+        <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="Stripes" enabled="false"/>
+        <hashTree>
+          <LoopController guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
+            <boolProp name="LoopController.continue_forever">true</boolProp>
+            <stringProp name="LoopController.loops">400</stringProp>
+          </LoopController>
+          <hashTree>
+            <HTTPSampler guiclass="HttpTestSampleGui" testclass="HTTPSampler" testname="HTTP Request" enabled="true">
+              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+                <collectionProp name="Arguments.arguments"/>
+              </elementProp>
+              <stringProp name="HTTPSampler.domain"></stringProp>
+              <stringProp name="HTTPSampler.port"></stringProp>
+              <stringProp name="HTTPSampler.protocol"></stringProp>
+              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+              <stringProp name="HTTPSampler.path">/click-bench/CustomerList.action</stringProp>
+              <stringProp name="HTTPSampler.method">GET</stringProp>
+              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+              <stringProp name="HTTPSampler.FILE_NAME"></stringProp>
+              <stringProp name="HTTPSampler.FILE_FIELD"></stringProp>
+              <stringProp name="HTTPSampler.mimetype"></stringProp>
               <stringProp name="HTTPSampler.monitor">false</stringProp>
               <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
             </HTTPSampler>
             <hashTree/>
           </hashTree>
         </hashTree>
-        <ResultCollector guiclass="SummaryReport" testclass="ResultCollector" testname="Summary Report" enabled="true">
-          <boolProp name="ResultCollector.error_logging">false</boolProp>
-          <objProp>
-            <value class="SampleSaveConfiguration">
-              <time>true</time>
-              <latency>true</latency>
-              <timestamp>true</timestamp>
-              <success>true</success>
-              <label>true</label>
-              <code>true</code>
-              <message>true</message>
-              <threadName>true</threadName>
-              <dataType>true</dataType>
-              <encoding>false</encoding>
-              <assertions>true</assertions>
-              <subresults>true</subresults>
-              <responseData>false</responseData>
-              <samplerData>false</samplerData>
-              <xml>true</xml>
-              <fieldNames>false</fieldNames>
-              <responseHeaders>false</responseHeaders>
-              <requestHeaders>false</requestHeaders>
-              <responseDataOnError>false</responseDataOnError>
-              <saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage>
-              <assertionsResultsToSave>0</assertionsResultsToSave>
-              <bytes>true</bytes>
-            </value>
-            <name>saveConfig</name>
-          </objProp>
-          <stringProp name="filename"></stringProp>
-        </ResultCollector>
-        <hashTree/>
       </hashTree>
     </hashTree>
   </hashTree>

Modified: incubator/click/trunk/examples/click-bench/web/jsp/direct-jsp.jsp
URL: http://svn.apache.org/viewvc/incubator/click/trunk/examples/click-bench/web/jsp/direct-jsp.jsp?rev=800435&r1=800434&r2=800435&view=diff
==============================================================================
--- incubator/click/trunk/examples/click-bench/web/jsp/direct-jsp.jsp (original)
+++ incubator/click/trunk/examples/click-bench/web/jsp/direct-jsp.jsp Mon Aug  3 15:51:58 2009
@@ -1,6 +1,6 @@
 <%@page contentType="text/html" pageEncoding="UTF-8"%>
-<%@taglib prefix="c" uri="http://java.sun.com/jstl/core"%>
-<%@taglib prefix="fmt" uri="http://java.sun.com/jstl/fmt"%>
+<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
+<%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
 <%@page import="benchmark.dao.*" %>
 <%@page import="java.text.*" %>
 <%@page import="java.util.*" %>
@@ -26,18 +26,18 @@
 </tr>
 </thead>
 <tbody>
-<c:forEach var="customer" items="${customers}" varStatus="lineInfo"> 
+<c:forEach var="customer" items="${customers}" varStatus="lineInfo">
 <c:choose>
 <c:when test="${lineInfo.count % 2 == 0}"> <tr class="odd"> </c:when> 
 <c:otherwise> <tr class="even"> </c:otherwise>
 </c:choose> 
-<td id="table-firstName_<c:out value="${lineInfo.count}"/>"><c:out value="${customer.firstName}"/></td> 
-<td id="table-lastName_<c:out value="${lineInfo.count}"/>"><c:out value="${customer.lastName}"/></td>
-<td id="table-state_<c:out value="${lineInfo.count}"/>"> <c:out value="${customer.state}"/> </td>
-<td id="table-birthDate_<c:out value="${lineInfo.count}"/>"> <fmt:formatDate value="${customer.birthDate}" pattern="MMMM d, yyyy"/> </td>
+<td><c:out value="${customer.firstName}"/></td> 
+<td><c:out value="${customer.lastName}"/></td>
+<td> <c:out value="${customer.state}"/> </td>
+<td> <fmt:formatDate value="${customer.birthDate}" pattern="MMMM d, yyyy"/> </td>
 <td align="left">
-<a href="/jsp/jsp-customer-list.htm?id=${customer.id}&value=0&page=0">Edit</a> |
-<a href="/jsp/jsp-customer-list.htm?id=${customer.id}&value=0&page=0">Delete</a>                            
+<a href="${pageContext.request.contextPath}/jsp/direct-jsp.jsp?id=${customer.id}&value=0&page=0">Edit</a> |
+<a href="${pageContext.request.contextPath}/jsp/direct-jsp.jsp?id=${customer.id}&value=0&page=0">Delete</a>
 </td>
 </tr>
 </c:forEach>