You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beehive.apache.org by ri...@apache.org on 2005/05/05 23:11:53 UTC

svn commit: r168410 - in /incubator/beehive/trunk/netui: ant/ external/jsf/myfaces-1.0.7/ external/jsf/myfaces-1.0.9/ external/jsf/myfaces-1.0.9/lib/ test/webapps/jsf/jsfWeb/WEB-INF/ test/webapps/jsf/testRecorder/tests-myfaces/

Author: rich
Date: Thu May  5 14:11:52 2005
New Revision: 168410

URL: http://svn.apache.org/viewcvs?rev=168410&view=rev
Log:
Fix for http://issues.apache.org/jira/browse/BEEHIVE-607 : MyFaces is out of date under NetUI

This updates us to use MyFaces 1.0.9.

tests: bvt in netui, bvt.myfaces in netui/test/webapps/jsf (WinXP)
BB: self (linux)


Added:
    incubator/beehive/trunk/netui/external/jsf/myfaces-1.0.9/
    incubator/beehive/trunk/netui/external/jsf/myfaces-1.0.9/lib/
    incubator/beehive/trunk/netui/external/jsf/myfaces-1.0.9/lib/myfaces-extensions.jar   (with props)
    incubator/beehive/trunk/netui/external/jsf/myfaces-1.0.9/lib/myfaces-impl.jar   (with props)
    incubator/beehive/trunk/netui/external/jsf/myfaces-1.0.9/lib/myfaces-jsf-api.jar   (with props)
    incubator/beehive/trunk/netui/external/jsf/myfaces-1.0.9/lib/myfaces.jar   (with props)
Removed:
    incubator/beehive/trunk/netui/external/jsf/myfaces-1.0.7/
Modified:
    incubator/beehive/trunk/netui/ant/netui.properties
    incubator/beehive/trunk/netui/test/webapps/jsf/jsfWeb/WEB-INF/web.xml.myfaces
    incubator/beehive/trunk/netui/test/webapps/jsf/testRecorder/tests-myfaces/FacesSmokeAnchors.xml
    incubator/beehive/trunk/netui/test/webapps/jsf/testRecorder/tests-myfaces/FacesSmokeFormTwo.xml
    incubator/beehive/trunk/netui/test/webapps/jsf/testRecorder/tests-myfaces/JpfFaces.xml
    incubator/beehive/trunk/netui/test/webapps/jsf/testRecorder/tests-myfaces/RestorePreviousPage.xml

Modified: incubator/beehive/trunk/netui/ant/netui.properties
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/ant/netui.properties?rev=168410&r1=168409&r2=168410&view=diff
==============================================================================
--- incubator/beehive/trunk/netui/ant/netui.properties (original)
+++ incubator/beehive/trunk/netui/ant/netui.properties Thu May  5 14:11:52 2005
@@ -31,7 +31,7 @@
 struts.dir=${netui.home}/external/struts
 struts11.dir=${struts.dir}/legacy/jakarta-struts-1.1-lib
 struts12.dir=${struts.dir}
-jsf.dir=${netui.home}/external/jsf/myfaces-1.0.7
+jsf.dir=${netui.home}/external/jsf/myfaces-1.0.9
 tomcat.lib.dir=${netui.home}/external/tomcat
 
 #

Added: incubator/beehive/trunk/netui/external/jsf/myfaces-1.0.9/lib/myfaces-extensions.jar
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/external/jsf/myfaces-1.0.9/lib/myfaces-extensions.jar?rev=168410&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/beehive/trunk/netui/external/jsf/myfaces-1.0.9/lib/myfaces-extensions.jar
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/beehive/trunk/netui/external/jsf/myfaces-1.0.9/lib/myfaces-impl.jar
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/external/jsf/myfaces-1.0.9/lib/myfaces-impl.jar?rev=168410&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/beehive/trunk/netui/external/jsf/myfaces-1.0.9/lib/myfaces-impl.jar
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/beehive/trunk/netui/external/jsf/myfaces-1.0.9/lib/myfaces-jsf-api.jar
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/external/jsf/myfaces-1.0.9/lib/myfaces-jsf-api.jar?rev=168410&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/beehive/trunk/netui/external/jsf/myfaces-1.0.9/lib/myfaces-jsf-api.jar
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/beehive/trunk/netui/external/jsf/myfaces-1.0.9/lib/myfaces.jar
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/external/jsf/myfaces-1.0.9/lib/myfaces.jar?rev=168410&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/beehive/trunk/netui/external/jsf/myfaces-1.0.9/lib/myfaces.jar
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Modified: incubator/beehive/trunk/netui/test/webapps/jsf/jsfWeb/WEB-INF/web.xml.myfaces
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/jsf/jsfWeb/WEB-INF/web.xml.myfaces?rev=168410&r1=168409&r2=168410&view=diff
==============================================================================
--- incubator/beehive/trunk/netui/test/webapps/jsf/jsfWeb/WEB-INF/web.xml.myfaces (original)
+++ incubator/beehive/trunk/netui/test/webapps/jsf/jsfWeb/WEB-INF/web.xml.myfaces Thu May  5 14:11:52 2005
@@ -5,15 +5,17 @@
     xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
     version="2.4">
 
-<!--
     <context-param>
         <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
-        <param-value>client</param-value>
+        <param-value>server</param-value>
+        <description>
+            State saving method: "client" or "server" (= default)
+            See JSF Specification 2.5.2
+        </description>
     </context-param>
--->
 
     <context-param>
-        <param-name>net.sourceforge.myfaces.ALLOW_JAVASCRIPT</param-name>
+        <param-name>org.apache.myfaces.ALLOW_JAVASCRIPT</param-name>
         <param-value>true</param-value>
         <description>
             This parameter tells MyFaces if javascript code should be allowed in the
@@ -27,7 +29,7 @@
     </context-param>
     
     <context-param>
-        <param-name>net.sourceforge.myfaces.PRETTY_HTML</param-name>
+        <param-name>org.apache.myfaces.PRETTY_HTML</param-name>
         <param-value>true</param-value>
         <description>
             If true, rendered HTML code will be formatted, so that it is "human readable".
@@ -35,153 +37,155 @@
             influence the HTML code.
             Default: "true"
         </description>
-    </context-param>
+    </context-param><!-- Test Recorder Filter -->
+
+    <filter>
+      <filter-name>TestRecorderFilter</filter-name>
+      <filter-class>org.apache.beehive.netui.tools.testrecorder.server.TestRecorderFilter</filter-class>
+        <init-param>
+            <param-name>webapp</param-name>
+            <param-value>jsfWeb</param-value>
+        </init-param>
+    </filter>
+
+    <filter>
+      <filter-name>PageFlowJspFilter</filter-name>
+      <filter-class>org.apache.beehive.netui.pageflow.PageFlowJspFilter</filter-class>
+    </filter>
+
+    <filter>
+        <filter-name>PageFlowFacesFilter</filter-name>
+        <filter-class>org.apache.beehive.netui.pageflow.PageFlowFacesFilter</filter-class>
+    </filter>
+
+    <filter-mapping>
+      <filter-name>TestRecorderFilter</filter-name>
+      <url-pattern>/*</url-pattern>
+    </filter-mapping>
+
+    <filter-mapping>
+        <filter-name>PageFlowJspFilter</filter-name>
+        <url-pattern>*.jsp</url-pattern>
+        <dispatcher>FORWARD</dispatcher>
+        <dispatcher>REQUEST</dispatcher>
+        <dispatcher>INCLUDE</dispatcher>
+    </filter-mapping>
+
+    <filter-mapping>
+        <filter-name>PageFlowJspFilter</filter-name>
+        <url-pattern>*.jspx</url-pattern>
+        <dispatcher>FORWARD</dispatcher>
+        <dispatcher>REQUEST</dispatcher>
+        <dispatcher>INCLUDE</dispatcher>
+    </filter-mapping>
+
+    <filter-mapping>
+        <filter-name>PageFlowFacesFilter</filter-name>
+        <url-pattern>*.faces</url-pattern>
+        <dispatcher>FORWARD</dispatcher>
+        <dispatcher>REQUEST</dispatcher>
+        <dispatcher>INCLUDE</dispatcher>
+    </filter-mapping>
+
+    <filter-mapping>
+        <filter-name>PageFlowFacesFilter</filter-name>
+        <url-pattern>*.jsf</url-pattern>
+        <dispatcher>FORWARD</dispatcher>
+        <dispatcher>REQUEST</dispatcher>
+        <dispatcher>INCLUDE</dispatcher>
+    </filter-mapping>
+
+    <!-- Listener, that does all the startup work (configuration, init). -->
+    <listener>
+        <listener-class>org.apache.myfaces.webapp.StartupServletContextListener</listener-class>
+    </listener>
+
+
+
+    <!-- Test Recorder Servlet (control channel) -->
+    <servlet>
+      <servlet-name>TestRecorderServlet</servlet-name>
+      <servlet-class>org.apache.beehive.netui.tools.testrecorder.server.TestRecorderServlet</servlet-class>
+    </servlet>
+
+    <!-- Struts Action Servlet / PageFlowController Configuration (with debugging) -->
+    <servlet>
+      <servlet-name>action</servlet-name>
+      <servlet-class>org.apache.beehive.netui.pageflow.PageFlowActionServlet</servlet-class>
 
-  <!-- Test Recorder Filter -->
-  <filter>
-    <filter-name>TestRecorderFilter</filter-name>
-    <filter-class>org.apache.beehive.netui.tools.testrecorder.server.TestRecorderFilter</filter-class>
       <init-param>
-          <param-name>webapp</param-name>
-          <param-value>jsfWeb</param-value>
+        <param-name>config</param-name>
+        <param-value>/WEB-INF/.pageflow-struts-generated/jpf-struts-config.xml</param-value>
       </init-param>
-  </filter>
-
-  <filter>
-    <filter-name>PageFlowJspFilter</filter-name>
-    <filter-class>org.apache.beehive.netui.pageflow.PageFlowJspFilter</filter-class>
-  </filter>
-
-  <filter>
-      <filter-name>PageFlowFacesFilter</filter-name>
-      <filter-class>org.apache.beehive.netui.pageflow.PageFlowFacesFilter</filter-class>
-  </filter>
-
-  <filter-mapping>
-    <filter-name>TestRecorderFilter</filter-name>
-    <url-pattern>/*</url-pattern>
-  </filter-mapping>
 
-  <filter-mapping>
-      <filter-name>PageFlowJspFilter</filter-name>
-      <url-pattern>*.jsp</url-pattern>
-      <dispatcher>FORWARD</dispatcher>
-      <dispatcher>REQUEST</dispatcher>
-      <dispatcher>INCLUDE</dispatcher>
-  </filter-mapping>
+      <init-param>
+        <param-name>debug</param-name>
+        <param-value>2</param-value>
+      </init-param>
+      <init-param>
+        <param-name>detail</param-name>
+        <param-value>2</param-value>
+      </init-param>
+      <load-on-startup>2</load-on-startup>
+    </servlet>
 
-  <filter-mapping>
-      <filter-name>PageFlowJspFilter</filter-name>
-      <url-pattern>*.jspx</url-pattern>
-      <dispatcher>FORWARD</dispatcher>
-      <dispatcher>REQUEST</dispatcher>
-      <dispatcher>INCLUDE</dispatcher>
-  </filter-mapping>
-
-  <filter-mapping>
-      <filter-name>PageFlowFacesFilter</filter-name>
-      <url-pattern>*.faces</url-pattern>
-      <dispatcher>FORWARD</dispatcher>
-      <dispatcher>REQUEST</dispatcher>
-      <dispatcher>INCLUDE</dispatcher>
-  </filter-mapping>
-
-  <filter-mapping>
-      <filter-name>PageFlowFacesFilter</filter-name>
-      <url-pattern>*.jsf</url-pattern>
-      <dispatcher>FORWARD</dispatcher>
-      <dispatcher>REQUEST</dispatcher>
-      <dispatcher>INCLUDE</dispatcher>
-  </filter-mapping>
-
-  <listener>
-      <listener-class>net.sourceforge.myfaces.webapp.StartupServletContextListener</listener-class>
-  </listener>
-
-  <!-- Test Recorder Servlet (control channel) -->
-  <servlet>
-    <servlet-name>TestRecorderServlet</servlet-name>
-    <servlet-class>org.apache.beehive.netui.tools.testrecorder.server.TestRecorderServlet</servlet-class>
-  </servlet>
-
-  <!-- Struts Action Servlet / PageFlowController Configuration (with debugging) -->
-  <servlet>
-    <servlet-name>action</servlet-name>
-    <servlet-class>org.apache.beehive.netui.pageflow.PageFlowActionServlet</servlet-class>
-
-    <init-param>
-      <param-name>config</param-name>
-      <param-value>/WEB-INF/.pageflow-struts-generated/jpf-struts-config.xml</param-value>
-    </init-param>
-
-    <init-param>
-      <param-name>debug</param-name>
-      <param-value>2</param-value>
-    </init-param>
-    <init-param>
-      <param-name>detail</param-name>
-      <param-value>2</param-value>
-    </init-param>
-    <load-on-startup>2</load-on-startup>
-  </servlet>
-
-  <!-- The XmlHttpRequest handler Servlet -->
-  <servlet>
-    <servlet-name>XmlHttpRequestServlet</servlet-name>
-    <servlet-class>org.apache.beehive.netui.pageflow.xmlhttprequest.XmlHttpRequestServlet</servlet-class>
-  </servlet>
-
-  <!-- Struts Action Servlet Mapping -->
-
-  <!-- Note that because Struts takes the *last* mapping here as the extension to add to
-       actions posted from forms, we must have *.do come after *.jpf. -->
-  <servlet-mapping>
-    <servlet-name>action</servlet-name>
-    <url-pattern>*.jpf</url-pattern>
-  </servlet-mapping>
-
-  <servlet-mapping>
-    <servlet-name>action</servlet-name>
-    <url-pattern>*.do</url-pattern>
-  </servlet-mapping>
-
-  <!-- XmlHttpRequest Servlet -->
-  <servlet-mapping>
-    <servlet-name>XmlHttpRequestServlet</servlet-name>
-    <url-pattern>*.xhr</url-pattern>
-  </servlet-mapping>
-
-  <!-- Faces Servlet -->
-  <servlet>
-      <servlet-name>Faces Servlet</servlet-name>
-      <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
-      <load-on-startup> 1 </load-on-startup>
-  </servlet>
-
-  <!-- TestRecorder Control Servlet -->
-  <servlet-mapping>
-    <servlet-name>TestRecorderServlet</servlet-name>
-    <url-pattern>/testRecorder</url-pattern>
-  </servlet-mapping>
-
-  <!-- 
-       This mapping identifies a jsp page as having JSF content.  If a
-       request comes to the server for foo.faces, the container will
-       send the request to the FacesServlet, which will expect a
-       corresponding foo.jsp page to exist containing the content.
-  -->
-  <servlet-mapping>
-      <servlet-name>Faces Servlet</servlet-name>
-      <url-pattern>*.faces</url-pattern>
-  </servlet-mapping>
-
-  <welcome-file-list>
-    <welcome-file>index.jsp</welcome-file>
-  </welcome-file-list>
-
-  <error-page>
-    <error-code>500</error-code>
-    <location>/error.jsp</location>
-  </error-page>
+    <!-- The XmlHttpRequest handler Servlet -->
+    <servlet>
+      <servlet-name>XmlHttpRequestServlet</servlet-name>
+      <servlet-class>org.apache.beehive.netui.pageflow.xmlhttprequest.XmlHttpRequestServlet</servlet-class>
+    </servlet>
+
+    <!-- Struts Action Servlet Mapping -->
+
+    <!-- Note that because Struts takes the *last* mapping here as the extension to add to
+         actions posted from forms, we must have *.do come after *.jpf. -->
+    <servlet-mapping>
+      <servlet-name>action</servlet-name>
+      <url-pattern>*.jpf</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+      <servlet-name>action</servlet-name>
+      <url-pattern>*.do</url-pattern>
+    </servlet-mapping>
+
+    <!-- XmlHttpRequest Servlet -->
+    <servlet-mapping>
+      <servlet-name>XmlHttpRequestServlet</servlet-name>
+      <url-pattern>*.xhr</url-pattern>
+    </servlet-mapping>
+
+    <!-- Faces Servlet -->
+    <servlet>
+        <servlet-name>Faces Servlet</servlet-name>
+        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
+        <load-on-startup> 1 </load-on-startup>
+    </servlet>
+
+    <!-- TestRecorder Control Servlet -->
+    <servlet-mapping>
+      <servlet-name>TestRecorderServlet</servlet-name>
+      <url-pattern>/testRecorder</url-pattern>
+    </servlet-mapping>
+
+    <!-- 
+         This mapping identifies a jsp page as having JSF content.  If a
+         request comes to the server for foo.faces, the container will
+         send the request to the FacesServlet, which will expect a
+         corresponding foo.jsp page to exist containing the content.
+    -->
+    <servlet-mapping>
+        <servlet-name>Faces Servlet</servlet-name>
+        <url-pattern>*.faces</url-pattern>
+    </servlet-mapping>
+
+    <welcome-file-list>
+      <welcome-file>index.jsp</welcome-file>
+    </welcome-file-list>
+
+    <error-page>
+      <error-code>500</error-code>
+      <location>/error.jsp</location>
+    </error-page>
 
 </web-app>

Modified: incubator/beehive/trunk/netui/test/webapps/jsf/testRecorder/tests-myfaces/FacesSmokeAnchors.xml
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/jsf/testRecorder/tests-myfaces/FacesSmokeAnchors.xml?rev=168410&r1=168409&r2=168410&view=diff
==============================================================================
--- incubator/beehive/trunk/netui/test/webapps/jsf/testRecorder/tests-myfaces/FacesSmokeAnchors.xml (original)
+++ incubator/beehive/trunk/netui/test/webapps/jsf/testRecorder/tests-myfaces/FacesSmokeAnchors.xml Thu May  5 14:11:52 2005
@@ -166,7 +166,7 @@
 </tbody></table>
                 
                 <span class="sectionTitle">Links</span>
-                <table width="400pt" style="margin:5,0,5,0"><tbody><tr><td><a href="#" onclick="clear_formBase();document.forms['formBase'].elements['formBase:_link_hidden_'].value='formBase:_id8';document.forms['formBase'].elements['foo'].value='link1-bar';document.forms['formBase'].elements['blee'].value='link1-baz';document.forms['formBase'].submit();return false;" id="formBase:_id8" class="normal"><span class="normal">Command Link One</span></a></td><td><a href="#" onclick="clear_formBase();document.forms['formBase'].elements['formBase:_link_hidden_'].value='formBase:_id12';document.forms['formBase'].elements['foo'].value='link2-bar';document.forms['formBase'].elements['blee'].value='link2-baz';document.forms['formBase'].submit();return false;" id="formBase:_id12" class="normal"><span class="normal">Command Link Two</span></a></td></tr>
+                <table width="400pt" style="margin:5,0,5,0"><tbody><tr><td><a href="#" onclick="clear_formBase();document.forms['formBase'].elements['formBase:_link_hidden_'].value='formBase:_id8';document.forms['formBase'].elements['foo'].value='link1-bar';document.forms['formBase'].elements['blee'].value='link1-baz';if(document.forms['formBase'].onsubmit){document.forms['formBase'].onsubmit();}document.forms['formBase'].submit();return false;" id="formBase:_id8" class="normal"><span class="normal">Command Link One</span></a></td><td><a href="#" onclick="clear_formBase();document.forms['formBase'].elements['formBase:_link_hidden_'].value='formBase:_id12';document.forms['formBase'].elements['foo'].value='link2-bar';document.forms['formBase'].elements['blee'].value='link2-baz';if(document.forms['formBase'].onsubmit){document.forms['formBase'].onsubmit();}document.forms['formBase'].submit();return false;" id="formBase:_id12" class="normal"><span class="normal">Command Link Two</span></a></td></tr>
 </tbody></table>
 
                 <table width="400pt" style="margin:5,0,5,0"><tbody><tr><td><span class="sectionTitle">Image Button</span></td></tr>

Modified: incubator/beehive/trunk/netui/test/webapps/jsf/testRecorder/tests-myfaces/FacesSmokeFormTwo.xml
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/jsf/testRecorder/tests-myfaces/FacesSmokeFormTwo.xml?rev=168410&r1=168409&r2=168410&view=diff
==============================================================================
--- incubator/beehive/trunk/netui/test/webapps/jsf/testRecorder/tests-myfaces/FacesSmokeFormTwo.xml (original)
+++ incubator/beehive/trunk/netui/test/webapps/jsf/testRecorder/tests-myfaces/FacesSmokeFormTwo.xml Thu May  5 14:11:52 2005
@@ -2,8 +2,8 @@
 <ses:recorderSession xmlns:ses="http://beehive.apache.org/netui/tools/testrecorder/2004/session">
    <ses:sessionName>FacesSmokeFormTwo</ses:sessionName>
    <ses:tester>rich (re-record of daryl)</ses:tester>
-   <ses:startDate>24 Apr 2005, 08:52:23.064 PM MDT</ses:startDate>
-   <ses:description>Smoke test of the JSF Form controls</ses:description>
+   <ses:startDate>05 May 2005, 01:58:17.436 PM MDT</ses:startDate>
+   <ses:description>rich (re-record of daryl)</ses:description>
    <ses:tests>
       <ses:test>
          <ses:testNumber>1</ses:testNumber>
@@ -18,7 +18,7 @@
             <ses:cookies>
                <ses:cookie>
                   <ses:name>JSESSIONID</ses:name>
-                  <ses:value>6E74CE9A7A70DABC25D534E7459DA9E7</ses:value>
+                  <ses:value>9F48D48A3C98298356A14532C77A447F</ses:value>
                </ses:cookie>
             </ses:cookies>
             <ses:headers>
@@ -44,7 +44,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>cookie</ses:name>
-                  <ses:value>JSESSIONID=6E74CE9A7A70DABC25D534E7459DA9E7</ses:value>
+                  <ses:value>$Version=0; JSESSIONID=9F48D48A3C98298356A14532C77A447F; $Path=/jsfWeb</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>host</ses:name>
@@ -55,6 +55,10 @@
                   <ses:value>300</ses:value>
                </ses:header>
                <ses:header>
+                  <ses:name>testrecorder.playback.testid</ses:name>
+                  <ses:value>78ccaf64:103ae57e12c:-7f01</ses:value>
+               </ses:header>
+               <ses:header>
                   <ses:name>user-agent</ses:name>
                   <ses:value>Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.7) Gecko/20050414 Firefox/1.0.3</ses:value>
                </ses:header>
@@ -87,6 +91,9 @@
     </body>
 </html>]]></ses:responseBody>
          </ses:response>
+         <ses:testResults>
+            <ses:testStatus>pass</ses:testStatus>
+         </ses:testResults>
       </ses:test>
       <ses:test>
          <ses:testNumber>2</ses:testNumber>
@@ -101,7 +108,7 @@
             <ses:cookies>
                <ses:cookie>
                   <ses:name>JSESSIONID</ses:name>
-                  <ses:value>6E74CE9A7A70DABC25D534E7459DA9E7</ses:value>
+                  <ses:value>9F48D48A3C98298356A14532C77A447F</ses:value>
                </ses:cookie>
             </ses:cookies>
             <ses:headers>
@@ -127,7 +134,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>cookie</ses:name>
-                  <ses:value>JSESSIONID=6E74CE9A7A70DABC25D534E7459DA9E7</ses:value>
+                  <ses:value>$Version=0; JSESSIONID=9F48D48A3C98298356A14532C77A447F; $Path=/jsfWeb</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>host</ses:name>
@@ -138,8 +145,8 @@
                   <ses:value>300</ses:value>
                </ses:header>
                <ses:header>
-                  <ses:name>referer</ses:name>
-                  <ses:value>http://localhost:8080/jsfWeb/faces/facesSmoke/Controller.jpf</ses:value>
+                  <ses:name>testrecorder.playback.testid</ses:name>
+                  <ses:value>78ccaf64:103ae57e12c:-7f01</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>user-agent</ses:name>
@@ -167,13 +174,13 @@
                 <span class="sectionTitle">Form One</span>
                 <br />
                 <table width="600pt"><tbody><tr><td class="columnRight">SelectBooleanCheckbox</td><td class="columnLeft"><input type="checkbox" name="_id0:selectBooleanCheckbox" id="_id0:selectBooleanCheckbox" value="true"/></td></tr>
-<tr><td class="columnRight">SelectManyCheckbox</td><td class="columnLeft"><table id="_id0:_id10"><tr>		<td><label><input type="checkbox" name="_id0:_id10" value="item1"/>&nbsp;Item One</label></td>		<td><label><input type="checkbox" name="_id0:_id10" value="item2"/>&nbsp;Item Two</label></td></tr></table></td></tr>
-<tr><td class="columnRight">SelectManyCheckbox-SelectItems</td><td class="columnLeft"><table id="_id0:_id14"><tr>		<td><label><input type="checkbox" name="_id0:_id14" value="Select Items One"/>&nbsp;Select Items One</label></td>		<td><label><input type="checkbox" name="_id0:_id14" value="Select Items Two"/>&nbsp;Select Items Two</label></td></tr></table></td></tr>
+<tr><td class="columnRight">SelectManyCheckbox</td><td class="columnLeft"><table><tr>		<td><label><input type="checkbox" name="_id0:_id10" value="item1"/>&#160;Item One</label></td>		<td><label><input type="checkbox" name="_id0:_id10" value="item2"/>&#160;Item Two</label></td></tr></table></td></tr>
+<tr><td class="columnRight">SelectManyCheckbox-SelectItems</td><td class="columnLeft"><table><tr>		<td><label><input type="checkbox" name="_id0:_id14" value="Select Items One"/>&#160;Select Items One</label></td>		<td><label><input type="checkbox" name="_id0:_id14" value="Select Items Two"/>&#160;Select Items Two</label></td></tr></table></td></tr>
 <tr><td class="columnRight">SelectManyListbox</td><td class="columnLeft"><select name="_id0:_id17" multiple="true" size="3" style="color: #000099;font-family:Verdana;font-size:8pt;">		<option value="list1">List One</option>		<option value="list2">List Two</option>		<option value="list3">List Three</option></select></td></tr>
 <tr><td class="columnRight">SelectManyMenu</td><td class="columnLeft"><select name="_id0:_id22" multiple="true" size="1" style="color: #000099;font-family:Verdana;font-size:8pt;">		<option value="Menu1">Menu One</option>		<option value="Menu2">Menu Two</option>		<option value="Menu3">Menu Three</option></select></td></tr>
-<tr><td class="columnRight">SelectOneListbox</td><td class="columnLeft"><select name="_id0:_id27" size="-2147483648" style="color: #000099;font-family:Verdana;font-size:8pt;">		<option value="One-list1">One-List One</option>		<option value="One-list2">One-List Two</option>		<option value="One-list3">One-List Three</option></select></td></tr>
+<tr><td class="columnRight">SelectOneListbox</td><td class="columnLeft"><select name="_id0:_id27" size="3" style="color: #000099;font-family:Verdana;font-size:8pt;">		<option value="One-list1">One-List One</option>		<option value="One-list2">One-List Two</option>		<option value="One-list3">One-List Three</option></select></td></tr>
 <tr><td class="columnRight">SelectOneMenu</td><td class="columnLeft"><select name="_id0:_id32" size="1" style="color: #000099;font-family:Verdana;font-size:8pt;">		<option value="One-Menu One">One-Menu-1</option>		<option value="One-Menu Two">One-Menu-2</option>		<option value="One-Menu Three">One-Menu-3</option></select></td></tr>
-<tr><td class="columnRight">SelectOneMenu</td><td class="columnLeft"><table id="_id0:_id37">		<tr><td><label><input type="radio" name="_id0:_id37" value="One-Radio One"/>&nbsp;One-Radio-1</label></td></tr>		<tr><td><label><input type="radio" name="_id0:_id37" value="One-Radio Two"/>&nbsp;One-Radio-2</label></td></tr>		<tr><td><label><input type="radio" name="_id0:_id37" value="One-Radio Three"/>&nbsp;One-Radio-3</label></td></tr></table></td></tr>
+<tr><td class="columnRight">SelectOneMenu</td><td class="columnLeft"><table><tr>		<td><label><input type="radio" name="_id0:_id37" value="One-Radio One"/>&#160;One-Radio-1</label></td>		<td><label><input type="radio" name="_id0:_id37" value="One-Radio Two"/>&#160;One-Radio-2</label></td>		<td><label><input type="radio" name="_id0:_id37" value="One-Radio Three"/>&#160;One-Radio-3</label></td></tr></table></td></tr>
 </tbody></table>
                 <input id="_id0:_id41" name="_id0:_id41" type="submit" value="Submit" onclick="clear__5Fid0();"/>
                 <hr>
@@ -192,8 +199,14 @@
     </body>
 </html>]]></ses:responseBody>
          </ses:response>
+         <ses:testResults>
+            <ses:testStatus>fail</ses:testStatus>
+         </ses:testResults>
       </ses:test>
    </ses:tests>
-   <ses:endDate>24 Apr 2005, 08:52:40.419 PM MDT</ses:endDate>
+   <ses:endDate>05 May 2005, 01:58:17.536 PM MDT</ses:endDate>
+   <ses:sessionStatus>fail</ses:sessionStatus>
    <ses:testCount>2</ses:testCount>
+   <ses:passedCount>1</ses:passedCount>
+   <ses:failedCount>1</ses:failedCount>
 </ses:recorderSession>

Modified: incubator/beehive/trunk/netui/test/webapps/jsf/testRecorder/tests-myfaces/JpfFaces.xml
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/jsf/testRecorder/tests-myfaces/JpfFaces.xml?rev=168410&r1=168409&r2=168410&view=diff
==============================================================================
--- incubator/beehive/trunk/netui/test/webapps/jsf/testRecorder/tests-myfaces/JpfFaces.xml (original)
+++ incubator/beehive/trunk/netui/test/webapps/jsf/testRecorder/tests-myfaces/JpfFaces.xml Thu May  5 14:11:52 2005
@@ -71,12 +71,12 @@
         &lt;form id="go2form" name="go2form" method="post" action="/jsfWeb/jpfFaces/page1.faces" enctype="application/x-www-form-urlencoded">
           	&lt;input id="go2form:foo" name="go2form:foo" type="text" value=""/>
             &lt;br/>
-            &lt;a href="#" onclick="clear_go2form();document.forms['go2form'].elements['go2form:_link_hidden_'].value='go2form:go2button';document.forms['go2form'].submit();return false;" id="go2form:go2button">go to page2 (pass a form)&lt;/a>
+            &lt;a href="#" onclick="clear_go2form();document.forms['go2form'].elements['go2form:_link_hidden_'].value='go2form:go2button';if(document.forms['go2form'].onsubmit){document.forms['go2form'].onsubmit();}document.forms['go2form'].submit();return false;" id="go2form:go2button">go to page2 (pass a form)&lt;/a>
                 - type "stay" to make the CommandHandler return null
             &lt;br/>
-            &lt;a href="#" onclick="clear_go2form();document.forms['go2form'].elements['go2form:_link_hidden_'].value='go2form:go3button';document.forms['go2form'].submit();return false;" id="go2form:go3button">go to page3 (no form)&lt;/a>
+            &lt;a href="#" onclick="clear_go2form();document.forms['go2form'].elements['go2form:_link_hidden_'].value='go2form:go3button';if(document.forms['go2form'].onsubmit){document.forms['go2form'].onsubmit();}document.forms['go2form'].submit();return false;" id="go2form:go3button">go to page3 (no form)&lt;/a>
             &lt;br/>
-            &lt;a href="#" onclick="clear_go2form();document.forms['go2form'].elements['go2form:_link_hidden_'].value='go2form:go4button';document.forms['go2form'].submit();return false;" id="go2form:go4button">go to page4 (no CommandHandler)&lt;/a>
+            &lt;a href="#" onclick="clear_go2form();document.forms['go2form'].elements['go2form:_link_hidden_'].value='go2form:go4button';if(document.forms['go2form'].onsubmit){document.forms['go2form'].onsubmit();}document.forms['go2form'].submit();return false;" id="go2form:go4button">go to page4 (no CommandHandler)&lt;/a>
         &lt;input type="hidden" name="go2form_SUBMIT" value="1"/>&lt;input type="hidden" name="go2form:_link_hidden_"/>&lt;script type="text/javascript">
 &lt;!--
 function clear_go2form() {
@@ -182,12 +182,12 @@
         &lt;form id="go2form" name="go2form" method="post" action="/jsfWeb/jpfFaces/page1.faces" enctype="application/x-www-form-urlencoded">
           	&lt;input id="go2form:foo" name="go2form:foo" type="text" value="stay"/>
             &lt;br/>
-            &lt;a href="#" onclick="clear_go2form();document.forms['go2form'].elements['go2form:_link_hidden_'].value='go2form:go2button';document.forms['go2form'].submit();return false;" id="go2form:go2button">go to page2 (pass a form)&lt;/a>
+            &lt;a href="#" onclick="clear_go2form();document.forms['go2form'].elements['go2form:_link_hidden_'].value='go2form:go2button';if(document.forms['go2form'].onsubmit){document.forms['go2form'].onsubmit();}document.forms['go2form'].submit();return false;" id="go2form:go2button">go to page2 (pass a form)&lt;/a>
                 - type "stay" to make the CommandHandler return null
             &lt;br/>
-            &lt;a href="#" onclick="clear_go2form();document.forms['go2form'].elements['go2form:_link_hidden_'].value='go2form:go3button';document.forms['go2form'].submit();return false;" id="go2form:go3button">go to page3 (no form)&lt;/a>
+            &lt;a href="#" onclick="clear_go2form();document.forms['go2form'].elements['go2form:_link_hidden_'].value='go2form:go3button';if(document.forms['go2form'].onsubmit){document.forms['go2form'].onsubmit();}document.forms['go2form'].submit();return false;" id="go2form:go3button">go to page3 (no form)&lt;/a>
             &lt;br/>
-            &lt;a href="#" onclick="clear_go2form();document.forms['go2form'].elements['go2form:_link_hidden_'].value='go2form:go4button';document.forms['go2form'].submit();return false;" id="go2form:go4button">go to page4 (no CommandHandler)&lt;/a>
+            &lt;a href="#" onclick="clear_go2form();document.forms['go2form'].elements['go2form:_link_hidden_'].value='go2form:go4button';if(document.forms['go2form'].onsubmit){document.forms['go2form'].onsubmit();}document.forms['go2form'].submit();return false;" id="go2form:go4button">go to page4 (no CommandHandler)&lt;/a>
         &lt;input type="hidden" name="go2form_SUBMIT" value="1"/>&lt;input type="hidden" name="go2form:_link_hidden_"/>&lt;script type="text/javascript">
 &lt;!--
 function clear_go2form() {
@@ -400,12 +400,12 @@
         &lt;form id="go2form" name="go2form" method="post" action="/jsfWeb/jpfFaces/page1.faces" enctype="application/x-www-form-urlencoded">
           	&lt;input id="go2form:foo" name="go2form:foo" type="text" value=""/>
             &lt;br/>
-            &lt;a href="#" onclick="clear_go2form();document.forms['go2form'].elements['go2form:_link_hidden_'].value='go2form:go2button';document.forms['go2form'].submit();return false;" id="go2form:go2button">go to page2 (pass a form)&lt;/a>
+            &lt;a href="#" onclick="clear_go2form();document.forms['go2form'].elements['go2form:_link_hidden_'].value='go2form:go2button';if(document.forms['go2form'].onsubmit){document.forms['go2form'].onsubmit();}document.forms['go2form'].submit();return false;" id="go2form:go2button">go to page2 (pass a form)&lt;/a>
                 - type "stay" to make the CommandHandler return null
             &lt;br/>
-            &lt;a href="#" onclick="clear_go2form();document.forms['go2form'].elements['go2form:_link_hidden_'].value='go2form:go3button';document.forms['go2form'].submit();return false;" id="go2form:go3button">go to page3 (no form)&lt;/a>
+            &lt;a href="#" onclick="clear_go2form();document.forms['go2form'].elements['go2form:_link_hidden_'].value='go2form:go3button';if(document.forms['go2form'].onsubmit){document.forms['go2form'].onsubmit();}document.forms['go2form'].submit();return false;" id="go2form:go3button">go to page3 (no form)&lt;/a>
             &lt;br/>
-            &lt;a href="#" onclick="clear_go2form();document.forms['go2form'].elements['go2form:_link_hidden_'].value='go2form:go4button';document.forms['go2form'].submit();return false;" id="go2form:go4button">go to page4 (no CommandHandler)&lt;/a>
+            &lt;a href="#" onclick="clear_go2form();document.forms['go2form'].elements['go2form:_link_hidden_'].value='go2form:go4button';if(document.forms['go2form'].onsubmit){document.forms['go2form'].onsubmit();}document.forms['go2form'].submit();return false;" id="go2form:go4button">go to page4 (no CommandHandler)&lt;/a>
         &lt;input type="hidden" name="go2form_SUBMIT" value="1"/>&lt;input type="hidden" name="go2form:_link_hidden_"/>&lt;script type="text/javascript">
 &lt;!--
 function clear_go2form() {
@@ -615,12 +615,12 @@
         &lt;form id="go2form" name="go2form" method="post" action="/jsfWeb/jpfFaces/page1.faces" enctype="application/x-www-form-urlencoded">
           	&lt;input id="go2form:foo" name="go2form:foo" type="text" value=""/>
             &lt;br/>
-            &lt;a href="#" onclick="clear_go2form();document.forms['go2form'].elements['go2form:_link_hidden_'].value='go2form:go2button';document.forms['go2form'].submit();return false;" id="go2form:go2button">go to page2 (pass a form)&lt;/a>
+            &lt;a href="#" onclick="clear_go2form();document.forms['go2form'].elements['go2form:_link_hidden_'].value='go2form:go2button';if(document.forms['go2form'].onsubmit){document.forms['go2form'].onsubmit();}document.forms['go2form'].submit();return false;" id="go2form:go2button">go to page2 (pass a form)&lt;/a>
                 - type "stay" to make the CommandHandler return null
             &lt;br/>
-            &lt;a href="#" onclick="clear_go2form();document.forms['go2form'].elements['go2form:_link_hidden_'].value='go2form:go3button';document.forms['go2form'].submit();return false;" id="go2form:go3button">go to page3 (no form)&lt;/a>
+            &lt;a href="#" onclick="clear_go2form();document.forms['go2form'].elements['go2form:_link_hidden_'].value='go2form:go3button';if(document.forms['go2form'].onsubmit){document.forms['go2form'].onsubmit();}document.forms['go2form'].submit();return false;" id="go2form:go3button">go to page3 (no form)&lt;/a>
             &lt;br/>
-            &lt;a href="#" onclick="clear_go2form();document.forms['go2form'].elements['go2form:_link_hidden_'].value='go2form:go4button';document.forms['go2form'].submit();return false;" id="go2form:go4button">go to page4 (no CommandHandler)&lt;/a>
+            &lt;a href="#" onclick="clear_go2form();document.forms['go2form'].elements['go2form:_link_hidden_'].value='go2form:go4button';if(document.forms['go2form'].onsubmit){document.forms['go2form'].onsubmit();}document.forms['go2form'].submit();return false;" id="go2form:go4button">go to page4 (no CommandHandler)&lt;/a>
         &lt;input type="hidden" name="go2form_SUBMIT" value="1"/>&lt;input type="hidden" name="go2form:_link_hidden_"/>&lt;script type="text/javascript">
 &lt;!--
 function clear_go2form() {

Modified: incubator/beehive/trunk/netui/test/webapps/jsf/testRecorder/tests-myfaces/RestorePreviousPage.xml
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/jsf/testRecorder/tests-myfaces/RestorePreviousPage.xml?rev=168410&r1=168409&r2=168410&view=diff
==============================================================================
--- incubator/beehive/trunk/netui/test/webapps/jsf/testRecorder/tests-myfaces/RestorePreviousPage.xml (original)
+++ incubator/beehive/trunk/netui/test/webapps/jsf/testRecorder/tests-myfaces/RestorePreviousPage.xml Thu May  5 14:11:52 2005
@@ -71,11 +71,11 @@
             &lt;form id="_id0" name="_id0" method="post" action="/jsfWeb/restorePreviousPage/page1.faces" enctype="application/x-www-form-urlencoded">
                 text: &lt;input id="_id0:_id1" name="_id0:_id1" type="text" value=""/>
                 &lt;br/>
-                &lt;a href="#" onclick="clear__5Fid0();document.forms['_id0'].elements['_id0:_link_hidden_'].value='_id0:_id2';document.forms['_id0'].submit();return false;" id="_id0:_id2">stay here, using navigateTo (state is restored)&lt;/a>
+                &lt;a href="#" onclick="clear__5Fid0();document.forms['_id0'].elements['_id0:_link_hidden_'].value='_id0:_id2';if(document.forms['_id0'].onsubmit){document.forms['_id0'].onsubmit();}document.forms['_id0'].submit();return false;" id="_id0:_id2">stay here, using navigateTo (state is restored)&lt;/a>
                 &lt;br/>
-                &lt;a href="#" onclick="clear__5Fid0();document.forms['_id0'].elements['_id0:_link_hidden_'].value='_id0:_id3';document.forms['_id0'].submit();return false;" id="_id0:_id3">stay here, using a path (state is not restored)&lt;/a>
+                &lt;a href="#" onclick="clear__5Fid0();document.forms['_id0'].elements['_id0:_link_hidden_'].value='_id0:_id3';if(document.forms['_id0'].onsubmit){document.forms['_id0'].onsubmit();}document.forms['_id0'].submit();return false;" id="_id0:_id3">stay here, using a path (state is not restored)&lt;/a>
                 &lt;br/>
-                &lt;a href="#" onclick="clear__5Fid0();document.forms['_id0'].elements['_id0:_link_hidden_'].value='_id0:_id4';document.forms['_id0'].submit();return false;" id="_id0:_id4">go to page 2&lt;/a>
+                &lt;a href="#" onclick="clear__5Fid0();document.forms['_id0'].elements['_id0:_link_hidden_'].value='_id0:_id4';if(document.forms['_id0'].onsubmit){document.forms['_id0'].onsubmit();}document.forms['_id0'].submit();return false;" id="_id0:_id4">go to page 2&lt;/a>
             &lt;input type="hidden" name="_id0_SUBMIT" value="1"/>&lt;input type="hidden" name="_id0:_link_hidden_"/>&lt;script type="text/javascript">
 &lt;!--
 function clear__5Fid0() {
@@ -182,11 +182,11 @@
             &lt;form id="_id0" name="_id0" method="post" action="/jsfWeb/restorePreviousPage/page1.faces" enctype="application/x-www-form-urlencoded">
                 text: &lt;input id="_id0:_id1" name="_id0:_id1" type="text" value="aaa"/>
                 &lt;br/>
-                &lt;a href="#" onclick="clear__5Fid0();document.forms['_id0'].elements['_id0:_link_hidden_'].value='_id0:_id2';document.forms['_id0'].submit();return false;" id="_id0:_id2">stay here, using navigateTo (state is restored)&lt;/a>
+                &lt;a href="#" onclick="clear__5Fid0();document.forms['_id0'].elements['_id0:_link_hidden_'].value='_id0:_id2';if(document.forms['_id0'].onsubmit){document.forms['_id0'].onsubmit();}document.forms['_id0'].submit();return false;" id="_id0:_id2">stay here, using navigateTo (state is restored)&lt;/a>
                 &lt;br/>
-                &lt;a href="#" onclick="clear__5Fid0();document.forms['_id0'].elements['_id0:_link_hidden_'].value='_id0:_id3';document.forms['_id0'].submit();return false;" id="_id0:_id3">stay here, using a path (state is not restored)&lt;/a>
+                &lt;a href="#" onclick="clear__5Fid0();document.forms['_id0'].elements['_id0:_link_hidden_'].value='_id0:_id3';if(document.forms['_id0'].onsubmit){document.forms['_id0'].onsubmit();}document.forms['_id0'].submit();return false;" id="_id0:_id3">stay here, using a path (state is not restored)&lt;/a>
                 &lt;br/>
-                &lt;a href="#" onclick="clear__5Fid0();document.forms['_id0'].elements['_id0:_link_hidden_'].value='_id0:_id4';document.forms['_id0'].submit();return false;" id="_id0:_id4">go to page 2&lt;/a>
+                &lt;a href="#" onclick="clear__5Fid0();document.forms['_id0'].elements['_id0:_link_hidden_'].value='_id0:_id4';if(document.forms['_id0'].onsubmit){document.forms['_id0'].onsubmit();}document.forms['_id0'].submit();return false;" id="_id0:_id4">go to page 2&lt;/a>
             &lt;input type="hidden" name="_id0_SUBMIT" value="1"/>&lt;input type="hidden" name="_id0:_link_hidden_"/>&lt;script type="text/javascript">
 &lt;!--
 function clear__5Fid0() {
@@ -293,11 +293,11 @@
             &lt;form id="_id0" name="_id0" method="post" action="/jsfWeb/restorePreviousPage/page1.faces" enctype="application/x-www-form-urlencoded">
                 text: &lt;input id="_id0:_id1" name="_id0:_id1" type="text" value=""/>
                 &lt;br/>
-                &lt;a href="#" onclick="clear__5Fid0();document.forms['_id0'].elements['_id0:_link_hidden_'].value='_id0:_id2';document.forms['_id0'].submit();return false;" id="_id0:_id2">stay here, using navigateTo (state is restored)&lt;/a>
+                &lt;a href="#" onclick="clear__5Fid0();document.forms['_id0'].elements['_id0:_link_hidden_'].value='_id0:_id2';if(document.forms['_id0'].onsubmit){document.forms['_id0'].onsubmit();}document.forms['_id0'].submit();return false;" id="_id0:_id2">stay here, using navigateTo (state is restored)&lt;/a>
                 &lt;br/>
-                &lt;a href="#" onclick="clear__5Fid0();document.forms['_id0'].elements['_id0:_link_hidden_'].value='_id0:_id3';document.forms['_id0'].submit();return false;" id="_id0:_id3">stay here, using a path (state is not restored)&lt;/a>
+                &lt;a href="#" onclick="clear__5Fid0();document.forms['_id0'].elements['_id0:_link_hidden_'].value='_id0:_id3';if(document.forms['_id0'].onsubmit){document.forms['_id0'].onsubmit();}document.forms['_id0'].submit();return false;" id="_id0:_id3">stay here, using a path (state is not restored)&lt;/a>
                 &lt;br/>
-                &lt;a href="#" onclick="clear__5Fid0();document.forms['_id0'].elements['_id0:_link_hidden_'].value='_id0:_id4';document.forms['_id0'].submit();return false;" id="_id0:_id4">go to page 2&lt;/a>
+                &lt;a href="#" onclick="clear__5Fid0();document.forms['_id0'].elements['_id0:_link_hidden_'].value='_id0:_id4';if(document.forms['_id0'].onsubmit){document.forms['_id0'].onsubmit();}document.forms['_id0'].submit();return false;" id="_id0:_id4">go to page 2&lt;/a>
             &lt;input type="hidden" name="_id0_SUBMIT" value="1"/>&lt;input type="hidden" name="_id0:_link_hidden_"/>&lt;script type="text/javascript">
 &lt;!--
 function clear__5Fid0() {
@@ -402,9 +402,9 @@
     &lt;body>
         
             &lt;form id="_id0" name="_id0" method="post" action="/jsfWeb/restorePreviousPage/page2.faces" enctype="application/x-www-form-urlencoded">
-                &lt;a href="#" onclick="clear__5Fid0();document.forms['_id0'].elements['_id0:_link_hidden_'].value='_id0:_id1';document.forms['_id0'].submit();return false;" id="_id0:_id1">go to page 1, using navigateTo (state is restored)&lt;/a>
+                &lt;a href="#" onclick="clear__5Fid0();document.forms['_id0'].elements['_id0:_link_hidden_'].value='_id0:_id1';if(document.forms['_id0'].onsubmit){document.forms['_id0'].onsubmit();}document.forms['_id0'].submit();return false;" id="_id0:_id1">go to page 1, using navigateTo (state is restored)&lt;/a>
                 &lt;br/>
-                &lt;a href="#" onclick="clear__5Fid0();document.forms['_id0'].elements['_id0:_link_hidden_'].value='_id0:_id2';document.forms['_id0'].submit();return false;" id="_id0:_id2">go to page 1, using a path (state is not restored)&lt;/a>
+                &lt;a href="#" onclick="clear__5Fid0();document.forms['_id0'].elements['_id0:_link_hidden_'].value='_id0:_id2';if(document.forms['_id0'].onsubmit){document.forms['_id0'].onsubmit();}document.forms['_id0'].submit();return false;" id="_id0:_id2">go to page 1, using a path (state is not restored)&lt;/a>
             &lt;input type="hidden" name="_id0_SUBMIT" value="1"/>&lt;input type="hidden" name="_id0:_link_hidden_"/>&lt;script type="text/javascript">
 &lt;!--
 function clear__5Fid0() {
@@ -507,11 +507,11 @@
             &lt;form id="_id0" name="_id0" method="post" action="/jsfWeb/restorePreviousPage/page1.faces" enctype="application/x-www-form-urlencoded">
                 text: &lt;input id="_id0:_id1" name="_id0:_id1" type="text" value="bbb"/>
                 &lt;br/>
-                &lt;a href="#" onclick="clear__5Fid0();document.forms['_id0'].elements['_id0:_link_hidden_'].value='_id0:_id2';document.forms['_id0'].submit();return false;" id="_id0:_id2">stay here, using navigateTo (state is restored)&lt;/a>
+                &lt;a href="#" onclick="clear__5Fid0();document.forms['_id0'].elements['_id0:_link_hidden_'].value='_id0:_id2';if(document.forms['_id0'].onsubmit){document.forms['_id0'].onsubmit();}document.forms['_id0'].submit();return false;" id="_id0:_id2">stay here, using navigateTo (state is restored)&lt;/a>
                 &lt;br/>
-                &lt;a href="#" onclick="clear__5Fid0();document.forms['_id0'].elements['_id0:_link_hidden_'].value='_id0:_id3';document.forms['_id0'].submit();return false;" id="_id0:_id3">stay here, using a path (state is not restored)&lt;/a>
+                &lt;a href="#" onclick="clear__5Fid0();document.forms['_id0'].elements['_id0:_link_hidden_'].value='_id0:_id3';if(document.forms['_id0'].onsubmit){document.forms['_id0'].onsubmit();}document.forms['_id0'].submit();return false;" id="_id0:_id3">stay here, using a path (state is not restored)&lt;/a>
                 &lt;br/>
-                &lt;a href="#" onclick="clear__5Fid0();document.forms['_id0'].elements['_id0:_link_hidden_'].value='_id0:_id4';document.forms['_id0'].submit();return false;" id="_id0:_id4">go to page 2&lt;/a>
+                &lt;a href="#" onclick="clear__5Fid0();document.forms['_id0'].elements['_id0:_link_hidden_'].value='_id0:_id4';if(document.forms['_id0'].onsubmit){document.forms['_id0'].onsubmit();}document.forms['_id0'].submit();return false;" id="_id0:_id4">go to page 2&lt;/a>
             &lt;input type="hidden" name="_id0_SUBMIT" value="1"/>&lt;input type="hidden" name="_id0:_link_hidden_"/>&lt;script type="text/javascript">
 &lt;!--
 function clear__5Fid0() {
@@ -616,9 +616,9 @@
     &lt;body>
         
             &lt;form id="_id0" name="_id0" method="post" action="/jsfWeb/restorePreviousPage/page2.faces" enctype="application/x-www-form-urlencoded">
-                &lt;a href="#" onclick="clear__5Fid0();document.forms['_id0'].elements['_id0:_link_hidden_'].value='_id0:_id1';document.forms['_id0'].submit();return false;" id="_id0:_id1">go to page 1, using navigateTo (state is restored)&lt;/a>
+                &lt;a href="#" onclick="clear__5Fid0();document.forms['_id0'].elements['_id0:_link_hidden_'].value='_id0:_id1';if(document.forms['_id0'].onsubmit){document.forms['_id0'].onsubmit();}document.forms['_id0'].submit();return false;" id="_id0:_id1">go to page 1, using navigateTo (state is restored)&lt;/a>
                 &lt;br/>
-                &lt;a href="#" onclick="clear__5Fid0();document.forms['_id0'].elements['_id0:_link_hidden_'].value='_id0:_id2';document.forms['_id0'].submit();return false;" id="_id0:_id2">go to page 1, using a path (state is not restored)&lt;/a>
+                &lt;a href="#" onclick="clear__5Fid0();document.forms['_id0'].elements['_id0:_link_hidden_'].value='_id0:_id2';if(document.forms['_id0'].onsubmit){document.forms['_id0'].onsubmit();}document.forms['_id0'].submit();return false;" id="_id0:_id2">go to page 1, using a path (state is not restored)&lt;/a>
             &lt;input type="hidden" name="_id0_SUBMIT" value="1"/>&lt;input type="hidden" name="_id0:_link_hidden_"/>&lt;script type="text/javascript">
 &lt;!--
 function clear__5Fid0() {
@@ -721,11 +721,11 @@
             &lt;form id="_id0" name="_id0" method="post" action="/jsfWeb/restorePreviousPage/page1.faces" enctype="application/x-www-form-urlencoded">
                 text: &lt;input id="_id0:_id1" name="_id0:_id1" type="text" value=""/>
                 &lt;br/>
-                &lt;a href="#" onclick="clear__5Fid0();document.forms['_id0'].elements['_id0:_link_hidden_'].value='_id0:_id2';document.forms['_id0'].submit();return false;" id="_id0:_id2">stay here, using navigateTo (state is restored)&lt;/a>
+                &lt;a href="#" onclick="clear__5Fid0();document.forms['_id0'].elements['_id0:_link_hidden_'].value='_id0:_id2';if(document.forms['_id0'].onsubmit){document.forms['_id0'].onsubmit();}document.forms['_id0'].submit();return false;" id="_id0:_id2">stay here, using navigateTo (state is restored)&lt;/a>
                 &lt;br/>
-                &lt;a href="#" onclick="clear__5Fid0();document.forms['_id0'].elements['_id0:_link_hidden_'].value='_id0:_id3';document.forms['_id0'].submit();return false;" id="_id0:_id3">stay here, using a path (state is not restored)&lt;/a>
+                &lt;a href="#" onclick="clear__5Fid0();document.forms['_id0'].elements['_id0:_link_hidden_'].value='_id0:_id3';if(document.forms['_id0'].onsubmit){document.forms['_id0'].onsubmit();}document.forms['_id0'].submit();return false;" id="_id0:_id3">stay here, using a path (state is not restored)&lt;/a>
                 &lt;br/>
-                &lt;a href="#" onclick="clear__5Fid0();document.forms['_id0'].elements['_id0:_link_hidden_'].value='_id0:_id4';document.forms['_id0'].submit();return false;" id="_id0:_id4">go to page 2&lt;/a>
+                &lt;a href="#" onclick="clear__5Fid0();document.forms['_id0'].elements['_id0:_link_hidden_'].value='_id0:_id4';if(document.forms['_id0'].onsubmit){document.forms['_id0'].onsubmit();}document.forms['_id0'].submit();return false;" id="_id0:_id4">go to page 2&lt;/a>
             &lt;input type="hidden" name="_id0_SUBMIT" value="1"/>&lt;input type="hidden" name="_id0:_link_hidden_"/>&lt;script type="text/javascript">
 &lt;!--
 function clear__5Fid0() {