You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beehive.apache.org by cr...@apache.org on 2006/02/01 15:15:54 UTC

svn commit: r374070 - in /beehive/trunk/netui: src/pageflow/org/apache/beehive/netui/pageflow/ src/pageflow/org/apache/beehive/netui/pageflow/config/ src/pageflow/org/apache/beehive/netui/pageflow/internal/ test/webapps/drt/testRecorder/config/ test/we...

Author: crogers
Date: Wed Feb  1 06:15:38 2006
New Revision: 374070

URL: http://svn.apache.org/viewcvs?rev=374070&view=rev
Log:
Fix for http://issues.apache.org/jira/browse/BEEHIVE-1050 - Overriding an inherited page flow controller Jpf.Forward annotation is broken.

Also updated the test files as well as add the assoiciated testRecorder xml.

tests: bvt in netui, including compiler tests (WinXP)


Added:
    beehive/trunk/netui/test/webapps/drt/testRecorder/tests/InheritGlobalForwards.xml   (with props)
    beehive/trunk/netui/test/webapps/drt/web/pageFlowCore/inheritance/forwards/parent/results2.jsp   (with props)
Modified:
    beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/Forward.java
    beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/config/DelegatingActionMapping.java
    beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/DefaultActionForwardHandler.java
    beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml
    beehive/trunk/netui/test/webapps/drt/web/pageFlowCore/inheritance/forwards/override/ForwardController.java
    beehive/trunk/netui/test/webapps/drt/web/pageFlowCore/inheritance/forwards/override/index.jsp
    beehive/trunk/netui/test/webapps/drt/web/pageFlowCore/inheritance/forwards/override/success.jsp
    beehive/trunk/netui/test/webapps/drt/web/pageFlowCore/inheritance/forwards/parent/Controller.java
    beehive/trunk/netui/test/webapps/drt/web/pageFlowCore/inheritance/forwards/parent/index.jsp
    beehive/trunk/netui/test/webapps/drt/web/pageFlowCore/inheritance/forwards/parent/results.jsp

Modified: beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/Forward.java
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/Forward.java?rev=374070&r1=374069&r2=374070&view=diff
==============================================================================
--- beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/Forward.java (original)
+++ beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/Forward.java Wed Feb  1 06:15:38 2006
@@ -1073,6 +1073,23 @@
     }
 
     /**
+     * Tell whether this Forward is relative to a particular directory path
+     * (as is the case when inheriting local paths from base classes). If
+     * this is true, it implies the forward is an inherited global forward,
+     * with a "relativeTo" path given in a <set-property>
+     * in the forward config.
+     * 
+     * <p>
+     * This is a framework-invoked method that should not normally be called
+     * directly.
+     * </p>
+     */ 
+    public boolean hasRelativeToPath()
+    {
+        return _relativeTo != null;
+    }
+
+    /**
      * If this is a local path, change it so it's relative to the given path prefix, and remember that we did it in
      * a flag (_outsidePageFlowDirectory).  This is a framework-invoked method that should not normally be called
      * directly.

Modified: beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/config/DelegatingActionMapping.java
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/config/DelegatingActionMapping.java?rev=374070&r1=374069&r2=374070&view=diff
==============================================================================
--- beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/config/DelegatingActionMapping.java (original)
+++ beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/config/DelegatingActionMapping.java Wed Feb  1 06:15:38 2006
@@ -128,6 +128,21 @@
         super.setReadonly(readonly);
     }
 
+    // If an action level forward does not exist for the delegate then
+    // look for a global forward of the module config for this action
+    // mapping. Then, if still not found, look in the module config of
+    // the delegate.
+    public ActionForward findForward(String forwardName) {
+        ForwardConfig config = _delegate.findForwardConfig(forwardName);
+        if (config == null) {
+            config = getModuleConfig().findForwardConfig(forwardName);
+        }
+        if (config == null) {
+            config = _delegate.getModuleConfig().findForwardConfig(forwardName);
+        }
+        return (ActionForward) config;
+    }
+
     //
     // Everything below this point is simple delegation.
     //
@@ -162,10 +177,6 @@
 
     public String getDefaultForward() {
         return _delegate instanceof PageFlowActionMapping ? ((PageFlowActionMapping) _delegate).getDefaultForward() : null;
-    }
-
-    public ActionForward findForward(String name) {
-        return _delegate.findForward(name);
     }
 
     public String[] findForwards() {

Modified: beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/DefaultActionForwardHandler.java
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/DefaultActionForwardHandler.java?rev=374070&r1=374069&r2=374070&view=diff
==============================================================================
--- beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/DefaultActionForwardHandler.java (original)
+++ beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/DefaultActionForwardHandler.java Wed Feb  1 06:15:38 2006
@@ -58,6 +58,7 @@
     {
         boolean isSpecialForward = false;
         boolean isReturnToCurrentPage = false;
+        boolean isNonInheritedGlobalForward = false;
         assert context.getRequest() instanceof HttpServletRequest : "don't support ServletRequest currently.";
         HttpServletRequest request = ( HttpServletRequest ) context.getRequest();
         FlowController flowController = context.getFlowController();
@@ -163,6 +164,15 @@
             //
             PageFlowUtils.setOutputForms( mapping, pageFlowFwd, request );
             InternalUtils.addActionOutputs( pageFlowFwd.getActionOutputs() , request, true );
+
+            // Check if this is a non-inherited global forward to help determine
+            // if we need to ensure we use a path local to the current page flow.
+            if ( mapping != null && mapping.findForwardConfig( pageFlowFwd.getName() ) == null
+                 && mapping.getModuleConfig().findForwardConfig( pageFlowFwd.getName() ) != null
+                 && ! pageFlowFwd.hasRelativeToPath() )
+            {
+                isNonInheritedGlobalForward = true;
+            }
         }
 
         if ( fwd != null )
@@ -170,8 +180,9 @@
             // It's a normal path.  Let the Forward object do some magic if we're specifying that it's relative
             // to a particular directory path (as is the case when inheriting local paths from base classes).
             // Note that if *either* the exception-config or the action-config specifies a value for 
-            // getLocalPathsRelativeTo(), we use it. Also note that we do not do this for forward to other actions;
-            // in those cases we always want paths to be local to the current page flow.
+            // getLocalPathsRelativeTo(), we use it. Also note that we do not do this for forward to other actions
+            // or if this is a non-inherited global forward; in those cases we always want paths to be local
+            // to the current page flow.
             String localPathsRelativeTo = null;
             if (exceptionConfig != null && exceptionConfig instanceof PageFlowExceptionConfig) {
                 localPathsRelativeTo = ((PageFlowExceptionConfig) exceptionConfig).getLocalPathsRelativeTo();
@@ -181,7 +192,7 @@
             }
             if (localPathsRelativeTo != null) {
                 String path = fwd.getPath();
-                if (! path.endsWith(PageFlowConstants.ACTION_EXTENSION)) {
+                if (!path.endsWith(PageFlowConstants.ACTION_EXTENSION) && !isNonInheritedGlobalForward) {
                     Forward pageFlowFwd = fwd instanceof Forward ? (Forward) fwd : new WrapperForward(fwd);
                     pageFlowFwd.initializeRelativePath(request, localPathsRelativeTo);
                     fwd = pageFlowFwd;

Modified: beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml?rev=374070&r1=374069&r2=374070&view=diff
==============================================================================
--- beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml (original)
+++ beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml Wed Feb  1 06:15:38 2006
@@ -4498,6 +4498,20 @@
          </features>
       </test>
       <test>
+         <name>InheritGlobalForwards</name>
+         <description>Test that inherited and overridden page flow controller Jpf.Forward annotations for global forwards work correctly.</description>
+         <webapp>coreWeb</webapp>
+         <categories>
+            <category>bvt</category>
+            <category>bvt.struts11</category>
+            <category>corePageFlow</category>
+         </categories>
+         <features>
+            <feature>PageFlow</feature>
+            <feature>Inheritance</feature>
+         </features>
+      </test>
+      <test>
          <name>InheritLocalPaths</name>
          <description>Test to ensure that local paths can be inherited from a base class page flow, when inheritLocalPaths=true on @Jpf.Controller.</description>
          <webapp>coreWeb</webapp>

Added: beehive/trunk/netui/test/webapps/drt/testRecorder/tests/InheritGlobalForwards.xml
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/InheritGlobalForwards.xml?rev=374070&view=auto
==============================================================================
--- beehive/trunk/netui/test/webapps/drt/testRecorder/tests/InheritGlobalForwards.xml (added)
+++ beehive/trunk/netui/test/webapps/drt/testRecorder/tests/InheritGlobalForwards.xml Wed Feb  1 06:15:38 2006
@@ -0,0 +1,733 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<recorderSession xmlns="http://beehive.apache.org/netui/tools/testrecorder/2004/session">
+<sessionName>InheritGlobalForwards</sessionName>
+<tester>crogers</tester>
+<startDate>01 Feb 2006, 12:37:29.131 AM MST</startDate>
+<description>Test that inherited and overridden page flow controller Jpf.Forward annotations for global forwards work correctly.</description>
+<tests>
+<test>
+<testNumber>1</testNumber>
+<request>
+<protocol>HTTP</protocol>
+<protocolVersion>1.1</protocolVersion>
+<host>localhost</host>
+<port>8080</port>
+<uri>/coreWeb/pageFlowCore/inheritance/forwards/override/begin.do</uri>
+<method>GET</method>
+<parameters>
+</parameters>
+<cookies>
+<cookie>
+<name>JSESSIONID</name>
+<value>8EB3EECBC35B1EC13129137D674A0ACF</value>
+</cookie>
+</cookies>
+<headers>
+<header>
+<name>accept</name>
+<value>text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5</value>
+</header>
+<header>
+<name>accept-charset</name>
+<value>UTF-8,*</value>
+</header>
+<header>
+<name>accept-encoding</name>
+<value>gzip,deflate</value>
+</header>
+<header>
+<name>accept-language</name>
+<value>en-us,en;q=0.5</value>
+</header>
+<header>
+<name>connection</name>
+<value>keep-alive</value>
+</header>
+<header>
+<name>cookie</name>
+<value>JSESSIONID=8EB3EECBC35B1EC13129137D674A0ACF</value>
+</header>
+<header>
+<name>host</name>
+<value>localhost:8080</value>
+</header>
+<header>
+<name>keep-alive</name>
+<value>300</value>
+</header>
+<header>
+<name>user-agent</name>
+<value>Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8) Gecko/20051111 Firefox/1.5</value>
+</header>
+</headers>
+</request>
+<response>
+<statusCode>200</statusCode>
+<reason></reason>
+<responseBody>
+<![CDATA[<html>
+<head>
+    <title>Page Flow Forward Inheritance - Overriding Global Forwards</title>
+</head>
+<body>
+    <h1>Page Flow Forward Inheritance - Overriding Global Forwards</h1>
+    <h3>Global Forward - Inherited Page Flow</h3>
+    <br/>
+    <a href="/coreWeb/pageFlowCore/inheritance/forwards/override/toGlobalForward1.do">inherited action to overridden global forward 1</a>
+    <br/>
+    <a href="/coreWeb/pageFlowCore/inheritance/forwards/override/toGlobalForward2.do">inherited action to inherited global forward 2</a>
+    <br/>
+    <a href="/coreWeb/pageFlowCore/inheritance/forwards/override/myForward1.do">action to overridden global forward 1</a>
+    <br/>
+    <a href="/coreWeb/pageFlowCore/inheritance/forwards/override/myForward2.do">action to inherited global forward 2</a>
+    <br/>
+    <a href="/coreWeb/pageFlowCore/inheritance/forwards/override/toGlobal1HasActionLevelForward.do">to overridden global forward 1 from inherited action with an action level forward</a>
+    <br/>
+    <a href="/coreWeb/pageFlowCore/inheritance/forwards/override/toGlobal2HasActionLevelForward.do">to inherited global forward 2 from inherited action with an action level forward</a>
+    <br/>
+    <a href="/coreWeb/pageFlowCore/inheritance/forwards/override/localToGlobal1HasActionLevelForward.do">to overridden global forward 1 from local action with an action level forward</a>
+    <br/>
+    <a href="/coreWeb/pageFlowCore/inheritance/forwards/override/localToGlobal2HasActionLevelForward.do">to inherited global forward 2 from local action with an action level forward</a>
+    <br/>
+    <a href="../begin.do">back to start</a>
+</body>
+</html>]]>
+</responseBody>
+</response>
+</test>
+<test>
+<testNumber>2</testNumber>
+<request>
+<protocol>HTTP</protocol>
+<protocolVersion>1.1</protocolVersion>
+<host>localhost</host>
+<port>8080</port>
+<uri>/coreWeb/pageFlowCore/inheritance/forwards/override/toGlobalForward1.do</uri>
+<method>GET</method>
+<parameters>
+</parameters>
+<cookies>
+<cookie>
+<name>JSESSIONID</name>
+<value>8EB3EECBC35B1EC13129137D674A0ACF</value>
+</cookie>
+</cookies>
+<headers>
+<header>
+<name>accept</name>
+<value>text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5</value>
+</header>
+<header>
+<name>accept-charset</name>
+<value>UTF-8,*</value>
+</header>
+<header>
+<name>accept-encoding</name>
+<value>gzip,deflate</value>
+</header>
+<header>
+<name>accept-language</name>
+<value>en-us,en;q=0.5</value>
+</header>
+<header>
+<name>connection</name>
+<value>keep-alive</value>
+</header>
+<header>
+<name>cookie</name>
+<value>JSESSIONID=8EB3EECBC35B1EC13129137D674A0ACF</value>
+</header>
+<header>
+<name>host</name>
+<value>localhost:8080</value>
+</header>
+<header>
+<name>keep-alive</name>
+<value>300</value>
+</header>
+<header>
+<name>referer</name>
+<value>http://localhost:8080/coreWeb/pageFlowCore/inheritance/forwards/override/begin.do</value>
+</header>
+<header>
+<name>user-agent</name>
+<value>Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8) Gecko/20051111 Firefox/1.5</value>
+</header>
+</headers>
+</request>
+<response>
+<statusCode>200</statusCode>
+<reason></reason>
+<responseBody>
+<![CDATA[<html>
+<head>
+    <title>Page Flow Forward Inheritance - Overriding Global Forwards</title>
+</head>
+<body>
+    <h1>Page Flow Forward Inheritance - Overriding Global Forwards</h1>
+    <h3>Overridden global forward (1) invoked.</h3>
+    <b>Test successfully executed the global forward override.</b>
+    <br/>
+    <a href="/coreWeb/pageFlowCore/inheritance/forwards/override/begin.do">back</a>
+</body>
+</html>]]>
+</responseBody>
+</response>
+</test>
+<test>
+<testNumber>3</testNumber>
+<request>
+<protocol>HTTP</protocol>
+<protocolVersion>1.1</protocolVersion>
+<host>localhost</host>
+<port>8080</port>
+<uri>/coreWeb/pageFlowCore/inheritance/forwards/override/toGlobalForward2.do</uri>
+<method>GET</method>
+<parameters>
+</parameters>
+<cookies>
+<cookie>
+<name>JSESSIONID</name>
+<value>8EB3EECBC35B1EC13129137D674A0ACF</value>
+</cookie>
+</cookies>
+<headers>
+<header>
+<name>accept</name>
+<value>text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5</value>
+</header>
+<header>
+<name>accept-charset</name>
+<value>UTF-8,*</value>
+</header>
+<header>
+<name>accept-encoding</name>
+<value>gzip,deflate</value>
+</header>
+<header>
+<name>accept-language</name>
+<value>en-us,en;q=0.5</value>
+</header>
+<header>
+<name>connection</name>
+<value>keep-alive</value>
+</header>
+<header>
+<name>cookie</name>
+<value>JSESSIONID=8EB3EECBC35B1EC13129137D674A0ACF</value>
+</header>
+<header>
+<name>host</name>
+<value>localhost:8080</value>
+</header>
+<header>
+<name>keep-alive</name>
+<value>300</value>
+</header>
+<header>
+<name>referer</name>
+<value>http://localhost:8080/coreWeb/pageFlowCore/inheritance/forwards/override/begin.do</value>
+</header>
+<header>
+<name>user-agent</name>
+<value>Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8) Gecko/20051111 Firefox/1.5</value>
+</header>
+</headers>
+</request>
+<response>
+<statusCode>200</statusCode>
+<reason></reason>
+<responseBody>
+<![CDATA[<html>
+<head>
+    <title>Page Flow Forward Inheritance - Overriding Global Forwards</title>
+</head>
+<body>
+    <h1>Page Flow Forward Inheritance - Overriding Global Forwards</h1>
+    <h3>Base class global forward (2) invoked.</h3>
+    <b>Test successfully executed the base class global forward.</b>
+    <br/>
+    <a href="/coreWeb/pageFlowCore/inheritance/forwards/override/begin.do">back</a>
+</body>
+</html>]]>
+</responseBody>
+</response>
+</test>
+<test>
+<testNumber>4</testNumber>
+<request>
+<protocol>HTTP</protocol>
+<protocolVersion>1.1</protocolVersion>
+<host>localhost</host>
+<port>8080</port>
+<uri>/coreWeb/pageFlowCore/inheritance/forwards/override/myForward1.do</uri>
+<method>GET</method>
+<parameters>
+</parameters>
+<cookies>
+<cookie>
+<name>JSESSIONID</name>
+<value>8EB3EECBC35B1EC13129137D674A0ACF</value>
+</cookie>
+</cookies>
+<headers>
+<header>
+<name>accept</name>
+<value>text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5</value>
+</header>
+<header>
+<name>accept-charset</name>
+<value>UTF-8,*</value>
+</header>
+<header>
+<name>accept-encoding</name>
+<value>gzip,deflate</value>
+</header>
+<header>
+<name>accept-language</name>
+<value>en-us,en;q=0.5</value>
+</header>
+<header>
+<name>connection</name>
+<value>keep-alive</value>
+</header>
+<header>
+<name>cookie</name>
+<value>JSESSIONID=8EB3EECBC35B1EC13129137D674A0ACF</value>
+</header>
+<header>
+<name>host</name>
+<value>localhost:8080</value>
+</header>
+<header>
+<name>keep-alive</name>
+<value>300</value>
+</header>
+<header>
+<name>referer</name>
+<value>http://localhost:8080/coreWeb/pageFlowCore/inheritance/forwards/override/begin.do</value>
+</header>
+<header>
+<name>user-agent</name>
+<value>Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8) Gecko/20051111 Firefox/1.5</value>
+</header>
+</headers>
+</request>
+<response>
+<statusCode>200</statusCode>
+<reason></reason>
+<responseBody>
+<![CDATA[<html>
+<head>
+    <title>Page Flow Forward Inheritance - Overriding Global Forwards</title>
+</head>
+<body>
+    <h1>Page Flow Forward Inheritance - Overriding Global Forwards</h1>
+    <h3>Overridden global forward (1) invoked.</h3>
+    <b>Test successfully executed the global forward override.</b>
+    <br/>
+    <a href="/coreWeb/pageFlowCore/inheritance/forwards/override/begin.do">back</a>
+</body>
+</html>]]>
+</responseBody>
+</response>
+</test>
+<test>
+<testNumber>5</testNumber>
+<request>
+<protocol>HTTP</protocol>
+<protocolVersion>1.1</protocolVersion>
+<host>localhost</host>
+<port>8080</port>
+<uri>/coreWeb/pageFlowCore/inheritance/forwards/override/myForward2.do</uri>
+<method>GET</method>
+<parameters>
+</parameters>
+<cookies>
+<cookie>
+<name>JSESSIONID</name>
+<value>8EB3EECBC35B1EC13129137D674A0ACF</value>
+</cookie>
+</cookies>
+<headers>
+<header>
+<name>accept</name>
+<value>text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5</value>
+</header>
+<header>
+<name>accept-charset</name>
+<value>UTF-8,*</value>
+</header>
+<header>
+<name>accept-encoding</name>
+<value>gzip,deflate</value>
+</header>
+<header>
+<name>accept-language</name>
+<value>en-us,en;q=0.5</value>
+</header>
+<header>
+<name>connection</name>
+<value>keep-alive</value>
+</header>
+<header>
+<name>cookie</name>
+<value>JSESSIONID=8EB3EECBC35B1EC13129137D674A0ACF</value>
+</header>
+<header>
+<name>host</name>
+<value>localhost:8080</value>
+</header>
+<header>
+<name>keep-alive</name>
+<value>300</value>
+</header>
+<header>
+<name>referer</name>
+<value>http://localhost:8080/coreWeb/pageFlowCore/inheritance/forwards/override/begin.do</value>
+</header>
+<header>
+<name>user-agent</name>
+<value>Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8) Gecko/20051111 Firefox/1.5</value>
+</header>
+</headers>
+</request>
+<response>
+<statusCode>200</statusCode>
+<reason></reason>
+<responseBody>
+<![CDATA[<html>
+<head>
+    <title>Page Flow Forward Inheritance - Overriding Global Forwards</title>
+</head>
+<body>
+    <h1>Page Flow Forward Inheritance - Overriding Global Forwards</h1>
+    <h3>Base class global forward (2) invoked.</h3>
+    <b>Test successfully executed the base class global forward.</b>
+    <br/>
+    <a href="/coreWeb/pageFlowCore/inheritance/forwards/override/begin.do">back</a>
+</body>
+</html>]]>
+</responseBody>
+</response>
+</test>
+<test>
+<testNumber>6</testNumber>
+<request>
+<protocol>HTTP</protocol>
+<protocolVersion>1.1</protocolVersion>
+<host>localhost</host>
+<port>8080</port>
+<uri>/coreWeb/pageFlowCore/inheritance/forwards/override/toGlobal1HasActionLevelForward.do</uri>
+<method>GET</method>
+<parameters>
+</parameters>
+<cookies>
+<cookie>
+<name>JSESSIONID</name>
+<value>8EB3EECBC35B1EC13129137D674A0ACF</value>
+</cookie>
+</cookies>
+<headers>
+<header>
+<name>accept</name>
+<value>text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5</value>
+</header>
+<header>
+<name>accept-charset</name>
+<value>UTF-8,*</value>
+</header>
+<header>
+<name>accept-encoding</name>
+<value>gzip,deflate</value>
+</header>
+<header>
+<name>accept-language</name>
+<value>en-us,en;q=0.5</value>
+</header>
+<header>
+<name>connection</name>
+<value>keep-alive</value>
+</header>
+<header>
+<name>cookie</name>
+<value>JSESSIONID=8EB3EECBC35B1EC13129137D674A0ACF</value>
+</header>
+<header>
+<name>host</name>
+<value>localhost:8080</value>
+</header>
+<header>
+<name>keep-alive</name>
+<value>300</value>
+</header>
+<header>
+<name>referer</name>
+<value>http://localhost:8080/coreWeb/pageFlowCore/inheritance/forwards/override/begin.do</value>
+</header>
+<header>
+<name>user-agent</name>
+<value>Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8) Gecko/20051111 Firefox/1.5</value>
+</header>
+</headers>
+</request>
+<response>
+<statusCode>200</statusCode>
+<reason></reason>
+<responseBody>
+<![CDATA[<html>
+<head>
+    <title>Page Flow Forward Inheritance - Overriding Global Forwards</title>
+</head>
+<body>
+    <h1>Page Flow Forward Inheritance - Overriding Global Forwards</h1>
+    <h3>Overridden global forward (1) invoked.</h3>
+    <b>Test successfully executed the global forward override.</b>
+    <br/>
+    <a href="/coreWeb/pageFlowCore/inheritance/forwards/override/begin.do">back</a>
+</body>
+</html>]]>
+</responseBody>
+</response>
+</test>
+<test>
+<testNumber>7</testNumber>
+<request>
+<protocol>HTTP</protocol>
+<protocolVersion>1.1</protocolVersion>
+<host>localhost</host>
+<port>8080</port>
+<uri>/coreWeb/pageFlowCore/inheritance/forwards/override/toGlobal2HasActionLevelForward.do</uri>
+<method>GET</method>
+<parameters>
+</parameters>
+<cookies>
+<cookie>
+<name>JSESSIONID</name>
+<value>8EB3EECBC35B1EC13129137D674A0ACF</value>
+</cookie>
+</cookies>
+<headers>
+<header>
+<name>accept</name>
+<value>text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5</value>
+</header>
+<header>
+<name>accept-charset</name>
+<value>UTF-8,*</value>
+</header>
+<header>
+<name>accept-encoding</name>
+<value>gzip,deflate</value>
+</header>
+<header>
+<name>accept-language</name>
+<value>en-us,en;q=0.5</value>
+</header>
+<header>
+<name>connection</name>
+<value>keep-alive</value>
+</header>
+<header>
+<name>cookie</name>
+<value>JSESSIONID=8EB3EECBC35B1EC13129137D674A0ACF</value>
+</header>
+<header>
+<name>host</name>
+<value>localhost:8080</value>
+</header>
+<header>
+<name>keep-alive</name>
+<value>300</value>
+</header>
+<header>
+<name>referer</name>
+<value>http://localhost:8080/coreWeb/pageFlowCore/inheritance/forwards/override/begin.do</value>
+</header>
+<header>
+<name>user-agent</name>
+<value>Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8) Gecko/20051111 Firefox/1.5</value>
+</header>
+</headers>
+</request>
+<response>
+<statusCode>200</statusCode>
+<reason></reason>
+<responseBody>
+<![CDATA[<html>
+<head>
+    <title>Page Flow Forward Inheritance - Overriding Global Forwards</title>
+</head>
+<body>
+    <h1>Page Flow Forward Inheritance - Overriding Global Forwards</h1>
+    <h3>Base class global forward (2) invoked.</h3>
+    <b>Test successfully executed the base class global forward.</b>
+    <br/>
+    <a href="/coreWeb/pageFlowCore/inheritance/forwards/override/begin.do">back</a>
+</body>
+</html>]]>
+</responseBody>
+</response>
+</test>
+<test>
+<testNumber>8</testNumber>
+<request>
+<protocol>HTTP</protocol>
+<protocolVersion>1.1</protocolVersion>
+<host>localhost</host>
+<port>8080</port>
+<uri>/coreWeb/pageFlowCore/inheritance/forwards/override/localToGlobal1HasActionLevelForward.do</uri>
+<method>GET</method>
+<parameters>
+</parameters>
+<cookies>
+<cookie>
+<name>JSESSIONID</name>
+<value>8EB3EECBC35B1EC13129137D674A0ACF</value>
+</cookie>
+</cookies>
+<headers>
+<header>
+<name>accept</name>
+<value>text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5</value>
+</header>
+<header>
+<name>accept-charset</name>
+<value>UTF-8,*</value>
+</header>
+<header>
+<name>accept-encoding</name>
+<value>gzip,deflate</value>
+</header>
+<header>
+<name>accept-language</name>
+<value>en-us,en;q=0.5</value>
+</header>
+<header>
+<name>connection</name>
+<value>keep-alive</value>
+</header>
+<header>
+<name>cookie</name>
+<value>JSESSIONID=8EB3EECBC35B1EC13129137D674A0ACF</value>
+</header>
+<header>
+<name>host</name>
+<value>localhost:8080</value>
+</header>
+<header>
+<name>keep-alive</name>
+<value>300</value>
+</header>
+<header>
+<name>referer</name>
+<value>http://localhost:8080/coreWeb/pageFlowCore/inheritance/forwards/override/begin.do</value>
+</header>
+<header>
+<name>user-agent</name>
+<value>Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8) Gecko/20051111 Firefox/1.5</value>
+</header>
+</headers>
+</request>
+<response>
+<statusCode>200</statusCode>
+<reason></reason>
+<responseBody>
+<![CDATA[<html>
+<head>
+    <title>Page Flow Forward Inheritance - Overriding Global Forwards</title>
+</head>
+<body>
+    <h1>Page Flow Forward Inheritance - Overriding Global Forwards</h1>
+    <h3>Overridden global forward (1) invoked.</h3>
+    <b>Test successfully executed the global forward override.</b>
+    <br/>
+    <a href="/coreWeb/pageFlowCore/inheritance/forwards/override/begin.do">back</a>
+</body>
+</html>]]>
+</responseBody>
+</response>
+</test>
+<test>
+<testNumber>9</testNumber>
+<request>
+<protocol>HTTP</protocol>
+<protocolVersion>1.1</protocolVersion>
+<host>localhost</host>
+<port>8080</port>
+<uri>/coreWeb/pageFlowCore/inheritance/forwards/override/localToGlobal2HasActionLevelForward.do</uri>
+<method>GET</method>
+<parameters>
+</parameters>
+<cookies>
+<cookie>
+<name>JSESSIONID</name>
+<value>8EB3EECBC35B1EC13129137D674A0ACF</value>
+</cookie>
+</cookies>
+<headers>
+<header>
+<name>accept</name>
+<value>text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5</value>
+</header>
+<header>
+<name>accept-charset</name>
+<value>UTF-8,*</value>
+</header>
+<header>
+<name>accept-encoding</name>
+<value>gzip,deflate</value>
+</header>
+<header>
+<name>accept-language</name>
+<value>en-us,en;q=0.5</value>
+</header>
+<header>
+<name>connection</name>
+<value>keep-alive</value>
+</header>
+<header>
+<name>cookie</name>
+<value>JSESSIONID=8EB3EECBC35B1EC13129137D674A0ACF</value>
+</header>
+<header>
+<name>host</name>
+<value>localhost:8080</value>
+</header>
+<header>
+<name>keep-alive</name>
+<value>300</value>
+</header>
+<header>
+<name>referer</name>
+<value>http://localhost:8080/coreWeb/pageFlowCore/inheritance/forwards/override/begin.do</value>
+</header>
+<header>
+<name>user-agent</name>
+<value>Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8) Gecko/20051111 Firefox/1.5</value>
+</header>
+</headers>
+</request>
+<response>
+<statusCode>200</statusCode>
+<reason></reason>
+<responseBody>
+<![CDATA[<html>
+<head>
+    <title>Page Flow Forward Inheritance - Overriding Global Forwards</title>
+</head>
+<body>
+    <h1>Page Flow Forward Inheritance - Overriding Global Forwards</h1>
+    <h3>Base class global forward (2) invoked.</h3>
+    <b>Test successfully executed the base class global forward.</b>
+    <br/>
+    <a href="/coreWeb/pageFlowCore/inheritance/forwards/override/begin.do">back</a>
+</body>
+</html>]]>
+</responseBody>
+</response>
+</test>
+</tests>
+<endDate>01 Feb 2006, 12:38:34.585 AM MST</endDate>
+<testCount>9</testCount>
+</recorderSession>

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

Modified: beehive/trunk/netui/test/webapps/drt/web/pageFlowCore/inheritance/forwards/override/ForwardController.java
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/test/webapps/drt/web/pageFlowCore/inheritance/forwards/override/ForwardController.java?rev=374070&r1=374069&r2=374070&view=diff
==============================================================================
--- beehive/trunk/netui/test/webapps/drt/web/pageFlowCore/inheritance/forwards/override/ForwardController.java (original)
+++ beehive/trunk/netui/test/webapps/drt/web/pageFlowCore/inheritance/forwards/override/ForwardController.java Wed Feb  1 06:15:38 2006
@@ -17,6 +17,7 @@
  */
 package pageFlowCore.inheritance.forwards.override;
 
+import org.apache.beehive.netui.pageflow.Forward;
 import org.apache.beehive.netui.pageflow.annotations.Jpf;
 
 @Jpf.Controller(
@@ -31,5 +32,44 @@
 )
 public class ForwardController extends pageFlowCore.inheritance.forwards.parent.Controller
 {
+    @Jpf.Action
+    protected Forward myForward1(){
+        return new Forward("global1");
+    }
+
+    @Jpf.Action
+    protected Forward myForward2(){
+        return new Forward("global2");
+    }
+
+    @Jpf.Action(
+        forwards = {
+            @Jpf.Forward(
+                name = "success",
+                path = "index.jsp")
+        })
+    protected Forward localToGlobal1HasActionLevelForward(){
+        return new Forward("global1");
+    }
+
+    @Jpf.Action(
+        forwards = {
+            @Jpf.Forward(
+                name = "success",
+                path = "index.jsp")
+        })
+    protected Forward localToGlobal2HasActionLevelForward(){
+        return new Forward("global2");
+    }
+
+    @Jpf.Action(
+        forwards = {
+            @Jpf.Forward(
+                name = "success",
+                path = "index.jsp")
+        })
+    protected Forward useActionLevelForward(){
+        return new Forward("success");
+    }
 }
 

Modified: beehive/trunk/netui/test/webapps/drt/web/pageFlowCore/inheritance/forwards/override/index.jsp
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/test/webapps/drt/web/pageFlowCore/inheritance/forwards/override/index.jsp?rev=374070&r1=374069&r2=374070&view=diff
==============================================================================
--- beehive/trunk/netui/test/webapps/drt/web/pageFlowCore/inheritance/forwards/override/index.jsp (original)
+++ beehive/trunk/netui/test/webapps/drt/web/pageFlowCore/inheritance/forwards/override/index.jsp Wed Feb  1 06:15:38 2006
@@ -7,11 +7,23 @@
 </head>
 <body>
     <h1>Page Flow Forward Inheritance - Overriding Global Forwards</h1>
-    <h3>Global Forward - Overridden Page Flow</h3>
+    <h3>Global Forward - Inherited Page Flow</h3>
     <br/>
-    <netui:anchor action="overriddenForward">Overridden forward</netui:anchor>
+    <netui:anchor action="toGlobalForward1">inherited action to overridden global forward 1</netui:anchor>
     <br/>
-    <netui:anchor action="localForward">Base controller forward</netui:anchor>
+    <netui:anchor action="toGlobalForward2">inherited action to inherited global forward 2</netui:anchor>
+    <br/>
+    <netui:anchor action="myForward1">action to overridden global forward 1</netui:anchor>
+    <br/>
+    <netui:anchor action="myForward2">action to inherited global forward 2</netui:anchor>
+    <br/>
+    <netui:anchor action="toGlobal1HasActionLevelForward">to overridden global forward 1 from inherited action with an action level forward</netui:anchor>
+    <br/>
+    <netui:anchor action="toGlobal2HasActionLevelForward">to inherited global forward 2 from inherited action with an action level forward</netui:anchor>
+    <br/>
+    <netui:anchor action="localToGlobal1HasActionLevelForward">to overridden global forward 1 from local action with an action level forward</netui:anchor>
+    <br/>
+    <netui:anchor action="localToGlobal2HasActionLevelForward">to inherited global forward 2 from local action with an action level forward</netui:anchor>
     <br/>
     <a href="../begin.do">back to start</a>
 </body>

Modified: beehive/trunk/netui/test/webapps/drt/web/pageFlowCore/inheritance/forwards/override/success.jsp
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/test/webapps/drt/web/pageFlowCore/inheritance/forwards/override/success.jsp?rev=374070&r1=374069&r2=374070&view=diff
==============================================================================
--- beehive/trunk/netui/test/webapps/drt/web/pageFlowCore/inheritance/forwards/override/success.jsp (original)
+++ beehive/trunk/netui/test/webapps/drt/web/pageFlowCore/inheritance/forwards/override/success.jsp Wed Feb  1 06:15:38 2006
@@ -7,7 +7,7 @@
 </head>
 <body>
     <h1>Page Flow Forward Inheritance - Overriding Global Forwards</h1>
-    <h3>Overridden global forward invoked.</h3>
+    <h3>Overridden global forward (1) invoked.</h3>
     <b>Test successfully executed the global forward override.</b>
     <br/>
     <netui:anchor action="begin">back</netui:anchor>

Modified: beehive/trunk/netui/test/webapps/drt/web/pageFlowCore/inheritance/forwards/parent/Controller.java
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/test/webapps/drt/web/pageFlowCore/inheritance/forwards/parent/Controller.java?rev=374070&r1=374069&r2=374070&view=diff
==============================================================================
--- beehive/trunk/netui/test/webapps/drt/web/pageFlowCore/inheritance/forwards/parent/Controller.java (original)
+++ beehive/trunk/netui/test/webapps/drt/web/pageFlowCore/inheritance/forwards/parent/Controller.java Wed Feb  1 06:15:38 2006
@@ -26,7 +26,7 @@
         @Jpf.Forward(name = "global1",
                      path = "results.jsp"),
         @Jpf.Forward(name = "global2",
-                     path = "results.jsp")
+                     path = "results2.jsp")
     },
     simpleActions={
         @Jpf.SimpleAction(name="begin", path="index.jsp")
@@ -35,12 +35,33 @@
 public class Controller extends PageFlowController
 {
     @Jpf.Action
-    protected Forward overriddenForward(){
+    protected Forward toGlobalForward1(){
         return new Forward("global1");
     }
 
     @Jpf.Action
-    protected Forward localForward(){
+    protected Forward toGlobalForward2(){
+        return new Forward("global2");
+    }
+
+
+    @Jpf.Action(
+        forwards = {
+            @Jpf.Forward(
+                name = "success",
+                path = "index.jsp")
+        })
+    protected Forward toGlobal1HasActionLevelForward(){
+        return new Forward("global1");
+    }
+
+    @Jpf.Action(
+        forwards = {
+            @Jpf.Forward(
+                name = "success",
+                path = "index.jsp")
+        })
+    protected Forward toGlobal2HasActionLevelForward(){
         return new Forward("global2");
     }
 }

Modified: beehive/trunk/netui/test/webapps/drt/web/pageFlowCore/inheritance/forwards/parent/index.jsp
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/test/webapps/drt/web/pageFlowCore/inheritance/forwards/parent/index.jsp?rev=374070&r1=374069&r2=374070&view=diff
==============================================================================
--- beehive/trunk/netui/test/webapps/drt/web/pageFlowCore/inheritance/forwards/parent/index.jsp (original)
+++ beehive/trunk/netui/test/webapps/drt/web/pageFlowCore/inheritance/forwards/parent/index.jsp Wed Feb  1 06:15:38 2006
@@ -9,9 +9,13 @@
     <h1>Page Flow Forward Inheritance - Overriding Global Forwards</h1>
     <h3>Global Forward - Parent Page Flow</h3>
     <br/>
-    <netui:anchor action="overriddenForward">Overridden forward</netui:anchor>
+    <netui:anchor action="toGlobalForward1">action to global forward 1</netui:anchor>
     <br/>
-    <netui:anchor action="localForward">Base controller forward</netui:anchor>
+    <netui:anchor action="toGlobalForward2">action to global forward 2</netui:anchor>
+    <br/>
+    <netui:anchor action="toGlobal1HasActionLevelForward">to global forward 1 from action with an action level forward</netui:anchor>
+    <br/>
+    <netui:anchor action="toGlobal2HasActionLevelForward">to global forward 2 from action with an action level forward</netui:anchor>
     <br/>
     <a href="../begin.do">back to start</a>
 </body>

Modified: beehive/trunk/netui/test/webapps/drt/web/pageFlowCore/inheritance/forwards/parent/results.jsp
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/test/webapps/drt/web/pageFlowCore/inheritance/forwards/parent/results.jsp?rev=374070&r1=374069&r2=374070&view=diff
==============================================================================
--- beehive/trunk/netui/test/webapps/drt/web/pageFlowCore/inheritance/forwards/parent/results.jsp (original)
+++ beehive/trunk/netui/test/webapps/drt/web/pageFlowCore/inheritance/forwards/parent/results.jsp Wed Feb  1 06:15:38 2006
@@ -7,8 +7,8 @@
 </head>
 <body>
     <h1>Page Flow Forward Inheritance - Overriding Global Forwards</h1>
-    <h3>Base class forward invoked.</h3>
-    <b>Test successfully executed the global forward from base class.</b>
+    <h3>Base class global forward (1) invoked.</h3>
+    <b>Test successfully executed the base class global forward.</b>
     <br/>
     <netui:anchor action="begin">back</netui:anchor>
 </body>

Added: beehive/trunk/netui/test/webapps/drt/web/pageFlowCore/inheritance/forwards/parent/results2.jsp
URL: http://svn.apache.org/viewcvs/beehive/trunk/netui/test/webapps/drt/web/pageFlowCore/inheritance/forwards/parent/results2.jsp?rev=374070&view=auto
==============================================================================
--- beehive/trunk/netui/test/webapps/drt/web/pageFlowCore/inheritance/forwards/parent/results2.jsp (added)
+++ beehive/trunk/netui/test/webapps/drt/web/pageFlowCore/inheritance/forwards/parent/results2.jsp Wed Feb  1 06:15:38 2006
@@ -0,0 +1,15 @@
+<%@ page language="java" contentType="text/html;charset=UTF-8"%>
+<%@ taglib prefix="netui" uri="http://beehive.apache.org/netui/tags-html-1.0"%>
+
+<html>
+<head>
+    <title>Page Flow Forward Inheritance - Overriding Global Forwards</title>
+</head>
+<body>
+    <h1>Page Flow Forward Inheritance - Overriding Global Forwards</h1>
+    <h3>Base class global forward (2) invoked.</h3>
+    <b>Test successfully executed the base class global forward.</b>
+    <br/>
+    <netui:anchor action="begin">back</netui:anchor>
+</body>
+</html>

Propchange: beehive/trunk/netui/test/webapps/drt/web/pageFlowCore/inheritance/forwards/parent/results2.jsp
------------------------------------------------------------------------------
    svn:eol-style = native