Author: rich
Date: Tue Jan 25 21:34:23 2005
New Revision: 126471

URL: http://svn.apache.org/viewcvs?view=rev&rev=126471
Log:
Added an 'action' attribute for forwarding to actions (the main use for this is 
forwarding to shared flow actions) on @Jpf.SimpleAction, @Jpf.Forward, and 
@Jpf.ConditionalForward.  It basically has the same semantics as 'action' on 
the netui:anchor tag.

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


Added:
   
incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/ValidActionType.java
   (contents, props changed)
   
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/pageFlowCore/actionAttr/
   
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/pageFlowCore/actionAttr/Controller.jpf
   (contents, props changed)
   
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/pageFlowCore/actionAttr/SharedFlow.jpfs
   (contents, props changed)
   
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/pageFlowCore/actionAttr/anotherPageFlow/
   
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/pageFlowCore/actionAttr/anotherPageFlow/Controller.jpf
   (contents, props changed)
   
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/pageFlowCore/actionAttr/anotherPageFlow/index.jsp
   (contents, props changed)
   
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/pageFlowCore/actionAttr/index.jsp
   (contents, props changed)
   
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/pageFlowCore/actionAttr/success.jsp
   (contents, props changed)
   
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/ActionAttr.xml
   (contents, props changed)
Modified:
   
incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/diagnostics.properties
   
incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/genmodel/GenForwardModel.java
   
incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/ForwardGrammar.java
   
incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/SimpleActionGrammar.java
   
incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/WebappPathOrActionType.java
   
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/annotations/Jpf.java
   
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/forwardToAction/ForwardToActionController.jpf
   
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml

Modified: 
incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/diagnostics.properties
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/diagnostics.properties?view=diff&rev=126471&p1=incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/diagnostics.properties&r1=126470&p2=incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/diagnostics.properties&r2=126471
==============================================================================
--- 
incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/diagnostics.properties
 (original)
+++ 
incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/diagnostics.properties
 Tue Jan 25 21:34:23 2005
@@ -6,9 +6,11 @@
 error.atleast-one-must-exist-2 = At least one of attributes "{0}" or "{1}" 
must be present.
 error.atleast-one-must-exist-3 = At least one of attributes "{0}", "{1}", or 
"{2}" must be present.
 error.atleast-one-must-exist-4 = At least one of attributes "{0}", "{1}", 
"{2}", or "{3}" must be present.
+error.atleast-one-must-exist-5 = At least one of attributes "{0}", "{1}", 
"{2}", "{3}", or "{4}" must be present.
 error.atmost-one-may-exist-2 = Only one of attributes "{0}" or "{1}" may be 
present.
 error.atmost-one-may-exist-3 = Only one of attributes "{0}", "{1}", or "{2}" 
may be present.
 error.atmost-one-may-exist-4 = Only one of attributes "{0}", "{1}", "{2}", or 
"{3}" may be present.
+error.atmost-one-may-exist-5 = Only one of attributes "{0}", "{1}", "{2}", 
"{3}", or "{4}" may be present.
 error.attr-dependency-not-found-1 = Attribute "{0}" may only be present when 
attribute "{1}" is present.
 error.attr-dependency-not-found-2 = Attribute "{0}" may only be present when 
attribute "{1}" or "{2}" is present.
 error.unresolved-exception-handler = No exception handler method named "{0}" 
could be found.
@@ -113,6 +115,7 @@
 error.must-be-primitive-type = This value must be a primitive Class, e.g. 
int.class.
 error.invalid-type = This type is not allowed here.
 warning.action-not-found = Action "{0}" was not found.
+error.action-not-found = Action "{0}" was not found.
 error.no-public-class = There is no public class defined in this file.
 
 warning.missing-validation-message = \

Modified: 
incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/genmodel/GenForwardModel.java
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/genmodel/GenForwardModel.java?view=diff&rev=126471&p1=incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/genmodel/GenForwardModel.java&r1=126470&p2=incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/genmodel/GenForwardModel.java&r2=126471
==============================================================================
--- 
incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/genmodel/GenForwardModel.java
  (original)
+++ 
incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/genmodel/GenForwardModel.java
  Tue Jan 25 21:34:23 2005
@@ -67,6 +67,13 @@
         String navigateTo = CompilerUtils.getEnumFieldName( annotation, 
NAVIGATE_TO_ATTR, true );
         String tilesDefinition = CompilerUtils.getString( annotation, 
TILES_DEFINITION_ATTR, true );
         String path = CompilerUtils.getString( annotation, PATH_ATTR, true );
+        String action = CompilerUtils.getString( annotation, ACTION_ATTR, true 
);
+        
+        if ( action != null )
+        {
+            assert path == null;  // checker should enforce this
+            path = action + ACTION_EXTENSION_DOT;
+        }
         
         if ( returnAction != null )
         {
@@ -121,12 +128,8 @@
                 
                 //
                 // If it's an absolute URL, then the path shouldn't have a 
slash inserted in front of it.
-                // URL.
                 //
-                if ( ! CompilerUtils.isAbsoluteURL( path ) )
-                {
-                    path = "/" + path;
-                }
+                if ( ! CompilerUtils.isAbsoluteURL( path ) ) path = '/' + path;
             }
             
             setPath( path );

Modified: 
incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/ForwardGrammar.java
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/ForwardGrammar.java?view=diff&rev=126471&p1=incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/ForwardGrammar.java&r1=126470&p2=incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/ForwardGrammar.java&r2=126471
==============================================================================
--- 
incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/ForwardGrammar.java
    (original)
+++ 
incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/ForwardGrammar.java
    Tue Jan 25 21:34:23 2005
@@ -58,7 +58,7 @@
 
     private static String[][] MUTUALLY_EXCLUSIVE_ATTRS =
             {
-                { PATH_ATTR, TILES_DEFINITION_ATTR, RETURN_ACTION_ATTR, 
NAVIGATE_TO_ATTR },
+                { PATH_ATTR, TILES_DEFINITION_ATTR, RETURN_ACTION_ATTR, 
NAVIGATE_TO_ATTR, ACTION_ATTR },
                 { OUTPUT_FORM_BEAN_TYPE_ATTR, OUTPUT_FORM_BEAN_ATTR },
                 { REDIRECT_ATTR, EXTERNAL_REDIRECT_ATTR }
             };
@@ -66,7 +66,7 @@
     private static String[][] REQUIRED_ATTRS =
             {
                 { NAME_ATTR },
-                { PATH_ATTR, TILES_DEFINITION_ATTR, RETURN_ACTION_ATTR, 
NAVIGATE_TO_ATTR }
+                { PATH_ATTR, TILES_DEFINITION_ATTR, RETURN_ACTION_ATTR, 
NAVIGATE_TO_ATTR, ACTION_ATTR }
             };
 
     private static String[][] ATTR_DEPENDENCIES =
@@ -87,6 +87,7 @@
         addMemberType( OUTPUT_FORM_BEAN_ATTR, new MemberFieldType( null , 
null, this ) );
         addMemberType( RETURN_ACTION_ATTR, new JavaIdentifierType( null, this, 
'.' ) );
         addMemberType( PATH_ATTR, new ExternalPathOrActionType( false, null, 
this, fcInfo ) );
+        addMemberType( ACTION_ATTR, new ValidActionType( null, this, fcInfo ) 
);
         addMemberType( TILES_DEFINITION_ATTR, new AnnotationMemberType( null, 
this ) );
         addMemberType( REDIRECT_ATTR, new AnnotationMemberType( null, this ) );
         addMemberType( EXTERNAL_REDIRECT_ATTR, new AbsolutePathType( null , 
this ) );

Modified: 
incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/SimpleActionGrammar.java
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/SimpleActionGrammar.java?view=diff&rev=126471&p1=incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/SimpleActionGrammar.java&r1=126470&p2=incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/SimpleActionGrammar.java&r2=126471
==============================================================================
--- 
incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/SimpleActionGrammar.java
       (original)
+++ 
incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/SimpleActionGrammar.java
       Tue Jan 25 21:34:23 2005
@@ -42,15 +42,7 @@
     private static String[][] REQUIRED_ATTRS =
             {
                 { NAME_ATTR },
-                { PATH_ATTR, TILES_DEFINITION_ATTR, RETURN_ACTION_ATTR, 
NAVIGATE_TO_ATTR, FORWARD_REF_ATTR }
-            };
-    
-    private static String[][] MUTUALLY_EXCLUSIVE_ATTRS =
-            {
-                { PATH_ATTR, TILES_DEFINITION_ATTR, RETURN_ACTION_ATTR, 
NAVIGATE_TO_ATTR, FORWARD_REF_ATTR },
-                { FORWARD_REF_ATTR, OUTPUT_FORM_BEAN_TYPE_ATTR, 
OUTPUT_FORM_BEAN_ATTR },
-                { FORWARD_REF_ATTR, REDIRECT_ATTR, EXTERNAL_REDIRECT_ATTR },
-                { FORWARD_REF_ATTR, ACTION_OUTPUTS_ATTR }
+                { PATH_ATTR, TILES_DEFINITION_ATTR, RETURN_ACTION_ATTR, 
NAVIGATE_TO_ATTR, FORWARD_REF_ATTR, ACTION_ATTR }
             };
     
     
@@ -97,7 +89,7 @@
     {
         private static String[][] REQUIRED_ATTRS =
                 {
-                    { PATH_ATTR, TILES_DEFINITION_ATTR, RETURN_ACTION_ATTR, 
NAVIGATE_TO_ATTR }
+                    { PATH_ATTR, TILES_DEFINITION_ATTR, RETURN_ACTION_ATTR, 
NAVIGATE_TO_ATTR, ACTION_ATTR }
                 };
         
         public SimpleActionForwardGrammar( AnnotationProcessorEnvironment env, 
Diagnostics diags,

Added: 
incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/ValidActionType.java
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/ValidActionType.java?view=auto&rev=126471
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/ValidActionType.java
   Tue Jan 25 21:34:23 2005
@@ -0,0 +1,46 @@
+/*
+ * 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.compiler.grammar;
+
+import org.apache.beehive.netui.compiler.AnnotationGrammar;
+import org.apache.beehive.netui.compiler.FlowControllerInfo;
+import com.sun.mirror.declaration.AnnotationTypeElementDeclaration;
+import com.sun.mirror.declaration.AnnotationValue;
+import com.sun.mirror.declaration.AnnotationMirror;
+import com.sun.mirror.declaration.MemberDeclaration;
+
+public class ValidActionType
+        extends WebappPathOrActionType
+{
+    public ValidActionType( String requiredRuntimeVersion, AnnotationGrammar 
parentGrammar, FlowControllerInfo fcInfo )
+    {
+        super( false, requiredRuntimeVersion, parentGrammar, fcInfo );
+    }
+
+    public Object onCheck( AnnotationTypeElementDeclaration valueDecl, 
AnnotationValue value, AnnotationMirror[] parentAnnotations, MemberDeclaration 
classMember )
+    {
+        String stringValue = ( String ) value.getValue();
+        checkAction( stringValue + ACTION_EXTENSION_DOT, value, classMember );
+        return null;
+    }
+
+    protected boolean doFatalError()
+    {
+        return true;
+    }
+}

Modified: 
incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/WebappPathOrActionType.java
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/WebappPathOrActionType.java?view=diff&rev=126471&p1=incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/WebappPathOrActionType.java&r1=126470&p2=incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/WebappPathOrActionType.java&r2=126471
==============================================================================
--- 
incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/WebappPathOrActionType.java
    (original)
+++ 
incubator/beehive/trunk/netui/src/compiler/org/apache/beehive/netui/compiler/grammar/WebappPathOrActionType.java
    Tue Jan 25 21:34:23 2005
@@ -46,6 +46,12 @@
                            AnnotationMirror[] parentAnnotations, 
MemberDeclaration classMember )
     {
         String stringValue = ( String ) value.getValue();
+        checkAction( stringValue, value, classMember );
+        return super.onCheck( valueDecl, value, parentAnnotations, classMember 
);
+    }
+    
+    protected void checkAction( String stringValue, AnnotationValue annValue, 
MemberDeclaration classMember )
+    {
         if ( stringValue.endsWith( ACTION_EXTENSION_DOT ) && 
stringValue.indexOf( '/' ) == -1 )
         {
             TypeDeclaration outerType = CompilerUtils.getOuterClass( 
classMember );
@@ -57,14 +63,14 @@
                 FlowControllerInfo fcInfo = getFlowControllerInfo();
                 boolean foundIt = actionExists( actionMethodName, outerType, 
null, getEnv(), fcInfo, false );
 
-                if ( ! foundIt )
+                if ( ! foundIt && actionMethodName.length() > 0 )
                 {
                     //
                     // Check for a Shared Flow action reference of the form 
<shared-flow-name>.<action>.
                     //
                     int dot = actionMethodName.indexOf( '.' );
                     
-                    if ( dot != 1 && dot > actionMethodName.length() -1 )
+                    if ( dot != -1 && dot < actionMethodName.length() - 1 )
                     {
                         String sharedFlowName = actionMethodName.substring( 0, 
dot );
                         TypeDeclaration sfTypeDecl = 
getFlowControllerInfo().getSharedFlowTypes().get( sharedFlowName );
@@ -91,12 +97,17 @@
                 
                 if ( ! foundIt )
                 {
-                    addWarning( value, "warning.action-not-found", 
actionMethodName );
+                    if ( doFatalError() )
+                    {
+                        addError( annValue, "error.action-not-found", 
actionMethodName );
+                    }
+                    else
+                    {
+                        addWarning( annValue, "warning.action-not-found", 
actionMethodName );
+                    }
                 }
             }        
         }
-        
-        return super.onCheck( valueDecl, value, parentAnnotations, classMember 
);
     }
     
     public static boolean actionExists( String actionName, TypeDeclaration 
type, AnnotationMirror annotationToIgnore,

Modified: 
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/annotations/Jpf.java
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/annotations/Jpf.java?view=diff&rev=126471&p1=incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/annotations/Jpf.java&r1=126470&p2=incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/annotations/Jpf.java&r2=126471
==============================================================================
--- 
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/annotations/Jpf.java
   (original)
+++ 
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/annotations/Jpf.java
   Tue Jan 25 21:34:23 2005
@@ -141,31 +141,37 @@
         String name() default "";
         
         /**
-         * The forward path.  Mutually-exclusive with 
<code>tilesDefinition</code>,
-         * <code>returnAction</code> and <code>navigateTo</code>.
+         * The forward path.  Mutually-exclusive with [EMAIL PROTECTED] 
#navigateTo}, [EMAIL PROTECTED] #returnAction}, [EMAIL PROTECTED] #action},
+         * and [EMAIL PROTECTED] #tilesDefinition}.
          */ 
         String path() default "";
-
-        /**
-         * The Tiles definition to forward to.  Mutually-exclusive with 
<code>path</code>,
-         * <code>returnAction</code> and <code>navigateTo</code>.
-         */
-        String tilesDefinition() default "";
-
+        
         /**
-         * The action to be invoked on the calling page flow.  
Mutually-exclusive with <code>path</code>,
-         * <code>tilesDefinition</code> and <code>navigateTo</code>, and only 
valid in a nested page flow
-         * (<code>nested</code> on the <code>Controller</code> annotation must 
be true).
+         * The action to be invoked on the calling page flow.  
Mutually-exclusive with [EMAIL PROTECTED] #path},
+         * [EMAIL PROTECTED] #navigateTo}, [EMAIL PROTECTED] #action}, and 
[EMAIL PROTECTED] #tilesDefinition}, and only valid in a nested page flow
+         * ([EMAIL PROTECTED] Controller#nested} must be <code>true</code>).
          */ 
         String returnAction() default "";
         
         /**
-         * A symbolic name for the page/action to which to navigate.  
Mutually-exclusive with
-         * <code>path</code>, <code>tilesDefinition</code> and 
<code>returnAction</code>
+         * A symbolic name for the page/action to which to navigate.  
Mutually-exclusive with [EMAIL PROTECTED] #path},
+         * [EMAIL PROTECTED] #returnAction}, [EMAIL PROTECTED] #action}, and 
[EMAIL PROTECTED] #tilesDefinition}.
          */
         NavigateTo navigateTo() default NavigateTo.currentPage;
         
         /**
+         * An action to forward to.  Mutually-exclusive with [EMAIL PROTECTED] 
#path}, [EMAIL PROTECTED] #navigateTo}, [EMAIL PROTECTED] #returnAction},
+         * and [EMAIL PROTECTED] #tilesDefinition}.
+         */ 
+        String action() default "";
+
+        /**
+         * A Tiles definition to forward to.  Mutually-exclusive with [EMAIL 
PROTECTED] #path}, [EMAIL PROTECTED] #navigateTo},
+         * [EMAIL PROTECTED] #returnAction}, and [EMAIL PROTECTED] #action}.
+         */
+        String tilesDefinition() default "";
+
+        /**
          * Tells whether the original query string will be restored on a rerun 
of a previous action.  Only valid when
          * <code>navigateTo</code> is <code>NavigateTo.previousAction</code>.
          * @return boolean
@@ -303,37 +309,43 @@
         boolean doValidation() default false;
         
         /**
-         * The forward path.  Mutually-exclusive with 
<code>tilesDefinition</code>, <code>forwardRef</code>,
-         * <code>returnAction</code> and <code>navigateTo</code>.
-         */
+         * The forward path.  Mutually-exclusive with [EMAIL PROTECTED] 
#navigateTo}, [EMAIL PROTECTED] #returnAction}, [EMAIL PROTECTED] #action},
+         * [EMAIL PROTECTED] #tilesDefinition}, and [EMAIL PROTECTED] 
#forwardRef}.
+         */ 
         String path() default "";
         
         /**
-         * The name of a class-level forward ([EMAIL PROTECTED] Forward}).  
Mutually-exclusive with with <code>path</code>,
-         * <code>tilesDefinition</code>, <code>returnAction</code> and 
<code>navigateTo</code>.
-         */
-        String forwardRef() default "";
-
+         * The action to be invoked on the calling page flow.  
Mutually-exclusive with [EMAIL PROTECTED] #path},
+         * [EMAIL PROTECTED] #navigateTo}, [EMAIL PROTECTED] #action}, [EMAIL 
PROTECTED] #tilesDefinition}, and [EMAIL PROTECTED] #forwardRef}, and only 
valid in
+         * a nested page flow ([EMAIL PROTECTED] Controller#nested} must be 
<code>true</code>).
+         */ 
+        String returnAction() default "";
+        
         /**
-         * The Tiles definition to forward to.  Mutually-exclusive with 
<code>path</code>, <code>forwardRef</code>,
-         * <code>returnAction</code> and <code>navigateTo</code>.
+         * A symbolic name for the page/action to which to navigate.  
Mutually-exclusive with [EMAIL PROTECTED] #path},
+         * [EMAIL PROTECTED] #returnAction}, [EMAIL PROTECTED] #action}, 
[EMAIL PROTECTED] #tilesDefinition}, and [EMAIL PROTECTED] #forwardRef}..
          */
-        String tilesDefinition() default "";
-
+        NavigateTo navigateTo() default NavigateTo.currentPage;
+        
         /**
-         * The action to be invoked on the calling page flow.  
Mutually-exclusive with <code>path</code>,
-         * <code>forwardRef</code>, <code>tilesDefinition</code> and 
<code>navigateTo</code>, and only valid in a
-         * nested page flow (<code>nested</code> on the 
<code>Controller</code> annotation must be true).
-         */
-        String returnAction() default "";
+         * An action to forward to.  Mutually-exclusive with [EMAIL PROTECTED] 
#path}, [EMAIL PROTECTED] #navigateTo}, [EMAIL PROTECTED] #returnAction},
+         * [EMAIL PROTECTED] #tilesDefinition}, and [EMAIL PROTECTED] 
#forwardRef}..
+         */ 
+        String action() default "";
         
         /**
-         * A symbolic name for the page/action to which to navigate.  
Mutually-exclusive with
-         * <code>path</code>, <code>forwardRef</code>, 
<code>tilesDefinition</code> and <code>returnAction</code>
+         * A Tiles definition to forward to.  Mutually-exclusive with [EMAIL 
PROTECTED] #path}, [EMAIL PROTECTED] #navigateTo},
+         * [EMAIL PROTECTED] #returnAction}, [EMAIL PROTECTED] #action}, and 
[EMAIL PROTECTED] #forwardRef}..
          */
-        NavigateTo navigateTo() default NavigateTo.currentPage;
+        String tilesDefinition() default "";
         
         /**
+         * The name of a class-level forward ([EMAIL PROTECTED] Forward}).  
Mutually-exclusive with with [EMAIL PROTECTED] #path},
+         * [EMAIL PROTECTED] #navigateTo}, [EMAIL PROTECTED] #returnAction}, 
[EMAIL PROTECTED] #tilesDefinition}, and [EMAIL PROTECTED] #forwardRef}.
+         */
+        String forwardRef() default "";
+
+        /**
          * Tells whether the original query string will be restored on a rerun 
of a previous action.  Only valid when
          * <code>navigateTo</code> is <code>NavigateTo.previousAction</code>.
          * @return boolean
@@ -420,29 +432,35 @@
         String name();
         
         /**
-         * The forward path.  Mutually-exclusive with 
<code>tilesDefinition</code>,
-         * <code>returnAction</code> and <code>navigateTo</code>.
-         */
+         * The forward path.  Mutually-exclusive with [EMAIL PROTECTED] 
#navigateTo}, [EMAIL PROTECTED] #returnAction}, [EMAIL PROTECTED] #action},
+         * and [EMAIL PROTECTED] #tilesDefinition}.
+         */ 
         String path() default "";
-
-        /**
-         * The Tiles definition to forward to.  Mutually-exclusive with 
<code>path</code>,
-         * <code>returnAction</code> and <code>navigateTo</code>.
-         */
-        String tilesDefinition() default "";
-
+        
         /**
-         * The action to be invoked on the calling page flow.  
Mutually-exclusive with <code>path</code>,
-         * <code>tilesDefinition</code> and <code>navigateTo</code>, and only 
valid in a nested page flow
-         * (<code>nested</code> on the <code>Controller</code> annotation must 
be true).
-         */
+         * The action to be invoked on the calling page flow.  
Mutually-exclusive with [EMAIL PROTECTED] #path},
+         * [EMAIL PROTECTED] #navigateTo}, [EMAIL PROTECTED] #action}, and 
[EMAIL PROTECTED] #tilesDefinition}, and only valid in a nested page flow
+         * ([EMAIL PROTECTED] Controller#nested} must be <code>true</code>).
+         */ 
         String returnAction() default "";
         
         /**
-         * A symbolic name for the page/action to which to navigate.  
Mutually-exclusive with
-         * <code>path</code>, <code>tilesDefinition</code> and 
<code>returnAction</code>
+         * A symbolic name for the page/action to which to navigate.  
Mutually-exclusive with [EMAIL PROTECTED] #path},
+         * [EMAIL PROTECTED] #returnAction}, [EMAIL PROTECTED] #action}, and 
[EMAIL PROTECTED] #tilesDefinition}.
          */
         NavigateTo navigateTo() default NavigateTo.currentPage;
+        
+        /**
+         * An action to forward to.  Mutually-exclusive with [EMAIL PROTECTED] 
#path}, [EMAIL PROTECTED] #navigateTo}, [EMAIL PROTECTED] #returnAction},
+         * and [EMAIL PROTECTED] #tilesDefinition}.
+         */ 
+        String action() default "";
+        
+        /**
+         * A Tiles definition to forward to.  Mutually-exclusive with [EMAIL 
PROTECTED] #path}, [EMAIL PROTECTED] #navigateTo},
+         * [EMAIL PROTECTED] #returnAction}, and [EMAIL PROTECTED] #action}.
+         */
+        String tilesDefinition() default "";
         
         /**
          * Tells whether the original query string will be restored on a rerun 
of a previous action.  Only valid when

Modified: 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/forwardToAction/ForwardToActionController.jpf
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/forwardToAction/ForwardToActionController.jpf?view=diff&rev=126471&p1=incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/forwardToAction/ForwardToActionController.jpf&r1=126470&p2=incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/forwardToAction/ForwardToActionController.jpf&r2=126471
==============================================================================
--- 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/forwardToAction/ForwardToActionController.jpf
      (original)
+++ 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/miniTests/forwardToAction/ForwardToActionController.jpf
      Tue Jan 25 21:34:23 2005
@@ -21,181 +21,9 @@
 import org.apache.beehive.netui.pageflow.PageFlowController;
 import org.apache.beehive.netui.pageflow.annotations.Jpf;
 
-/**
- * @jpf:controller
- * @jpf:view-properties view-properties::
- * <!-- This data is auto-generated. Hand-editing this section is not 
recommended. -->
- * <view-properties>
- * <pageflow-object 
id="pageflow:/miniTests/forwardToAction/ForwardToActionController.jpf"/>
- * <pageflow-object id="action:begin.do">
- *   <property value="80" name="x"/>
- *   <property value="300" name="y"/>
- * </pageflow-object>
- * <pageflow-object 
id="action:someAction.do#miniTests.forwardToAction.ForwardToActionController.SomeActionForm">
- *   <property value="400" name="x"/>
- *   <property value="300" name="y"/>
- * </pageflow-object>
- * <pageflow-object id="action:actionWithoutForm.do">
- *   <property value="560" name="x"/>
- *   <property value="380" name="y"/>
- * </pageflow-object>
- * <pageflow-object 
id="action:actionWithForm.do#miniTests.forwardToAction.ForwardToActionController.AnotherForm">
- *   <property value="560" name="x"/>
- *   <property value="220" name="y"/>
- * </pageflow-object>
- * <pageflow-object id="action-call:@page:[EMAIL PROTECTED]@action:begin.do@">
- *   <property value="756,756,44,44" name="elbowsX"/>
- *   <property value="292,336,336,292" name="elbowsY"/>
- *   <property value="East_1" name="fromPort"/>
- *   <property value="West_1" name="toPort"/>
- * </pageflow-object>
- * <pageflow-object id="page:result.jsp">
- *   <property value="720" name="x"/>
- *   <property value="300" name="y"/>
- * </pageflow-object>
- * <pageflow-object id="forward:[EMAIL PROTECTED]:begin.do@">
- *   <property value="116,160,160,204" name="elbowsX"/>
- *   <property value="292,292,292,292" name="elbowsY"/>
- *   <property value="East_1" name="fromPort"/>
- *   <property value="West_1" name="toPort"/>
- *   <property value="success" name="label"/>
- * </pageflow-object>
- * <pageflow-object id="forward:[EMAIL 
PROTECTED]:someAction.do#miniTests.forwardToAction.ForwardToActionController.SomeActionForm@">
- *   <property value="436,480,480,524" name="elbowsX"/>
- *   <property value="292,292,372,372" name="elbowsY"/>
- *   <property value="East_1" name="fromPort"/>
- *   <property value="West_1" name="toPort"/>
- *   <property value="withoutForm" name="label"/>
- * </pageflow-object>
- * <pageflow-object id="forward:[EMAIL 
PROTECTED]:someAction.do#miniTests.forwardToAction.ForwardToActionController.SomeActionForm@">
- *   <property value="436,480,480,524" name="elbowsX"/>
- *   <property value="292,292,212,212" name="elbowsY"/>
- *   <property value="East_1" name="fromPort"/>
- *   <property value="West_1" name="toPort"/>
- *   <property value="withForm" name="label"/>
- * </pageflow-object>
- * <pageflow-object id="forward:[EMAIL PROTECTED]:actionWithoutForm.do@">
- *   <property value="596,720,720,720" name="elbowsX"/>
- *   <property value="372,372,358,344" name="elbowsY"/>
- *   <property value="East_1" name="fromPort"/>
- *   <property value="South_1" name="toPort"/>
- *   <property value="success" name="label"/>
- * </pageflow-object>
- * <pageflow-object id="forward:[EMAIL 
PROTECTED]:actionWithForm.do#miniTests.forwardToAction.ForwardToActionController.AnotherForm@">
- *   <property value="596,720,720,720" name="elbowsX"/>
- *   <property value="212,212,234,256" name="elbowsY"/>
- *   <property value="East_1" name="fromPort"/>
- *   <property value="North_1" name="toPort"/>
- *   <property value="success" name="label"/>
- * </pageflow-object>
- * <pageflow-object 
id="formbeanprop:miniTests.forwardToAction.ForwardToActionController.SomeActionForm#foo#java.lang.String"/>
- * <pageflow-object 
id="formbean:miniTests.forwardToAction.ForwardToActionController.SomeActionForm"/>
- * <pageflow-object 
id="formbeanprop:miniTests.forwardToAction.ForwardToActionController.AnotherForm#bar#java.lang.String"/>
- * <pageflow-object 
id="formbean:miniTests.forwardToAction.ForwardToActionController.AnotherForm"/>
- * <pageflow-object id="action-call:@page:[EMAIL 
PROTECTED]@action:someAction.do#miniTests.forwardToAction.ForwardToActionController.SomeActionForm@">
- *   <property value="276,320,320,364" name="elbowsX"/>
- *   <property value="292,292,292,292" name="elbowsY"/>
- *   <property value="East_1" name="fromPort"/>
- *   <property value="West_1" name="toPort"/>
- * </pageflow-object>
- * <pageflow-object id="page:index.jsp">
- *   <property value="240" name="x"/>
- *   <property value="300" name="y"/>
- * </pageflow-object>
- * </view-properties>
- * ::
- */
[EMAIL PROTECTED](
-    )
[EMAIL PROTECTED](
-    value = {
-        "<!-- This data is auto-generated. Hand-editing this section is not 
recommended. -->",
-        "<view-properties>",
-        "<pageflow-object 
id='pageflow:/miniTests/forwardToAction/ForwardToActionController.jpf'/>",
-        "<pageflow-object id='action:begin.do'>",
-        "  <property value='80' name='x'/>",
-        "  <property value='300' name='y'/>",
-        "</pageflow-object>",
-        "<pageflow-object 
id='action:someAction.do#miniTests.forwardToAction.ForwardToActionController.SomeActionForm'>",
-        "  <property value='400' name='x'/>",
-        "  <property value='300' name='y'/>",
-        "</pageflow-object>",
-        "<pageflow-object id='action:actionWithoutForm.do'>",
-        "  <property value='560' name='x'/>",
-        "  <property value='380' name='y'/>",
-        "</pageflow-object>",
-        "<pageflow-object 
id='action:actionWithForm.do#miniTests.forwardToAction.ForwardToActionController.AnotherForm'>",
-        "  <property value='560' name='x'/>",
-        "  <property value='220' name='y'/>",
-        "</pageflow-object>",
-        "<pageflow-object id='action-call:@page:[EMAIL 
PROTECTED]@action:begin.do@'>",
-        "  <property value='756,756,44,44' name='elbowsX'/>",
-        "  <property value='292,336,336,292' name='elbowsY'/>",
-        "  <property value='East_1' name='fromPort'/>",
-        "  <property value='West_1' name='toPort'/>",
-        "</pageflow-object>",
-        "<pageflow-object id='page:result.jsp'>",
-        "  <property value='720' name='x'/>",
-        "  <property value='300' name='y'/>",
-        "</pageflow-object>",
-        "<pageflow-object id='forward:[EMAIL PROTECTED]:begin.do@'>",
-        "  <property value='116,160,160,204' name='elbowsX'/>",
-        "  <property value='292,292,292,292' name='elbowsY'/>",
-        "  <property value='East_1' name='fromPort'/>",
-        "  <property value='West_1' name='toPort'/>",
-        "  <property value='success' name='label'/>",
-        "</pageflow-object>",
-        "<pageflow-object id='forward:[EMAIL 
PROTECTED]:someAction.do#miniTests.forwardToAction.ForwardToActionController.SomeActionForm@'>",
-        "  <property value='436,480,480,524' name='elbowsX'/>",
-        "  <property value='292,292,372,372' name='elbowsY'/>",
-        "  <property value='East_1' name='fromPort'/>",
-        "  <property value='West_1' name='toPort'/>",
-        "  <property value='withoutForm' name='label'/>",
-        "</pageflow-object>",
-        "<pageflow-object id='forward:[EMAIL 
PROTECTED]:someAction.do#miniTests.forwardToAction.ForwardToActionController.SomeActionForm@'>",
-        "  <property value='436,480,480,524' name='elbowsX'/>",
-        "  <property value='292,292,212,212' name='elbowsY'/>",
-        "  <property value='East_1' name='fromPort'/>",
-        "  <property value='West_1' name='toPort'/>",
-        "  <property value='withForm' name='label'/>",
-        "</pageflow-object>",
-        "<pageflow-object id='forward:[EMAIL 
PROTECTED]:actionWithoutForm.do@'>",
-        "  <property value='596,720,720,720' name='elbowsX'/>",
-        "  <property value='372,372,358,344' name='elbowsY'/>",
-        "  <property value='East_1' name='fromPort'/>",
-        "  <property value='South_1' name='toPort'/>",
-        "  <property value='success' name='label'/>",
-        "</pageflow-object>",
-        "<pageflow-object id='forward:[EMAIL 
PROTECTED]:actionWithForm.do#miniTests.forwardToAction.ForwardToActionController.AnotherForm@'>",
-        "  <property value='596,720,720,720' name='elbowsX'/>",
-        "  <property value='212,212,234,256' name='elbowsY'/>",
-        "  <property value='East_1' name='fromPort'/>",
-        "  <property value='North_1' name='toPort'/>",
-        "  <property value='success' name='label'/>",
-        "</pageflow-object>",
-        "<pageflow-object 
id='formbeanprop:miniTests.forwardToAction.ForwardToActionController.SomeActionForm#foo#java.lang.String'/>",
-        "<pageflow-object 
id='formbean:miniTests.forwardToAction.ForwardToActionController.SomeActionForm'/>",
-        "<pageflow-object 
id='formbeanprop:miniTests.forwardToAction.ForwardToActionController.AnotherForm#bar#java.lang.String'/>",
-        "<pageflow-object 
id='formbean:miniTests.forwardToAction.ForwardToActionController.AnotherForm'/>",
-        "<pageflow-object id='action-call:@page:[EMAIL 
PROTECTED]@action:someAction.do#miniTests.forwardToAction.ForwardToActionController.SomeActionForm@'>",
-        "  <property value='276,320,320,364' name='elbowsX'/>",
-        "  <property value='292,292,292,292' name='elbowsY'/>",
-        "  <property value='East_1' name='fromPort'/>",
-        "  <property value='West_1' name='toPort'/>",
-        "</pageflow-object>",
-        "<pageflow-object id='page:index.jsp'>",
-        "  <property value='240' name='x'/>",
-        "  <property value='300' name='y'/>",
-        "</pageflow-object>",
-        "</view-properties>"
-    })
[EMAIL PROTECTED]()
 public class ForwardToActionController extends PageFlowController
 {
-    /**
-     * This method represents the point of entry into the pageflow
-     * @jpf:action
-     * @jpf:forward name="success" path="index.jsp"
-     */
     @Jpf.Action(
         forwards = {
             @Jpf.Forward(
@@ -207,11 +35,6 @@
         return new Forward("success");
     }
 
-    /**
-     * @jpf:action
-     * @jpf:forward name="withoutForm" path="actionWithoutForm.do"
-     * @jpf:forward name="withForm" path="actionWithForm.do"
-     */
     @Jpf.Action(
         forwards = {
             @Jpf.Forward(
@@ -233,10 +56,6 @@
         }
     }
 
-    /**
-     * @jpf:action
-     * @jpf:forward name="success" path="result.jsp"
-     */
     @Jpf.Action(
         forwards = {
             @Jpf.Forward(
@@ -248,10 +67,6 @@
         return new Forward("success");
     }
 
-    /**
-     * @jpf:action
-     * @jpf:forward name="success" path="result.jsp"
-     */
     @Jpf.Action(
         forwards = {
             @Jpf.Forward(
@@ -263,9 +78,6 @@
         return new Forward("success");
     }
 
-    /**
-     * FormData get and set methods may be overwritten by the Form Bean editor.
-     */
     public static class SomeActionForm extends FormData
     {
         private String foo;
@@ -281,9 +93,6 @@
         }
     }
 
-    /**
-     * FormData get and set methods may be overwritten by the Form Bean editor.
-     */
     public static class AnotherForm extends FormData
     {
         private String bar;

Added: 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/pageFlowCore/actionAttr/Controller.jpf
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/pageFlowCore/actionAttr/Controller.jpf?view=auto&rev=126471
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/pageFlowCore/actionAttr/Controller.jpf
       Tue Jan 25 21:34:23 2005
@@ -0,0 +1,36 @@
+package pageFlowCore.actionAttr;
+
+import org.apache.beehive.netui.pageflow.*;
+import org.apache.beehive.netui.pageflow.annotations.*;
+
[EMAIL PROTECTED](
+    simpleActions={
+        @Jpf.SimpleAction(name="begin", path="index.jsp"),
+        @Jpf.SimpleAction(name="simpleAction", action="theAction"),
+        @Jpf.SimpleAction(
+            name="conditionalForward",
+            path="index.jsp",
+            conditionalForwards={
+                @Jpf.ConditionalForward(condition="${true}", 
action="theAction")
+            }
+        ),
+        @Jpf.SimpleAction(name="theAction", path="success.jsp"),
+        @Jpf.SimpleAction(name="toSharedFlowAction", 
action="sf.sharedFlowAction"),
+        @Jpf.SimpleAction(name="toAnotherPageFlowAction", 
action="/pageFlowCore/actionAttr/anotherPageFlow/someAction")
+    },
+    sharedFlowRefs={
+        @Jpf.SharedFlowRef(name="sf", type=SharedFlow.class)
+    }
+)
+public class Controller extends PageFlowController
+{
+    @Jpf.Action(
+        forwards={
+            @Jpf.Forward(name="theAction", action="theAction")
+        }
+    )
+    public Forward forward()
+    {
+        return new Forward( "theAction" );
+    }
+}

Added: 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/pageFlowCore/actionAttr/SharedFlow.jpfs
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/pageFlowCore/actionAttr/SharedFlow.jpfs?view=auto&rev=126471
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/pageFlowCore/actionAttr/SharedFlow.jpfs
      Tue Jan 25 21:34:23 2005
@@ -0,0 +1,13 @@
+package pageFlowCore.actionAttr;
+
+import org.apache.beehive.netui.pageflow.*;
+import org.apache.beehive.netui.pageflow.annotations.*;
+
[EMAIL PROTECTED](
+    simpleActions={
+        @Jpf.SimpleAction(name="sharedFlowAction", path="success.jsp")
+    }
+)
+public class SharedFlow extends SharedFlowController
+{
+}

Added: 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/pageFlowCore/actionAttr/anotherPageFlow/Controller.jpf
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/pageFlowCore/actionAttr/anotherPageFlow/Controller.jpf?view=auto&rev=126471
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/pageFlowCore/actionAttr/anotherPageFlow/Controller.jpf
       Tue Jan 25 21:34:23 2005
@@ -0,0 +1,15 @@
+package pageFlowCore.actionAttr.anotherPageFlow;
+
+import org.apache.beehive.netui.pageflow.*;
+import org.apache.beehive.netui.pageflow.annotations.*;
+
[EMAIL PROTECTED](
+    simpleActions={
+        @Jpf.SimpleAction(name="begin", path="index.jsp"),
+        @Jpf.SimpleAction(name="someAction", path="index.jsp"),
+        @Jpf.SimpleAction(name="goBack", action="../begin")
+    }
+)
+public class Controller extends PageFlowController
+{
+}

Added: 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/pageFlowCore/actionAttr/anotherPageFlow/index.jsp
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/pageFlowCore/actionAttr/anotherPageFlow/index.jsp?view=auto&rev=126471
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/pageFlowCore/actionAttr/anotherPageFlow/index.jsp
    Tue Jan 25 21:34:23 2005
@@ -0,0 +1,22 @@
+<%@ 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>
+
+        Success!
+        <br/>
+        <br/>
+        <netui:anchor action="goBack">go back to previous page 
flow</netui:anchor>
+    </netui:body>
+</netui:html>
+
+  
+

Added: 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/pageFlowCore/actionAttr/index.jsp
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/pageFlowCore/actionAttr/index.jsp?view=auto&rev=126471
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/pageFlowCore/actionAttr/index.jsp
    Tue Jan 25 21:34:23 2005
@@ -0,0 +1,24 @@
+<%@ 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>
+
+        <netui:anchor action="simpleAction">forward to an action through a 
@Jpf.SimpleAction</netui:anchor>
+        <br/>
+        <netui:anchor action="conditionalForward">forward to an action through 
a @Jpf.ConditionalForward (on a @Jpf.SimpleAction)</netui:anchor>
+        <br/>
+        <netui:anchor action="forward">forward to an action through a 
@Jpf.Forward (on a method action)</netui:anchor>
+        <br/>
+        <netui:anchor action="toSharedFlowAction">forward to a shared flow 
action</netui:anchor>
+        <br/>
+        <netui:anchor action="toAnotherPageFlowAction">forward to an action in 
another page flow</netui:anchor>
+    </netui:body>
+</netui:html>

Added: 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/pageFlowCore/actionAttr/success.jsp
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/pageFlowCore/actionAttr/success.jsp?view=auto&rev=126471
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/pageFlowCore/actionAttr/success.jsp
  Tue Jan 25 21:34:23 2005
@@ -0,0 +1,22 @@
+<%@ 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>
+
+        Success!
+        <br/>
+        <br/>
+        <netui:anchor action="begin">go back</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=126471&p1=incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml&r1=126470&p2=incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml&r2=126471
==============================================================================
--- 
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
   Tue Jan 25 21:34:23 2005
@@ -96,6 +96,21 @@
          </features>
       </test>
       <test>
+         <name>ActionAttr</name>
+         <description>Test of forwarding to local actions, external actions, 
and shared flow actions through the 'action' attribute on @Jpf.SimpleAction, 
@Jpf.ConditionalForward, and @Jpf.Forward.</description>
+         <webapp>coreWeb</webapp>
+         <categories>
+            <category>bvt</category>
+            <category>bvt.struts11</category>
+            <category>corePageFlow</category>
+         </categories>
+         <features>
+            <feature>Action</feature>
+            <feature>PageFlow</feature>
+            <feature>SharedFlow</feature>
+         </features>
+      </test>
+      <test>
          <name>ActionChaining</name>
          <description>Test of passing forms and pageflow-scoped forms with 
action chaining.</description>
          <webapp>coreWeb</webapp>

Added: 
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/ActionAttr.xml
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/ActionAttr.xml?view=auto&rev=126471
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/ActionAttr.xml
    Tue Jan 25 21:34:23 2005
@@ -0,0 +1,928 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ses:recorderSession 
xmlns:ses="http://beehive.apache.org/netui/tools/testrecorder/2004/session";>
+   <ses:sessionName>ActionAttr</ses:sessionName>
+   <ses:tester>rich</ses:tester>
+   <ses:startDate>25 Jan 2005, 10:05:29.138 PM MST</ses:startDate>
+   <ses:description>Test of forwarding to local actions, external actions, and 
shared flow actions through the 'action' attribute on @Jpf.SimpleAction, 
@Jpf.ConditionalForward, and @Jpf.Forward.</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/pageFlowCore/actionAttr/Controller.jpf</ses:uri>
+            <ses:method>GET</ses:method>
+            <ses:parameters/>
+            <ses:cookies>
+               <ses:cookie>
+                  <ses:name>JSESSIONID</ses:name>
+                  <ses:value>4AF6F1090B6F69A495FAE251EDB6CE57</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=4AF6F1090B6F69A495FAE251EDB6CE57</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/pageFlowCore/actionAttr/index.jsp";>
+    </head>
+    <body>
+        <h3>/pageFlowCore/actionAttr/Controller.jpf</h3>
+
+        <a href="/coreWeb/pageFlowCore/actionAttr/simpleAction.do">forward to 
an action through a @Jpf.SimpleAction</a>
+        <br/>
+        <a 
href="/coreWeb/pageFlowCore/actionAttr/conditionalForward.do">forward to an 
action through a @Jpf.ConditionalForward (on a @Jpf.SimpleAction)</a>
+        <br/>
+        <a href="/coreWeb/pageFlowCore/actionAttr/forward.do">forward to an 
action through a @Jpf.Forward (on a method action)</a>
+        <br/>
+        <a 
href="/coreWeb/pageFlowCore/actionAttr/toSharedFlowAction.do">forward to a 
shared flow action</a>
+        <br/>
+        <a 
href="/coreWeb/pageFlowCore/actionAttr/toAnotherPageFlowAction.do">forward to 
an action in another page flow</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/pageFlowCore/actionAttr/simpleAction.do</ses:uri>
+            <ses:method>GET</ses:method>
+            <ses:parameters/>
+            <ses:cookies>
+               <ses:cookie>
+                  <ses:name>JSESSIONID</ses:name>
+                  <ses:value>4AF6F1090B6F69A495FAE251EDB6CE57</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=4AF6F1090B6F69A495FAE251EDB6CE57</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/pageFlowCore/actionAttr/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/pageFlowCore/actionAttr/success.jsp";>
+    </head>
+    <body>
+        <h3>/pageFlowCore/actionAttr/Controller.jpf</h3>
+
+        Success!
+        <br/>
+        <br/>
+        <a href="/coreWeb/pageFlowCore/actionAttr/begin.do">go back</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/pageFlowCore/actionAttr/begin.do</ses:uri>
+            <ses:method>GET</ses:method>
+            <ses:parameters/>
+            <ses:cookies>
+               <ses:cookie>
+                  <ses:name>JSESSIONID</ses:name>
+                  <ses:value>4AF6F1090B6F69A495FAE251EDB6CE57</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=4AF6F1090B6F69A495FAE251EDB6CE57</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/pageFlowCore/actionAttr/simpleAction.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/pageFlowCore/actionAttr/index.jsp";>
+    </head>
+    <body>
+        <h3>/pageFlowCore/actionAttr/Controller.jpf</h3>
+
+        <a href="/coreWeb/pageFlowCore/actionAttr/simpleAction.do">forward to 
an action through a @Jpf.SimpleAction</a>
+        <br/>
+        <a 
href="/coreWeb/pageFlowCore/actionAttr/conditionalForward.do">forward to an 
action through a @Jpf.ConditionalForward (on a @Jpf.SimpleAction)</a>
+        <br/>
+        <a href="/coreWeb/pageFlowCore/actionAttr/forward.do">forward to an 
action through a @Jpf.Forward (on a method action)</a>
+        <br/>
+        <a 
href="/coreWeb/pageFlowCore/actionAttr/toSharedFlowAction.do">forward to a 
shared flow action</a>
+        <br/>
+        <a 
href="/coreWeb/pageFlowCore/actionAttr/toAnotherPageFlowAction.do">forward to 
an action in another page flow</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/pageFlowCore/actionAttr/conditionalForward.do</ses:uri>
+            <ses:method>GET</ses:method>
+            <ses:parameters/>
+            <ses:cookies>
+               <ses:cookie>
+                  <ses:name>JSESSIONID</ses:name>
+                  <ses:value>4AF6F1090B6F69A495FAE251EDB6CE57</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=4AF6F1090B6F69A495FAE251EDB6CE57</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/pageFlowCore/actionAttr/begin.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/pageFlowCore/actionAttr/success.jsp";>
+    </head>
+    <body>
+        <h3>/pageFlowCore/actionAttr/Controller.jpf</h3>
+
+        Success!
+        <br/>
+        <br/>
+        <a href="/coreWeb/pageFlowCore/actionAttr/begin.do">go back</a>
+    </body>
+
+</html>]]></ses:responseBody>
+         </ses:response>
+      </ses:test>
+      <ses:test>
+         <ses:testNumber>5</ses:testNumber>
+         <ses:request>
+            <ses:protocol>HTTP</ses:protocol>
+            <ses:protocolVersion>1.1</ses:protocolVersion>
+            <ses:host>localhost</ses:host>
+            <ses:port>8080</ses:port>
+            <ses:uri>/coreWeb/pageFlowCore/actionAttr/begin.do</ses:uri>
+            <ses:method>GET</ses:method>
+            <ses:parameters/>
+            <ses:cookies>
+               <ses:cookie>
+                  <ses:name>JSESSIONID</ses:name>
+                  <ses:value>4AF6F1090B6F69A495FAE251EDB6CE57</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=4AF6F1090B6F69A495FAE251EDB6CE57</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/pageFlowCore/actionAttr/conditionalForward.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/pageFlowCore/actionAttr/index.jsp";>
+    </head>
+    <body>
+        <h3>/pageFlowCore/actionAttr/Controller.jpf</h3>
+
+        <a href="/coreWeb/pageFlowCore/actionAttr/simpleAction.do">forward to 
an action through a @Jpf.SimpleAction</a>
+        <br/>
+        <a 
href="/coreWeb/pageFlowCore/actionAttr/conditionalForward.do">forward to an 
action through a @Jpf.ConditionalForward (on a @Jpf.SimpleAction)</a>
+        <br/>
+        <a href="/coreWeb/pageFlowCore/actionAttr/forward.do">forward to an 
action through a @Jpf.Forward (on a method action)</a>
+        <br/>
+        <a 
href="/coreWeb/pageFlowCore/actionAttr/toSharedFlowAction.do">forward to a 
shared flow action</a>
+        <br/>
+        <a 
href="/coreWeb/pageFlowCore/actionAttr/toAnotherPageFlowAction.do">forward to 
an action in another page flow</a>
+    </body>
+
+</html>]]></ses:responseBody>
+         </ses:response>
+      </ses:test>
+      <ses:test>
+         <ses:testNumber>6</ses:testNumber>
+         <ses:request>
+            <ses:protocol>HTTP</ses:protocol>
+            <ses:protocolVersion>1.1</ses:protocolVersion>
+            <ses:host>localhost</ses:host>
+            <ses:port>8080</ses:port>
+            <ses:uri>/coreWeb/pageFlowCore/actionAttr/forward.do</ses:uri>
+            <ses:method>GET</ses:method>
+            <ses:parameters/>
+            <ses:cookies>
+               <ses:cookie>
+                  <ses:name>JSESSIONID</ses:name>
+                  <ses:value>4AF6F1090B6F69A495FAE251EDB6CE57</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=4AF6F1090B6F69A495FAE251EDB6CE57</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/pageFlowCore/actionAttr/begin.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/pageFlowCore/actionAttr/success.jsp";>
+    </head>
+    <body>
+        <h3>/pageFlowCore/actionAttr/Controller.jpf</h3>
+
+        Success!
+        <br/>
+        <br/>
+        <a href="/coreWeb/pageFlowCore/actionAttr/begin.do">go back</a>
+    </body>
+
+</html>]]></ses:responseBody>
+         </ses:response>
+      </ses:test>
+      <ses:test>
+         <ses:testNumber>7</ses:testNumber>
+         <ses:request>
+            <ses:protocol>HTTP</ses:protocol>
+            <ses:protocolVersion>1.1</ses:protocolVersion>
+            <ses:host>localhost</ses:host>
+            <ses:port>8080</ses:port>
+            <ses:uri>/coreWeb/pageFlowCore/actionAttr/begin.do</ses:uri>
+            <ses:method>GET</ses:method>
+            <ses:parameters/>
+            <ses:cookies>
+               <ses:cookie>
+                  <ses:name>JSESSIONID</ses:name>
+                  <ses:value>4AF6F1090B6F69A495FAE251EDB6CE57</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=4AF6F1090B6F69A495FAE251EDB6CE57</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/pageFlowCore/actionAttr/forward.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/pageFlowCore/actionAttr/index.jsp";>
+    </head>
+    <body>
+        <h3>/pageFlowCore/actionAttr/Controller.jpf</h3>
+
+        <a href="/coreWeb/pageFlowCore/actionAttr/simpleAction.do">forward to 
an action through a @Jpf.SimpleAction</a>
+        <br/>
+        <a 
href="/coreWeb/pageFlowCore/actionAttr/conditionalForward.do">forward to an 
action through a @Jpf.ConditionalForward (on a @Jpf.SimpleAction)</a>
+        <br/>
+        <a href="/coreWeb/pageFlowCore/actionAttr/forward.do">forward to an 
action through a @Jpf.Forward (on a method action)</a>
+        <br/>
+        <a 
href="/coreWeb/pageFlowCore/actionAttr/toSharedFlowAction.do">forward to a 
shared flow action</a>
+        <br/>
+        <a 
href="/coreWeb/pageFlowCore/actionAttr/toAnotherPageFlowAction.do">forward to 
an action in another page flow</a>
+    </body>
+
+</html>]]></ses:responseBody>
+         </ses:response>
+      </ses:test>
+      <ses:test>
+         <ses:testNumber>8</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/pageFlowCore/actionAttr/toSharedFlowAction.do</ses:uri>
+            <ses:method>GET</ses:method>
+            <ses:parameters/>
+            <ses:cookies>
+               <ses:cookie>
+                  <ses:name>JSESSIONID</ses:name>
+                  <ses:value>4AF6F1090B6F69A495FAE251EDB6CE57</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=4AF6F1090B6F69A495FAE251EDB6CE57</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/pageFlowCore/actionAttr/begin.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/pageFlowCore/actionAttr/success.jsp";>
+    </head>
+    <body>
+        <h3>/pageFlowCore/actionAttr/Controller.jpf</h3>
+
+        Success!
+        <br/>
+        <br/>
+        <a href="/coreWeb/pageFlowCore/actionAttr/begin.do">go back</a>
+    </body>
+
+</html>]]></ses:responseBody>
+         </ses:response>
+      </ses:test>
+      <ses:test>
+         <ses:testNumber>9</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/pageFlowCore/actionAttr/begin.do</ses:uri>
+            <ses:method>GET</ses:method>
+            <ses:parameters/>
+            <ses:cookies>
+               <ses:cookie>
+                  <ses:name>JSESSIONID</ses:name>
+                  <ses:value>4AF6F1090B6F69A495FAE251EDB6CE57</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=4AF6F1090B6F69A495FAE251EDB6CE57</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/pageFlowCore/actionAttr/toSharedFlowAction.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/pageFlowCore/actionAttr/index.jsp";>
+    </head>
+    <body>
+        <h3>/pageFlowCore/actionAttr/Controller.jpf</h3>
+
+        <a href="/coreWeb/pageFlowCore/actionAttr/simpleAction.do">forward to 
an action through a @Jpf.SimpleAction</a>
+        <br/>
+        <a 
href="/coreWeb/pageFlowCore/actionAttr/conditionalForward.do">forward to an 
action through a @Jpf.ConditionalForward (on a @Jpf.SimpleAction)</a>
+        <br/>
+        <a href="/coreWeb/pageFlowCore/actionAttr/forward.do">forward to an 
action through a @Jpf.Forward (on a method action)</a>
+        <br/>
+        <a 
href="/coreWeb/pageFlowCore/actionAttr/toSharedFlowAction.do">forward to a 
shared flow action</a>
+        <br/>
+        <a 
href="/coreWeb/pageFlowCore/actionAttr/toAnotherPageFlowAction.do">forward to 
an action in another page flow</a>
+    </body>
+
+</html>]]></ses:responseBody>
+         </ses:response>
+      </ses:test>
+      <ses:test>
+         <ses:testNumber>10</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/pageFlowCore/actionAttr/toAnotherPageFlowAction.do</ses:uri>
+            <ses:method>GET</ses:method>
+            <ses:parameters/>
+            <ses:cookies>
+               <ses:cookie>
+                  <ses:name>JSESSIONID</ses:name>
+                  <ses:value>4AF6F1090B6F69A495FAE251EDB6CE57</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=4AF6F1090B6F69A495FAE251EDB6CE57</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/pageFlowCore/actionAttr/begin.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/pageFlowCore/actionAttr/anotherPageFlow/index.jsp";>
+    </head>
+    <body>
+        <h3>/pageFlowCore/actionAttr/anotherPageFlow/Controller.jpf</h3>
+
+        Success!
+        <br/>
+        <br/>
+        <a 
href="/coreWeb/pageFlowCore/actionAttr/anotherPageFlow/goBack.do">go back to 
previous page flow</a>
+    </body>
+
+</html>]]></ses:responseBody>
+         </ses:response>
+      </ses:test>
+      <ses:test>
+         <ses:testNumber>11</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/pageFlowCore/actionAttr/anotherPageFlow/goBack.do</ses:uri>
+            <ses:method>GET</ses:method>
+            <ses:parameters/>
+            <ses:cookies>
+               <ses:cookie>
+                  <ses:name>JSESSIONID</ses:name>
+                  <ses:value>4AF6F1090B6F69A495FAE251EDB6CE57</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=4AF6F1090B6F69A495FAE251EDB6CE57</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/pageFlowCore/actionAttr/toAnotherPageFlowAction.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/pageFlowCore/actionAttr/index.jsp";>
+    </head>
+    <body>
+        <h3>/pageFlowCore/actionAttr/Controller.jpf</h3>
+
+        <a href="/coreWeb/pageFlowCore/actionAttr/simpleAction.do">forward to 
an action through a @Jpf.SimpleAction</a>
+        <br/>
+        <a 
href="/coreWeb/pageFlowCore/actionAttr/conditionalForward.do">forward to an 
action through a @Jpf.ConditionalForward (on a @Jpf.SimpleAction)</a>
+        <br/>
+        <a href="/coreWeb/pageFlowCore/actionAttr/forward.do">forward to an 
action through a @Jpf.Forward (on a method action)</a>
+        <br/>
+        <a 
href="/coreWeb/pageFlowCore/actionAttr/toSharedFlowAction.do">forward to a 
shared flow action</a>
+        <br/>
+        <a 
href="/coreWeb/pageFlowCore/actionAttr/toAnotherPageFlowAction.do">forward to 
an action in another page flow</a>
+    </body>
+
+</html>]]></ses:responseBody>
+         </ses:response>
+      </ses:test>
+   </ses:tests>
+   <ses:endDate>25 Jan 2005, 10:05:49.136 PM MST</ses:endDate>
+   <ses:testCount>11</ses:testCount>
+</ses:recorderSession>

Reply via email to