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/06/24 23:53:29 UTC

svn commit: r201684 - in /incubator/beehive/trunk/netui: src/pageflow/org/apache/beehive/netui/pageflow/ src/pageflow/org/apache/beehive/netui/pageflow/faces/internal/ src/pageflow/org/apache/beehive/netui/pageflow/internal/ test/webapps/jsf/jsfWeb/onR...

Author: rich
Date: Fri Jun 24 14:53:26 2005
New Revision: 201684

URL: http://svn.apache.org/viewcvs?rev=201684&view=rev
Log:
Additional work for http://issues.apache.org/jira/browse/BEEHIVE-827 : FacesMessages unavailable in JSF.  This adds an onRestore() callback to FacesBackingBean.  This callback is invoked before the bean is restored through navigateTo=Jpf.NavigateTo.{currentPage,previousPage}.

tests: bvt in netui (WinXP)
BB: self (linux)


Added:
    incubator/beehive/trunk/netui/test/webapps/jsf/jsfWeb/onRestore/
    incubator/beehive/trunk/netui/test/webapps/jsf/jsfWeb/onRestore/Controller.jpf   (with props)
    incubator/beehive/trunk/netui/test/webapps/jsf/jsfWeb/onRestore/page1.jsfb   (with props)
    incubator/beehive/trunk/netui/test/webapps/jsf/jsfWeb/onRestore/page1.jsp   (with props)
    incubator/beehive/trunk/netui/test/webapps/jsf/jsfWeb/onRestore/page2.jsp   (with props)
    incubator/beehive/trunk/netui/test/webapps/jsf/testRecorder/tests-jsf-ri/OnRestore.xml   (with props)
    incubator/beehive/trunk/netui/test/webapps/jsf/testRecorder/tests-myfaces/OnRestore.xml   (with props)
Modified:
    incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/FacesBackingBean.java
    incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/faces/internal/PageFlowViewHandler.java
    incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/InternalUtils.java
    incubator/beehive/trunk/netui/test/webapps/jsf/testRecorder/config/testRecorder-tests.xml

Modified: incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/FacesBackingBean.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/FacesBackingBean.java?rev=201684&r1=201683&r2=201684&view=diff
==============================================================================
--- incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/FacesBackingBean.java (original)
+++ incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/FacesBackingBean.java Fri Jun 24 14:53:26 2005
@@ -31,6 +31,8 @@
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.ServletContext;
+import javax.servlet.ServletRequest;
+import javax.servlet.ServletResponse;
 import java.util.Map;
 import java.util.Collections;
 import java.lang.reflect.Field;
@@ -206,5 +208,39 @@
         }
         
         return info;
+    }
+    
+    /**
+     * Callback that is invoked when this backing bean is restored as the page itself is restored through a
+     * {@link org.apache.beehive.netui.pageflow.annotations.Jpf.Forward @Jpf.Forward} or
+     * {@link org.apache.beehive.netui.pageflow.annotations.Jpf.SimpleAction @Jpf.SimpleAction} with
+     * {@link org.apache.beehive.netui.pageflow.annotations.Jpf.Forward#navigateTo() navigateTo}={@link org.apache.beehive.netui.pageflow.annotations.Jpf.NavigateTo#currentPage Jpf.NavigateTo.currentPage}
+     * or
+     * {@link org.apache.beehive.netui.pageflow.annotations.Jpf.Forward#navigateTo() navigateTo}={@link org.apache.beehive.netui.pageflow.annotations.Jpf.NavigateTo#currentPage Jpf.NavigateTo.previousPage}.
+     */ 
+    protected void onRestore()
+    {
+    }
+    
+    /**
+     * Restore this bean (set it as the current one from some dormant state).  This is a framework-invoked method that
+     * should not normally be called directly.
+     * 
+     * @param request the current HttpServletRequest.
+     * @param response the current HttpServletResponse.
+     * @param servletContext the current ServletContext.
+     */ 
+    public void restore( HttpServletRequest request, HttpServletResponse response, ServletContext servletContext )
+    {
+        reinitialize( request, response, servletContext );
+        StorageHandler sh = Handlers.get( getServletContext() ).getStorageHandler();
+        HttpServletRequest unwrappedRequest = PageFlowUtils.unwrapMultipart( request );
+        RequestContext rc = new RequestContext( unwrappedRequest, response );
+        String attrName =
+                ScopedServletUtils.getScopedSessionAttrName( InternalConstants.FACES_BACKING_ATTR, unwrappedRequest );
+        sh.setAttribute( rc, attrName, this );
+        Map newActionOutputs = InternalUtils.getActionOutputMap( request, false );
+        if ( newActionOutputs != null ) _pageInputs = newActionOutputs;
+        onRestore();
     }
 }

Modified: incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/faces/internal/PageFlowViewHandler.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/faces/internal/PageFlowViewHandler.java?rev=201684&r1=201683&r2=201684&view=diff
==============================================================================
--- incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/faces/internal/PageFlowViewHandler.java (original)
+++ incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/faces/internal/PageFlowViewHandler.java Fri Jun 24 14:53:26 2005
@@ -144,7 +144,19 @@
                     if ( clientState != null && clientState instanceof PageClientState )
                     {
                         PageClientState pcs = ( PageClientState ) clientState;
-                        InternalUtils.setFacesBackingBean( httpRequest, pcs.getBackingBean() );
+                        FacesBackingBean fbb = pcs.getBackingBean();
+                        ServletContext servletContext = ( ServletContext ) externalContext.getContext();
+                        
+                        if ( fbb != null )
+                        {
+                            HttpServletResponse httpResponse = ( HttpServletResponse ) externalContext.getResponse();
+                            fbb.restore( httpRequest, httpResponse, servletContext );
+                        }
+                        else
+                        {
+                            InternalUtils.removeCurrentFacesBackingBean( httpRequest, servletContext );
+                        }
+                        
                         return pcs.getViewRoot();
                     }
                 }

Modified: incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/InternalUtils.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/InternalUtils.java?rev=201684&r1=201683&r2=201684&view=diff
==============================================================================
--- incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/InternalUtils.java (original)
+++ incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/InternalUtils.java Fri Jun 24 14:53:26 2005
@@ -708,27 +708,6 @@
         return null;
     }
     
-    public static void setFacesBackingBean( ServletRequest request, FacesBackingBean bean )
-    {
-        if ( request instanceof HttpServletRequest )
-        {
-            ServletContext servletContext = getServletContext( request );
-            StorageHandler sh = Handlers.get( servletContext ).getStorageHandler();
-            HttpServletRequest unwrappedRequest = PageFlowUtils.unwrapMultipart( ( HttpServletRequest ) request );
-            RequestContext rc = new RequestContext( unwrappedRequest, null );
-            String attrName = ScopedServletUtils.getScopedSessionAttrName( FACES_BACKING_ATTR, unwrappedRequest );
-            
-            if ( bean == null )
-            {
-                sh.removeAttribute( rc, attrName );
-            }
-            else
-            {
-                sh.setAttribute( rc, attrName, bean );
-            }
-        }
-    }
-    
     public static String inferModulePathFromClassName( String className )
     {
         int lastDot = className.lastIndexOf( '.' );

Added: incubator/beehive/trunk/netui/test/webapps/jsf/jsfWeb/onRestore/Controller.jpf
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/jsf/jsfWeb/onRestore/Controller.jpf?rev=201684&view=auto
==============================================================================
--- incubator/beehive/trunk/netui/test/webapps/jsf/jsfWeb/onRestore/Controller.jpf (added)
+++ incubator/beehive/trunk/netui/test/webapps/jsf/jsfWeb/onRestore/Controller.jpf Fri Jun 24 14:53:26 2005
@@ -0,0 +1,78 @@
+/*
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed 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.
+ *
+ * $Header:$
+ */
+package onRestore;
+
+import org.apache.beehive.netui.pageflow.*;
+import org.apache.beehive.netui.pageflow.annotations.Jpf;
+
+@Jpf.Controller(
+    simpleActions={
+        @Jpf.SimpleAction(name="go2", path="page2.faces"),
+        @Jpf.SimpleAction(name="goCurrentNoNewMessage", navigateTo=Jpf.NavigateTo.currentPage)
+    }
+)
+public class Controller extends PageFlowController
+{
+    @Jpf.Action(
+        forwards={
+            @Jpf.Forward(
+                name="page1",
+                path="page1.faces",
+                actionOutputs={
+                    @Jpf.ActionOutput(name="message", type=String.class, required=true)
+                }
+            )
+        }
+    )
+    public Forward begin()
+    {
+        return new Forward("page1", "message", "Got action output from begin().");
+    }
+
+    @Jpf.Action(
+        forwards={
+            @Jpf.Forward(
+                name="currentPage",
+                navigateTo=Jpf.NavigateTo.currentPage,
+                actionOutputs={
+                    @Jpf.ActionOutput(name="message", type=String.class, required=true)
+                }
+            )
+        }
+    )
+    public Forward goCurrent()
+    {
+        return new Forward("currentPage", "message", "Got action output from goCurrent().");
+    }
+
+    @Jpf.Action(
+        forwards={
+            @Jpf.Forward(
+                name="prevPage",
+                navigateTo=Jpf.NavigateTo.previousPage,
+                actionOutputs={
+                    @Jpf.ActionOutput(name="message", type=String.class, required=true)
+                }
+            )
+        }
+    )
+    public Forward goPrev()
+    {
+        return new Forward("prevPage", "message", "Got action output from goPrev().");
+    }
+}

Propchange: incubator/beehive/trunk/netui/test/webapps/jsf/jsfWeb/onRestore/Controller.jpf
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/beehive/trunk/netui/test/webapps/jsf/jsfWeb/onRestore/page1.jsfb
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/jsf/jsfWeb/onRestore/page1.jsfb?rev=201684&view=auto
==============================================================================
--- incubator/beehive/trunk/netui/test/webapps/jsf/jsfWeb/onRestore/page1.jsfb (added)
+++ incubator/beehive/trunk/netui/test/webapps/jsf/jsfWeb/onRestore/page1.jsfb Fri Jun 24 14:53:26 2005
@@ -0,0 +1,23 @@
+package onRestore;
+
+import org.apache.beehive.netui.pageflow.annotations.Jpf;
+import org.apache.beehive.netui.pageflow.FacesBackingBean;
+import javax.faces.application.FacesMessage;
+import javax.faces.context.FacesContext;
+
+@Jpf.FacesBacking
+public class page1
+    extends FacesBackingBean
+{
+    protected void onCreate()
+    {
+        FacesMessage msg = new FacesMessage((String) getPageInput("message"));
+        FacesContext.getCurrentInstance().addMessage("message", msg);
+    }
+
+    protected void onRestore()
+    {
+        FacesMessage msg = new FacesMessage((String) getPageInput("message"));
+        FacesContext.getCurrentInstance().addMessage("message", msg);
+    }
+}

Propchange: incubator/beehive/trunk/netui/test/webapps/jsf/jsfWeb/onRestore/page1.jsfb
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/beehive/trunk/netui/test/webapps/jsf/jsfWeb/onRestore/page1.jsp
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/jsf/jsfWeb/onRestore/page1.jsp?rev=201684&view=auto
==============================================================================
--- incubator/beehive/trunk/netui/test/webapps/jsf/jsfWeb/onRestore/page1.jsp (added)
+++ incubator/beehive/trunk/netui/test/webapps/jsf/jsfWeb/onRestore/page1.jsp Fri Jun 24 14:53:26 2005
@@ -0,0 +1,20 @@
+<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
+<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
+
+<html>
+    <head> <title>Page Flow / JSF / NavigateTo</title> </head>
+    <body bgcolor="white">
+    <h3>Page Flow / JSF / NavigateTo: page 1</h3>
+    <f:view>
+        <h:form>
+            <h:panelGrid>
+                <h:outputText style="font-style: italic" value="This test ensures that onRestore() is called before restoring a page through Jpf.NavigateTo.{currentPage,previousPage}, and that page inputs are updated and available during onRestore()."/>
+                <h:outputText value="Messages:"/>
+                <h:messages/>
+                <h:commandLink id="goCurrentNoNewMessage" action="goCurrentNoNewMessage" value="stay on the current page, via navigateTo=Jpf.NavigateTo.currentPage, with no new page inputs" />
+                <h:commandLink id="goCurrent" action="goCurrent" value="stay on the current page, via navigateTo=Jpf.NavigateTo.currentPage" />
+                <h:commandLink id="go2" action="go2" value="go to page 2" />
+            </h:panelGrid>
+        </h:form>
+    </f:view>
+</html>  

Propchange: incubator/beehive/trunk/netui/test/webapps/jsf/jsfWeb/onRestore/page1.jsp
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/beehive/trunk/netui/test/webapps/jsf/jsfWeb/onRestore/page2.jsp
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/jsf/jsfWeb/onRestore/page2.jsp?rev=201684&view=auto
==============================================================================
--- incubator/beehive/trunk/netui/test/webapps/jsf/jsfWeb/onRestore/page2.jsp (added)
+++ incubator/beehive/trunk/netui/test/webapps/jsf/jsfWeb/onRestore/page2.jsp Fri Jun 24 14:53:26 2005
@@ -0,0 +1,13 @@
+<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
+<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
+
+<html>
+    <head> <title>Page Flow / JSF / NavigateTo</title> </head>
+    <body bgcolor="white">
+    <h3>Page Flow / JSF / NavigateTo: page 2</h3>
+    <f:view>
+        <h:form>
+            <h:commandLink id="goPrev" action="goPrev" value="go to previous page via navigateTo=Jpf.NavigateTo.previousPage" />
+        </h:form>
+    </f:view>
+</HTML>  

Propchange: incubator/beehive/trunk/netui/test/webapps/jsf/jsfWeb/onRestore/page2.jsp
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: incubator/beehive/trunk/netui/test/webapps/jsf/testRecorder/config/testRecorder-tests.xml
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/jsf/testRecorder/config/testRecorder-tests.xml?rev=201684&r1=201683&r2=201684&view=diff
==============================================================================
--- incubator/beehive/trunk/netui/test/webapps/jsf/testRecorder/config/testRecorder-tests.xml (original)
+++ incubator/beehive/trunk/netui/test/webapps/jsf/testRecorder/config/testRecorder-tests.xml Fri Jun 24 14:53:26 2005
@@ -112,6 +112,15 @@
             </categories>
         </test>
         <test>
+            <name>OnRestore</name>
+            <description>Test to ensure that onRestore() is called before restoring a page through Jpf.NavigateTo.{currentPage,previousPage}, and that page inputs are updated and available during onRestore().</description>
+            <webapp>jsfWeb</webapp>
+            <categories>
+                <category>drt</category>
+                <category>bvt</category>
+            </categories>
+        </test>
+        <test>
             <name>RestorePreviousBackingBean</name>
             <description>Test of restoring the backing bean of a JSF page when returning to it through navigateTo=Jpf.NavigateTo.currentPage or navigateTo=Jpf.NavigateTo.previousPage.</description>
             <webapp>jsfWeb</webapp>

Added: incubator/beehive/trunk/netui/test/webapps/jsf/testRecorder/tests-jsf-ri/OnRestore.xml
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/jsf/testRecorder/tests-jsf-ri/OnRestore.xml?rev=201684&view=auto
==============================================================================
--- incubator/beehive/trunk/netui/test/webapps/jsf/testRecorder/tests-jsf-ri/OnRestore.xml (added)
+++ incubator/beehive/trunk/netui/test/webapps/jsf/testRecorder/tests-jsf-ri/OnRestore.xml Fri Jun 24 14:53:26 2005
@@ -0,0 +1,711 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ses:recorderSession xmlns:ses="http://beehive.apache.org/netui/tools/testrecorder/2004/session">
+   <ses:sessionName>OnRestore</ses:sessionName>
+   <ses:tester>rich</ses:tester>
+   <ses:startDate>24 Jun 2005, 03:45:34.014 PM MDT</ses:startDate>
+   <ses:description>Test to ensure that onRestore() is called before restoring a page through Jpf.NavigateTo.{currentPage,previousPage}, and that page inputs are updated and available during onRestore().</ses:description>
+   <ses:tests>
+      <ses:test>
+         <ses:testNumber>1</ses:testNumber>
+         <ses:request>
+            <ses:protocol>HTTP</ses:protocol>
+            <ses:protocolVersion>1.1</ses:protocolVersion>
+            <ses:host>localhost</ses:host>
+            <ses:port>8080</ses:port>
+            <ses:uri>/jsfWeb/onRestore/Controller.jpf</ses:uri>
+            <ses:method>GET</ses:method>
+            <ses:parameters/>
+            <ses:cookies>
+               <ses:cookie>
+                  <ses:name>JSESSIONID</ses:name>
+                  <ses:value>8A22FB81134D1EF6ECDFD2CFC9A7A648</ses:value>
+               </ses:cookie>
+               <ses:cookie>
+                  <ses:name>nde-textsize</ses:name>
+                  <ses:value>16px</ses:value>
+               </ses:cookie>
+            </ses:cookies>
+            <ses:headers>
+               <ses:header>
+                  <ses:name>accept</ses:name>
+                  <ses:value>text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-charset</ses:name>
+                  <ses:value>ISO-8859-1,utf-8;q=0.7,*;q=0.7</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-encoding</ses:name>
+                  <ses:value>gzip,deflate</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-language</ses:name>
+                  <ses:value>en-us,en;q=0.7,ja;q=0.3</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>connection</ses:name>
+                  <ses:value>keep-alive</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>cookie</ses:name>
+                  <ses:value>JSESSIONID=8A22FB81134D1EF6ECDFD2CFC9A7A648; nde-textsize=16px</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>host</ses:name>
+                  <ses:value>localhost:8080</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>keep-alive</ses:name>
+                  <ses:value>300</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.8) Gecko/20050511 Firefox/1.0.4</ses:value>
+               </ses:header>
+            </ses:headers>
+         </ses:request>
+         <ses:response>
+            <ses:statusCode>200</ses:statusCode>
+            <ses:reason/>
+            <ses:responseBody><![CDATA[<html>
+    <head> <title>Page Flow / JSF / NavigateTo</title> </head>
+    <body bgcolor="white">
+    <h3>Page Flow / JSF / NavigateTo: page 1</h3>
+    
+        <form id="_id0" method="post" action="/jsfWeb/onRestore/page1.faces" enctype="application/x-www-form-urlencoded">
+
+            
+                
+                
+                
+                
+                
+                
+            <table>
+<tbody>
+<tr>
+<td><span style="font-style: italic">This test ensures that onRestore() is called before restoring a page through Jpf.NavigateTo.{currentPage,previousPage}, and that page inputs are updated and available during onRestore().</span></td>
+</tr>
+<tr>
+<td>Messages:</td>
+</tr>
+<tr>
+<td>	Got action output from begin(). </td>
+</tr>
+<tr>
+<td><a id="_id0:goCurrentNoNewMessage" href="#" onclick="document.forms['_id0']['_id0:_idcl'].value='_id0:goCurrentNoNewMessage'; document.forms['_id0'].submit(); return false;">stay on the current page, via navigateTo=Jpf.NavigateTo.currentPage, with no new page inputs</a></td>
+</tr>
+<tr>
+<td><a id="_id0:goCurrent" href="#" onclick="document.forms['_id0']['_id0:_idcl'].value='_id0:goCurrent'; document.forms['_id0'].submit(); return false;">stay on the current page, via navigateTo=Jpf.NavigateTo.currentPage</a></td>
+</tr>
+<tr>
+<td><a id="_id0:go2" href="#" onclick="document.forms['_id0']['_id0:_idcl'].value='_id0:go2'; document.forms['_id0'].submit(); return false;">go to page 2</a></td>
+</tr>
+</tbody>
+</table>
+
+        <input type="hidden" name="_id0" value="_id0" /><input type="hidden" name="_id0:_idcl" /></form>
+    
+</html>]]></ses:responseBody>
+         </ses:response>
+      </ses:test>
+      <ses:test>
+         <ses:testNumber>2</ses:testNumber>
+         <ses:request>
+            <ses:protocol>HTTP</ses:protocol>
+            <ses:protocolVersion>1.1</ses:protocolVersion>
+            <ses:host>localhost</ses:host>
+            <ses:port>8080</ses:port>
+            <ses:uri>/jsfWeb/onRestore/page1.faces</ses:uri>
+            <ses:method>POST</ses:method>
+            <ses:parameters>
+               <ses:parameter>
+                  <ses:name>_id0</ses:name>
+                  <ses:value>_id0</ses:value>
+               </ses:parameter>
+               <ses:parameter>
+                  <ses:name>_id0:_idcl</ses:name>
+                  <ses:value>_id0:goCurrentNoNewMessage</ses:value>
+               </ses:parameter>
+            </ses:parameters>
+            <ses:cookies>
+               <ses:cookie>
+                  <ses:name>JSESSIONID</ses:name>
+                  <ses:value>8A22FB81134D1EF6ECDFD2CFC9A7A648</ses:value>
+               </ses:cookie>
+               <ses:cookie>
+                  <ses:name>nde-textsize</ses:name>
+                  <ses:value>16px</ses:value>
+               </ses:cookie>
+            </ses:cookies>
+            <ses:headers>
+               <ses:header>
+                  <ses:name>accept</ses:name>
+                  <ses:value>text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-charset</ses:name>
+                  <ses:value>ISO-8859-1,utf-8;q=0.7,*;q=0.7</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-encoding</ses:name>
+                  <ses:value>gzip,deflate</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-language</ses:name>
+                  <ses:value>en-us,en;q=0.7,ja;q=0.3</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>connection</ses:name>
+                  <ses:value>keep-alive</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>content-length</ses:name>
+                  <ses:value>51</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>content-type</ses:name>
+                  <ses:value>application/x-www-form-urlencoded</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>cookie</ses:name>
+                  <ses:value>JSESSIONID=8A22FB81134D1EF6ECDFD2CFC9A7A648; nde-textsize=16px</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>host</ses:name>
+                  <ses:value>localhost:8080</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>keep-alive</ses:name>
+                  <ses:value>300</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>referer</ses:name>
+                  <ses:value>http://localhost:8080/jsfWeb/onRestore/Controller.jpf</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.8) Gecko/20050511 Firefox/1.0.4</ses:value>
+               </ses:header>
+            </ses:headers>
+         </ses:request>
+         <ses:response>
+            <ses:statusCode>200</ses:statusCode>
+            <ses:reason/>
+            <ses:responseBody><![CDATA[<html>
+    <head> <title>Page Flow / JSF / NavigateTo</title> </head>
+    <body bgcolor="white">
+    <h3>Page Flow / JSF / NavigateTo: page 1</h3>
+    
+        <form id="_id0" method="post" action="/jsfWeb/onRestore/page1.faces" enctype="application/x-www-form-urlencoded">
+
+            
+                
+                
+                
+                
+                
+                
+            <table>
+<tbody>
+<tr>
+<td><span style="font-style: italic">This test ensures that onRestore() is called before restoring a page through Jpf.NavigateTo.{currentPage,previousPage}, and that page inputs are updated and available during onRestore().</span></td>
+</tr>
+<tr>
+<td>Messages:</td>
+</tr>
+<tr>
+<td>	Got action output from begin(). </td>
+</tr>
+<tr>
+<td><a id="_id0:goCurrentNoNewMessage" href="#" onclick="document.forms['_id0']['_id0:_idcl'].value='_id0:goCurrentNoNewMessage'; document.forms['_id0'].submit(); return false;">stay on the current page, via navigateTo=Jpf.NavigateTo.currentPage, with no new page inputs</a></td>
+</tr>
+<tr>
+<td><a id="_id0:goCurrent" href="#" onclick="document.forms['_id0']['_id0:_idcl'].value='_id0:goCurrent'; document.forms['_id0'].submit(); return false;">stay on the current page, via navigateTo=Jpf.NavigateTo.currentPage</a></td>
+</tr>
+<tr>
+<td><a id="_id0:go2" href="#" onclick="document.forms['_id0']['_id0:_idcl'].value='_id0:go2'; document.forms['_id0'].submit(); return false;">go to page 2</a></td>
+</tr>
+</tbody>
+</table>
+
+        <input type="hidden" name="_id0" value="_id0" /><input type="hidden" name="_id0:_idcl" /></form>
+    
+</html>]]></ses:responseBody>
+         </ses:response>
+      </ses:test>
+      <ses:test>
+         <ses:testNumber>3</ses:testNumber>
+         <ses:request>
+            <ses:protocol>HTTP</ses:protocol>
+            <ses:protocolVersion>1.1</ses:protocolVersion>
+            <ses:host>localhost</ses:host>
+            <ses:port>8080</ses:port>
+            <ses:uri>/jsfWeb/onRestore/page1.faces</ses:uri>
+            <ses:method>POST</ses:method>
+            <ses:parameters>
+               <ses:parameter>
+                  <ses:name>_id0</ses:name>
+                  <ses:value>_id0</ses:value>
+               </ses:parameter>
+               <ses:parameter>
+                  <ses:name>_id0:_idcl</ses:name>
+                  <ses:value>_id0:goCurrent</ses:value>
+               </ses:parameter>
+            </ses:parameters>
+            <ses:cookies>
+               <ses:cookie>
+                  <ses:name>JSESSIONID</ses:name>
+                  <ses:value>8A22FB81134D1EF6ECDFD2CFC9A7A648</ses:value>
+               </ses:cookie>
+               <ses:cookie>
+                  <ses:name>nde-textsize</ses:name>
+                  <ses:value>16px</ses:value>
+               </ses:cookie>
+            </ses:cookies>
+            <ses:headers>
+               <ses:header>
+                  <ses:name>accept</ses:name>
+                  <ses:value>text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-charset</ses:name>
+                  <ses:value>ISO-8859-1,utf-8;q=0.7,*;q=0.7</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-encoding</ses:name>
+                  <ses:value>gzip,deflate</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-language</ses:name>
+                  <ses:value>en-us,en;q=0.7,ja;q=0.3</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>connection</ses:name>
+                  <ses:value>keep-alive</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>content-length</ses:name>
+                  <ses:value>39</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>content-type</ses:name>
+                  <ses:value>application/x-www-form-urlencoded</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>cookie</ses:name>
+                  <ses:value>JSESSIONID=8A22FB81134D1EF6ECDFD2CFC9A7A648; nde-textsize=16px</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>host</ses:name>
+                  <ses:value>localhost:8080</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>keep-alive</ses:name>
+                  <ses:value>300</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>referer</ses:name>
+                  <ses:value>http://localhost:8080/jsfWeb/onRestore/page1.faces</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.8) Gecko/20050511 Firefox/1.0.4</ses:value>
+               </ses:header>
+            </ses:headers>
+         </ses:request>
+         <ses:response>
+            <ses:statusCode>200</ses:statusCode>
+            <ses:reason/>
+            <ses:responseBody><![CDATA[<html>
+    <head> <title>Page Flow / JSF / NavigateTo</title> </head>
+    <body bgcolor="white">
+    <h3>Page Flow / JSF / NavigateTo: page 1</h3>
+    
+        <form id="_id0" method="post" action="/jsfWeb/onRestore/page1.faces" enctype="application/x-www-form-urlencoded">
+
+            
+                
+                
+                
+                
+                
+                
+            <table>
+<tbody>
+<tr>
+<td><span style="font-style: italic">This test ensures that onRestore() is called before restoring a page through Jpf.NavigateTo.{currentPage,previousPage}, and that page inputs are updated and available during onRestore().</span></td>
+</tr>
+<tr>
+<td>Messages:</td>
+</tr>
+<tr>
+<td>	Got action output from goCurrent(). </td>
+</tr>
+<tr>
+<td><a id="_id0:goCurrentNoNewMessage" href="#" onclick="document.forms['_id0']['_id0:_idcl'].value='_id0:goCurrentNoNewMessage'; document.forms['_id0'].submit(); return false;">stay on the current page, via navigateTo=Jpf.NavigateTo.currentPage, with no new page inputs</a></td>
+</tr>
+<tr>
+<td><a id="_id0:goCurrent" href="#" onclick="document.forms['_id0']['_id0:_idcl'].value='_id0:goCurrent'; document.forms['_id0'].submit(); return false;">stay on the current page, via navigateTo=Jpf.NavigateTo.currentPage</a></td>
+</tr>
+<tr>
+<td><a id="_id0:go2" href="#" onclick="document.forms['_id0']['_id0:_idcl'].value='_id0:go2'; document.forms['_id0'].submit(); return false;">go to page 2</a></td>
+</tr>
+</tbody>
+</table>
+
+        <input type="hidden" name="_id0" value="_id0" /><input type="hidden" name="_id0:_idcl" /></form>
+    
+</html>]]></ses:responseBody>
+         </ses:response>
+      </ses:test>
+      <ses:test>
+         <ses:testNumber>4</ses:testNumber>
+         <ses:request>
+            <ses:protocol>HTTP</ses:protocol>
+            <ses:protocolVersion>1.1</ses:protocolVersion>
+            <ses:host>localhost</ses:host>
+            <ses:port>8080</ses:port>
+            <ses:uri>/jsfWeb/onRestore/page1.faces</ses:uri>
+            <ses:method>POST</ses:method>
+            <ses:parameters>
+               <ses:parameter>
+                  <ses:name>_id0</ses:name>
+                  <ses:value>_id0</ses:value>
+               </ses:parameter>
+               <ses:parameter>
+                  <ses:name>_id0:_idcl</ses:name>
+                  <ses:value>_id0:go2</ses:value>
+               </ses:parameter>
+            </ses:parameters>
+            <ses:cookies>
+               <ses:cookie>
+                  <ses:name>JSESSIONID</ses:name>
+                  <ses:value>8A22FB81134D1EF6ECDFD2CFC9A7A648</ses:value>
+               </ses:cookie>
+               <ses:cookie>
+                  <ses:name>nde-textsize</ses:name>
+                  <ses:value>16px</ses:value>
+               </ses:cookie>
+            </ses:cookies>
+            <ses:headers>
+               <ses:header>
+                  <ses:name>accept</ses:name>
+                  <ses:value>text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-charset</ses:name>
+                  <ses:value>ISO-8859-1,utf-8;q=0.7,*;q=0.7</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-encoding</ses:name>
+                  <ses:value>gzip,deflate</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-language</ses:name>
+                  <ses:value>en-us,en;q=0.7,ja;q=0.3</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>connection</ses:name>
+                  <ses:value>keep-alive</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>content-length</ses:name>
+                  <ses:value>33</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>content-type</ses:name>
+                  <ses:value>application/x-www-form-urlencoded</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>cookie</ses:name>
+                  <ses:value>JSESSIONID=8A22FB81134D1EF6ECDFD2CFC9A7A648; nde-textsize=16px</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>host</ses:name>
+                  <ses:value>localhost:8080</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>keep-alive</ses:name>
+                  <ses:value>300</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>referer</ses:name>
+                  <ses:value>http://localhost:8080/jsfWeb/onRestore/page1.faces</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.8) Gecko/20050511 Firefox/1.0.4</ses:value>
+               </ses:header>
+            </ses:headers>
+         </ses:request>
+         <ses:response>
+            <ses:statusCode>200</ses:statusCode>
+            <ses:reason/>
+            <ses:responseBody><![CDATA[<html>
+    <head> <title>Page Flow / JSF / NavigateTo</title> </head>
+    <body bgcolor="white">
+    <h3>Page Flow / JSF / NavigateTo: page 2</h3>
+    
+        <form id="_id0" method="post" action="/jsfWeb/onRestore/page2.faces" enctype="application/x-www-form-urlencoded">
+
+            <a id="_id0:goPrev" href="#" onclick="document.forms['_id0']['_id0:_idcl'].value='_id0:goPrev'; document.forms['_id0'].submit(); return false;">go to previous page via navigateTo=Jpf.NavigateTo.previousPage</a>
+        <input type="hidden" name="_id0" value="_id0" /><input type="hidden" name="_id0:_idcl" /></form>
+    
+</HTML>]]></ses:responseBody>
+         </ses:response>
+      </ses:test>
+      <ses:test>
+         <ses:testNumber>5</ses:testNumber>
+         <ses:request>
+            <ses:protocol>HTTP</ses:protocol>
+            <ses:protocolVersion>1.1</ses:protocolVersion>
+            <ses:host>localhost</ses:host>
+            <ses:port>8080</ses:port>
+            <ses:uri>/jsfWeb/onRestore/page2.faces</ses:uri>
+            <ses:method>POST</ses:method>
+            <ses:parameters>
+               <ses:parameter>
+                  <ses:name>_id0</ses:name>
+                  <ses:value>_id0</ses:value>
+               </ses:parameter>
+               <ses:parameter>
+                  <ses:name>_id0:_idcl</ses:name>
+                  <ses:value>_id0:goPrev</ses:value>
+               </ses:parameter>
+            </ses:parameters>
+            <ses:cookies>
+               <ses:cookie>
+                  <ses:name>JSESSIONID</ses:name>
+                  <ses:value>8A22FB81134D1EF6ECDFD2CFC9A7A648</ses:value>
+               </ses:cookie>
+               <ses:cookie>
+                  <ses:name>nde-textsize</ses:name>
+                  <ses:value>16px</ses:value>
+               </ses:cookie>
+            </ses:cookies>
+            <ses:headers>
+               <ses:header>
+                  <ses:name>accept</ses:name>
+                  <ses:value>text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-charset</ses:name>
+                  <ses:value>ISO-8859-1,utf-8;q=0.7,*;q=0.7</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-encoding</ses:name>
+                  <ses:value>gzip,deflate</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-language</ses:name>
+                  <ses:value>en-us,en;q=0.7,ja;q=0.3</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>connection</ses:name>
+                  <ses:value>keep-alive</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>content-length</ses:name>
+                  <ses:value>36</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>content-type</ses:name>
+                  <ses:value>application/x-www-form-urlencoded</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>cookie</ses:name>
+                  <ses:value>JSESSIONID=8A22FB81134D1EF6ECDFD2CFC9A7A648; nde-textsize=16px</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>host</ses:name>
+                  <ses:value>localhost:8080</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>keep-alive</ses:name>
+                  <ses:value>300</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>referer</ses:name>
+                  <ses:value>http://localhost:8080/jsfWeb/onRestore/page1.faces</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.8) Gecko/20050511 Firefox/1.0.4</ses:value>
+               </ses:header>
+            </ses:headers>
+         </ses:request>
+         <ses:response>
+            <ses:statusCode>200</ses:statusCode>
+            <ses:reason/>
+            <ses:responseBody><![CDATA[<html>
+    <head> <title>Page Flow / JSF / NavigateTo</title> </head>
+    <body bgcolor="white">
+    <h3>Page Flow / JSF / NavigateTo: page 1</h3>
+    
+        <form id="_id0" method="post" action="/jsfWeb/onRestore/page1.faces" enctype="application/x-www-form-urlencoded">
+
+            
+                
+                
+                
+                
+                
+                
+            <table>
+<tbody>
+<tr>
+<td><span style="font-style: italic">This test ensures that onRestore() is called before restoring a page through Jpf.NavigateTo.{currentPage,previousPage}, and that page inputs are updated and available during onRestore().</span></td>
+</tr>
+<tr>
+<td>Messages:</td>
+</tr>
+<tr>
+<td>	Got action output from goPrev(). </td>
+</tr>
+<tr>
+<td><a id="_id0:goCurrentNoNewMessage" href="#" onclick="document.forms['_id0']['_id0:_idcl'].value='_id0:goCurrentNoNewMessage'; document.forms['_id0'].submit(); return false;">stay on the current page, via navigateTo=Jpf.NavigateTo.currentPage, with no new page inputs</a></td>
+</tr>
+<tr>
+<td><a id="_id0:goCurrent" href="#" onclick="document.forms['_id0']['_id0:_idcl'].value='_id0:goCurrent'; document.forms['_id0'].submit(); return false;">stay on the current page, via navigateTo=Jpf.NavigateTo.currentPage</a></td>
+</tr>
+<tr>
+<td><a id="_id0:go2" href="#" onclick="document.forms['_id0']['_id0:_idcl'].value='_id0:go2'; document.forms['_id0'].submit(); return false;">go to page 2</a></td>
+</tr>
+</tbody>
+</table>
+
+        <input type="hidden" name="_id0" value="_id0" /><input type="hidden" name="_id0:_idcl" /></form>
+    
+</html>]]></ses:responseBody>
+         </ses:response>
+      </ses:test>
+      <ses:test>
+         <ses:testNumber>6</ses:testNumber>
+         <ses:request>
+            <ses:protocol>HTTP</ses:protocol>
+            <ses:protocolVersion>1.1</ses:protocolVersion>
+            <ses:host>localhost</ses:host>
+            <ses:port>8080</ses:port>
+            <ses:uri>/jsfWeb/onRestore/page1.faces</ses:uri>
+            <ses:method>POST</ses:method>
+            <ses:parameters>
+               <ses:parameter>
+                  <ses:name>_id0</ses:name>
+                  <ses:value>_id0</ses:value>
+               </ses:parameter>
+               <ses:parameter>
+                  <ses:name>_id0:_idcl</ses:name>
+                  <ses:value>_id0:goCurrentNoNewMessage</ses:value>
+               </ses:parameter>
+            </ses:parameters>
+            <ses:cookies>
+               <ses:cookie>
+                  <ses:name>JSESSIONID</ses:name>
+                  <ses:value>8A22FB81134D1EF6ECDFD2CFC9A7A648</ses:value>
+               </ses:cookie>
+               <ses:cookie>
+                  <ses:name>nde-textsize</ses:name>
+                  <ses:value>16px</ses:value>
+               </ses:cookie>
+            </ses:cookies>
+            <ses:headers>
+               <ses:header>
+                  <ses:name>accept</ses:name>
+                  <ses:value>text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-charset</ses:name>
+                  <ses:value>ISO-8859-1,utf-8;q=0.7,*;q=0.7</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-encoding</ses:name>
+                  <ses:value>gzip,deflate</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-language</ses:name>
+                  <ses:value>en-us,en;q=0.7,ja;q=0.3</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>connection</ses:name>
+                  <ses:value>keep-alive</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>content-length</ses:name>
+                  <ses:value>51</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>content-type</ses:name>
+                  <ses:value>application/x-www-form-urlencoded</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>cookie</ses:name>
+                  <ses:value>JSESSIONID=8A22FB81134D1EF6ECDFD2CFC9A7A648; nde-textsize=16px</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>host</ses:name>
+                  <ses:value>localhost:8080</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>keep-alive</ses:name>
+                  <ses:value>300</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>referer</ses:name>
+                  <ses:value>http://localhost:8080/jsfWeb/onRestore/page2.faces</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.8) Gecko/20050511 Firefox/1.0.4</ses:value>
+               </ses:header>
+            </ses:headers>
+         </ses:request>
+         <ses:response>
+            <ses:statusCode>200</ses:statusCode>
+            <ses:reason/>
+            <ses:responseBody><![CDATA[<html>
+    <head> <title>Page Flow / JSF / NavigateTo</title> </head>
+    <body bgcolor="white">
+    <h3>Page Flow / JSF / NavigateTo: page 1</h3>
+    
+        <form id="_id0" method="post" action="/jsfWeb/onRestore/page1.faces" enctype="application/x-www-form-urlencoded">
+
+            
+                
+                
+                
+                
+                
+                
+            <table>
+<tbody>
+<tr>
+<td><span style="font-style: italic">This test ensures that onRestore() is called before restoring a page through Jpf.NavigateTo.{currentPage,previousPage}, and that page inputs are updated and available during onRestore().</span></td>
+</tr>
+<tr>
+<td>Messages:</td>
+</tr>
+<tr>
+<td>	Got action output from goPrev(). </td>
+</tr>
+<tr>
+<td><a id="_id0:goCurrentNoNewMessage" href="#" onclick="document.forms['_id0']['_id0:_idcl'].value='_id0:goCurrentNoNewMessage'; document.forms['_id0'].submit(); return false;">stay on the current page, via navigateTo=Jpf.NavigateTo.currentPage, with no new page inputs</a></td>
+</tr>
+<tr>
+<td><a id="_id0:goCurrent" href="#" onclick="document.forms['_id0']['_id0:_idcl'].value='_id0:goCurrent'; document.forms['_id0'].submit(); return false;">stay on the current page, via navigateTo=Jpf.NavigateTo.currentPage</a></td>
+</tr>
+<tr>
+<td><a id="_id0:go2" href="#" onclick="document.forms['_id0']['_id0:_idcl'].value='_id0:go2'; document.forms['_id0'].submit(); return false;">go to page 2</a></td>
+</tr>
+</tbody>
+</table>
+
+        <input type="hidden" name="_id0" value="_id0" /><input type="hidden" name="_id0:_idcl" /></form>
+    
+</html>]]></ses:responseBody>
+         </ses:response>
+      </ses:test>
+   </ses:tests>
+   <ses:endDate>24 Jun 2005, 03:46:04.668 PM MDT</ses:endDate>
+   <ses:testCount>6</ses:testCount>
+</ses:recorderSession>

Propchange: incubator/beehive/trunk/netui/test/webapps/jsf/testRecorder/tests-jsf-ri/OnRestore.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/beehive/trunk/netui/test/webapps/jsf/testRecorder/tests-myfaces/OnRestore.xml
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/jsf/testRecorder/tests-myfaces/OnRestore.xml?rev=201684&view=auto
==============================================================================
--- incubator/beehive/trunk/netui/test/webapps/jsf/testRecorder/tests-myfaces/OnRestore.xml (added)
+++ incubator/beehive/trunk/netui/test/webapps/jsf/testRecorder/tests-myfaces/OnRestore.xml Fri Jun 24 14:53:26 2005
@@ -0,0 +1,644 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ses:recorderSession xmlns:ses="http://beehive.apache.org/netui/tools/testrecorder/2004/session">
+   <ses:sessionName>OnRestore</ses:sessionName>
+   <ses:tester>rich</ses:tester>
+   <ses:startDate>24 Jun 2005, 03:43:48.312 PM MDT</ses:startDate>
+   <ses:description>Test to ensure that onRestore() is called before restoring a page through Jpf.NavigateTo.{currentPage,previousPage}, and that page inputs are updated and available during onRestore().</ses:description>
+   <ses:tests>
+      <ses:test>
+         <ses:testNumber>1</ses:testNumber>
+         <ses:request>
+            <ses:protocol>HTTP</ses:protocol>
+            <ses:protocolVersion>1.1</ses:protocolVersion>
+            <ses:host>localhost</ses:host>
+            <ses:port>8080</ses:port>
+            <ses:uri>/jsfWeb/onRestore/Controller.jpf</ses:uri>
+            <ses:method>GET</ses:method>
+            <ses:parameters/>
+            <ses:cookies>
+               <ses:cookie>
+                  <ses:name>JSESSIONID</ses:name>
+                  <ses:value>4E0AF9E04566C080FF5A16A7C744A4C1</ses:value>
+               </ses:cookie>
+               <ses:cookie>
+                  <ses:name>nde-textsize</ses:name>
+                  <ses:value>16px</ses:value>
+               </ses:cookie>
+            </ses:cookies>
+            <ses:headers>
+               <ses:header>
+                  <ses:name>accept</ses:name>
+                  <ses:value>text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-charset</ses:name>
+                  <ses:value>ISO-8859-1,utf-8;q=0.7,*;q=0.7</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-encoding</ses:name>
+                  <ses:value>gzip,deflate</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-language</ses:name>
+                  <ses:value>en-us,en;q=0.7,ja;q=0.3</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>connection</ses:name>
+                  <ses:value>keep-alive</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>cookie</ses:name>
+                  <ses:value>JSESSIONID=4E0AF9E04566C080FF5A16A7C744A4C1; nde-textsize=16px</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>host</ses:name>
+                  <ses:value>localhost:8080</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>keep-alive</ses:name>
+                  <ses:value>300</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.8) Gecko/20050511 Firefox/1.0.4</ses:value>
+               </ses:header>
+            </ses:headers>
+         </ses:request>
+         <ses:response>
+            <ses:statusCode>200</ses:statusCode>
+            <ses:reason/>
+            <ses:responseBody><![CDATA[<html>
+    <head> <title>Page Flow / JSF / NavigateTo</title> </head>
+    <body bgcolor="white">
+    <h3>Page Flow / JSF / NavigateTo: page 1</h3>
+    
+        <form id="_id0" name="_id0" method="post" action="/jsfWeb/onRestore/page1.faces" enctype="application/x-www-form-urlencoded">
+            <table><tbody><tr><td><span style="font-style: italic">This test ensures that onRestore() is called before restoring a page through Jpf.NavigateTo.{currentPage,previousPage}, and that page inputs are updated and available during onRestore().</span></td></tr>
+<tr><td>Messages:</td></tr>
+<tr><td><ul><li>Got action output from begin().</li></ul></td></tr>
+<tr><td><a href="#" onclick="clear__5Fid0();document.forms['_id0'].elements['_id0:_link_hidden_'].value='_id0:goCurrentNoNewMessage';if(document.forms['_id0'].onsubmit){document.forms['_id0'].onsubmit();}document.forms['_id0'].submit();return false;" id="_id0:goCurrentNoNewMessage">stay on the current page, via navigateTo=Jpf.NavigateTo.currentPage, with no new page inputs</a></td></tr>
+<tr><td><a href="#" onclick="clear__5Fid0();document.forms['_id0'].elements['_id0:_link_hidden_'].value='_id0:goCurrent';if(document.forms['_id0'].onsubmit){document.forms['_id0'].onsubmit();}document.forms['_id0'].submit();return false;" id="_id0:goCurrent">stay on the current page, via navigateTo=Jpf.NavigateTo.currentPage</a></td></tr>
+<tr><td><a href="#" onclick="clear__5Fid0();document.forms['_id0'].elements['_id0:_link_hidden_'].value='_id0:go2';if(document.forms['_id0'].onsubmit){document.forms['_id0'].onsubmit();}document.forms['_id0'].submit();return false;" id="_id0:go2">go to page 2</a></td></tr>
+</tbody></table>
+        <input type="hidden" name="_id0_SUBMIT" value="1"/><input type="hidden" name="_id0:_link_hidden_"/><script type="text/javascript">
+<!--
+function clear__5Fid0() {
+  var f = document.forms['_id0'];
+  f.elements['_id0:_link_hidden_'].value=null;
+  f.target='';
+}
+clear__5Fid0();
+//-->
+</script></form>
+    
+</html>]]></ses:responseBody>
+         </ses:response>
+      </ses:test>
+      <ses:test>
+         <ses:testNumber>2</ses:testNumber>
+         <ses:request>
+            <ses:protocol>HTTP</ses:protocol>
+            <ses:protocolVersion>1.1</ses:protocolVersion>
+            <ses:host>localhost</ses:host>
+            <ses:port>8080</ses:port>
+            <ses:uri>/jsfWeb/onRestore/page1.faces</ses:uri>
+            <ses:method>POST</ses:method>
+            <ses:parameters>
+               <ses:parameter>
+                  <ses:name>_id0:_link_hidden_</ses:name>
+                  <ses:value>_id0:goCurrentNoNewMessage</ses:value>
+               </ses:parameter>
+               <ses:parameter>
+                  <ses:name>_id0_SUBMIT</ses:name>
+                  <ses:value>1</ses:value>
+               </ses:parameter>
+            </ses:parameters>
+            <ses:cookies>
+               <ses:cookie>
+                  <ses:name>JSESSIONID</ses:name>
+                  <ses:value>4E0AF9E04566C080FF5A16A7C744A4C1</ses:value>
+               </ses:cookie>
+               <ses:cookie>
+                  <ses:name>nde-textsize</ses:name>
+                  <ses:value>16px</ses:value>
+               </ses:cookie>
+            </ses:cookies>
+            <ses:headers>
+               <ses:header>
+                  <ses:name>accept</ses:name>
+                  <ses:value>text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-charset</ses:name>
+                  <ses:value>ISO-8859-1,utf-8;q=0.7,*;q=0.7</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-encoding</ses:name>
+                  <ses:value>gzip,deflate</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-language</ses:name>
+                  <ses:value>en-us,en;q=0.7,ja;q=0.3</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>connection</ses:name>
+                  <ses:value>keep-alive</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>content-length</ses:name>
+                  <ses:value>63</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>content-type</ses:name>
+                  <ses:value>application/x-www-form-urlencoded</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>cookie</ses:name>
+                  <ses:value>JSESSIONID=4E0AF9E04566C080FF5A16A7C744A4C1; nde-textsize=16px</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>host</ses:name>
+                  <ses:value>localhost:8080</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>keep-alive</ses:name>
+                  <ses:value>300</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>referer</ses:name>
+                  <ses:value>http://localhost:8080/jsfWeb/onRestore/Controller.jpf</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.8) Gecko/20050511 Firefox/1.0.4</ses:value>
+               </ses:header>
+            </ses:headers>
+         </ses:request>
+         <ses:response>
+            <ses:statusCode>200</ses:statusCode>
+            <ses:reason/>
+            <ses:responseBody><![CDATA[<html>
+    <head> <title>Page Flow / JSF / NavigateTo</title> </head>
+    <body bgcolor="white">
+    <h3>Page Flow / JSF / NavigateTo: page 1</h3>
+    
+        <form id="_id0" name="_id0" method="post" action="/jsfWeb/onRestore/page1.faces" enctype="application/x-www-form-urlencoded">
+            <table><tbody><tr><td><span style="font-style: italic">This test ensures that onRestore() is called before restoring a page through Jpf.NavigateTo.{currentPage,previousPage}, and that page inputs are updated and available during onRestore().</span></td></tr>
+<tr><td>Messages:</td></tr>
+<tr><td><ul><li>Got action output from begin().</li></ul></td></tr>
+<tr><td><a href="#" onclick="clear__5Fid0();document.forms['_id0'].elements['_id0:_link_hidden_'].value='_id0:goCurrentNoNewMessage';if(document.forms['_id0'].onsubmit){document.forms['_id0'].onsubmit();}document.forms['_id0'].submit();return false;" id="_id0:goCurrentNoNewMessage">stay on the current page, via navigateTo=Jpf.NavigateTo.currentPage, with no new page inputs</a></td></tr>
+<tr><td><a href="#" onclick="clear__5Fid0();document.forms['_id0'].elements['_id0:_link_hidden_'].value='_id0:goCurrent';if(document.forms['_id0'].onsubmit){document.forms['_id0'].onsubmit();}document.forms['_id0'].submit();return false;" id="_id0:goCurrent">stay on the current page, via navigateTo=Jpf.NavigateTo.currentPage</a></td></tr>
+<tr><td><a href="#" onclick="clear__5Fid0();document.forms['_id0'].elements['_id0:_link_hidden_'].value='_id0:go2';if(document.forms['_id0'].onsubmit){document.forms['_id0'].onsubmit();}document.forms['_id0'].submit();return false;" id="_id0:go2">go to page 2</a></td></tr>
+</tbody></table>
+        <input type="hidden" name="_id0_SUBMIT" value="1"/><input type="hidden" name="_id0:_link_hidden_"/><script type="text/javascript">
+<!--
+function clear__5Fid0() {
+  var f = document.forms['_id0'];
+  f.elements['_id0:_link_hidden_'].value=null;
+  f.target='';
+}
+clear__5Fid0();
+//-->
+</script></form>
+    
+</html>]]></ses:responseBody>
+         </ses:response>
+      </ses:test>
+      <ses:test>
+         <ses:testNumber>3</ses:testNumber>
+         <ses:request>
+            <ses:protocol>HTTP</ses:protocol>
+            <ses:protocolVersion>1.1</ses:protocolVersion>
+            <ses:host>localhost</ses:host>
+            <ses:port>8080</ses:port>
+            <ses:uri>/jsfWeb/onRestore/page1.faces</ses:uri>
+            <ses:method>POST</ses:method>
+            <ses:parameters>
+               <ses:parameter>
+                  <ses:name>_id0:_link_hidden_</ses:name>
+                  <ses:value>_id0:goCurrent</ses:value>
+               </ses:parameter>
+               <ses:parameter>
+                  <ses:name>_id0_SUBMIT</ses:name>
+                  <ses:value>1</ses:value>
+               </ses:parameter>
+            </ses:parameters>
+            <ses:cookies>
+               <ses:cookie>
+                  <ses:name>JSESSIONID</ses:name>
+                  <ses:value>4E0AF9E04566C080FF5A16A7C744A4C1</ses:value>
+               </ses:cookie>
+               <ses:cookie>
+                  <ses:name>nde-textsize</ses:name>
+                  <ses:value>16px</ses:value>
+               </ses:cookie>
+            </ses:cookies>
+            <ses:headers>
+               <ses:header>
+                  <ses:name>accept</ses:name>
+                  <ses:value>text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-charset</ses:name>
+                  <ses:value>ISO-8859-1,utf-8;q=0.7,*;q=0.7</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-encoding</ses:name>
+                  <ses:value>gzip,deflate</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-language</ses:name>
+                  <ses:value>en-us,en;q=0.7,ja;q=0.3</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>connection</ses:name>
+                  <ses:value>keep-alive</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>content-length</ses:name>
+                  <ses:value>51</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>content-type</ses:name>
+                  <ses:value>application/x-www-form-urlencoded</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>cookie</ses:name>
+                  <ses:value>JSESSIONID=4E0AF9E04566C080FF5A16A7C744A4C1; nde-textsize=16px</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>host</ses:name>
+                  <ses:value>localhost:8080</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>keep-alive</ses:name>
+                  <ses:value>300</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>referer</ses:name>
+                  <ses:value>http://localhost:8080/jsfWeb/onRestore/page1.faces</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.8) Gecko/20050511 Firefox/1.0.4</ses:value>
+               </ses:header>
+            </ses:headers>
+         </ses:request>
+         <ses:response>
+            <ses:statusCode>200</ses:statusCode>
+            <ses:reason/>
+            <ses:responseBody><![CDATA[<html>
+    <head> <title>Page Flow / JSF / NavigateTo</title> </head>
+    <body bgcolor="white">
+    <h3>Page Flow / JSF / NavigateTo: page 1</h3>
+    
+        <form id="_id0" name="_id0" method="post" action="/jsfWeb/onRestore/page1.faces" enctype="application/x-www-form-urlencoded">
+            <table><tbody><tr><td><span style="font-style: italic">This test ensures that onRestore() is called before restoring a page through Jpf.NavigateTo.{currentPage,previousPage}, and that page inputs are updated and available during onRestore().</span></td></tr>
+<tr><td>Messages:</td></tr>
+<tr><td><ul><li>Got action output from goCurrent().</li></ul></td></tr>
+<tr><td><a href="#" onclick="clear__5Fid0();document.forms['_id0'].elements['_id0:_link_hidden_'].value='_id0:goCurrentNoNewMessage';if(document.forms['_id0'].onsubmit){document.forms['_id0'].onsubmit();}document.forms['_id0'].submit();return false;" id="_id0:goCurrentNoNewMessage">stay on the current page, via navigateTo=Jpf.NavigateTo.currentPage, with no new page inputs</a></td></tr>
+<tr><td><a href="#" onclick="clear__5Fid0();document.forms['_id0'].elements['_id0:_link_hidden_'].value='_id0:goCurrent';if(document.forms['_id0'].onsubmit){document.forms['_id0'].onsubmit();}document.forms['_id0'].submit();return false;" id="_id0:goCurrent">stay on the current page, via navigateTo=Jpf.NavigateTo.currentPage</a></td></tr>
+<tr><td><a href="#" onclick="clear__5Fid0();document.forms['_id0'].elements['_id0:_link_hidden_'].value='_id0:go2';if(document.forms['_id0'].onsubmit){document.forms['_id0'].onsubmit();}document.forms['_id0'].submit();return false;" id="_id0:go2">go to page 2</a></td></tr>
+</tbody></table>
+        <input type="hidden" name="_id0_SUBMIT" value="1"/><input type="hidden" name="_id0:_link_hidden_"/><script type="text/javascript">
+<!--
+function clear__5Fid0() {
+  var f = document.forms['_id0'];
+  f.elements['_id0:_link_hidden_'].value=null;
+  f.target='';
+}
+clear__5Fid0();
+//-->
+</script></form>
+    
+</html>]]></ses:responseBody>
+         </ses:response>
+      </ses:test>
+      <ses:test>
+         <ses:testNumber>4</ses:testNumber>
+         <ses:request>
+            <ses:protocol>HTTP</ses:protocol>
+            <ses:protocolVersion>1.1</ses:protocolVersion>
+            <ses:host>localhost</ses:host>
+            <ses:port>8080</ses:port>
+            <ses:uri>/jsfWeb/onRestore/page1.faces</ses:uri>
+            <ses:method>POST</ses:method>
+            <ses:parameters>
+               <ses:parameter>
+                  <ses:name>_id0:_link_hidden_</ses:name>
+                  <ses:value>_id0:go2</ses:value>
+               </ses:parameter>
+               <ses:parameter>
+                  <ses:name>_id0_SUBMIT</ses:name>
+                  <ses:value>1</ses:value>
+               </ses:parameter>
+            </ses:parameters>
+            <ses:cookies>
+               <ses:cookie>
+                  <ses:name>JSESSIONID</ses:name>
+                  <ses:value>4E0AF9E04566C080FF5A16A7C744A4C1</ses:value>
+               </ses:cookie>
+               <ses:cookie>
+                  <ses:name>nde-textsize</ses:name>
+                  <ses:value>16px</ses:value>
+               </ses:cookie>
+            </ses:cookies>
+            <ses:headers>
+               <ses:header>
+                  <ses:name>accept</ses:name>
+                  <ses:value>text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-charset</ses:name>
+                  <ses:value>ISO-8859-1,utf-8;q=0.7,*;q=0.7</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-encoding</ses:name>
+                  <ses:value>gzip,deflate</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-language</ses:name>
+                  <ses:value>en-us,en;q=0.7,ja;q=0.3</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>connection</ses:name>
+                  <ses:value>keep-alive</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>content-length</ses:name>
+                  <ses:value>45</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>content-type</ses:name>
+                  <ses:value>application/x-www-form-urlencoded</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>cookie</ses:name>
+                  <ses:value>JSESSIONID=4E0AF9E04566C080FF5A16A7C744A4C1; nde-textsize=16px</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>host</ses:name>
+                  <ses:value>localhost:8080</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>keep-alive</ses:name>
+                  <ses:value>300</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>referer</ses:name>
+                  <ses:value>http://localhost:8080/jsfWeb/onRestore/page1.faces</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.8) Gecko/20050511 Firefox/1.0.4</ses:value>
+               </ses:header>
+            </ses:headers>
+         </ses:request>
+         <ses:response>
+            <ses:statusCode>200</ses:statusCode>
+            <ses:reason/>
+            <ses:responseBody>&lt;html>
+    &lt;head> &lt;title>Page Flow / JSF / NavigateTo&lt;/title> &lt;/head>
+    &lt;body bgcolor="white">
+    &lt;h3>Page Flow / JSF / NavigateTo: page 2&lt;/h3>
+    
+        &lt;form id="_id0" name="_id0" method="post" action="/jsfWeb/onRestore/page2.faces" enctype="application/x-www-form-urlencoded">
+            &lt;a href="#" onclick="clear__5Fid0();document.forms['_id0'].elements['_id0:_link_hidden_'].value='_id0:goPrev';if(document.forms['_id0'].onsubmit){document.forms['_id0'].onsubmit();}document.forms['_id0'].submit();return false;" id="_id0:goPrev">go to previous page via navigateTo=Jpf.NavigateTo.previousPage&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() {
+  var f = document.forms['_id0'];
+  f.elements['_id0:_link_hidden_'].value=null;
+  f.target='';
+}
+clear__5Fid0();
+//-->
+&lt;/script>&lt;/form>
+    
+&lt;/HTML></ses:responseBody>
+         </ses:response>
+      </ses:test>
+      <ses:test>
+         <ses:testNumber>5</ses:testNumber>
+         <ses:request>
+            <ses:protocol>HTTP</ses:protocol>
+            <ses:protocolVersion>1.1</ses:protocolVersion>
+            <ses:host>localhost</ses:host>
+            <ses:port>8080</ses:port>
+            <ses:uri>/jsfWeb/onRestore/page2.faces</ses:uri>
+            <ses:method>POST</ses:method>
+            <ses:parameters>
+               <ses:parameter>
+                  <ses:name>_id0:_link_hidden_</ses:name>
+                  <ses:value>_id0:goPrev</ses:value>
+               </ses:parameter>
+               <ses:parameter>
+                  <ses:name>_id0_SUBMIT</ses:name>
+                  <ses:value>1</ses:value>
+               </ses:parameter>
+            </ses:parameters>
+            <ses:cookies>
+               <ses:cookie>
+                  <ses:name>JSESSIONID</ses:name>
+                  <ses:value>4E0AF9E04566C080FF5A16A7C744A4C1</ses:value>
+               </ses:cookie>
+               <ses:cookie>
+                  <ses:name>nde-textsize</ses:name>
+                  <ses:value>16px</ses:value>
+               </ses:cookie>
+            </ses:cookies>
+            <ses:headers>
+               <ses:header>
+                  <ses:name>accept</ses:name>
+                  <ses:value>text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-charset</ses:name>
+                  <ses:value>ISO-8859-1,utf-8;q=0.7,*;q=0.7</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-encoding</ses:name>
+                  <ses:value>gzip,deflate</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-language</ses:name>
+                  <ses:value>en-us,en;q=0.7,ja;q=0.3</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>connection</ses:name>
+                  <ses:value>keep-alive</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>content-length</ses:name>
+                  <ses:value>48</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>content-type</ses:name>
+                  <ses:value>application/x-www-form-urlencoded</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>cookie</ses:name>
+                  <ses:value>JSESSIONID=4E0AF9E04566C080FF5A16A7C744A4C1; nde-textsize=16px</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>host</ses:name>
+                  <ses:value>localhost:8080</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>keep-alive</ses:name>
+                  <ses:value>300</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>referer</ses:name>
+                  <ses:value>http://localhost:8080/jsfWeb/onRestore/page1.faces</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.8) Gecko/20050511 Firefox/1.0.4</ses:value>
+               </ses:header>
+            </ses:headers>
+         </ses:request>
+         <ses:response>
+            <ses:statusCode>200</ses:statusCode>
+            <ses:reason/>
+            <ses:responseBody><![CDATA[<html>
+    <head> <title>Page Flow / JSF / NavigateTo</title> </head>
+    <body bgcolor="white">
+    <h3>Page Flow / JSF / NavigateTo: page 1</h3>
+    
+        <form id="_id0" name="_id0" method="post" action="/jsfWeb/onRestore/page1.faces" enctype="application/x-www-form-urlencoded">
+            <table><tbody><tr><td><span style="font-style: italic">This test ensures that onRestore() is called before restoring a page through Jpf.NavigateTo.{currentPage,previousPage}, and that page inputs are updated and available during onRestore().</span></td></tr>
+<tr><td>Messages:</td></tr>
+<tr><td><ul><li>Got action output from goPrev().</li></ul></td></tr>
+<tr><td><a href="#" onclick="clear__5Fid0();document.forms['_id0'].elements['_id0:_link_hidden_'].value='_id0:goCurrentNoNewMessage';if(document.forms['_id0'].onsubmit){document.forms['_id0'].onsubmit();}document.forms['_id0'].submit();return false;" id="_id0:goCurrentNoNewMessage">stay on the current page, via navigateTo=Jpf.NavigateTo.currentPage, with no new page inputs</a></td></tr>
+<tr><td><a href="#" onclick="clear__5Fid0();document.forms['_id0'].elements['_id0:_link_hidden_'].value='_id0:goCurrent';if(document.forms['_id0'].onsubmit){document.forms['_id0'].onsubmit();}document.forms['_id0'].submit();return false;" id="_id0:goCurrent">stay on the current page, via navigateTo=Jpf.NavigateTo.currentPage</a></td></tr>
+<tr><td><a href="#" onclick="clear__5Fid0();document.forms['_id0'].elements['_id0:_link_hidden_'].value='_id0:go2';if(document.forms['_id0'].onsubmit){document.forms['_id0'].onsubmit();}document.forms['_id0'].submit();return false;" id="_id0:go2">go to page 2</a></td></tr>
+</tbody></table>
+        <input type="hidden" name="_id0_SUBMIT" value="1"/><input type="hidden" name="_id0:_link_hidden_"/><script type="text/javascript">
+<!--
+function clear__5Fid0() {
+  var f = document.forms['_id0'];
+  f.elements['_id0:_link_hidden_'].value=null;
+  f.target='';
+}
+clear__5Fid0();
+//-->
+</script></form>
+    
+</html>]]></ses:responseBody>
+         </ses:response>
+      </ses:test>
+      <ses:test>
+         <ses:testNumber>6</ses:testNumber>
+         <ses:request>
+            <ses:protocol>HTTP</ses:protocol>
+            <ses:protocolVersion>1.1</ses:protocolVersion>
+            <ses:host>localhost</ses:host>
+            <ses:port>8080</ses:port>
+            <ses:uri>/jsfWeb/onRestore/page1.faces</ses:uri>
+            <ses:method>POST</ses:method>
+            <ses:parameters>
+               <ses:parameter>
+                  <ses:name>_id0:_link_hidden_</ses:name>
+                  <ses:value>_id0:goCurrentNoNewMessage</ses:value>
+               </ses:parameter>
+               <ses:parameter>
+                  <ses:name>_id0_SUBMIT</ses:name>
+                  <ses:value>1</ses:value>
+               </ses:parameter>
+            </ses:parameters>
+            <ses:cookies>
+               <ses:cookie>
+                  <ses:name>JSESSIONID</ses:name>
+                  <ses:value>4E0AF9E04566C080FF5A16A7C744A4C1</ses:value>
+               </ses:cookie>
+               <ses:cookie>
+                  <ses:name>nde-textsize</ses:name>
+                  <ses:value>16px</ses:value>
+               </ses:cookie>
+            </ses:cookies>
+            <ses:headers>
+               <ses:header>
+                  <ses:name>accept</ses:name>
+                  <ses:value>text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-charset</ses:name>
+                  <ses:value>ISO-8859-1,utf-8;q=0.7,*;q=0.7</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-encoding</ses:name>
+                  <ses:value>gzip,deflate</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-language</ses:name>
+                  <ses:value>en-us,en;q=0.7,ja;q=0.3</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>connection</ses:name>
+                  <ses:value>keep-alive</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>content-length</ses:name>
+                  <ses:value>63</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>content-type</ses:name>
+                  <ses:value>application/x-www-form-urlencoded</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>cookie</ses:name>
+                  <ses:value>JSESSIONID=4E0AF9E04566C080FF5A16A7C744A4C1; nde-textsize=16px</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>host</ses:name>
+                  <ses:value>localhost:8080</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>keep-alive</ses:name>
+                  <ses:value>300</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>referer</ses:name>
+                  <ses:value>http://localhost:8080/jsfWeb/onRestore/page2.faces</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.8) Gecko/20050511 Firefox/1.0.4</ses:value>
+               </ses:header>
+            </ses:headers>
+         </ses:request>
+         <ses:response>
+            <ses:statusCode>200</ses:statusCode>
+            <ses:reason/>
+            <ses:responseBody><![CDATA[<html>
+    <head> <title>Page Flow / JSF / NavigateTo</title> </head>
+    <body bgcolor="white">
+    <h3>Page Flow / JSF / NavigateTo: page 1</h3>
+    
+        <form id="_id0" name="_id0" method="post" action="/jsfWeb/onRestore/page1.faces" enctype="application/x-www-form-urlencoded">
+            <table><tbody><tr><td><span style="font-style: italic">This test ensures that onRestore() is called before restoring a page through Jpf.NavigateTo.{currentPage,previousPage}, and that page inputs are updated and available during onRestore().</span></td></tr>
+<tr><td>Messages:</td></tr>
+<tr><td><ul><li>Got action output from goPrev().</li></ul></td></tr>
+<tr><td><a href="#" onclick="clear__5Fid0();document.forms['_id0'].elements['_id0:_link_hidden_'].value='_id0:goCurrentNoNewMessage';if(document.forms['_id0'].onsubmit){document.forms['_id0'].onsubmit();}document.forms['_id0'].submit();return false;" id="_id0:goCurrentNoNewMessage">stay on the current page, via navigateTo=Jpf.NavigateTo.currentPage, with no new page inputs</a></td></tr>
+<tr><td><a href="#" onclick="clear__5Fid0();document.forms['_id0'].elements['_id0:_link_hidden_'].value='_id0:goCurrent';if(document.forms['_id0'].onsubmit){document.forms['_id0'].onsubmit();}document.forms['_id0'].submit();return false;" id="_id0:goCurrent">stay on the current page, via navigateTo=Jpf.NavigateTo.currentPage</a></td></tr>
+<tr><td><a href="#" onclick="clear__5Fid0();document.forms['_id0'].elements['_id0:_link_hidden_'].value='_id0:go2';if(document.forms['_id0'].onsubmit){document.forms['_id0'].onsubmit();}document.forms['_id0'].submit();return false;" id="_id0:go2">go to page 2</a></td></tr>
+</tbody></table>
+        <input type="hidden" name="_id0_SUBMIT" value="1"/><input type="hidden" name="_id0:_link_hidden_"/><script type="text/javascript">
+<!--
+function clear__5Fid0() {
+  var f = document.forms['_id0'];
+  f.elements['_id0:_link_hidden_'].value=null;
+  f.target='';
+}
+clear__5Fid0();
+//-->
+</script></form>
+    
+</html>]]></ses:responseBody>
+         </ses:response>
+      </ses:test>
+   </ses:tests>
+   <ses:endDate>24 Jun 2005, 03:44:19.767 PM MDT</ses:endDate>
+   <ses:testCount>6</ses:testCount>
+</ses:recorderSession>

Propchange: incubator/beehive/trunk/netui/test/webapps/jsf/testRecorder/tests-myfaces/OnRestore.xml
------------------------------------------------------------------------------
    svn:eol-style = native