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
