Author: rich
Date: Fri Jan 21 01:06:52 2005
New Revision: 125908

URL: http://svn.apache.org/viewcvs?view=rev&rev=125908
Log:
Changes to allow preservation of the component tree in a JSF page, so the page 
can be returned to (intact) using a @Jpf.Forward with 
navigateTo=Jpf.NavigateTo.currentPage or navigateTo=Jpf.NavigateTo.previousPage.

Also, fixed the JSF DRT app to run again (mostly build changes).

DRT/BVT: netui (WinXP)
BB: self (linux)


Added:
   incubator/beehive/trunk/netui/test/webapps/jsf/jsfWeb/restorePreviousPage/
   
incubator/beehive/trunk/netui/test/webapps/jsf/jsfWeb/restorePreviousPage/Controller.jpf
   (contents, props changed)
   
incubator/beehive/trunk/netui/test/webapps/jsf/jsfWeb/restorePreviousPage/page1.jsfb
   (contents, props changed)
   
incubator/beehive/trunk/netui/test/webapps/jsf/jsfWeb/restorePreviousPage/page1.jsp
   (contents, props changed)
   
incubator/beehive/trunk/netui/test/webapps/jsf/jsfWeb/restorePreviousPage/page2.jsfb
   (contents, props changed)
   
incubator/beehive/trunk/netui/test/webapps/jsf/jsfWeb/restorePreviousPage/page2.jsp
   (contents, props changed)
   
incubator/beehive/trunk/netui/test/webapps/jsf/testRecorder/tests/RestorePreviousPage.xml
   (contents, props changed)
   
incubator/beehive/trunk/netui/test/webapps/urlTemplates/urlTemplates/index/Beehive.gif
   (contents, props changed)
   
incubator/beehive/trunk/netui/test/webapps/urlTemplates/urlTemplates/index/linkDown.gif
   (contents, props changed)
   
incubator/beehive/trunk/netui/test/webapps/urlTemplates/urlTemplates/index/linkOver.gif
   (contents, props changed)
Removed:
   
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/updateFormFromNestedPopup/ttt
Modified:
   
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/ForwardHandler.java
   
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowController.java
   
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PreviousPageInfo.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/RequestValues.java
   incubator/beehive/trunk/netui/test/webapps/jsf/build.xml
   
incubator/beehive/trunk/netui/test/webapps/jsf/testRecorder/config/testRecorder-tests.xml
   
incubator/beehive/trunk/netui/test/webapps/jsf/testRecorder/tests/BindingInFaces.xml
   
incubator/beehive/trunk/netui/test/webapps/jsf/testRecorder/tests/SubmitFormBean.xml

Modified: 
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/ForwardHandler.java
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/ForwardHandler.java?view=diff&rev=125908&p1=incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/ForwardHandler.java&r1=125907&p2=incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/ForwardHandler.java&r2=125908
==============================================================================
--- 
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/ForwardHandler.java
    (original)
+++ 
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/ForwardHandler.java
    Fri Jan 21 01:06:52 2005
@@ -339,6 +339,7 @@
             }
         }
         
+        RequestValues.setPreviousPageInfo( request, prevPageInfo );
         return retFwd;
     }
     

Modified: 
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowController.java
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowController.java?view=diff&rev=125908&p1=incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowController.java&r1=125907&p2=incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowController.java&r2=125908
==============================================================================
--- 
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowController.java
        (original)
+++ 
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowController.java
        Fri Jan 21 01:06:52 2005
@@ -21,8 +21,6 @@
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpSessionBindingEvent;
 import javax.servlet.ServletContext;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
 import java.lang.reflect.Field;
 import java.util.Map;
 
@@ -91,6 +89,7 @@
     private ViewRenderer _returnActionViewRenderer = null;
     
     private static final String DELETING_PAGEFLOW_ATTR = 
InternalConstants.ATTR_PREFIX + "deletingPageFlow";
+    private static final String SAVED_PREVIOUS_PAGE_INFO_ATTR = 
InternalConstants.ATTR_PREFIX + "savedPrevPageInfo";
     private static final String CACHED_INFO_KEY = "cachedInfo";
     private static final Logger _log = Logger.getInstance( 
PageFlowController.class );
   
@@ -447,7 +446,7 @@
      * @see #getPreviousFormBean
      * @see #getPreviousForwardPath
      */ 
-    protected String getCurrentForwardPath()
+    public String getCurrentForwardPath()
     {
         PreviousPageInfo curPageInfo = getCurrentPageInfo();
         String path = null;
@@ -649,7 +648,7 @@
         return getURI();
     }
     
-    private boolean isPreviousActionInfoDisabled()
+    public boolean isPreviousActionInfoDisabled()
     {
         if ( alwaysTrackPreviousAction() ) return false;
         
@@ -658,7 +657,7 @@
         return cc instanceof PageFlowControllerConfig && ( ( 
PageFlowControllerConfig ) cc ).isReturnToActionDisabled();
     }
     
-    private boolean isPreviousPageInfoDisabled()
+    public boolean isPreviousPageInfoDisabled()
     {
         if ( alwaysTrackPreviousPage() ) return false;
         
@@ -688,20 +687,17 @@
                                HttpServletRequest request, ServletContext 
servletContext,
                                boolean isSpecialForward )
     {
-        //
-        // If previous-page is disabled (unused in this pageflow), just return.
-        //
-        if ( isPreviousPageInfoDisabled() ) return;
-        
         if ( forward != null )
         {
+            //
+            // If previous-page is disabled (unused in this pageflow), or if 
we've already saved prevous-page info in
+            // this request (for example, forward to foo.faces which forwards 
to foo.jsp), just return.
+            //
+            if ( request.getAttribute( SAVED_PREVIOUS_PAGE_INFO_ATTR ) != null 
|| isPreviousPageInfoDisabled() ) return;
+            
             String path = forward.getPath();
             int queryPos = path.indexOf( '?' );
-            
-            if ( queryPos != -1 )
-            {
-                path = path.substring( 0, queryPos );
-            }
+            if ( queryPos != -1 ) path = path.substring( 0, queryPos );
             
             //
             // If a form bean was generated in this request, add it to the 
most recent PreviousPageInfo, so when we
@@ -730,6 +726,7 @@
                 {
                     _previousPageInfo = _currentPageInfo;
                     _currentPageInfo = new PreviousPageInfo( forward, form, 
mapping );
+                    request.setAttribute( SAVED_PREVIOUS_PAGE_INFO_ATTR, 
Boolean.TRUE );
                 }
             }
         }

Modified: 
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PreviousPageInfo.java
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PreviousPageInfo.java?view=diff&rev=125908&p1=incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PreviousPageInfo.java&r1=125907&p2=incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PreviousPageInfo.java&r2=125908
==============================================================================
--- 
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PreviousPageInfo.java
  (original)
+++ 
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PreviousPageInfo.java
  Fri Jan 21 01:06:52 2005
@@ -37,6 +37,7 @@
     private ActionForm _form;
     private String _mappingPath;
     private transient ActionMapping _mapping;
+    private Object _clientState;
 
     
     /**
@@ -140,5 +141,21 @@
     public void setForward( ActionForward forward )
     {
         _forward = forward;
+    }
+
+    /**
+     * Get client state associated with the page (e.g., component tree state 
for a JSF page).
+     */ 
+    public Object getClientState()
+    {
+        return _clientState;
+    }
+
+    /**
+     * Set client state associated with the page (e.g., component tree state 
for a JSF page).
+     */ 
+    public void setClientState( Object clientState )
+    {
+        _clientState = clientState;
     }
 }

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&rev=125908&p1=incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/faces/internal/PageFlowViewHandler.java&r1=125907&p2=incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/faces/internal/PageFlowViewHandler.java&r2=125908
==============================================================================
--- 
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 Jan 21 01:06:52 2005
@@ -17,6 +17,11 @@
  */
 package org.apache.beehive.netui.pageflow.faces.internal;
 
+import org.apache.beehive.netui.pageflow.PageFlowUtils;
+import org.apache.beehive.netui.pageflow.PageFlowController;
+import org.apache.beehive.netui.pageflow.PreviousPageInfo;
+import org.apache.beehive.netui.pageflow.internal.RequestValues;
+
 import javax.faces.application.ViewHandler;
 import javax.faces.context.FacesContext;
 import javax.faces.component.UIViewRoot;
@@ -52,7 +57,32 @@
 
     public UIViewRoot createView(FacesContext context, String viewId)
     {
-        return _delegate.createView( context, viewId );
+        Object request = context.getExternalContext().getRequest();
+        HttpServletRequest httpRequest = null;
+        
+        //
+        // First, if this is a navigateTo=Jpf.NavigateTo.currentPage or a 
navigateTo=Jpf.NavigateTo.previousPage,
+        // see if we've saved view state from the original page.  If so, just 
restore that.
+        //
+        if ( request instanceof HttpServletRequest )
+        {
+            httpRequest = ( HttpServletRequest ) request;
+            PreviousPageInfo prevPageInfo = RequestValues.getPreviousPageInfo( 
httpRequest, true );
+            
+            if ( prevPageInfo != null )
+            {
+                Object clientState = prevPageInfo.getClientState();
+                
+                if ( clientState != null && clientState instanceof UIViewRoot )
+                {
+                    return ( UIViewRoot ) clientState;
+                }
+            }
+        }
+        
+        UIViewRoot viewRoot = _delegate.createView( context, viewId );
+        savePreviousPageInfo( httpRequest, viewId, viewRoot );
+        return viewRoot;
     }
 
     public String getActionURL(FacesContext context, String viewId)
@@ -78,20 +108,44 @@
     public UIViewRoot restoreView(FacesContext context, String viewId)
     {
         Object request = context.getExternalContext().getRequest();
+        HttpServletRequest httpRequest = null;
         
         if ( request instanceof HttpServletRequest )
         {
-            HttpServletRequest httpRequest = ( HttpServletRequest ) request;
+            httpRequest = ( HttpServletRequest ) request;
             
+            //
+            // If we did a forward in PageFlowNavigationHandler, don't try to 
restore the view.
+            //
             if ( httpRequest.getAttribute( 
PageFlowNavigationHandler.ALREADY_FORWARDED_ATTR ) != null )
             {
                 return null;
             }
         }
         
-        return _delegate.restoreView( context, viewId );
+        UIViewRoot viewRoot = _delegate.restoreView( context, viewId );
+        savePreviousPageInfo( httpRequest, viewId, viewRoot );
+        return 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.
+        //
+        if ( request != null )
+        {
+            PageFlowController curPageFlow = PageFlowUtils.getCurrentPageFlow( 
request );
+            
+            if ( curPageFlow != null && ! 
curPageFlow.isPreviousPageInfoDisabled() 
+                 && viewId.equals( curPageFlow.getCurrentForwardPath() ) )
+            {
+                PreviousPageInfo prevPageInfo = 
curPageFlow.getCurrentPageInfo();
+                prevPageInfo.setClientState( viewRoot );
+            }
+        }
+    }
+    
     public void writeState(FacesContext context) throws IOException
     {
         _delegate.writeState( context );

Modified: 
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/RequestValues.java
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/RequestValues.java?view=diff&rev=125908&p1=incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/RequestValues.java&r1=125907&p2=incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/RequestValues.java&r2=125908
==============================================================================
--- 
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/RequestValues.java
    (original)
+++ 
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/RequestValues.java
    Fri Jan 21 01:06:52 2005
@@ -19,6 +19,7 @@
 
 import org.apache.struts.action.ActionForm;
 import org.apache.beehive.netui.pageflow.FlowController;
+import org.apache.beehive.netui.pageflow.PreviousPageInfo;
 
 import javax.servlet.ServletRequest;
 
@@ -36,6 +37,7 @@
     private static final String FORWARDED_FORMBEAN_ATTR = ATTR_PREFIX + 
"forwardedForm";
     private static final String CURRENT_FLOWCONTROLLER_ATTR = ATTR_PREFIX + 
"flowController";
     private static final String VIEW_RENDERER_ATTR = ATTR_PREFIX + 
"viewRenderer";
+    private static final String PREVIOUS_PAGE_INFO_ATTR = ATTR_PREFIX + 
"prevPageInfo";
     
     
     public static boolean isForwardedRequest( ServletRequest request )
@@ -129,5 +131,17 @@
     public static void setViewRenderer( ServletRequest request, ViewRenderer 
viewRenderer )
     {
         request.setAttribute( VIEW_RENDERER_ATTR, viewRenderer );
+    }
+    
+    public static PreviousPageInfo getPreviousPageInfo( ServletRequest 
request, boolean remove )
+    {
+        PreviousPageInfo prevPageInfo = ( PreviousPageInfo ) 
request.getAttribute( PREVIOUS_PAGE_INFO_ATTR );
+        if ( prevPageInfo != null && remove ) request.removeAttribute( 
PREVIOUS_PAGE_INFO_ATTR );
+        return prevPageInfo;
+    }
+    
+    public static void setPreviousPageInfo( ServletRequest request, 
PreviousPageInfo previousPageInfo )
+    {
+        request.setAttribute( PREVIOUS_PAGE_INFO_ATTR, previousPageInfo );
     }
 }

Deleted: 
/incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/updateFormFromNestedPopup/ttt
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/updateFormFromNestedPopup/ttt?view=auto&rev=125907
==============================================================================

Modified: incubator/beehive/trunk/netui/test/webapps/jsf/build.xml
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/jsf/build.xml?view=diff&rev=125908&p1=incubator/beehive/trunk/netui/test/webapps/jsf/build.xml&r1=125907&p2=incubator/beehive/trunk/netui/test/webapps/jsf/build.xml&r2=125908
==============================================================================
--- incubator/beehive/trunk/netui/test/webapps/jsf/build.xml    (original)
+++ incubator/beehive/trunk/netui/test/webapps/jsf/build.xml    Fri Jan 21 
01:06:52 2005
@@ -11,6 +11,7 @@
     <property name="testRecorder.config.name" value="netui-server-jsf-config"/>
     <property name="server.root.url" value="http://localhost:8080"/>
     <property name="webapp.waitfor.url" 
value="${server.root.url}/${webapp.name}"/>
+    <property name="webapp.dir" location="${app.dir}/jsf/${webapp.name}"/>
 
     <!-- ================================================================ -->
     <!--                                                                  -->
@@ -18,9 +19,31 @@
     <!--                                                                  -->
     <!-- ================================================================ -->
     <target name="build" description="Build webapp">
+        <echo message="--------------------------------------------------"/>
+        <echo message="|     NetUI jsfWeb DRT webapp build starting     |"/>
+        <echo message="--------------------------------------------------"/>
+
         <fail unless="os.JSF_HOME" message="JSF_HOME must point to the 
JavaServer Faces 1.1 Reference Implementation distribution."/>
 
-        <property name="webapp.dir" location="${app.dir}/jsf/${webapp.name}"/>
+           <!-- the default version of Struts for the DRTs.  To override, pass 
-Dstruts.version=1.1 on the command line -->
+           <property name="struts.version" value="1.2"/>
+   
+           <echo>struts.version: ${struts.version}</echo>
+   
+           <ant antfile="${test.dir}/ant/buildWebapp.xml" 
target="deploy.netui" inheritAll="false">
+               <property name="webapp.dir" location="${webapp.dir}"/>
+               <property name="include.testrecorder" value="true"/>
+               <property name="testRecorder.config.name" 
value="${testRecorder.config.name}"/>
+               <property name="test.file" 
location="${app.dir}/jsf/testRecorder/config/testRecorder-tests.xml"/>
+               <property name="config.file" 
location="${app.dir}/jsf/testRecorder/config/testRecorder-config.xml"/>
+               <property name="webapp.file" 
location="${app.dir}/jsf/testRecorder/config/testRecorder-webapp.xml"/>
+               <property name="struts.version" value="${struts.version}"/>
+           </ant>
+   
+           <copy file="${webapp.dir}/WEB-INF/local-netui-config.xml" 
+                 tofile="${webapp.dir}/WEB-INF/${netuiconfig.xml.name}" 
+                 overwrite="true" failonerror="false"/>
+
         <property name="webinf.dir" value="${webapp.dir}/WEB-INF"/>
         <copy todir="${webinf.dir}/lib" overwrite="true" failonerror="true">
             <fileset dir="${os.JSF_HOME}/lib">
@@ -33,25 +56,20 @@
             </fileset>
         </copy>
 
-        <ant antfile="${test.dir}/ant/buildWebapp.xml" target="deploy.netui" 
inheritAll="false">
-            <property name="webapp.dir" 
location="${app.dir}/jsf/${webapp.name}"/>
-            <property name="include.testrecorder" value="true"/>
-            <property name="testRecorder.config.name" 
value="${testRecorder.config.name}"/>
-            <property name="test.file" 
location="${app.dir}/jsf/testRecorder/config/testRecorder-tests.xml"/>
-            <property name="config.file" 
location="${app.dir}/jsf/testRecorder/config/testRecorder-config.xml"/>
-            <property name="webapp.file" 
location="${app.dir}/jsf/testRecorder/config/testRecorder-webapp.xml"/>
-        </ant>
+        <build-webapp webappDir="${webapp.dir}"/>
+
+        <echo message="--------------------------------------------------"/>
+        <echo message="|     NetUI jsfWeb DRT webapp build ending       |"/>
+        <echo message="--------------------------------------------------"/>
 
-        <ant antfile="${buildWebapp.ant}" target="build.webapp" 
inheritAll="false">
-            <property name="webapp.dir" 
location="${app.dir}/jsf/${webapp.name}"/>
-        </ant>
     </target>
 
     <target name="clean" description="Clean webapp">
         <ant antfile="${test.dir}/ant/buildWebapp.xml" target="undeploy.netui" 
inheritAll="false">
-            <property name="webapp.dir" 
location="${app.dir}/jsf/${webapp.name}"/>
+            <property name="webapp.dir" location="${webapp.dir}"/>
             <property name="include.testrecorder" value="true"/>
         </ant>
+        <clean-webapp webappDir="${webapp.dir}"/>
     </target>
 
     <!-- ================================================================ -->
@@ -92,22 +110,15 @@
     <!--                                                                  -->
     <!-- ================================================================ -->
     <target name="deploy" description="Deploy webapp">
-        <ant antfile="${buildWebapp.ant}" target="deploy" inheritAll="false">
-            <property name="context.path" value="${webapp.name}"/>
-            <property name="webapp.dir" value="${app.dir}/jsf/${webapp.name}"/>
-        </ant>
+        <deploy-webapp webappDir="${webapp.dir}" contextPath="${webapp.name}"/>
     </target>
 
     <target name="undeploy" description="Undeploy webapp">
-        <ant antfile="${buildWebapp.ant}" target="undeploy" inheritAll="false">
-            <property name="context.path" value="${webapp.name}"/>
-        </ant>
+        <undeploy-webapp contextPath="${webapp.name}"/>
     </target>
 
     <target name="redeploy" description="Redeploy webapp">
-        <ant antfile="${buildWebapp.ant}" target="redeploy" inheritAll="false">
-            <property name="context.path" value="${webapp.name}"/>
-        </ant>
+        <redeploy-webapp contextPath="${webapp.name}"/>
     </target>
 
     <!-- ================================================================ -->
@@ -116,11 +127,19 @@
     <!--                                                                  -->
     <!-- ================================================================ -->
     <target name="start" description="Start server">
-        <ant antfile="${buildWebapp.ant}" target="start" inheritAll="false"/>
+        <start-server shmem="false" 
javaOptions="-ea:org.apache.beehive.netui..."/>
+    </target>
+
+    <target name="start.without.asserts" description="Start server without 
assertions enabled">
+        <start-server shmem="false" javaOptions=""/>
+    </target>
+
+    <target name="start.with.shmem" description="Start server with shared 
memory debugging enabled">
+        <start-server shmem="true" 
javaOptions="-ea:org.apache.beehive.netui..."/>
     </target>
 
     <target name="stop" description="Stop server">
-        <ant antfile="${buildWebapp.ant}" target="stop" inheritAll="false"/>
+        <stop-server/>
     </target>
 
     <target name="usage">

Added: 
incubator/beehive/trunk/netui/test/webapps/jsf/jsfWeb/restorePreviousPage/Controller.jpf
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/jsf/jsfWeb/restorePreviousPage/Controller.jpf?view=auto&rev=125908
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/netui/test/webapps/jsf/jsfWeb/restorePreviousPage/Controller.jpf
    Fri Jan 21 01:06:52 2005
@@ -0,0 +1,16 @@
+package restorePreviousPage;
+
+import org.apache.beehive.netui.pageflow.PageFlowController;
+import org.apache.beehive.netui.pageflow.annotations.Jpf;
+
[EMAIL PROTECTED](
+    simpleActions={
+        @Jpf.SimpleAction(name="begin", path="page1.faces"),
+        @Jpf.SimpleAction(name="go2", path="page2.faces"),
+        @Jpf.SimpleAction(name="goCur", navigateTo=Jpf.NavigateTo.currentPage),
+        @Jpf.SimpleAction(name="goPrev", 
navigateTo=Jpf.NavigateTo.previousPage)
+    }
+)
+public class Controller extends PageFlowController
+{
+}

Added: 
incubator/beehive/trunk/netui/test/webapps/jsf/jsfWeb/restorePreviousPage/page1.jsfb
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/jsf/jsfWeb/restorePreviousPage/page1.jsfb?view=auto&rev=125908
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/netui/test/webapps/jsf/jsfWeb/restorePreviousPage/page1.jsfb
        Fri Jan 21 01:06:52 2005
@@ -0,0 +1,9 @@
+package restorePreviousPage;
+
+import org.apache.beehive.netui.pageflow.FacesBackingBean;
+import org.apache.beehive.netui.pageflow.annotations.Jpf;
+
[EMAIL PROTECTED]
+public class page1 extends FacesBackingBean
+{
+}

Added: 
incubator/beehive/trunk/netui/test/webapps/jsf/jsfWeb/restorePreviousPage/page1.jsp
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/jsf/jsfWeb/restorePreviousPage/page1.jsp?view=auto&rev=125908
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/netui/test/webapps/jsf/jsfWeb/restorePreviousPage/page1.jsp
 Fri Jan 21 01:06:52 2005
@@ -0,0 +1,24 @@
+<%@ page language="java" contentType="text/html;charset=UTF-8"%>
+<%@ taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
+<%@ taglib prefix="h" uri="http://java.sun.com/jsf/html"%>
+
+
+<html>
+    <head>
+    </head>
+    <body>
+        <f:view>
+            <h:form>
+                text: <h:inputText  />
+                <br/>
+                <h:commandLink action="goCur" value="stay here, using 
navigateTo (state is restored)" />
+                <br/>
+                <h:commandLink action="begin" value="stay here, using a path 
(state is not restored)" />
+                <br/>
+                <h:commandLink action="go2" value="go to page 2" />
+            </h:form>
+        </f:view>
+    </body>
+</html>
+
+  

Added: 
incubator/beehive/trunk/netui/test/webapps/jsf/jsfWeb/restorePreviousPage/page2.jsfb
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/jsf/jsfWeb/restorePreviousPage/page2.jsfb?view=auto&rev=125908
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/netui/test/webapps/jsf/jsfWeb/restorePreviousPage/page2.jsfb
        Fri Jan 21 01:06:52 2005
@@ -0,0 +1,9 @@
+package restorePreviousPage;
+
+import org.apache.beehive.netui.pageflow.FacesBackingBean;
+import org.apache.beehive.netui.pageflow.annotations.Jpf;
+
[EMAIL PROTECTED]
+public class page2 extends FacesBackingBean
+{
+}

Added: 
incubator/beehive/trunk/netui/test/webapps/jsf/jsfWeb/restorePreviousPage/page2.jsp
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/jsf/jsfWeb/restorePreviousPage/page2.jsp?view=auto&rev=125908
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/netui/test/webapps/jsf/jsfWeb/restorePreviousPage/page2.jsp
 Fri Jan 21 01:06:52 2005
@@ -0,0 +1,20 @@
+<%@ page language="java" contentType="text/html;charset=UTF-8"%>
+<%@ taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
+<%@ taglib prefix="h" uri="http://java.sun.com/jsf/html"%>
+
+
+<html>
+    <head>
+    </head>
+    <body>
+        <f:view>
+            <h:form>
+                <h:commandLink action="goPrev" value="go to page 1, using 
navigateTo (state is restored)" />
+                <br/>
+                <h:commandLink action="begin" value="go to page 1, using a 
path (state is not restored)" />
+            </h:form>
+        </f:view>
+    </body>
+</html>
+
+  

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?view=diff&rev=125908&p1=incubator/beehive/trunk/netui/test/webapps/jsf/testRecorder/config/testRecorder-tests.xml&r1=125907&p2=incubator/beehive/trunk/netui/test/webapps/jsf/testRecorder/config/testRecorder-tests.xml&r2=125908
==============================================================================
--- 
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 Jan 21 01:06:52 2005
@@ -100,6 +100,14 @@
             </categories>
         </test>
         <test>
+            <name>RestorePreviousPage</name>
+            <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.</description>
+            <webapp>jsfWeb</webapp>
+            <categories>
+                <category>drt</category>
+            </categories>
+        </test>
+        <test>
             <name>SubmitFormBean</name>
             <description>Test of sending a form bean to a Page Flow action in 
two ways: (1) through the "submitFormBean" attribute (f:attribute tag) inside 
of h:commandLink or h:commandButton, or (2) through an 'outputFormBean' 
attribute on @Jpf.RaiseAction in a backing file command handler.</description>
             <webapp>jsfWeb</webapp>

Modified: 
incubator/beehive/trunk/netui/test/webapps/jsf/testRecorder/tests/BindingInFaces.xml
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/jsf/testRecorder/tests/BindingInFaces.xml?view=diff&rev=125908&p1=incubator/beehive/trunk/netui/test/webapps/jsf/testRecorder/tests/BindingInFaces.xml&r1=125907&p2=incubator/beehive/trunk/netui/test/webapps/jsf/testRecorder/tests/BindingInFaces.xml&r2=125908
==============================================================================
--- 
incubator/beehive/trunk/netui/test/webapps/jsf/testRecorder/tests/BindingInFaces.xml
        (original)
+++ 
incubator/beehive/trunk/netui/test/webapps/jsf/testRecorder/tests/BindingInFaces.xml
        Fri Jan 21 01:06:52 2005
@@ -432,7 +432,7 @@
          <ses:response>
             <ses:statusCode>200</ses:statusCode>
             <ses:reason/>
-            <ses:responseBody><![CDATA[<!DOCTYPE HTML PUBLIC "//W3C//DTD HTML 
4.01 Transitional//EN"
+            <ses:responseBody><![CDATA[<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 
4.01 Transitional//EN"
 >
 <html lang="en">
 

Added: 
incubator/beehive/trunk/netui/test/webapps/jsf/testRecorder/tests/RestorePreviousPage.xml
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/jsf/testRecorder/tests/RestorePreviousPage.xml?view=auto&rev=125908
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/netui/test/webapps/jsf/testRecorder/tests/RestorePreviousPage.xml
   Fri Jan 21 01:06:52 2005
@@ -0,0 +1,719 @@
+<?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>21 Jan 2005, 12:38:47.857 AM 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>4FD044880B77E1568A5788C75F6A0F39</ses:value>
+               </ses:cookie>
+               <ses:cookie>
+                  <ses:name>JSESSIONID</ses:name>
+                  
<ses:value>BwmY1HFuTLhGyseDiif5PhX12qMBT2dt0TngWV4oVAiyCvFSEGDg!-1460366940</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=4FD044880B77E1568A5788C75F6A0F39; 
JSESSIONID=BwmY1HFuTLhGyseDiif5PhX12qMBT2dt0TngWV4oVAiyCvFSEGDg!-1460366940</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" method="post" 
action="/jsfWeb/restorePreviousPage/page1.faces" 
enctype="application/x-www-form-urlencoded">
+
+                text: &lt;input type="text" name="_id0:_id1" />
+                &lt;br/>
+                &lt;a href="#" 
onclick="document.forms['_id0']['_id0:_idcl'].value='_id0:_id2'; 
document.forms['_id0'].submit(); return false;">stay here, using navigateTo 
(state is restored)&lt;/a>
+                &lt;br/>
+                &lt;a href="#" 
onclick="document.forms['_id0']['_id0:_idcl'].value='_id0:_id3'; 
document.forms['_id0'].submit(); return false;">stay here, using a path (state 
is not restored)&lt;/a>
+                &lt;br/>
+                &lt;a href="#" 
onclick="document.forms['_id0']['_id0:_idcl'].value='_id0:_id4'; 
document.forms['_id0'].submit(); return false;">go to page 2&lt;/a>
+            &lt;input type="hidden" name="_id0" value="_id0" />&lt;input 
type="hidden" name="_id0:_idcl" />&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</ses:name>
+                  <ses:value>_id0</ses:value>
+               </ses:parameter>
+               <ses:parameter>
+                  <ses:name>_id0:_id1</ses:name>
+                  <ses:value>aaa</ses:value>
+               </ses:parameter>
+               <ses:parameter>
+                  <ses:name>_id0:_idcl</ses:name>
+                  <ses:value>_id0:_id2</ses:value>
+               </ses:parameter>
+            </ses:parameters>
+            <ses:cookies>
+               <ses:cookie>
+                  <ses:name>JSESSIONID</ses:name>
+                  <ses:value>4FD044880B77E1568A5788C75F6A0F39</ses:value>
+               </ses:cookie>
+               <ses:cookie>
+                  <ses:name>JSESSIONID</ses:name>
+                  
<ses:value>BwmY1HFuTLhGyseDiif5PhX12qMBT2dt0TngWV4oVAiyCvFSEGDg!-1460366940</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>50</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=4FD044880B77E1568A5788C75F6A0F39; 
JSESSIONID=BwmY1HFuTLhGyseDiif5PhX12qMBT2dt0TngWV4oVAiyCvFSEGDg!-1460366940</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" method="post" 
action="/jsfWeb/restorePreviousPage/page1.faces" 
enctype="application/x-www-form-urlencoded">
+
+                text: &lt;input type="text" name="_id0:_id1" value="aaa" />
+                &lt;br/>
+                &lt;a href="#" 
onclick="document.forms['_id0']['_id0:_idcl'].value='_id0:_id2'; 
document.forms['_id0'].submit(); return false;">stay here, using navigateTo 
(state is restored)&lt;/a>
+                &lt;br/>
+                &lt;a href="#" 
onclick="document.forms['_id0']['_id0:_idcl'].value='_id0:_id3'; 
document.forms['_id0'].submit(); return false;">stay here, using a path (state 
is not restored)&lt;/a>
+                &lt;br/>
+                &lt;a href="#" 
onclick="document.forms['_id0']['_id0:_idcl'].value='_id0:_id4'; 
document.forms['_id0'].submit(); return false;">go to page 2&lt;/a>
+            &lt;input type="hidden" name="_id0" value="_id0" />&lt;input 
type="hidden" name="_id0:_idcl" />&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</ses:name>
+                  <ses:value>_id0</ses:value>
+               </ses:parameter>
+               <ses:parameter>
+                  <ses:name>_id0:_id1</ses:name>
+                  <ses:value>aaa</ses:value>
+               </ses:parameter>
+               <ses:parameter>
+                  <ses:name>_id0:_idcl</ses:name>
+                  <ses:value>_id0:_id3</ses:value>
+               </ses:parameter>
+            </ses:parameters>
+            <ses:cookies>
+               <ses:cookie>
+                  <ses:name>JSESSIONID</ses:name>
+                  <ses:value>4FD044880B77E1568A5788C75F6A0F39</ses:value>
+               </ses:cookie>
+               <ses:cookie>
+                  <ses:name>JSESSIONID</ses:name>
+                  
<ses:value>BwmY1HFuTLhGyseDiif5PhX12qMBT2dt0TngWV4oVAiyCvFSEGDg!-1460366940</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>50</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=4FD044880B77E1568A5788C75F6A0F39; 
JSESSIONID=BwmY1HFuTLhGyseDiif5PhX12qMBT2dt0TngWV4oVAiyCvFSEGDg!-1460366940</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><![CDATA[<html>
+    <head>
+    </head>
+    <body>
+        
+            <form id="_id0" method="post" 
action="/jsfWeb/restorePreviousPage/page1.faces" 
enctype="application/x-www-form-urlencoded">
+
+                text: <input type="text" name="_id0:_id1" />
+                <br/>
+                <a href="#" 
onclick="document.forms['_id0']['_id0:_idcl'].value='_id0:_id2'; 
document.forms['_id0'].submit(); return false;">stay here, using navigateTo 
(state is restored)</a>
+                <br/>
+                <a href="#" 
onclick="document.forms['_id0']['_id0:_idcl'].value='_id0:_id3'; 
document.forms['_id0'].submit(); return false;">stay here, using a path (state 
is not restored)</a>
+                <br/>
+                <a href="#" 
onclick="document.forms['_id0']['_id0:_idcl'].value='_id0:_id4'; 
document.forms['_id0'].submit(); return false;">go to page 2</a>
+            <input type="hidden" name="_id0" value="_id0" /><input 
type="hidden" name="_id0:_idcl" /></form>
+        
+    </body>
+</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</ses:name>
+                  <ses:value>_id0</ses:value>
+               </ses:parameter>
+               <ses:parameter>
+                  <ses:name>_id0:_id1</ses:name>
+                  <ses:value>bbb</ses:value>
+               </ses:parameter>
+               <ses:parameter>
+                  <ses:name>_id0:_idcl</ses:name>
+                  <ses:value>_id0:_id4</ses:value>
+               </ses:parameter>
+            </ses:parameters>
+            <ses:cookies>
+               <ses:cookie>
+                  <ses:name>JSESSIONID</ses:name>
+                  <ses:value>4FD044880B77E1568A5788C75F6A0F39</ses:value>
+               </ses:cookie>
+               <ses:cookie>
+                  <ses:name>JSESSIONID</ses:name>
+                  
<ses:value>BwmY1HFuTLhGyseDiif5PhX12qMBT2dt0TngWV4oVAiyCvFSEGDg!-1460366940</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>50</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=4FD044880B77E1568A5788C75F6A0F39; 
JSESSIONID=BwmY1HFuTLhGyseDiif5PhX12qMBT2dt0TngWV4oVAiyCvFSEGDg!-1460366940</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><![CDATA[<html>
+    <head>
+    </head>
+    <body>
+        
+            <form id="_id0" method="post" 
action="/jsfWeb/restorePreviousPage/page2.faces" 
enctype="application/x-www-form-urlencoded">
+
+                <a href="#" 
onclick="document.forms['_id0']['_id0:_idcl'].value='_id0:_id1'; 
document.forms['_id0'].submit(); return false;">go to page 1, using navigateTo 
(state is restored)</a>
+                <br/>
+                <a href="#" 
onclick="document.forms['_id0']['_id0:_idcl'].value='_id0:_id2'; 
document.forms['_id0'].submit(); return false;">go to page 1, using a path 
(state is not restored)</a>
+            <input type="hidden" name="_id0" value="_id0" /><input 
type="hidden" name="_id0:_idcl" /></form>
+        
+    </body>
+</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</ses:name>
+                  <ses:value>_id0</ses:value>
+               </ses:parameter>
+               <ses:parameter>
+                  <ses:name>_id0:_idcl</ses:name>
+                  <ses:value>_id0:_id1</ses:value>
+               </ses:parameter>
+            </ses:parameters>
+            <ses:cookies>
+               <ses:cookie>
+                  <ses:name>JSESSIONID</ses:name>
+                  <ses:value>4FD044880B77E1568A5788C75F6A0F39</ses:value>
+               </ses:cookie>
+               <ses:cookie>
+                  <ses:name>JSESSIONID</ses:name>
+                  
<ses:value>BwmY1HFuTLhGyseDiif5PhX12qMBT2dt0TngWV4oVAiyCvFSEGDg!-1460366940</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>34</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=4FD044880B77E1568A5788C75F6A0F39; 
JSESSIONID=BwmY1HFuTLhGyseDiif5PhX12qMBT2dt0TngWV4oVAiyCvFSEGDg!-1460366940</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" method="post" 
action="/jsfWeb/restorePreviousPage/page1.faces" 
enctype="application/x-www-form-urlencoded">
+
+                text: &lt;input type="text" name="_id0:_id1" value="bbb" />
+                &lt;br/>
+                &lt;a href="#" 
onclick="document.forms['_id0']['_id0:_idcl'].value='_id0:_id2'; 
document.forms['_id0'].submit(); return false;">stay here, using navigateTo 
(state is restored)&lt;/a>
+                &lt;br/>
+                &lt;a href="#" 
onclick="document.forms['_id0']['_id0:_idcl'].value='_id0:_id3'; 
document.forms['_id0'].submit(); return false;">stay here, using a path (state 
is not restored)&lt;/a>
+                &lt;br/>
+                &lt;a href="#" 
onclick="document.forms['_id0']['_id0:_idcl'].value='_id0:_id4'; 
document.forms['_id0'].submit(); return false;">go to page 2&lt;/a>
+            &lt;input type="hidden" name="_id0" value="_id0" />&lt;input 
type="hidden" name="_id0:_idcl" />&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</ses:name>
+                  <ses:value>_id0</ses:value>
+               </ses:parameter>
+               <ses:parameter>
+                  <ses:name>_id0:_id1</ses:name>
+                  <ses:value>bbb</ses:value>
+               </ses:parameter>
+               <ses:parameter>
+                  <ses:name>_id0:_idcl</ses:name>
+                  <ses:value>_id0:_id4</ses:value>
+               </ses:parameter>
+            </ses:parameters>
+            <ses:cookies>
+               <ses:cookie>
+                  <ses:name>JSESSIONID</ses:name>
+                  <ses:value>4FD044880B77E1568A5788C75F6A0F39</ses:value>
+               </ses:cookie>
+               <ses:cookie>
+                  <ses:name>JSESSIONID</ses:name>
+                  
<ses:value>BwmY1HFuTLhGyseDiif5PhX12qMBT2dt0TngWV4oVAiyCvFSEGDg!-1460366940</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>50</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=4FD044880B77E1568A5788C75F6A0F39; 
JSESSIONID=BwmY1HFuTLhGyseDiif5PhX12qMBT2dt0TngWV4oVAiyCvFSEGDg!-1460366940</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><![CDATA[<html>
+    <head>
+    </head>
+    <body>
+        
+            <form id="_id0" method="post" 
action="/jsfWeb/restorePreviousPage/page2.faces" 
enctype="application/x-www-form-urlencoded">
+
+                <a href="#" 
onclick="document.forms['_id0']['_id0:_idcl'].value='_id0:_id1'; 
document.forms['_id0'].submit(); return false;">go to page 1, using navigateTo 
(state is restored)</a>
+                <br/>
+                <a href="#" 
onclick="document.forms['_id0']['_id0:_idcl'].value='_id0:_id2'; 
document.forms['_id0'].submit(); return false;">go to page 1, using a path 
(state is not restored)</a>
+            <input type="hidden" name="_id0" value="_id0" /><input 
type="hidden" name="_id0:_idcl" /></form>
+        
+    </body>
+</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</ses:name>
+                  <ses:value>_id0</ses:value>
+               </ses:parameter>
+               <ses:parameter>
+                  <ses:name>_id0:_idcl</ses:name>
+                  <ses:value>_id0:_id2</ses:value>
+               </ses:parameter>
+            </ses:parameters>
+            <ses:cookies>
+               <ses:cookie>
+                  <ses:name>JSESSIONID</ses:name>
+                  <ses:value>4FD044880B77E1568A5788C75F6A0F39</ses:value>
+               </ses:cookie>
+               <ses:cookie>
+                  <ses:name>JSESSIONID</ses:name>
+                  
<ses:value>BwmY1HFuTLhGyseDiif5PhX12qMBT2dt0TngWV4oVAiyCvFSEGDg!-1460366940</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>34</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=4FD044880B77E1568A5788C75F6A0F39; 
JSESSIONID=BwmY1HFuTLhGyseDiif5PhX12qMBT2dt0TngWV4oVAiyCvFSEGDg!-1460366940</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><![CDATA[<html>
+    <head>
+    </head>
+    <body>
+        
+            <form id="_id0" method="post" 
action="/jsfWeb/restorePreviousPage/page1.faces" 
enctype="application/x-www-form-urlencoded">
+
+                text: <input type="text" name="_id0:_id1" />
+                <br/>
+                <a href="#" 
onclick="document.forms['_id0']['_id0:_idcl'].value='_id0:_id2'; 
document.forms['_id0'].submit(); return false;">stay here, using navigateTo 
(state is restored)</a>
+                <br/>
+                <a href="#" 
onclick="document.forms['_id0']['_id0:_idcl'].value='_id0:_id3'; 
document.forms['_id0'].submit(); return false;">stay here, using a path (state 
is not restored)</a>
+                <br/>
+                <a href="#" 
onclick="document.forms['_id0']['_id0:_idcl'].value='_id0:_id4'; 
document.forms['_id0'].submit(); return false;">go to page 2</a>
+            <input type="hidden" name="_id0" value="_id0" /><input 
type="hidden" name="_id0:_idcl" /></form>
+        
+    </body>
+</html>]]></ses:responseBody>
+         </ses:response>
+      </ses:test>
+   </ses:tests>
+   <ses:endDate>21 Jan 2005, 12:39:04.812 AM MST</ses:endDate>
+   <ses:testCount>7</ses:testCount>
+</ses:recorderSession>

Modified: 
incubator/beehive/trunk/netui/test/webapps/jsf/testRecorder/tests/SubmitFormBean.xml
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/jsf/testRecorder/tests/SubmitFormBean.xml?view=diff&rev=125908&p1=incubator/beehive/trunk/netui/test/webapps/jsf/testRecorder/tests/SubmitFormBean.xml&r1=125907&p2=incubator/beehive/trunk/netui/test/webapps/jsf/testRecorder/tests/SubmitFormBean.xml&r2=125908
==============================================================================
--- 
incubator/beehive/trunk/netui/test/webapps/jsf/testRecorder/tests/SubmitFormBean.xml
        (original)
+++ 
incubator/beehive/trunk/netui/test/webapps/jsf/testRecorder/tests/SubmitFormBean.xml
        Fri Jan 21 01:06:52 2005
@@ -190,7 +190,7 @@
          <ses:response>
             <ses:statusCode>200</ses:statusCode>
             <ses:reason/>
-            <ses:responseBody><![CDATA[<!DOCTYPE HTML PUBLIC "//W3C//DTD HTML 
4.01 Transitional//EN"
+            <ses:responseBody><![CDATA[<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 
4.01 Transitional//EN"
 >
 <html lang="en">
 
@@ -395,7 +395,7 @@
          <ses:response>
             <ses:statusCode>200</ses:statusCode>
             <ses:reason/>
-            <ses:responseBody><![CDATA[<!DOCTYPE HTML PUBLIC "//W3C//DTD HTML 
4.01 Transitional//EN"
+            <ses:responseBody><![CDATA[<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 
4.01 Transitional//EN"
 >
 <html lang="en">
 
@@ -596,7 +596,7 @@
          <ses:response>
             <ses:statusCode>200</ses:statusCode>
             <ses:reason/>
-            <ses:responseBody><![CDATA[<!DOCTYPE HTML PUBLIC "//W3C//DTD HTML 
4.01 Transitional//EN"
+            <ses:responseBody><![CDATA[<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 
4.01 Transitional//EN"
 >
 <html lang="en">
 
@@ -797,7 +797,7 @@
          <ses:response>
             <ses:statusCode>200</ses:statusCode>
             <ses:reason/>
-            <ses:responseBody><![CDATA[<!DOCTYPE HTML PUBLIC "//W3C//DTD HTML 
4.01 Transitional//EN"
+            <ses:responseBody><![CDATA[<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 
4.01 Transitional//EN"
 >
 <html lang="en">
 

Added: 
incubator/beehive/trunk/netui/test/webapps/urlTemplates/urlTemplates/index/Beehive.gif
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/urlTemplates/urlTemplates/index/Beehive.gif?view=auto&rev=125908
==============================================================================
Binary file. No diff available.

Added: 
incubator/beehive/trunk/netui/test/webapps/urlTemplates/urlTemplates/index/linkDown.gif
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/urlTemplates/urlTemplates/index/linkDown.gif?view=auto&rev=125908
==============================================================================
Binary file. No diff available.

Added: 
incubator/beehive/trunk/netui/test/webapps/urlTemplates/urlTemplates/index/linkOver.gif
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/urlTemplates/urlTemplates/index/linkOver.gif?view=auto&rev=125908
==============================================================================
Binary file. No diff available.

Reply via email to