Modified: 
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/handler/FlowControllerHandlerContext.java
URL: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/handler/FlowControllerHandlerContext.java?view=diff&r1=151228&r2=151229
==============================================================================
--- 
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/handler/FlowControllerHandlerContext.java
 (original)
+++ 
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/handler/FlowControllerHandlerContext.java
 Thu Feb  3 12:57:47 2005
@@ -22,6 +22,8 @@
 
 import javax.servlet.ServletRequest;
 import javax.servlet.ServletResponse;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 
 public class FlowControllerHandlerContext
         extends RequestContext

Modified: 
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/InternalUtils.java
URL: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/InternalUtils.java?view=diff&r1=151228&r2=151229
==============================================================================
--- 
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/InternalUtils.java
 (original)
+++ 
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/InternalUtils.java
 Thu Feb  3 12:57:47 2005
@@ -641,47 +641,6 @@
         return className;
     }    
     
-    public static FlowController getFlowController( String fcClassName, 
HttpServletRequest request,
-                                                    HttpServletResponse 
response, ServletContext servletContext )
-        throws ClassNotFoundException
-    {
-        Class fcClass = getReloadableClass( fcClassName, servletContext );
-        return getFlowController( fcClass, request, response, servletContext );
-    }
-    
-    public static FlowController getFlowController( Class fcClass, 
HttpServletRequest request,
-                                                    HttpServletResponse 
response, ServletContext servletContext )
-    {
-        if ( PageFlowController.class.isAssignableFrom( fcClass ) )
-        {
-            PageFlowController current = PageFlowUtils.getCurrentPageFlow( 
request );
-            
-            if ( current != null && current.getClass().equals( fcClass ) )
-            {
-                if ( _log.isDebugEnabled() )
-                {
-                    _log.debug( "Using current page flow: " + current );
-                }
-                
-                //
-                // Reinitialize transient data that may have been lost on 
session failover.
-                //
-                current.reinitialize( request, response, servletContext );
-                return current;
-            }
-            
-            return FlowControllerFactory.getPageFlow( fcClass, request, 
response, servletContext );
-        }
-        else
-        {
-            assert SharedFlowController.class.isAssignableFrom( fcClass ) : 
fcClass.getName();
-            
-            SharedFlowController current = PageFlowUtils.getSharedFlow( 
fcClass.getName(), request );
-            if ( current != null ) return current;
-            return FlowControllerFactory.getSharedFlow( fcClass, request, 
response, servletContext );
-        }
-    }
-    
     public static boolean isSharedFlowModule( ModuleConfig mc )
     {
         ControllerConfig cc = mc.getControllerConfig();

Modified: 
incubator/beehive/trunk/netui/src/util/org/apache/beehive/netui/util/netui.properties
URL: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/util/org/apache/beehive/netui/util/netui.properties?view=diff&r1=151228&r2=151229
==============================================================================
--- 
incubator/beehive/trunk/netui/src/util/org/apache/beehive/netui/util/netui.properties
 (original)
+++ 
incubator/beehive/trunk/netui/src/util/org/apache/beehive/netui/util/netui.properties
 Thu Feb  3 12:57:47 2005
@@ -529,16 +529,14 @@
 PageFlow_WrongPath_Message = Page Flow {0} was requested, but the page flow 
for the directory is {1}.
 
 PageFlow_NoModuleConf_Page= \
-<html><head><title>Page Flow - Missing Module Configuration</title></head>\n \
+<html><head><title>Missing Struts Module Configuration</title></head>\n \
 <body>\n \
-<h1>Page Flow - Missing Module Configuration</h1>\n \
-There is no Struts module configuration registered for path <b>{1}</b>.\n \
-This may be due to a compilation error in <b>{0}</b>.\n \
+<h1>Missing Struts Module Configuration</h1>\n \
+There is no Struts module configuration registered for <b>{0}</b> (module path 
<b>{1}</b>).\n \
 </body></html>\n
 
 PageFlow_NoModuleConf_Message= \
-There is no Struts module configuration registered for path {1}. \ 
-This may be due to a compilation error in {0}.
+There is no Struts module configuration registered for {0} (module path "{1}").
 
 PageFlow_LoginFailed=Login failed for user {0}.
 

Modified: 
incubator/beehive/trunk/netui/src/webapp-template/default/WEB-INF/netui-validator-rules.xml
URL: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/webapp-template/default/WEB-INF/netui-validator-rules.xml?view=diff&r1=151228&r2=151229
==============================================================================
--- 
incubator/beehive/trunk/netui/src/webapp-template/default/WEB-INF/netui-validator-rules.xml
 (original)
+++ 
incubator/beehive/trunk/netui/src/webapp-template/default/WEB-INF/netui-validator-rules.xml
 Thu Feb  3 12:57:47 2005
@@ -19,7 +19,8 @@
                        org.apache.commons.validator.Field,
                        org.apache.struts.action.ActionMessages,
                        javax.servlet.http.HttpServletRequest,
-                       javax.servlet.ServletContext"/>
+                       javax.servlet.ServletContext"
+                  msg="errors.netui_validwhen"/>
 
       <validator name="netui_longRange"
             
classname="org.apache.beehive.netui.pageflow.validation.ValidatorRules"

Modified: 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/src/mockportal/MockPortletTag.java
URL: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/src/mockportal/MockPortletTag.java?view=diff&r1=151228&r2=151229
==============================================================================
--- 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/src/mockportal/MockPortletTag.java
 (original)
+++ 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/src/mockportal/MockPortletTag.java
 Thu Feb  3 12:57:47 2005
@@ -22,6 +22,7 @@
 import org.apache.beehive.netui.pageflow.ActionResolver;
 import org.apache.beehive.netui.pageflow.StrutsModuleFactory;
 import org.apache.beehive.netui.pageflow.ActionResult;
+import org.apache.beehive.netui.pageflow.RequestContext;
 import org.apache.beehive.netui.pageflow.scoping.ScopedRequest;
 import org.apache.beehive.netui.pageflow.scoping.ScopedServletUtils;
 import org.apache.beehive.netui.pageflow.scoping.ScopedResponse;
@@ -90,7 +91,8 @@
                 if ( _pageFlowURI != null )
                 {
                     scopedRequest.setRequestURI( outerRequest.getContextPath() 
+ _pageFlowURI );
-                    actionResolver = 
FlowControllerFactory.getPageFlowForRequest( scopedRequest, scopedResponse, 
pageContext.getServletContext() );
+                    FlowControllerFactory factory = FlowControllerFactory.get( 
pageContext.getServletContext() );
+                    actionResolver = factory.getPageFlowForRequest( new 
RequestContext( scopedRequest, scopedResponse ) );
                 }
                 else
                 {

Added: 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/generics/Controller.jpf
URL: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/generics/Controller.jpf?view=auto&rev=151229
==============================================================================
--- 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/generics/Controller.jpf
 (added)
+++ 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/generics/Controller.jpf
 Thu Feb  3 12:57:47 2005
@@ -0,0 +1,39 @@
+package miniTests.generics;
+
+import org.apache.beehive.netui.pageflow.PageFlowController;
+import org.apache.beehive.netui.pageflow.Forward;
+import org.apache.beehive.netui.pageflow.annotations.Jpf;
+
+import java.io.Serializable;
+
+
[EMAIL PROTECTED](
+    [EMAIL PROTECTED](name="begin", path="index.jsp")}
+)
+public class Controller< T extends Controller.BaseFormBean > extends 
PageFlowController
+{
+    private T _form;
+
+    @Jpf.Action(
+        useFormBean="_form",
+        forwards={
+           @Jpf.Forward(name="index", path="index.jsp")
+        }
+    ) 
+    protected Forward submit( T form )
+    {
+        return new Forward("index");
+    }
+
+    public String getFoo()
+    {
+        return _form != null ? _form.getFoo() : "[empty]";
+    }
+
+    public static class BaseFormBean implements Serializable
+    {
+        private String _foo;
+        public void setFoo( String foo ) { _foo = foo; }
+        public String getFoo() { return _foo; }
+    }
+}

Propchange: 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/generics/Controller.jpf
------------------------------------------------------------------------------
    svn:eol-style = native

Added: 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/generics/index.jsp
URL: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/generics/index.jsp?view=auto&rev=151229
==============================================================================
--- 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/generics/index.jsp
 (added)
+++ 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/generics/index.jsp
 Thu Feb  3 12:57:47 2005
@@ -0,0 +1,19 @@
+<%@ page language="java" contentType="text/html;charset=UTF-8"%>
+<%@ taglib prefix="netui" uri="http://beehive.apache.org/netui/tags-html-1.0"%>
+<%@ taglib prefix="netui-data" 
uri="http://beehive.apache.org/netui/tags-databinding-1.0"%>
+<%@ taglib prefix="netui-template" 
uri="http://beehive.apache.org/netui/tags-template-1.0"%>
+
+<html>
+    <body>
+        <h3>${pageFlow.URI}</h3>
+
+        This page flow demonstrates an action that takes a 
generic-type-variable argument.
+        <br/>
+        <br/>
+        current value: <b>${pageFlow.foo}</b>
+        <netui:form action="submit">
+            data: <netui:textBox dataSource="actionForm.foo"/>
+            <netui:button/>
+        </netui:form>
+    </body>
+</html>

Propchange: 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/generics/index.jsp
------------------------------------------------------------------------------
    svn:eol-style = native

Added: 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/passAssignableFormBeanToAction/Controller.jpf
URL: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/passAssignableFormBeanToAction/Controller.jpf?view=auto&rev=151229
==============================================================================
--- 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/passAssignableFormBeanToAction/Controller.jpf
 (added)
+++ 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/passAssignableFormBeanToAction/Controller.jpf
 Thu Feb  3 12:57:47 2005
@@ -0,0 +1,79 @@
+package miniTests.passAssignableFormBeanToAction;
+
+import org.apache.beehive.netui.pageflow.*;
+import org.apache.beehive.netui.pageflow.annotations.*;
+
+import java.io.Serializable;
+
[EMAIL PROTECTED](
+    simpleActions={
+        @Jpf.SimpleAction(name="begin", path="index.jsp")
+    }
+)
+public class Controller extends PageFlowController
+{
+    @Jpf.Action(
+        forwards={
+            @Jpf.Forward(name="action2", action="action2")
+        }
+    )
+    public Forward passBaseToAction2()
+    {
+        return new Forward( "action2", new BaseFormBean() );
+    }
+
+    @Jpf.Action(
+        forwards={
+            @Jpf.Forward(name="action2", action="action2")
+        }
+    )
+    public Forward passSubclassToAction2()
+    {
+        return new Forward( "action2", new SubclassFormBean() );
+    }
+
+    @Jpf.Action(
+        forwards={
+            @Jpf.Forward(name="index", path="index.jsp")
+        }
+    )
+    public Forward action2( BaseFormBean form )
+    {
+        return new Forward( "index", "formValue", "action2: " + 
form.getValue() );
+    }
+
+    @Jpf.Action(
+        forwards={
+            @Jpf.Forward(name="action3", action="action3")
+        }
+    )
+    public Forward passInterfaceImplementorToAction3()
+    {
+        return new Forward( "action3", new SubclassFormBean() );
+    }
+
+    @Jpf.Action(
+        forwards={
+            @Jpf.Forward(name="index", path="index.jsp")
+        }
+    )
+    public Forward action3( SomeInterface si )
+    {
+        return new Forward( "index", "formValue", "action3: " + si.getValue() 
);
+    }
+
+    public interface SomeInterface
+    {
+        public String getValue();
+    }
+
+    public static class BaseFormBean implements Serializable
+    {
+        public String getValue() { return "base"; }
+    }
+
+    public static class SubclassFormBean extends BaseFormBean implements 
SomeInterface
+    {
+        public String getValue() { return "subclass"; }
+    }
+}

Propchange: 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/passAssignableFormBeanToAction/Controller.jpf
------------------------------------------------------------------------------
    svn:eol-style = native

Added: 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/passAssignableFormBeanToAction/index.jsp
URL: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/passAssignableFormBeanToAction/index.jsp?view=auto&rev=151229
==============================================================================
--- 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/passAssignableFormBeanToAction/index.jsp
 (added)
+++ 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/passAssignableFormBeanToAction/index.jsp
 Thu Feb  3 12:57:47 2005
@@ -0,0 +1,32 @@
+<%@ page language="java" contentType="text/html;charset=UTF-8"%>
+<%@ taglib prefix="netui" uri="http://beehive.apache.org/netui/tags-html-1.0"%>
+<%@ taglib prefix="netui-data" 
uri="http://beehive.apache.org/netui/tags-databinding-1.0"%>
+<%@ taglib prefix="netui-template" 
uri="http://beehive.apache.org/netui/tags-template-1.0"%>
+
+
+<netui:html>
+    <head>
+        <netui:base/>
+    </head>
+    <netui:body>
+        <h3>${pageFlow.URI}</h3>
+
+        action2 accepts a form bean of type <code>BaseFormBean</code>.  In the 
first case, we pass it an instance of that.  In the second case, we pass it an 
instance of the derived <code>SubclassFormBean</code>.
+        <br/>
+        <br/>
+        action3 accepts interface <code>SomeInterface</code>.  In the third 
case, we pass it an instance of <code>SubclassFormBean</code>, which implements 
the interface.
+        <br/>
+        <br/>
+        value in form bean: <b>${pageInput.formValue}</b>
+        <br/>
+        <br/>
+        <netui:anchor action="passBaseToAction2">pass base form bean to 
action2</netui:anchor>
+        <br/>
+        <netui:anchor action="passSubclassToAction2">pass subclass form bean 
to action2</netui:anchor>
+        <br/>
+        <netui:anchor action="passInterfaceImplementorToAction3">pass subclass 
form bean (which implements the right interface) to action3</netui:anchor>
+    </netui:body>
+</netui:html>
+
+  
+

Propchange: 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/passAssignableFormBeanToAction/index.jsp
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: 
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml
URL: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml?view=diff&r1=151228&r2=151229
==============================================================================
--- 
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml
 (original)
+++ 
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml
 Thu Feb  3 12:57:47 2005
@@ -3358,6 +3358,20 @@
          </features>
       </test>
       <test>
+         <name>Generics</name>
+         <description>Test of an action that takes a generic-type-variable 
argument.</description>
+         <webapp>coreWeb</webapp>
+         <categories>
+            <category>bvt</category>
+            <category>bvt.struts11</category>
+            <category>corePageFlow</category>
+         </categories>
+         <features>
+            <feature>Action</feature>
+            <feature>Form</feature>
+         </features>
+      </test>
+      <test>
          <name>GetData</name>
          <description>Simple test of the getData tag</description>
          <webapp>coreWeb</webapp>
@@ -4587,6 +4601,20 @@
          </categories>
          <features>
             <feature>Parameter</feature>
+         </features>
+      </test>
+      <test>
+         <name>PassAssignableFormBeanToAction</name>
+         <description>Test of passing assignable (subclass and interface 
implementor) form beans from action to action.</description>
+         <webapp>coreWeb</webapp>
+         <categories>
+            <category>bvt</category>
+            <category>bvt.struts11</category>
+            <category>corePageFlow</category>
+         </categories>
+         <features>
+            <feature>Form</feature>
+            <feature>Action</feature>
          </features>
       </test>
       <test>

Added: 
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/Generics.xml
URL: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/Generics.xml?view=auto&rev=151229
==============================================================================
--- 
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/Generics.xml 
(added)
+++ 
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/Generics.xml 
Thu Feb  3 12:57:47 2005
@@ -0,0 +1,176 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ses:recorderSession 
xmlns:ses="http://beehive.apache.org/netui/tools/testrecorder/2004/session";>
+   <ses:sessionName>Generics</ses:sessionName>
+   <ses:tester>rich</ses:tester>
+   <ses:startDate>03 Feb 2005, 10:26:43.825 AM MST</ses:startDate>
+   <ses:description>Test of an action that takes a generic-type-variable 
argument.</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>/coreWeb/miniTests/generics/Controller.jpf</ses:uri>
+            <ses:method>GET</ses:method>
+            <ses:parameters/>
+            <ses:cookies>
+               <ses:cookie>
+                  <ses:name>JSESSIONID</ses:name>
+                  <ses:value>27839BA317C0406C994DAC32DE6353AD</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=27839BA317C0406C994DAC32DE6353AD</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><![CDATA[<html>
+    <body>
+        <h3>/miniTests/generics/Controller.jpf</h3>
+
+        This page flow demonstrates an action that takes a 
generic-type-variable argument.
+        <br/>
+        <br/>
+        current value: <b>[empty]</b>
+        <form name="baseFormBean" 
action="/coreWeb/miniTests/generics/submit.do" method="post">
+            data: <input type="text" name="{actionForm.foo}">
+            <input type="submit" value="Click">
+        </form>
+    </body>
+</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>/coreWeb/miniTests/generics/submit.do</ses:uri>
+            <ses:method>POST</ses:method>
+            <ses:parameters>
+               <ses:parameter>
+                  <ses:name>{actionForm.foo}</ses:name>
+                  <ses:value>hello</ses:value>
+               </ses:parameter>
+            </ses:parameters>
+            <ses:cookies>
+               <ses:cookie>
+                  <ses:name>JSESSIONID</ses:name>
+                  <ses:value>27839BA317C0406C994DAC32DE6353AD</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>26</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=27839BA317C0406C994DAC32DE6353AD</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/coreWeb/miniTests/generics/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><![CDATA[<html>
+    <body>
+        <h3>/miniTests/generics/Controller.jpf</h3>
+
+        This page flow demonstrates an action that takes a 
generic-type-variable argument.
+        <br/>
+        <br/>
+        current value: <b>hello</b>
+        <form name="baseFormBean" 
action="/coreWeb/miniTests/generics/submit.do" method="post">
+            data: <input type="text" name="{actionForm.foo}" value="hello">
+            <input type="submit" value="Click">
+        </form>
+    </body>
+</html>]]></ses:responseBody>
+         </ses:response>
+      </ses:test>
+   </ses:tests>
+   <ses:endDate>03 Feb 2005, 10:27:06.277 AM MST</ses:endDate>
+   <ses:testCount>2</ses:testCount>
+</ses:recorderSession>
\ No newline at end of file

Propchange: 
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/Generics.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: 
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/PassAssignableFormBeanToAction.xml
URL: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/PassAssignableFormBeanToAction.xml?view=auto&rev=151229
==============================================================================
--- 
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/PassAssignableFormBeanToAction.xml
 (added)
+++ 
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/PassAssignableFormBeanToAction.xml
 Thu Feb  3 12:57:47 2005
@@ -0,0 +1,371 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ses:recorderSession 
xmlns:ses="http://beehive.apache.org/netui/tools/testrecorder/2004/session";>
+   <ses:sessionName>PassAssignableFormBeanToAction</ses:sessionName>
+   <ses:tester>rich</ses:tester>
+   <ses:startDate>03 Feb 2005, 10:28:47.303 AM MST</ses:startDate>
+   <ses:description>Test of passing assignable (subclass and interface 
implementor) form beans from action to action.</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>/coreWeb/miniTests/passAssignableFormBeanToAction/Controller.jpf</ses:uri>
+            <ses:method>GET</ses:method>
+            <ses:parameters/>
+            <ses:cookies>
+               <ses:cookie>
+                  <ses:name>JSESSIONID</ses:name>
+                  <ses:value>27839BA317C0406C994DAC32DE6353AD</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=27839BA317C0406C994DAC32DE6353AD</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><![CDATA[<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 
4.01 Transitional//EN"
+       "http://www.w3.org/TR/html4/loose.dtd";>
+<html lang="en">
+
+    <head>
+        <base 
href="http://localhost:8080/coreWeb/miniTests/passAssignableFormBeanToAction/index.jsp";>
+    </head>
+    <body>
+        <h3>/miniTests/passAssignableFormBeanToAction/Controller.jpf</h3>
+
+        action2 accepts a form bean of type <code>BaseFormBean</code>.  In the 
first case, we pass it an instance of that.  In the second case, we pass it an 
instance of the derived <code>SubclassFormBean</code>.
+        <br/>
+        <br/>
+        action3 accepts interface <code>SomeInterface</code>.  In the third 
case, we pass it an instance of <code>SubclassFormBean</code>, which implements 
the interface.
+        <br/>
+        <br/>
+        value in form bean: <b></b>
+        <br/>
+        <br/>
+        <a 
href="/coreWeb/miniTests/passAssignableFormBeanToAction/passBaseToAction2.do">pass
 base form bean to action2</a>
+        <br/>
+        <a 
href="/coreWeb/miniTests/passAssignableFormBeanToAction/passSubclassToAction2.do">pass
 subclass form bean to action2</a>
+        <br/>
+        <a 
href="/coreWeb/miniTests/passAssignableFormBeanToAction/passInterfaceImplementorToAction3.do">pass
 subclass form bean (which implements the right interface) to action3</a>
+    </body>
+
+</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>/coreWeb/miniTests/passAssignableFormBeanToAction/passBaseToAction2.do</ses:uri>
+            <ses:method>GET</ses:method>
+            <ses:parameters/>
+            <ses:cookies>
+               <ses:cookie>
+                  <ses:name>JSESSIONID</ses:name>
+                  <ses:value>27839BA317C0406C994DAC32DE6353AD</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=27839BA317C0406C994DAC32DE6353AD</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/coreWeb/miniTests/passAssignableFormBeanToAction/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><![CDATA[<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 
4.01 Transitional//EN"
+       "http://www.w3.org/TR/html4/loose.dtd";>
+<html lang="en">
+
+    <head>
+        <base 
href="http://localhost:8080/coreWeb/miniTests/passAssignableFormBeanToAction/index.jsp";>
+    </head>
+    <body>
+        <h3>/miniTests/passAssignableFormBeanToAction/Controller.jpf</h3>
+
+        action2 accepts a form bean of type <code>BaseFormBean</code>.  In the 
first case, we pass it an instance of that.  In the second case, we pass it an 
instance of the derived <code>SubclassFormBean</code>.
+        <br/>
+        <br/>
+        action3 accepts interface <code>SomeInterface</code>.  In the third 
case, we pass it an instance of <code>SubclassFormBean</code>, which implements 
the interface.
+        <br/>
+        <br/>
+        value in form bean: <b>action2: base</b>
+        <br/>
+        <br/>
+        <a 
href="/coreWeb/miniTests/passAssignableFormBeanToAction/passBaseToAction2.do">pass
 base form bean to action2</a>
+        <br/>
+        <a 
href="/coreWeb/miniTests/passAssignableFormBeanToAction/passSubclassToAction2.do">pass
 subclass form bean to action2</a>
+        <br/>
+        <a 
href="/coreWeb/miniTests/passAssignableFormBeanToAction/passInterfaceImplementorToAction3.do">pass
 subclass form bean (which implements the right interface) to action3</a>
+    </body>
+
+</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>/coreWeb/miniTests/passAssignableFormBeanToAction/passSubclassToAction2.do</ses:uri>
+            <ses:method>GET</ses:method>
+            <ses:parameters/>
+            <ses:cookies>
+               <ses:cookie>
+                  <ses:name>JSESSIONID</ses:name>
+                  <ses:value>27839BA317C0406C994DAC32DE6353AD</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=27839BA317C0406C994DAC32DE6353AD</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/coreWeb/miniTests/passAssignableFormBeanToAction/passBaseToAction2.do</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[<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 
4.01 Transitional//EN"
+       "http://www.w3.org/TR/html4/loose.dtd";>
+<html lang="en">
+
+    <head>
+        <base 
href="http://localhost:8080/coreWeb/miniTests/passAssignableFormBeanToAction/index.jsp";>
+    </head>
+    <body>
+        <h3>/miniTests/passAssignableFormBeanToAction/Controller.jpf</h3>
+
+        action2 accepts a form bean of type <code>BaseFormBean</code>.  In the 
first case, we pass it an instance of that.  In the second case, we pass it an 
instance of the derived <code>SubclassFormBean</code>.
+        <br/>
+        <br/>
+        action3 accepts interface <code>SomeInterface</code>.  In the third 
case, we pass it an instance of <code>SubclassFormBean</code>, which implements 
the interface.
+        <br/>
+        <br/>
+        value in form bean: <b>action2: subclass</b>
+        <br/>
+        <br/>
+        <a 
href="/coreWeb/miniTests/passAssignableFormBeanToAction/passBaseToAction2.do">pass
 base form bean to action2</a>
+        <br/>
+        <a 
href="/coreWeb/miniTests/passAssignableFormBeanToAction/passSubclassToAction2.do">pass
 subclass form bean to action2</a>
+        <br/>
+        <a 
href="/coreWeb/miniTests/passAssignableFormBeanToAction/passInterfaceImplementorToAction3.do">pass
 subclass form bean (which implements the right interface) to action3</a>
+    </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>/coreWeb/miniTests/passAssignableFormBeanToAction/passInterfaceImplementorToAction3.do</ses:uri>
+            <ses:method>GET</ses:method>
+            <ses:parameters/>
+            <ses:cookies>
+               <ses:cookie>
+                  <ses:name>JSESSIONID</ses:name>
+                  <ses:value>27839BA317C0406C994DAC32DE6353AD</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=27839BA317C0406C994DAC32DE6353AD</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/coreWeb/miniTests/passAssignableFormBeanToAction/passSubclassToAction2.do</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[<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 
4.01 Transitional//EN"
+       "http://www.w3.org/TR/html4/loose.dtd";>
+<html lang="en">
+
+    <head>
+        <base 
href="http://localhost:8080/coreWeb/miniTests/passAssignableFormBeanToAction/index.jsp";>
+    </head>
+    <body>
+        <h3>/miniTests/passAssignableFormBeanToAction/Controller.jpf</h3>
+
+        action2 accepts a form bean of type <code>BaseFormBean</code>.  In the 
first case, we pass it an instance of that.  In the second case, we pass it an 
instance of the derived <code>SubclassFormBean</code>.
+        <br/>
+        <br/>
+        action3 accepts interface <code>SomeInterface</code>.  In the third 
case, we pass it an instance of <code>SubclassFormBean</code>, which implements 
the interface.
+        <br/>
+        <br/>
+        value in form bean: <b>action3: subclass</b>
+        <br/>
+        <br/>
+        <a 
href="/coreWeb/miniTests/passAssignableFormBeanToAction/passBaseToAction2.do">pass
 base form bean to action2</a>
+        <br/>
+        <a 
href="/coreWeb/miniTests/passAssignableFormBeanToAction/passSubclassToAction2.do">pass
 subclass form bean to action2</a>
+        <br/>
+        <a 
href="/coreWeb/miniTests/passAssignableFormBeanToAction/passInterfaceImplementorToAction3.do">pass
 subclass form bean (which implements the right interface) to action3</a>
+    </body>
+
+</html>]]></ses:responseBody>
+         </ses:response>
+      </ses:test>
+   </ses:tests>
+   <ses:endDate>03 Feb 2005, 10:28:58.899 AM MST</ses:endDate>
+   <ses:testCount>4</ses:testCount>
+</ses:recorderSession>

Propchange: 
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/PassAssignableFormBeanToAction.xml
------------------------------------------------------------------------------
    svn:eol-style = native


Reply via email to