Author: rich
Date: Sun Feb 13 20:46:25 2005
New Revision: 153711

URL: http://svn.apache.org/viewcvs?view=rev&rev=153711
Log:
Fix for http://issues.apache.org/jira/browse/BEEHIVE-294 : MyFaces: framework 
does not preserve component tree with 'navigateTo'

DRT/BVT: netui drt + drt.myfaces + drt.jsf-ri (WinXP)
BB: self (linux)


Added:
    
incubator/beehive/trunk/netui/test/webapps/jsf/testRecorder/tests-myfaces/RestorePreviousPage.xml
   (with props)
Modified:
    
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/faces/internal/PageFlowApplication.java
    
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/faces/internal/PageFlowViewHandler.java

Modified: 
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/faces/internal/PageFlowApplication.java
URL: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/faces/internal/PageFlowApplication.java?view=diff&r1=153710&r2=153711
==============================================================================
--- 
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/faces/internal/PageFlowApplication.java
 (original)
+++ 
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/faces/internal/PageFlowApplication.java
 Sun Feb 13 20:46:25 2005
@@ -132,12 +132,12 @@
 
     public ViewHandler getViewHandler()
     {
-        return new PageFlowViewHandler( _delegate.getViewHandler() );
+        return _delegate.getViewHandler();
     }
 
     public void setViewHandler( ViewHandler handler )
     {
-        _delegate.setViewHandler( handler );
+        _delegate.setViewHandler( handler instanceof PageFlowViewHandler ? 
handler : new PageFlowViewHandler( handler ) );
     }
 
     public StateManager getStateManager()

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?view=diff&r1=153710&r2=153711
==============================================================================
--- 
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
 Sun Feb 13 20:46:25 2005
@@ -21,6 +21,8 @@
 import org.apache.beehive.netui.pageflow.PageFlowController;
 import org.apache.beehive.netui.pageflow.PreviousPageInfo;
 import org.apache.beehive.netui.pageflow.internal.RequestValues;
+import org.apache.beehive.netui.util.ServletUtils;
+import org.apache.beehive.netui.util.FileUtils;
 
 import javax.faces.application.ViewHandler;
 import javax.faces.context.FacesContext;
@@ -128,7 +130,7 @@
         return viewRoot;
     }
 
-    private static void savePreviousPageInfo( HttpServletRequest request, 
String viewId, UIViewRoot viewRoot )
+    private static void savePreviousPageInfo( HttpServletRequest request, 
String viewID, UIViewRoot viewRoot )
     {
         //
         // Save the current view state in the PreviousPageInfo structure of 
the current page flow.
@@ -137,11 +139,20 @@
         {
             PageFlowController curPageFlow = PageFlowUtils.getCurrentPageFlow( 
request );
             
-            if ( curPageFlow != null && ! 
curPageFlow.isPreviousPageInfoDisabled() 
-                 && viewId.equals( curPageFlow.getCurrentForwardPath() ) )
+            if ( curPageFlow != null && ! 
curPageFlow.isPreviousPageInfoDisabled() )
             {
-                PreviousPageInfo prevPageInfo = 
curPageFlow.getCurrentPageInfo();
-                prevPageInfo.setClientState( viewRoot );
+                //
+                // Only save the previous page info if the JSF view-ID is the 
same as the current forward path.
+                // Note that we strip the file extension from the view-ID -- 
different JSF implementations give
+                // us different things (foo.jsp vs. foo.faces).
+                //
+                viewID = FileUtils.stripFileExtension( viewID );
+                String currentForwardPath = FileUtils.stripFileExtension( 
curPageFlow.getCurrentForwardPath() );
+                if ( viewID.equals( currentForwardPath ) )
+                {
+                    PreviousPageInfo prevPageInfo = 
curPageFlow.getCurrentPageInfo();
+                    prevPageInfo.setClientState( viewRoot );
+                }
             }
         }
     }

Added: 
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?view=auto&rev=153711
==============================================================================
--- 
incubator/beehive/trunk/netui/test/webapps/jsf/testRecorder/tests-myfaces/RestorePreviousPage.xml
 (added)
+++ 
incubator/beehive/trunk/netui/test/webapps/jsf/testRecorder/tests-myfaces/RestorePreviousPage.xml
 Sun Feb 13 20:46:25 2005
@@ -0,0 +1,747 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ses:recorderSession 
xmlns:ses="http://beehive.apache.org/netui/tools/testrecorder/2004/session";>
+   <ses:sessionName>RestorePreviousPage</ses:sessionName>
+   <ses:tester>rich</ses:tester>
+   <ses:startDate>13 Feb 2005, 07:51:44.652 PM MST</ses:startDate>
+   <ses:description>Test of restoring the component tree of a JSF page when 
returning to it through navigateTo=Jpf.NavigateTo.currentPage or 
navigateTo=Jpf.NavigateTo.previousPage.</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/restorePreviousPage/Controller.jpf</ses:uri>
+            <ses:method>GET</ses:method>
+            <ses:parameters/>
+            <ses:cookies>
+               <ses:cookie>
+                  <ses:name>JSESSIONID</ses:name>
+                  <ses:value>339C4B87352542C8B6D134B39B81447D</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.5</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=339C4B87352542C8B6D134B39B81447D</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.5) Gecko/20041107 Firefox/1.0</ses:value>
+               </ses:header>
+            </ses:headers>
+         </ses:request>
+         <ses:response>
+            <ses:statusCode>200</ses:statusCode>
+            <ses:reason/>
+            <ses:responseBody>&lt;html>
+    &lt;head>
+    &lt;/head>
+    &lt;body>
+        
+            &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;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;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;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;/body>
+&lt;/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/restorePreviousPage/page1.faces</ses:uri>
+            <ses:method>POST</ses:method>
+            <ses:parameters>
+               <ses:parameter>
+                  <ses:name>_id0:_id1</ses:name>
+                  <ses:value>aaa</ses:value>
+               </ses:parameter>
+               <ses:parameter>
+                  <ses:name>_id0:_link_hidden_</ses:name>
+                  <ses:value>_id0:_id2</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>339C4B87352542C8B6D134B39B81447D</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.5</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>62</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=339C4B87352542C8B6D134B39B81447D</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/restorePreviousPage/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.5) Gecko/20041107 Firefox/1.0</ses:value>
+               </ses:header>
+            </ses:headers>
+         </ses:request>
+         <ses:response>
+            <ses:statusCode>200</ses:statusCode>
+            <ses:reason/>
+            <ses:responseBody>&lt;html>
+    &lt;head>
+    &lt;/head>
+    &lt;body>
+        
+            &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;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;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;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;/body>
+&lt;/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/restorePreviousPage/page1.faces</ses:uri>
+            <ses:method>POST</ses:method>
+            <ses:parameters>
+               <ses:parameter>
+                  <ses:name>_id0:_id1</ses:name>
+                  <ses:value>aaa</ses:value>
+               </ses:parameter>
+               <ses:parameter>
+                  <ses:name>_id0:_link_hidden_</ses:name>
+                  <ses:value>_id0:_id3</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>339C4B87352542C8B6D134B39B81447D</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.5</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>62</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=339C4B87352542C8B6D134B39B81447D</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/restorePreviousPage/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.5) Gecko/20041107 Firefox/1.0</ses:value>
+               </ses:header>
+            </ses:headers>
+         </ses:request>
+         <ses:response>
+            <ses:statusCode>200</ses:statusCode>
+            <ses:reason/>
+            <ses:responseBody>&lt;html>
+    &lt;head>
+    &lt;/head>
+    &lt;body>
+        
+            &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;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;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;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;/body>
+&lt;/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/restorePreviousPage/page1.faces</ses:uri>
+            <ses:method>POST</ses:method>
+            <ses:parameters>
+               <ses:parameter>
+                  <ses:name>_id0:_id1</ses:name>
+                  <ses:value>bbb</ses:value>
+               </ses:parameter>
+               <ses:parameter>
+                  <ses:name>_id0:_link_hidden_</ses:name>
+                  <ses:value>_id0:_id4</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>339C4B87352542C8B6D134B39B81447D</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.5</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>62</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=339C4B87352542C8B6D134B39B81447D</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/restorePreviousPage/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.5) Gecko/20041107 Firefox/1.0</ses:value>
+               </ses:header>
+            </ses:headers>
+         </ses:request>
+         <ses:response>
+            <ses:statusCode>200</ses:statusCode>
+            <ses:reason/>
+            <ses:responseBody>&lt;html>
+    &lt;head>
+    &lt;/head>
+    &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;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;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;/body>
+&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/restorePreviousPage/page2.faces</ses:uri>
+            <ses:method>POST</ses:method>
+            <ses:parameters>
+               <ses:parameter>
+                  <ses:name>_id0:_link_hidden_</ses:name>
+                  <ses:value>_id0:_id1</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>339C4B87352542C8B6D134B39B81447D</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.5</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>46</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=339C4B87352542C8B6D134B39B81447D</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/restorePreviousPage/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.5) Gecko/20041107 Firefox/1.0</ses:value>
+               </ses:header>
+            </ses:headers>
+         </ses:request>
+         <ses:response>
+            <ses:statusCode>200</ses:statusCode>
+            <ses:reason/>
+            <ses:responseBody>&lt;html>
+    &lt;head>
+    &lt;/head>
+    &lt;body>
+        
+            &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;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;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;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;/body>
+&lt;/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/restorePreviousPage/page1.faces</ses:uri>
+            <ses:method>POST</ses:method>
+            <ses:parameters>
+               <ses:parameter>
+                  <ses:name>_id0:_id1</ses:name>
+                  <ses:value>bbb</ses:value>
+               </ses:parameter>
+               <ses:parameter>
+                  <ses:name>_id0:_link_hidden_</ses:name>
+                  <ses:value>_id0:_id4</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>339C4B87352542C8B6D134B39B81447D</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.5</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>62</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=339C4B87352542C8B6D134B39B81447D</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/restorePreviousPage/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.5) Gecko/20041107 Firefox/1.0</ses:value>
+               </ses:header>
+            </ses:headers>
+         </ses:request>
+         <ses:response>
+            <ses:statusCode>200</ses:statusCode>
+            <ses:reason/>
+            <ses:responseBody>&lt;html>
+    &lt;head>
+    &lt;/head>
+    &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;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;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;/body>
+&lt;/html></ses:responseBody>
+         </ses:response>
+      </ses:test>
+      <ses:test>
+         <ses:testNumber>7</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/restorePreviousPage/page2.faces</ses:uri>
+            <ses:method>POST</ses:method>
+            <ses:parameters>
+               <ses:parameter>
+                  <ses:name>_id0:_link_hidden_</ses:name>
+                  <ses:value>_id0:_id2</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>339C4B87352542C8B6D134B39B81447D</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.5</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>46</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=339C4B87352542C8B6D134B39B81447D</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/restorePreviousPage/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.5) Gecko/20041107 Firefox/1.0</ses:value>
+               </ses:header>
+            </ses:headers>
+         </ses:request>
+         <ses:response>
+            <ses:statusCode>200</ses:statusCode>
+            <ses:reason/>
+            <ses:responseBody>&lt;html>
+    &lt;head>
+    &lt;/head>
+    &lt;body>
+        
+            &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;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;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;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;/body>
+&lt;/html></ses:responseBody>
+         </ses:response>
+      </ses:test>
+   </ses:tests>
+   <ses:endDate>13 Feb 2005, 07:52:09.748 PM MST</ses:endDate>
+   <ses:testCount>7</ses:testCount>
+</ses:recorderSession>

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


Reply via email to