Author: rich
Date: Mon Jan 24 19:43:12 2005
New Revision: 126342
URL: http://svn.apache.org/viewcvs?view=rev&rev=126342
Log:
Added the ability to add validation messages (or, in general, messages
associated with properties) using expressions and explicit strings. Normally,
validation messages are added in using a message key and optional arguments:
public ActionErrors validate(ActionMapping mapping, HttpServletRequest
request)
{
ActionErrors errors = new ActionErrors();
errors.add( "someProperty", new ActionMessage( "myMessageKey", [args] )
);
}
You can now use org.apache.beehive.netui.pageflow.ExpressionMessage to add an
explicit String (presumably looked up from your own message system) or an
expression:
String myMessage = MyMessageAPI.getMessage( "key" );
errors.add( "someProperty", new ExpressionMessage( myMessage ) );
-or-
errors.add( "someProperty", new ExpressionMessage(
"${bundle.default.someMessage}" ) );
errors.add( "someProperty", new ExpressionMessage(
"${pageFlow.someMessage}" ) );
errors.add( "someProperty", new ExpressionMessage(
"${myJsp2BindingContext.someMessage}" ) );
etc.
These messages are displayed using the netui:error and netui:errors tags.
An example of this can be found at
netui/test/webapps/drt/validation/addExpressionMessages.
Also:
- Fixed a bug that prevented a shared flow action from forwarding to
another shared flow action.
- Removed some tests from the DRT suite (left them in the BVTs).
DRT/BVT: netui (WinXP)
BB: self (linux)
Added:
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/ExpressionMessage.java
(contents, props changed)
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/src/validation/addExpressionMessages/
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/src/validation/addExpressionMessages/Messages.properties
(contents, props changed)
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/sharedFlowForwardToAction/
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/sharedFlowForwardToAction/Controller.jpf
(contents, props changed)
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/sharedFlowForwardToAction/index.jsp
(contents, props changed)
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/sharedFlowForwardToAction/sharedFlow/
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/sharedFlowForwardToAction/sharedFlow/SharedFlow.jpfs
(contents, props changed)
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/validation/addExpressionMessages/
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/validation/addExpressionMessages/Controller.jpf
(contents, props changed)
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/validation/addExpressionMessages/SharedFlow.jpfs
(contents, props changed)
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/validation/addExpressionMessages/index.jsp
(contents, props changed)
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/AddExpressionMessages.xml
(contents, props changed)
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/SharedFlowForwardToAction.xml
(contents, props changed)
Modified:
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/FlowController.java
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowRequestProcessor.java
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowUtils.java
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/InternalUtils.java
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml
Added:
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/ExpressionMessage.java
Url:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/ExpressionMessage.java?view=auto&rev=126342
==============================================================================
--- (empty file)
+++
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/ExpressionMessage.java
Mon Jan 24 19:43:12 2005
@@ -0,0 +1,35 @@
+/*
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * $Header:$
+ */
+package org.apache.beehive.netui.pageflow;
+
+import org.apache.struts.action.ActionMessage;
+import org.apache.beehive.netui.pageflow.internal.InternalConstants;
+
+public class ExpressionMessage
+ extends ActionMessage
+{
+ public ExpressionMessage( String expression )
+ {
+ super( InternalConstants.MESSAGE_IS_EXPRESSION_PREFIX + expression );
+ }
+
+ public void setExpression( String expression )
+ {
+ key = InternalConstants.MESSAGE_IS_EXPRESSION_PREFIX + expression;
+ }
+}
Modified:
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/FlowController.java
Url:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/FlowController.java?view=diff&rev=126342&p1=incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/FlowController.java&r1=126341&p2=incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/FlowController.java&r2=126342
==============================================================================
---
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/FlowController.java
(original)
+++
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/FlowController.java
Mon Jan 24 19:43:12 2005
@@ -1417,6 +1417,17 @@
{
PageFlowUtils.addValidationError( propertyName, messageKey,
getRequest() );
}
+
+ /**
+ * Add a validation error that will be shown with the Errors and Error
tags.
+ *
+ * @param propertyName the name of the property with which to associate
this error.
+ * @param expression the expression that will be evaluated to generate the
error message.
+ */
+ protected void addValidationErrorExpression( String propertyName, String
expression )
+ {
+ PageFlowUtils.addValidationErrorExpression( propertyName, expression,
getRequest() );
+ }
private static ActionForward handleSimpleAction( PageFlowActionMapping
mapping,
ActionForm
wrappedFormBean,
Modified:
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowRequestProcessor.java
Url:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowRequestProcessor.java?view=diff&rev=126342&p1=incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowRequestProcessor.java&r1=126341&p2=incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowRequestProcessor.java&r2=126342
==============================================================================
---
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowRequestProcessor.java
(original)
+++
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowRequestProcessor.java
Mon Jan 24 19:43:12 2005
@@ -1259,7 +1259,7 @@
{
if ( _log.isDebugEnabled() )
{
- _log.debug( "Forwarding to shared flow " + sf.getURI()
+ " to handle action \""
+ _log.debug( "Forwarding to shared flow " +
sf.getDisplayName() + " to handle action \""
+ actionPath + "\"." );
}
@@ -1510,12 +1510,14 @@
fwdURI = RequestUtils.forwardURL( request, fwd );
//
- // First, see if the current module is a Shared Flow
module. If so, we need to translate the local
- // path so it makes sense (strip off the shared flow
module prefix "/-" and replace it with "/").
+ // First, see if the current module is a Shared Flow
module. If so, unless this is a forward to
+ // another action in the shared flow, we need to translate
the local path so it makes sense (strip
+ // off the shared flow module prefix "/-" and replace it
with "/").
//
ModuleConfig mc = ( ModuleConfig ) request.getAttribute(
Globals.MODULE_KEY );
- if ( InternalUtils.isSharedFlowModule( mc ) &&
fwdURI.startsWith( SHARED_FLOW_MODULE_PREFIX ) )
+ if ( InternalUtils.isSharedFlowModule( mc ) && !
fwdURI.endsWith( ACTION_EXTENSION )
+ && fwdURI.startsWith( SHARED_FLOW_MODULE_PREFIX ) )
{
fwdURI = '/' + fwdURI.substring(
SHARED_FLOW_MODULE_PREFIX_LEN );
}
Modified:
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowUtils.java
Url:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowUtils.java?view=diff&rev=126342&p1=incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowUtils.java&r1=126341&p2=incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowUtils.java&r2=126342
==============================================================================
---
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowUtils.java
(original)
+++
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowUtils.java
Mon Jan 24 19:43:12 2005
@@ -34,10 +34,10 @@
import org.apache.beehive.netui.util.ServletUtils;
import org.apache.beehive.netui.util.logging.Logger;
import org.apache.beehive.netui.script.common.ImplicitObjectUtil;
-import org.apache.struts.action.ActionError;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionServlet;
+import org.apache.struts.action.ActionMessage;
import org.apache.struts.config.FormBeanConfig;
import org.apache.struts.config.ModuleConfig;
import org.apache.struts.upload.MultipartRequestWrapper;
@@ -791,7 +791,7 @@
public static void addValidationError( String propertyName, String
messageKey, Object[] messageArgs,
ServletRequest request )
{
- InternalUtils.addValidationError( propertyName, new ActionError(
messageKey, messageArgs ), request );
+ InternalUtils.addValidationError( propertyName, new ActionMessage(
messageKey, messageArgs ), request );
}
@@ -806,10 +806,9 @@
public static void addValidationError( String propertyName, String
messageKey, Object messageArg,
ServletRequest request )
{
- InternalUtils.addValidationError( propertyName, new ActionError(
messageKey, messageArg ), request );
+ InternalUtils.addValidationError( propertyName, new ActionMessage(
messageKey, messageArg ), request );
}
-
/**
* Add a validation error that will be shown with the Errors and Error
tags.
*
@@ -819,9 +818,20 @@
*/
public static void addValidationError( String propertyName, String
messageKey, ServletRequest request )
{
- InternalUtils.addValidationError( propertyName, new ActionError(
messageKey ), request );
+ InternalUtils.addValidationError( propertyName, new ActionMessage(
messageKey ), request );
}
+ /**
+ * Add a validation error that will be shown with the Errors and Error
tags.
+ *
+ * @param propertyName the name of the property with which to associate
this error.
+ * @param expression the expression that will be evaluated to generate the
error message.
+ * @param request the current ServletRequest.
+ */
+ public static void addValidationErrorExpression( String propertyName,
String expression, ServletRequest request )
+ {
+ InternalUtils.addValidationError( propertyName, new ExpressionMessage(
expression ), request );
+ }
/**
* Resolve the given action to a URI by running an entire
request-processing cycle on the given ScopedRequest
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&rev=126342&p1=incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/InternalUtils.java&r1=126341&p2=incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/InternalUtils.java&r2=126342
==============================================================================
---
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
Mon Jan 24 19:43:12 2005
@@ -51,6 +51,7 @@
import org.apache.struts.action.ActionServlet;
import org.apache.struts.action.DynaActionFormClass;
import org.apache.struts.action.DynaActionForm;
+import org.apache.struts.action.ActionMessage;
import org.apache.struts.config.ModuleConfig;
import org.apache.struts.config.ControllerConfig;
import org.apache.struts.config.FormBeanConfig;
@@ -322,7 +323,7 @@
}
}
- public static void addValidationError( String propertyName, ActionError
error, ServletRequest request )
+ public static void addValidationError( String propertyName, ActionMessage
error, ServletRequest request )
{
ActionErrors errors = ( ActionErrors ) request.getAttribute(
Globals.ERROR_KEY );
Added:
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/src/validation/addExpressionMessages/Messages.properties
Url:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/src/validation/addExpressionMessages/Messages.properties?view=auto&rev=126342
==============================================================================
--- (empty file)
+++
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/src/validation/addExpressionMessages/Messages.properties
Mon Jan 24 19:43:12 2005
@@ -0,0 +1 @@
+bundleMessage=a message in a message bundle
Added:
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/sharedFlowForwardToAction/Controller.jpf
Url:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/sharedFlowForwardToAction/Controller.jpf?view=auto&rev=126342
==============================================================================
--- (empty file)
+++
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/sharedFlowForwardToAction/Controller.jpf
Mon Jan 24 19:43:12 2005
@@ -0,0 +1,16 @@
+package miniTests.sharedFlowForwardToAction;
+
+import org.apache.beehive.netui.pageflow.*;
+import org.apache.beehive.netui.pageflow.annotations.*;
+
[EMAIL PROTECTED](
+ simpleActions={
+ @Jpf.SimpleAction(name="begin", path="index.jsp")
+ },
+ sharedFlowRefs={
+ @Jpf.SharedFlowRef(name="shared",
type=miniTests.sharedFlowForwardToAction.sharedFlow.SharedFlow.class)
+ }
+)
+public class Controller extends PageFlowController
+{
+}
Added:
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/sharedFlowForwardToAction/index.jsp
Url:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/sharedFlowForwardToAction/index.jsp?view=auto&rev=126342
==============================================================================
--- (empty file)
+++
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/sharedFlowForwardToAction/index.jsp
Mon Jan 24 19:43:12 2005
@@ -0,0 +1,20 @@
+<%@ 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>
+ Message: <b>${requestScope.message}</b>
+ <br/>
+ <br/>
+ <netui:anchor action="shared.action1">shared.action1</netui:anchor>
+ </netui:body>
+</netui:html>
+
+
+
Added:
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/sharedFlowForwardToAction/sharedFlow/SharedFlow.jpfs
Url:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/sharedFlowForwardToAction/sharedFlow/SharedFlow.jpfs?view=auto&rev=126342
==============================================================================
--- (empty file)
+++
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/sharedFlowForwardToAction/sharedFlow/SharedFlow.jpfs
Mon Jan 24 19:43:12 2005
@@ -0,0 +1,23 @@
+package miniTests.sharedFlowForwardToAction.sharedFlow;
+
+import org.apache.beehive.netui.pageflow.*;
+import org.apache.beehive.netui.pageflow.annotations.*;
+
[EMAIL PROTECTED](
+ simpleActions={
+ @Jpf.SimpleAction(name="action1", path="action2.do")
+ }
+)
+public class SharedFlow extends SharedFlowController
+{
+ @Jpf.Action(
+ forwards={
+ @Jpf.Forward(name="back", navigateTo=Jpf.NavigateTo.currentPage)
+ }
+ )
+ public Forward action2()
+ {
+ getRequest().setAttribute( "message", "in " + getDisplayName() +
".action2()" );
+ return new Forward( "back" );
+ }
+}
Added:
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/validation/addExpressionMessages/Controller.jpf
Url:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/validation/addExpressionMessages/Controller.jpf?view=auto&rev=126342
==============================================================================
--- (empty file)
+++
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/validation/addExpressionMessages/Controller.jpf
Mon Jan 24 19:43:12 2005
@@ -0,0 +1,66 @@
+package validation.addExpressionMessages;
+
+import org.apache.beehive.netui.pageflow.*;
+import org.apache.beehive.netui.pageflow.annotations.*;
+import org.apache.struts.action.*;
+import javax.servlet.http.*;
+
[EMAIL PROTECTED](
+ simpleActions={
+ @Jpf.SimpleAction(name="begin", path="index.jsp")
+ },
+ sharedFlowRefs={
+ @Jpf.SharedFlowRef(name="sf", type=SharedFlow.class)
+ },
+ messageResources={
+ @Jpf.MessageResource(name="validation.addExpressionMessages.Messages")
+ }
+)
+public class Controller extends PageFlowController
+{
+ @Jpf.Action(
+ forwards={
+ @Jpf.Forward(name="index", path="index.jsp")
+ }
+ )
+ public Forward addMessages( MyBean bean )
+ {
+ getRequest().setAttribute( "requestMessage", "a message in the
request" );
+ getSession().setAttribute( "sessionMessage", "a message in the
session" );
+
+ addValidationErrorExpression( "prop1", "${pageFlow.pageFlowMessage}" );
+ addValidationErrorExpression( "prop2",
"${requestScope.requestMessage}" );
+ addValidationErrorExpression( "prop3",
"${sessionScope.sessionMessage}" );
+
+ return new Forward( "index" );
+ }
+
+ @Jpf.Action(
+ [EMAIL PROTECTED](name="failure",
navigateTo=Jpf.NavigateTo.currentPage)
+ )
+ public Forward submitMyBean( MyBean bean )
+ {
+ assert false; // should never get here -- validation will always fail.
+ return null;
+ }
+
+ public String getPageFlowMessage()
+ {
+ return "a message in page flow " + getURI();
+ }
+
+ public static class MyBean
+ implements java.io.Serializable, Validatable
+ {
+ public void validate( ActionMapping mapping, HttpServletRequest
request, ActionMessages errors )
+ {
+ errors.add( "prop4", new ExpressionMessage( "explicit string" ) );
+ errors.add( "prop5", new ExpressionMessage(
"${bundle.default.bundleMessage}" ) );
+ errors.add( "prop6", new ExpressionMessage(
"${sharedFlow.sf.sharedFlowMessage}" ) );
+
+ // The following is just to make sure that the "sessionMessage"
string doesn't get left
+ // hanging around in the session while the other tests run.
+ request.getSession().removeAttribute( "sessionMessage" );
+ }
+ }
+}
Added:
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/validation/addExpressionMessages/SharedFlow.jpfs
Url:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/validation/addExpressionMessages/SharedFlow.jpfs?view=auto&rev=126342
==============================================================================
--- (empty file)
+++
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/validation/addExpressionMessages/SharedFlow.jpfs
Mon Jan 24 19:43:12 2005
@@ -0,0 +1,14 @@
+package validation.addExpressionMessages;
+
+import org.apache.beehive.netui.pageflow.*;
+import org.apache.beehive.netui.pageflow.annotations.*;
+
[EMAIL PROTECTED]()
+public class SharedFlow extends SharedFlowController
+{
+ public String getSharedFlowMessage()
+ {
+ return "a message in shared flow " + getDisplayName();
+ }
+
+}
Added:
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/validation/addExpressionMessages/index.jsp
Url:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/validation/addExpressionMessages/index.jsp?view=auto&rev=126342
==============================================================================
--- (empty file)
+++
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/validation/addExpressionMessages/index.jsp
Mon Jan 24 19:43:12 2005
@@ -0,0 +1,27 @@
+<%@ 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>
+ message for prop1: <b><netui:error value="prop1"/></b><br/>
+ message for prop2: <b><netui:error value="prop2"/></b><br/>
+ message for prop3: <b><netui:error value="prop3"/></b><br/>
+ message for prop4: <b><netui:error value="prop4"/></b><br/>
+ message for prop5: <b><netui:error value="prop5"/></b><br/>
+ message for prop6: <b><netui:error value="prop6"/></b><br/>
+ <br/>
+
+ <netui:anchor action="addMessages">addMessages (prop1, prop2,
prop3)</netui:anchor>
+ <br/>
+ <netui:anchor action="submitMyBean">submitMyBean (prop4, prop5,
prop6)</netui:anchor>
+ </netui:body>
+</netui:html>
+
+
+
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&rev=126342&p1=incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml&r1=126341&p2=incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml&r2=126342
==============================================================================
---
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
Mon Jan 24 19:43:12 2005
@@ -176,6 +176,19 @@
</features>
</test>
<test>
+ <name>AddExpressionMessages</name>
+ <description>Test of using ExpressionMessage (or
FlowController.addValidationErrorExpression) to add explicit strings or
expressions as validation messages.</description>
+ <webapp>coreWeb</webapp>
+ <categories>
+ <category>bvt</category>
+ <category>bvt.struts11</category>
+ <category>corePageFlow</category>
+ </categories>
+ <features>
+ <feature>Validation</feature>
+ </features>
+ </test>
+ <test>
<name>Anchor</name>
<description>Test of the anchor tag</description>
<webapp>coreWeb</webapp>
@@ -3013,7 +3026,6 @@
<categories>
<category>bvt</category>
<category>bvt.struts11</category>
- <category>drt</category>
<category>corePageFlow</category>
</categories>
<features>
@@ -3029,7 +3041,6 @@
<categories>
<category>bvt</category>
<category>bvt.struts11</category>
- <category>drt</category>
<category>corePageFlow</category>
</categories>
<features>
@@ -3176,7 +3187,6 @@
<categories>
<category>bvt</category>
<category>bvt.struts11</category>
- <category>drt</category>
<category>errorTests</category>
</categories>
<features>
@@ -3252,7 +3262,6 @@
<categories>
<category>bvt</category>
<category>bvt.struts11</category>
- <category>drt</category>
<category>corePageFlow</category>
</categories>
<features>
@@ -3955,7 +3964,6 @@
<categories>
<category>bvt</category>
<category>bvt.struts11</category>
- <category>drt</category>
<category>corePageFlow</category>
</categories>
<features>
@@ -4003,7 +4011,6 @@
<categories>
<category>bvt</category>
<category>bvt.struts11</category>
- <category>drt</category>
<category>corePageFlow</category>
</categories>
<features>
@@ -4531,7 +4538,6 @@
<categories>
<category>bvt</category>
<category>bvt.struts11</category>
- <category>drt</category>
<category>corePageFlow</category>
</categories>
<features>
@@ -4655,7 +4661,6 @@
<categories>
<category>bvt</category>
<category>bvt.struts11</category>
- <category>drt</category>
<category>corePageFlow</category>
</categories>
<features>
@@ -4882,7 +4887,6 @@
<categories>
<category>bvt</category>
<category>bvt.struts11</category>
- <category>drt</category>
<category>corePageFlow</category>
</categories>
<features>
@@ -5575,6 +5579,20 @@
</features>
</test>
<test>
+ <name>SharedFlowForwardToAction</name>
+ <description>Test of forwarding to another action within a shared
flow.</description>
+ <webapp>coreWeb</webapp>
+ <categories>
+ <category>bvt</category>
+ <category>bvt.struts11</category>
+ <category>corePageFlow</category>
+ </categories>
+ <features>
+ <feature>PageFlow</feature>
+ <feature>SharedFlow</feature>
+ </features>
+ </test>
+ <test>
<name>SimpleAction</name>
<description>Test of Simple Actions</description>
<webapp>coreWeb</webapp>
@@ -6350,7 +6368,6 @@
<categories>
<category>bvt</category>
<category>bvt.struts11</category>
- <category>drt</category>
<category>corePageFlow</category>
</categories>
<features>
Added:
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/AddExpressionMessages.xml
Url:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/AddExpressionMessages.xml?view=auto&rev=126342
==============================================================================
--- (empty file)
+++
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/AddExpressionMessages.xml
Mon Jan 24 19:43:12 2005
@@ -0,0 +1,271 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ses:recorderSession
xmlns:ses="http://beehive.apache.org/netui/tools/testrecorder/2004/session">
+ <ses:sessionName>AddExpressionMessages</ses:sessionName>
+ <ses:tester>rich</ses:tester>
+ <ses:startDate>24 Jan 2005, 05:37:09.027 PM MST</ses:startDate>
+ <ses:description>Test of using ExpressionMessage (or
FlowController.addValidationErrorExpression) to add explicit strings or
expressions as validation messages.</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/validation/addExpressionMessages/Controller.jpf</ses:uri>
+ <ses:method>GET</ses:method>
+ <ses:parameters/>
+ <ses:cookies>
+ <ses:cookie>
+ <ses:name>JSESSIONID</ses:name>
+ <ses:value>2D94608B7ED9066FC2922D80F783B145</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=2D94608B7ED9066FC2922D80F783B145</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/validation/addExpressionMessages/index.jsp">
+ </head>
+ <body>
+ message for prop1: <b></b><br/>
+ message for prop2: <b></b><br/>
+ message for prop3: <b></b><br/>
+ message for prop4: <b></b><br/>
+ message for prop5: <b></b><br/>
+ message for prop6: <b></b><br/>
+ <br/>
+
+ <a
href="/coreWeb/validation/addExpressionMessages/addMessages.do">addMessages
(prop1, prop2, prop3)</a>
+ <br/>
+ <a
href="/coreWeb/validation/addExpressionMessages/submitMyBean.do">submitMyBean
(prop4, prop5, prop6)</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/validation/addExpressionMessages/addMessages.do</ses:uri>
+ <ses:method>GET</ses:method>
+ <ses:parameters/>
+ <ses:cookies>
+ <ses:cookie>
+ <ses:name>JSESSIONID</ses:name>
+ <ses:value>2D94608B7ED9066FC2922D80F783B145</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=2D94608B7ED9066FC2922D80F783B145</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/validation/addExpressionMessages/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/validation/addExpressionMessages/index.jsp">
+ </head>
+ <body>
+ message for prop1: <b>a message in page flow
/validation/addExpressionMessages/Controller.jpf
+</b><br/>
+ message for prop2: <b>a message in the request
+</b><br/>
+ message for prop3: <b>a message in the session
+</b><br/>
+ message for prop4: <b></b><br/>
+ message for prop5: <b></b><br/>
+ message for prop6: <b></b><br/>
+ <br/>
+
+ <a
href="/coreWeb/validation/addExpressionMessages/addMessages.do">addMessages
(prop1, prop2, prop3)</a>
+ <br/>
+ <a
href="/coreWeb/validation/addExpressionMessages/submitMyBean.do">submitMyBean
(prop4, prop5, prop6)</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/validation/addExpressionMessages/submitMyBean.do</ses:uri>
+ <ses:method>GET</ses:method>
+ <ses:parameters/>
+ <ses:cookies>
+ <ses:cookie>
+ <ses:name>JSESSIONID</ses:name>
+ <ses:value>2D94608B7ED9066FC2922D80F783B145</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=2D94608B7ED9066FC2922D80F783B145</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/validation/addExpressionMessages/addMessages.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/validation/addExpressionMessages/index.jsp">
+ </head>
+ <body>
+ message for prop1: <b></b><br/>
+ message for prop2: <b></b><br/>
+ message for prop3: <b></b><br/>
+ message for prop4: <b>explicit string
+</b><br/>
+ message for prop5: <b>a message in a message bundle
+</b><br/>
+ message for prop6: <b>a message in shared flow
validation.addExpressionMessages.SharedFlow
+</b><br/>
+ <br/>
+
+ <a
href="/coreWeb/validation/addExpressionMessages/addMessages.do">addMessages
(prop1, prop2, prop3)</a>
+ <br/>
+ <a
href="/coreWeb/validation/addExpressionMessages/submitMyBean.do">submitMyBean
(prop4, prop5, prop6)</a>
+ </body>
+
+</html>]]></ses:responseBody>
+ </ses:response>
+ </ses:test>
+ </ses:tests>
+ <ses:endDate>24 Jan 2005, 05:37:26.492 PM MST</ses:endDate>
+ <ses:testCount>3</ses:testCount>
+</ses:recorderSession>
Added:
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/SharedFlowForwardToAction.xml
Url:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/SharedFlowForwardToAction.xml?view=auto&rev=126342
==============================================================================
--- (empty file)
+++
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/SharedFlowForwardToAction.xml
Mon Jan 24 19:43:12 2005
@@ -0,0 +1,165 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ses:recorderSession
xmlns:ses="http://beehive.apache.org/netui/tools/testrecorder/2004/session">
+ <ses:sessionName>SharedFlowForwardToAction</ses:sessionName>
+ <ses:tester>rich</ses:tester>
+ <ses:startDate>24 Jan 2005, 05:34:46.633 PM MST</ses:startDate>
+ <ses:description>Test of forwarding to another action within a shared
flow.</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/sharedFlowForwardToAction/Controller.jpf</ses:uri>
+ <ses:method>GET</ses:method>
+ <ses:parameters/>
+ <ses:cookies>
+ <ses:cookie>
+ <ses:name>JSESSIONID</ses:name>
+ <ses:value>2D94608B7ED9066FC2922D80F783B145</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=2D94608B7ED9066FC2922D80F783B145</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/sharedFlowForwardToAction/index.jsp">
+ </head>
+ <body>
+ Message: <b></b>
+ <br/>
+ <br/>
+ <a
href="/coreWeb/miniTests/sharedFlowForwardToAction/shared.action1.do">shared.action1</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/sharedFlowForwardToAction/shared.action1.do</ses:uri>
+ <ses:method>GET</ses:method>
+ <ses:parameters/>
+ <ses:cookies>
+ <ses:cookie>
+ <ses:name>JSESSIONID</ses:name>
+ <ses:value>2D94608B7ED9066FC2922D80F783B145</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=2D94608B7ED9066FC2922D80F783B145</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/sharedFlowForwardToAction/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/sharedFlowForwardToAction/index.jsp">
+ </head>
+ <body>
+ Message: <b>in
miniTests.sharedFlowForwardToAction.sharedFlow.SharedFlow.action2()</b>
+ <br/>
+ <br/>
+ <a
href="/coreWeb/miniTests/sharedFlowForwardToAction/shared.action1.do">shared.action1</a>
+ </body>
+
+</html>]]></ses:responseBody>
+ </ses:response>
+ </ses:test>
+ </ses:tests>
+ <ses:endDate>24 Jan 2005, 05:34:52.100 PM MST</ses:endDate>
+ <ses:testCount>2</ses:testCount>
+</ses:recorderSession>