You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beehive.apache.org by ri...@apache.org on 2005/06/03 20:12:16 UTC

svn commit: r179844 - in /incubator/beehive/trunk/netui: src/pageflow/org/apache/beehive/netui/pageflow/ src/pageflow/org/apache/beehive/netui/pageflow/internal/ test/webapps/drt/ test/webapps/drt/coreWeb/WEB-INF/src/META-INF/ test/webapps/drt/coreWeb/WEB-INF/src/META-INF/services/ test/webapps/drt/coreWeb/WEB-INF/src/pageFlowCore/eventReporter/ test/webapps/drt/coreWeb/WEB-INF/src/test/ test/webapps/drt/coreWeb/pageFlowCore/eventReporter/ test/webapps/drt/testRecorder/config/ test/webapps/drt/testRecorder/tests/ test/webapps/urlTemplates/

Author: rich
Date: Fri Jun  3 11:12:15 2005
New Revision: 179844

URL: http://svn.apache.org/viewcvs?rev=179844&view=rev
Log:
Fixes for:
    - http://issues.apache.org/jira/browse/BEEHIVE-786 : PageFlowEventReporter is called with null ActionMapping when exception handled in shared flow
    - http://issues.apache.org/jira/browse/BEEHIVE-788 : PageFlowEventReporter.exeptionRaised() is called twice when exception is un-handled.
    - http://issues.apache.org/jira/browse/BEEHIVE-789 : PageFlowEventReporter.flowControllerDestroyed() does not expose the SessionID

Also, added javadoc for PageFlowEventReporter, and switched it onto RequestContext in all the event methods.

tests: bvt in netui (WinXP)
BB: self (linux)


Added:
    incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/src/META-INF/
    incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/src/META-INF/services/
    incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/src/META-INF/services/org.apache.beehive.netui.pageflow.ServletContainerAdapter
    incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/src/pageFlowCore/eventReporter/
    incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/src/pageFlowCore/eventReporter/TestEventReporter.java   (with props)
    incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/src/test/
    incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/src/test/TestServletContainerAdapter.java   (with props)
    incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/pageFlowCore/eventReporter/
    incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/pageFlowCore/eventReporter/Controller.jpf   (with props)
    incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/pageFlowCore/eventReporter/finish.html   (with props)
    incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/pageFlowCore/eventReporter/index.jsp   (with props)
    incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/EventReporter.xml   (with props)
Modified:
    incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/DefaultPageFlowEventReporter.java
    incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/DefaultServletContainerAdapter.java
    incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/FlowController.java
    incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowEventReporter.java
    incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowPageFilter.java
    incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowRequestProcessor.java
    incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/DefaultExceptionsHandler.java
    incubator/beehive/trunk/netui/test/webapps/drt/build.xml
    incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml
    incubator/beehive/trunk/netui/test/webapps/urlTemplates/build.xml

Modified: incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/DefaultPageFlowEventReporter.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/DefaultPageFlowEventReporter.java?rev=179844&r1=179843&r2=179844&view=diff
==============================================================================
--- incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/DefaultPageFlowEventReporter.java (original)
+++ incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/DefaultPageFlowEventReporter.java Fri Jun  3 11:12:15 2005
@@ -24,8 +24,6 @@
 import org.apache.beehive.netui.util.logging.Logger;
 
 import javax.servlet.ServletContext;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
 
 /**
  * Default event reporter.  Logs every event when the log level is set to "debug" or "trace".
@@ -40,8 +38,9 @@
         super( servletContext );
     }
 
-    public void actionRaised( FlowController flowController, ActionMapping mapping, ActionForm form,
-                              ServletRequest request, ServletResponse response )
+    public void actionRaised( RequestContext requestContext, FlowController flowController, ActionMapping mapping,
+                              ActionForm form )
+                              
     {
         if ( _log.isDebugEnabled() )
         {
@@ -49,15 +48,14 @@
             msg.addParam( "FlowController", flowController );
             msg.addParam( "ActionMapping", mapping );
             msg.addParam( "ActionForm", form );
-            msg.addParam( "Request", request );
-            msg.addParam( "Response", response );
+            msg.addParam( "Request", requestContext.getRequest() );
+            msg.addParam( "Response", requestContext.getResponse() );
             _log.debug( msg );
         }
     }
 
-    public void actionSuccess( FlowController flowController, ActionMapping mapping, ActionForm form,
-                               ServletRequest request, ServletResponse response, ActionForward result,
-                               long timeTakenMillis )
+    public void actionSuccess( RequestContext requestContext, FlowController flowController, ActionMapping mapping,
+                               ActionForm form, ActionForward result, long timeTakenMillis )
     {
         if ( _log.isDebugEnabled() )
         {
@@ -65,17 +63,16 @@
             msg.addParam( "FlowController", flowController );
             msg.addParam( "ActionMapping", mapping );
             msg.addParam( "ActionForm", form );
-            msg.addParam( "Request", request );
-            msg.addParam( "Response", response );
+            msg.addParam( "Request", requestContext.getRequest() );
+            msg.addParam( "Response", requestContext.getResponse() );
             msg.addParam( "ActionForward", result );
             msg.addParam( "TimeTakenMillis", new Long( timeTakenMillis ) );
             _log.debug( msg );
         }
     }
 
-    public void exceptionRaised( Throwable ex, ActionMapping actionMapping, ActionForm form,
-                                 FlowController flowController, ServletRequest request,
-                                 ServletResponse response )
+    public void exceptionRaised( RequestContext requestContext, Throwable ex, ActionMapping actionMapping,
+                                 ActionForm form, FlowController flowController )
     {
         if ( _log.isDebugEnabled() )
         {
@@ -84,15 +81,14 @@
             msg.addParam( "ActionMapping", actionMapping );
             msg.addParam( "ActionForm", form );
             msg.addParam( "FlowController", flowController );
-            msg.addParam( "Request", request );
-            msg.addParam( "Response", response );
+            msg.addParam( "Request", requestContext.getRequest() );
+            msg.addParam( "Response", requestContext.getResponse() );
             _log.debug( msg );
         }
     }
 
-    public void exceptionHandled( Throwable ex, ActionMapping actionMapping, ActionForm form,
-                                  FlowController flowController, ServletRequest request,
-                                  ServletResponse response, ActionForward result,
+    public void exceptionHandled( RequestContext requestContext, Throwable ex, ActionMapping actionMapping,
+                                  ActionForm form, FlowController flowController, ActionForward result,
                                   long timeTakenMillis )
     {
         if ( _log.isDebugEnabled() )
@@ -102,78 +98,78 @@
             msg.addParam( "ActionMapping", actionMapping );
             msg.addParam( "ActionForm", form );
             msg.addParam( "FlowController", flowController );
-            msg.addParam( "Request", request );
-            msg.addParam( "Response", response );
+            msg.addParam( "Request", requestContext.getRequest() );
+            msg.addParam( "Response", requestContext.getResponse() );
             msg.addParam( "ActionForward", result );
             msg.addParam( "TimeTakenMillis", new Long( timeTakenMillis ) );
             _log.debug( msg );
         }
     }
 
-    public void flowControllerCreated( FlowController flowController, ServletRequest request,
-                                       ServletResponse response )
+    public void flowControllerCreated( RequestContext requestContext, FlowController flowController )
     {
         if ( _log.isDebugEnabled() )
         {
             LogMsg msg = new LogMsg( "flowControllerCreated" );
             msg.addParam( "FlowController", flowController );
-            msg.addParam( "Request", request );
-            msg.addParam( "Response", response );
+            msg.addParam( "Request", requestContext.getRequest() );
+            msg.addParam( "Response", requestContext.getResponse() );
             _log.debug( msg );
         }
     }
 
-    public void flowControllerDestroyed( FlowController flowController )
+    public void flowControllerDestroyed( FlowController flowController, Object storageLocation )
     {
         if ( _log.isDebugEnabled() )
         {
             LogMsg msg = new LogMsg( "flowControllerDestroyed" );
             msg.addParam( "FlowController", flowController );
+            msg.addParam( "StorageLocation", storageLocation );
             _log.debug( msg );
         }
     }
 
-    public void beginActionRequest( ServletRequest request, ServletResponse response )
+    public void beginActionRequest( RequestContext requestContext )
     {
         if ( _log.isDebugEnabled() )
         {
             LogMsg msg = new LogMsg( "beginActionRequest" );
-            msg.addParam( "Request", request );
-            msg.addParam( "Response", response );
+            msg.addParam( "Request", requestContext.getRequest() );
+            msg.addParam( "Response", requestContext.getResponse() );
             _log.debug( msg );
         }
     }
 
-    public void endActionRequest( ServletRequest request, ServletResponse response, long timeTakenMillis )
+    public void endActionRequest( RequestContext requestContext, long timeTakenMillis )
     {
         if ( _log.isDebugEnabled() )
         {
             LogMsg msg = new LogMsg( "endActionRequest" );
-            msg.addParam( "Request", request );
-            msg.addParam( "Response", response );
+            msg.addParam( "Request", requestContext.getRequest() );
+            msg.addParam( "Response", requestContext.getResponse() );
             msg.addParam( "TimeTakenMillis", new Long( timeTakenMillis ) );
             _log.debug( msg );
         }
     }
 
-    public void beginPageRequest( ServletRequest request, ServletResponse response )
+    public void beginPageRequest( RequestContext requestContext )
     {
         if ( _log.isDebugEnabled() )
         {
             LogMsg msg = new LogMsg( "beginPageRequest" );
-            msg.addParam( "Request", request );
-            msg.addParam( "Response", response );
+            msg.addParam( "Request", requestContext.getRequest() );
+            msg.addParam( "Response", requestContext.getResponse() );
             _log.debug( msg );
         }
     }
 
-    public void endPageRequest( ServletRequest request, ServletResponse response, long timeTakenMillis )
+    public void endPageRequest( RequestContext requestContext, long timeTakenMillis )
     {
         if ( _log.isDebugEnabled() )
         {
             LogMsg msg = new LogMsg( "endPageRequest" );
-            msg.addParam( "Request", request );
-            msg.addParam( "Response", response );
+            msg.addParam( "Request", requestContext.getRequest() );
+            msg.addParam( "Response", requestContext.getResponse() );
             msg.addParam( "TimeTakenMillis", new Long( timeTakenMillis ) );
             _log.debug( msg );
         }

Modified: incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/DefaultServletContainerAdapter.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/DefaultServletContainerAdapter.java?rev=179844&r1=179843&r2=179844&view=diff
==============================================================================
--- incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/DefaultServletContainerAdapter.java (original)
+++ incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/DefaultServletContainerAdapter.java Fri Jun  3 11:12:15 2005
@@ -221,7 +221,7 @@
         Object servletContext = context.getExternalContext();
         assert servletContext instanceof ServletContext : servletContext;
         _servletContext = ( ServletContext ) servletContext;
-        _eventReporter = new DefaultPageFlowEventReporter( _servletContext );
+        _eventReporter = createEventReporter();
     }
     
     /**
@@ -244,5 +244,10 @@
     public PageFlowEventReporter getEventReporter()
     {
         return _eventReporter;
+    }
+    
+    protected PageFlowEventReporter createEventReporter()
+    {
+        return new DefaultPageFlowEventReporter( _servletContext );
     }
 }

Modified: incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/FlowController.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/FlowController.java?rev=179844&r1=179843&r2=179844&view=diff
==============================================================================
--- incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/FlowController.java (original)
+++ incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/FlowController.java Fri Jun  3 11:12:15 2005
@@ -326,7 +326,8 @@
     {
         ServletContainerAdapter sca = AdapterManager.getServletContainerAdapter( getServletContext() );
         PageFlowEventReporter eventReporter = sca.getEventReporter();
-        eventReporter.actionRaised( this, mapping, form, request, response );
+        RequestContext requestContext = new RequestContext( request, response );
+        eventReporter.actionRaised( requestContext, this, mapping, form );
         long startTime = System.currentTimeMillis();
         
         //
@@ -427,7 +428,7 @@
             
             ActionForward ret = forwardTo( retVal, mapping, request, response, actionName, null, form, servletContext );
             long timeTaken = System.currentTimeMillis() - startTime;
-            eventReporter.actionSuccess( this, mapping, form, request, response, ret, timeTaken );
+            eventReporter.actionSuccess( requestContext, this, mapping, form, ret, timeTaken );
             return ret;
         }
         catch ( Exception e )
@@ -538,7 +539,8 @@
         }
         
         PageFlowEventReporter er = AdapterManager.getServletContainerAdapter( servletContext ).getEventReporter();
-        er.flowControllerCreated( this, request, response );
+        RequestContext requestContext = new RequestContext( request, response );
+        er.flowControllerCreated( requestContext, this );
     }
     
     /**
@@ -560,7 +562,7 @@
         if ( servletContext != null )
         {
             PageFlowEventReporter er = AdapterManager.getServletContainerAdapter( servletContext ).getEventReporter();
-            er.flowControllerDestroyed( this );
+            er.flowControllerDestroyed( this, session );
         }
     }
     

Modified: incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowEventReporter.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowEventReporter.java?rev=179844&r1=179843&r2=179844&view=diff
==============================================================================
--- incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowEventReporter.java (original)
+++ incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowEventReporter.java Fri Jun  3 11:12:15 2005
@@ -22,8 +22,6 @@
 import org.apache.struts.action.ActionForward;
 
 import javax.servlet.ServletContext;
-import javax.servlet.ServletResponse;
-import javax.servlet.ServletRequest;
 
 
 /**
@@ -38,34 +36,132 @@
         _servletContext = servletContext;
     }
     
-    public abstract void actionRaised( FlowController flowController, ActionMapping mapping, ActionForm form,
-                                       ServletRequest request, ServletResponse response );
-    
-    public abstract void actionSuccess( FlowController flowController, ActionMapping mapping, ActionForm form,
-                                        ServletRequest request, ServletResponse response, ActionForward result,
+    /**
+     * Event fired when an action is raised on a FlowController (a page flow or a shared flow).
+     * 
+     * @param requestContext the current request context.
+     * @param flowController the FlowController on which the action is being raised (a
+     *            {@link PageFlowController} or a {@link SharedFlowController}).
+     * @param actionMapping the <code>org.apache.struts.action.ActionMapping</code> that represents the action being
+     *            raised.  The name of the action, prefixed by a '/', can be found by calling <code>getPath</code>
+     *            on this object.
+     * @param form the form bean that was passed to the action, or <code>null</code> if there was none.
+     */ 
+    public abstract void actionRaised( RequestContext requestContext, FlowController flowController,
+                                       ActionMapping actionMapping, ActionForm form );
+    
+    /**
+     * Event fired when an action successfully completes on a FlowController (a page flow or a shared flow).
+     * 
+     * @param requestContext the current request context.
+     * @param flowController the FlowController on which the action was raised (a
+     *            {@link PageFlowController} or a {@link SharedFlowController}).
+     * @param actionMapping the <code>org.apache.struts.action.ActionMapping</code> that represents the action that was
+     *            raised.  The name of the action, prefixed by a '/', can be found by calling <code>getPath</code>
+     *            on this object.
+     * @param form the form bean that was passed to the action, or <code>null</code> if there was none.
+     * @param result the ActionForward result returned from the action.
+     * @param timeTakenMillis the length of time in milliseconds for the action to be run.
+     */ 
+    public abstract void actionSuccess( RequestContext requestContext, FlowController flowController,
+                                        ActionMapping actionMapping, ActionForm form, ActionForward result,
                                         long timeTakenMillis );
     
-    public abstract void exceptionRaised( Throwable ex, ActionMapping actionMapping, ActionForm form,
-                                          FlowController flowController, ServletRequest request,
-                                          ServletResponse response );
-    
-    public abstract void exceptionHandled( Throwable ex, ActionMapping actionMapping, ActionForm form,
-                                           FlowController flowController, ServletRequest request,
-                                           ServletResponse response, ActionForward result,
+    /**
+     * Event fired when an exception is raised during processing of an action request.
+     * 
+     * @param requestContext the current request context.
+     * @param ex the Throwable that was raised.
+     * @param actionMapping the <code>org.apache.struts.action.ActionMapping</code> that represents the action that was
+     *            raised.  The name of the action, prefixed by a '/', can be found by calling <code>getPath</code>
+     *            on this object.  This parameter will be <code>null</code> if the request did not get to the point
+     *            where an action was actuallly raised.
+     * @param form the form bean that was passed to the action, or <code>null</code> if there was none.
+     * @param flowController the FlowController associated with the action request.  This parameter will be
+     *            <code>null</code> if the request did not get to the point where a FlowController could be created or
+     *            looked up.
+     * 
+     * @see #beginActionRequest
+     */ 
+    public abstract void exceptionRaised( RequestContext requestContext, Throwable ex, ActionMapping actionMapping,
+                                          ActionForm form, FlowController flowController );
+    
+    /**
+     * Event fired when an exception is handled successfully during processing of an action request.
+     * 
+     * @param requestContext the current request context.
+     * @param ex the Throwable that was raised.
+     * @param actionMapping the <code>org.apache.struts.action.ActionMapping</code> that represents the action that was
+     *            raised.  The name of the action, prefixed by a '/', can be found by calling <code>getPath</code>
+     *            on this object.  This parameter will be <code>null</code> if the request did not get to the point
+     *            where an action was actuallly raised.
+     * @param form the form bean that was passed to the action, or <code>null</code> if there was none.
+     * @param flowController the FlowController associated with the action request.  This parameter will be
+     *            <code>null</code> if the request did not get to the point where a FlowController could be created or
+     *            looked up.
+     * @param result the ActionForward result returned from the exception handler.
+     * @param timeTakenMillis the length of time in milliseconds for the exception to be handled.
+     * 
+     * @see #beginActionRequest
+     */ 
+    public abstract void exceptionHandled( RequestContext requestContext, Throwable ex, ActionMapping actionMapping,
+                                           ActionForm form, FlowController flowController, ActionForward result,
                                            long timeTakenMillis );
     
-    public abstract void flowControllerCreated( FlowController flowController, ServletRequest request,
-                                                ServletResponse response );
-    
-    public abstract void flowControllerDestroyed( FlowController flowController );
-    
-    public abstract void beginActionRequest( ServletRequest request, ServletResponse response );
-    
-    public abstract void endActionRequest( ServletRequest request, ServletResponse response, long timeTakenMillis );
-    
-    public abstract void beginPageRequest( ServletRequest request, ServletResponse response );
-    
-    public abstract void endPageRequest( ServletRequest request, ServletResponse response, long timeTakenMillis );
+    /**
+     * 
+     * Event fired when a FlowController (a page flow or a shared flow) is created.
+     * 
+     * @param requestContext the current request context.
+     * @param flowController the FlowController (a {@link PageFlowController} or a {@link SharedFlowController})
+     *            that was created.
+     */ 
+    public abstract void flowControllerCreated( RequestContext requestContext, FlowController flowController );
+    
+    /**
+     * Event fired when a FlowController (a page flow or a shared flow) is "destroyed", i.e., removed from wherever it
+     * is being stored.
+     * 
+     * @param flowController the FlowController (a {@link PageFlowController} or a {@link SharedFlowController})
+     *            that is being destroyed.
+     * @param storageLocation The storage location.  For session-scoped FlowControllers, this is a
+     *            <code>javax.servlet.http.HttpSession</code>.
+     */ 
+    public abstract void flowControllerDestroyed( FlowController flowController, Object storageLocation );
+    
+    /**
+     * Event fired at the beginning of an action request.  Note that this is called on all action requests, even those
+     * that do not successfully run actions.
+     * 
+     * @param requestContext the current request context.
+     */ 
+    public abstract void beginActionRequest( RequestContext requestContext );
+    
+    /**
+     * Event fired at the end of an action request.  Note that this is called on all action requests, even those
+     * that do not successfully run actions.
+     * 
+     * @param requestContext the current request context.
+     * @param timeTakenMillis the length of time in milliseconds for the action request to be processed.
+     * 
+     */ 
+    public abstract void endActionRequest( RequestContext requestContext, long timeTakenMillis );
+    
+    /**
+     * Event fired at the end of an action request.  Note that this is called on all action requests, even those
+     * that do not successfully run actions.
+     * 
+     * @param requestContext the current request context.
+     */ 
+    public abstract void beginPageRequest( RequestContext requestContext );
+    
+    /**
+     * Event fired at the end of a page request.
+     * 
+     * @param requestContext the current request context.
+     * @param timeTakenMillis the length of time in milliseconds for the page request to be processed.
+     */ 
+    public abstract void endPageRequest( RequestContext requestContext, long timeTakenMillis );
     
     protected ServletContext getServletContext()
     {

Modified: incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowPageFilter.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowPageFilter.java?rev=179844&r1=179843&r2=179844&view=diff
==============================================================================
--- incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowPageFilter.java (original)
+++ incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowPageFilter.java Fri Jun  3 11:12:15 2005
@@ -150,7 +150,8 @@
             //
             PageFlowEventReporter er = _servletContainerAdapter.getEventReporter();
             _servletContainerAdapter.beginRequest( httpRequest, httpResponse );
-            er.beginPageRequest( httpRequest, httpResponse );
+            RequestContext requestContext = new RequestContext( request, response );
+            er.beginPageRequest( requestContext );
             long startTime = System.currentTimeMillis();
             
             //
@@ -174,7 +175,6 @@
                     //
                     // Initialize shared flows for the current request.
                     //
-                    RequestContext requestContext = new RequestContext( request, response );
                     Map/*< String, SharedFlowController >*/ sharedFlows =
                             _flowControllerFactory.getSharedFlowsForRequest( requestContext );
                     ImplicitObjectUtil.loadSharedFlow( request, sharedFlows );
@@ -229,7 +229,7 @@
                 //
                 _servletContainerAdapter.endRequest( httpRequest, httpResponse );
                 long timeTaken = System.currentTimeMillis() - startTime;
-                er.endPageRequest( httpRequest, httpResponse, timeTaken );
+                er.endPageRequest( requestContext, timeTaken );
             }
         }
         else

Modified: incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowRequestProcessor.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowRequestProcessor.java?rev=179844&r1=179843&r2=179844&view=diff
==============================================================================
--- incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowRequestProcessor.java (original)
+++ incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowRequestProcessor.java Fri Jun  3 11:12:15 2005
@@ -43,6 +43,7 @@
 import org.apache.beehive.netui.pageflow.internal.LegacySettings;
 import org.apache.beehive.netui.pageflow.internal.PageFlowRequestWrapper;
 import org.apache.beehive.netui.pageflow.internal.InternalConstants;
+import org.apache.beehive.netui.pageflow.internal.UnhandledException;
 import org.apache.beehive.netui.pageflow.scoping.ScopedRequest;
 import org.apache.beehive.netui.pageflow.scoping.ScopedServletUtils;
 import org.apache.beehive.netui.script.common.ImplicitObjectUtil;
@@ -597,6 +598,11 @@
         {
             super.process( request, response );
         }
+        catch ( UnhandledException unhandledException )
+        {
+            // If we get here, then we've already tried to find an exception handler.  Just throw.
+            throw unhandledException;
+        }
         catch ( ServletException servletEx )
         {
             // If a ServletException escapes out of any of the processing methods, let the current FlowController handle it.
@@ -844,7 +850,8 @@
         //
         PageFlowEventReporter er = _servletContainerAdapter.getEventReporter();
         _servletContainerAdapter.beginRequest( request, response );
-        er.beginActionRequest( request, response );
+        RequestContext requestContext = new RequestContext( request, response );
+        er.beginActionRequest( requestContext );
         long startTime = System.currentTimeMillis();
         
         //
@@ -873,7 +880,7 @@
             //
             _servletContainerAdapter.endRequest( request, response );
             long timeTaken = System.currentTimeMillis() - startTime;
-            er.endActionRequest( request, response, timeTaken );
+            er.endActionRequest( requestContext, timeTaken );
         }
 
         //

Modified: incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/DefaultExceptionsHandler.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/DefaultExceptionsHandler.java?rev=179844&r1=179843&r2=179844&view=diff
==============================================================================
--- incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/DefaultExceptionsHandler.java (original)
+++ incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/DefaultExceptionsHandler.java Fri Jun  3 11:12:15 2005
@@ -55,6 +55,7 @@
 import org.apache.beehive.netui.pageflow.PageFlowEventReporter;
 import org.apache.beehive.netui.pageflow.ExpressionMessage;
 import org.apache.beehive.netui.pageflow.PageFlowUtils;
+import org.apache.beehive.netui.pageflow.RequestContext;
 import org.apache.beehive.netui.pageflow.handler.ExceptionsHandler;
 import org.apache.beehive.netui.pageflow.handler.FlowControllerHandlerContext;
 import org.apache.beehive.netui.util.Bundle;
@@ -99,7 +100,9 @@
         }
         
         // Callback to the event reporter.
-        _eventReporter.exceptionRaised( ex, actionMapping, form, flowController, request, response );
+        RequestContext rc = new RequestContext( request, response );
+        ActionMapping originalActionMapping = actionMapping;
+        _eventReporter.exceptionRaised( rc, ex, originalActionMapping, form, flowController );
         long startTime = System.currentTimeMillis();
     
         //
@@ -175,7 +178,7 @@
 
             // Callback to the event reporter.
             long timeTaken = System.currentTimeMillis() - startTime;
-            _eventReporter.exceptionHandled( ex, actionMapping, form, flowController, request, response, ret, timeTaken );
+            _eventReporter.exceptionHandled( rc, ex, originalActionMapping, form, flowController, ret, timeTaken );
             
             return ret;
         }
@@ -188,9 +191,9 @@
        
         if ( ! getRegisteredExceptionsHandler().eatUnhandledException( context, ex ) )
         {
-            if ( ex instanceof ServletException ) throw ( ServletException ) ex;
-            if ( ex instanceof IOException ) throw ( IOException ) ex;
-            throw new ServletException( ex );
+            // Throwing this ServletException derivative will prevent any outer try/catch blocks from re-processing
+            // the exception.
+            throw new UnhandledException( ex );
         }
         
         return null;

Modified: incubator/beehive/trunk/netui/test/webapps/drt/build.xml
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/build.xml?rev=179844&r1=179843&r2=179844&view=diff
==============================================================================
--- incubator/beehive/trunk/netui/test/webapps/drt/build.xml (original)
+++ incubator/beehive/trunk/netui/test/webapps/drt/build.xml Fri Jun  3 11:12:15 2005
@@ -35,6 +35,12 @@
 
         <build-webapp webappDir="${webapp.dir}"/>
 
+        <!-- Copy a META-INF reference to our test.TestServletContainerAdapter (see
+             /WEB-INF/src/test/TestServletContainerAdapter.java for more details). -->
+        <copy todir="${webapp.dir}/WEB-INF/classes">
+            <fileset dir="${webapp.dir}/WEB-INF/src" includes="META-INF/**"/>
+        </copy>
+
         <echo message="--------------------------------------------------"/>
         <echo message="|     NetUI coreWeb DRT webapp build ending      |"/>
         <echo message="--------------------------------------------------"/>

Added: incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/src/META-INF/services/org.apache.beehive.netui.pageflow.ServletContainerAdapter
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/src/META-INF/services/org.apache.beehive.netui.pageflow.ServletContainerAdapter?rev=179844&view=auto
==============================================================================
--- incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/src/META-INF/services/org.apache.beehive.netui.pageflow.ServletContainerAdapter (added)
+++ incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/src/META-INF/services/org.apache.beehive.netui.pageflow.ServletContainerAdapter Fri Jun  3 11:12:15 2005
@@ -0,0 +1 @@
+test.TestServletContainerAdapter

Added: incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/src/pageFlowCore/eventReporter/TestEventReporter.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/src/pageFlowCore/eventReporter/TestEventReporter.java?rev=179844&view=auto
==============================================================================
--- incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/src/pageFlowCore/eventReporter/TestEventReporter.java (added)
+++ incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/src/pageFlowCore/eventReporter/TestEventReporter.java Fri Jun  3 11:12:15 2005
@@ -0,0 +1,203 @@
+package pageFlowCore.eventReporter;
+
+import org.apache.beehive.netui.pageflow.*;
+import javax.servlet.*;
+import javax.servlet.http.*;
+import org.apache.struts.action.*;
+import java.util.*;
+
+/**
+ * Used in the EventReporter test.
+ */
+public class TestEventReporter
+    extends DefaultPageFlowEventReporter
+{
+    private static final String HISTORY_ATTR = TestEventReporter.class.getName() + ":history";
+
+    public TestEventReporter( ServletContext servletContext )
+    {
+        super( servletContext );
+    }
+
+    public void actionRaised( RequestContext requestContext, FlowController flowController, ActionMapping mapping,
+                              ActionForm form )
+                              
+    {
+        if ( ! interestingRequest( requestContext ) ) return;
+        LogMsg2 msg = new LogMsg2( "actionRaised" );
+        msg.addParam( "FlowController", flowController );
+        msg.addParam( "ActionMapping", mapping );
+        msg.addParam( "ActionForm", form );
+        msg.addParam( "Request", requestContext.getRequest() );
+        msg.addParam( "Response", requestContext.getResponse() );
+        getHistory( requestContext ).add( msg.toString() );
+    }
+
+    public void actionSuccess( RequestContext requestContext, FlowController flowController, ActionMapping mapping,
+                               ActionForm form, ActionForward result, long timeTakenMillis )
+    {
+        if ( ! interestingRequest( requestContext ) ) return;
+        LogMsg2 msg = new LogMsg2( "actionSuccess" );
+        msg.addParam( "FlowController", flowController );
+        msg.addParam( "ActionMapping", mapping );
+        msg.addParam( "ActionForm", form );
+        msg.addParam( "Request", requestContext.getRequest() );
+        msg.addParam( "Response", requestContext.getResponse() );
+        msg.addParam( "ActionForward", result );
+        msg.addParam( "TimeTakenMillis", new Long( timeTakenMillis ) );
+        getHistory( requestContext ).add( msg.toString() );
+    }
+
+    public void exceptionRaised( RequestContext requestContext, Throwable ex, ActionMapping actionMapping,
+                                 ActionForm form, FlowController flowController )
+    {
+        if ( ! interestingRequest( requestContext ) ) return;
+        LogMsg2 msg = new LogMsg2( "exceptionRaised" );
+        msg.addParam( "Throwable", ex );
+        msg.addParam( "ActionMapping", actionMapping );
+        msg.addParam( "ActionForm", form );
+        msg.addParam( "FlowController", flowController );
+        msg.addParam( "Request", requestContext.getRequest() );
+        msg.addParam( "Response", requestContext.getResponse() );
+        getHistory( requestContext ).add( msg.toString() );
+    }
+
+    public void exceptionHandled( RequestContext requestContext, Throwable ex, ActionMapping actionMapping,
+                                  ActionForm form, FlowController flowController, ActionForward result,
+                                  long timeTakenMillis )
+    {
+        if ( ! interestingRequest( requestContext ) ) return;
+        LogMsg2 msg = new LogMsg2( "exceptionHandled" );
+        msg.addParam( "Throwable", ex );
+        msg.addParam( "ActionMapping", actionMapping );
+        msg.addParam( "ActionForm", form );
+        msg.addParam( "FlowController", flowController );
+        msg.addParam( "Request", requestContext.getRequest() );
+        msg.addParam( "Response", requestContext.getResponse() );
+        msg.addParam( "ActionForward", result );
+        msg.addParam( "TimeTakenMillis", new Long( timeTakenMillis ) );
+        getHistory( requestContext ).add( msg.toString() );
+    }
+
+    public void flowControllerCreated( RequestContext requestContext, FlowController flowController )
+    {
+        if ( ! interestingRequest( requestContext ) ) return;
+        LogMsg2 msg = new LogMsg2( "flowControllerCreated" );
+        msg.addParam( "FlowController", flowController );
+        msg.addParam( "Request", requestContext.getRequest() );
+        msg.addParam( "Response", requestContext.getResponse() );
+        getHistory( requestContext ).add( msg.toString() );
+    }
+
+    public void flowControllerDestroyed( FlowController flowController, Object storageLocation )
+    {
+        if ( flowController.getURI().startsWith( "/pageFlowCore/eventReporter" ) )
+        {
+            LogMsg2 msg = new LogMsg2( "flowControllerDestroyed" );
+            msg.addParam( "FlowController", flowController );
+            msg.addParam( "StorageLocation", storageLocation );
+            getHistory( ( HttpSession ) storageLocation ).add( msg.toString() );
+        }
+    }
+
+    public void beginActionRequest( RequestContext requestContext )
+    {
+        if ( ! interestingRequest( requestContext ) ) return;
+        LogMsg2 msg = new LogMsg2( "beginActionRequest" );
+        msg.addParam( "Request", requestContext.getRequest() );
+        msg.addParam( "Response", requestContext.getResponse() );
+        getHistory( requestContext ).add( msg.toString() );
+    }
+
+    public void endActionRequest( RequestContext requestContext, long timeTakenMillis )
+    {
+        if ( ! interestingRequest( requestContext ) ) return;
+        LogMsg2 msg = new LogMsg2( "endActionRequest" );
+        msg.addParam( "Request", requestContext.getRequest() );
+        msg.addParam( "Response", requestContext.getResponse() );
+        msg.addParam( "TimeTakenMillis", new Long( timeTakenMillis ) );
+        getHistory( requestContext ).add( msg.toString() );
+    }
+
+    public void beginPageRequest( RequestContext requestContext )
+    {
+        if ( ! interestingRequest( requestContext ) ) return;
+        LogMsg2 msg = new LogMsg2( "beginPageRequest" );
+        msg.addParam( "Request", requestContext.getRequest() );
+        msg.addParam( "Response", requestContext.getResponse() );
+        getHistory( requestContext ).add( msg.toString() );
+    }
+
+    public void endPageRequest( RequestContext requestContext, long timeTakenMillis )
+    {
+        if ( ! interestingRequest( requestContext ) ) return;
+        LogMsg2 msg = new LogMsg2( "endPageRequest" );
+        msg.addParam( "Request", requestContext.getRequest() );
+        msg.addParam( "Response", requestContext.getResponse() );
+        msg.addParam( "TimeTakenMillis", new Long( timeTakenMillis ) );
+        getHistory( requestContext ).add( msg.toString() );
+    }
+
+    private static boolean interestingRequest( RequestContext requestContext )
+    {
+        String servletPath = ( ( HttpServletRequest ) requestContext.getRequest() ).getServletPath();
+        return servletPath.startsWith( "/pageFlowCore/eventReporter" ) && servletPath.indexOf( "finish" ) == -1;
+    }
+
+    public static List< String > getHistory( RequestContext rc )
+    {
+        return getHistory( ( ( HttpServletRequest ) rc.getRequest() ).getSession() );
+    }
+
+    public static List< String > getHistory( HttpSession session )
+    {
+        List< String > hist = ( List< String > ) session.getAttribute( HISTORY_ATTR );
+        if ( hist == null )
+        {
+            hist = new ArrayList< String >();
+            session.setAttribute( HISTORY_ATTR, hist );
+        }
+        return hist;
+    }
+
+    public static void clearHistory( HttpSession session )
+    {
+        session.removeAttribute( HISTORY_ATTR );
+    }
+
+    private static class LogMsg2 extends LogMsg
+    {
+        public LogMsg2( String msg )
+        {
+            super( msg );
+        }
+
+        public void addParam( String name, Object value )
+        {
+            if ( name.equals( "TimeTakenMillis" ) )
+            {
+                value = "XXX";
+            }
+            else if ( value instanceof HttpServletRequest )
+            {
+                value = '{' + ( ( HttpServletRequest ) value ).getRequestURI() + '}';
+            }
+            else if ( value instanceof HttpServletResponse )
+            {
+                value = "{response}";
+            }
+            else if ( value instanceof HttpSession )
+            {
+                value = "{HTTP session}";
+            }
+            else if ( value != null )
+            {
+                // We don't want the "@XXXXX" at the end of toString values for objects that
+                // don't define toString().
+                value = value.toString().replaceAll( "@[a-f0-9]*", "" );
+            }
+
+            super.addParam( name, value );
+        }
+    }
+}

Propchange: incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/src/pageFlowCore/eventReporter/TestEventReporter.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/src/test/TestServletContainerAdapter.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/src/test/TestServletContainerAdapter.java?rev=179844&view=auto
==============================================================================
--- incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/src/test/TestServletContainerAdapter.java (added)
+++ incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/src/test/TestServletContainerAdapter.java Fri Jun  3 11:12:15 2005
@@ -0,0 +1,28 @@
+package test;
+
+import org.apache.beehive.netui.pageflow.DefaultServletContainerAdapter;
+import org.apache.beehive.netui.pageflow.SecurityProtocol;
+import org.apache.beehive.netui.pageflow.adapter.AdapterContext;
+import org.apache.beehive.netui.pageflow.PageFlowEventReporter;
+import org.apache.beehive.netui.pageflow.adapter.AdapterContext;
+
+import javax.servlet.http.HttpServletRequest;
+
+import pageFlowCore.eventReporter.TestEventReporter;
+
+/**
+ * Adapter that is used by tests in coreWeb (specifically, EventReporter).
+ */
+public class TestServletContainerAdapter
+    extends DefaultServletContainerAdapter
+{
+    public boolean accept( AdapterContext context )
+    {
+        return true;
+    }
+
+    public PageFlowEventReporter createEventReporter()
+    {
+        return new TestEventReporter( getServletContext() );
+    }
+}

Propchange: incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/src/test/TestServletContainerAdapter.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/pageFlowCore/eventReporter/Controller.jpf
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/pageFlowCore/eventReporter/Controller.jpf?rev=179844&view=auto
==============================================================================
--- incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/pageFlowCore/eventReporter/Controller.jpf (added)
+++ incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/pageFlowCore/eventReporter/Controller.jpf Fri Jun  3 11:12:15 2005
@@ -0,0 +1,81 @@
+package pageFlowCore.eventReporter;
+
+import org.apache.beehive.netui.pageflow.*;
+import org.apache.beehive.netui.pageflow.annotations.*;
+import org.apache.beehive.netui.util.internal.ServletUtils;
+import java.util.List;
+
+/**
+ * Used in the EventReporter test.
+ */
+@Jpf.Controller(
+    simpleActions={
+        @Jpf.SimpleAction(name="begin", path="index.jsp")
+    }
+)
+public class Controller extends PageFlowController
+{
+    protected void onCreate()
+    {
+    }
+
+    public List< String > getHistory()
+    {
+        return TestEventReporter.getHistory( getSession() );
+    }
+
+    @Jpf.Action(
+        forwards={
+            @Jpf.Forward(name="index", path="index.jsp")
+        },
+        catches={
+            @Jpf.Catch(type=IllegalStateException.class, path="index.jsp")
+        }
+    )
+    public Forward throwException( MyForm form )
+    {
+        throw new IllegalStateException( "intentional exception" );
+    }
+
+    @Jpf.Action(
+        forwards={
+            @Jpf.Forward(name="index", path="index.jsp")
+        }
+    )
+    public Forward removeMe()
+    {
+        remove();
+        return new Forward( "index" );
+    }
+
+    @Jpf.Action(
+        forwards={
+            @Jpf.Forward(name="finish", path="finish.html")
+        }
+    )
+    public Forward finish()
+    {
+        remove();
+        TestEventReporter.clearHistory( getSession() );
+
+        // Make sure the HTML page isn't allowed to be cached, so that "finish.do" isn't cached
+        // (i.e., is always run).
+        ServletUtils.preventCache( getResponse() );
+        return new Forward( "finish" );
+    }
+
+    public static class MyForm implements java.io.Serializable
+    {
+        private String _foo;
+
+        public String getFoo()
+        {
+            return _foo;
+        }
+
+        public void setFoo( String foo )
+        {
+            _foo = foo;
+        }
+    }
+}

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

Added: incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/pageFlowCore/eventReporter/finish.html
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/pageFlowCore/eventReporter/finish.html?rev=179844&view=auto
==============================================================================
--- incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/pageFlowCore/eventReporter/finish.html (added)
+++ incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/pageFlowCore/eventReporter/finish.html Fri Jun  3 11:12:15 2005
@@ -0,0 +1,8 @@
+<html>
+    <body>
+        OK, the test is finished.
+        <br/>
+        <br/>
+        <a href="begin.do">start again</a>
+    </body>
+</html>

Propchange: incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/pageFlowCore/eventReporter/finish.html
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/pageFlowCore/eventReporter/index.jsp
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/pageFlowCore/eventReporter/index.jsp?rev=179844&view=auto
==============================================================================
--- incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/pageFlowCore/eventReporter/index.jsp (added)
+++ incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/pageFlowCore/eventReporter/index.jsp Fri Jun  3 11:12:15 2005
@@ -0,0 +1,36 @@
+<%@ 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:form action="throwException">
+            <netui:button value="throwException (with form bean)"/>
+        </netui:form>
+        <netui:anchor action="removeMe">removeMe</netui:anchor>
+        <br/>
+        <br/>
+
+        <netui:anchor action="finish">finish, and clear the history</netui:anchor>
+        <br/>
+        <hr/>
+        Events:
+        <ol>
+            <netui-data:repeater dataSource="pageFlow.history">
+                <netui-data:repeaterItem>
+                    <li>${container.item}</li>
+                </netui-data:repeaterItem>
+            </netui-data:repeater>
+        </ol>
+    </netui:body>
+</netui:html>
+
+  
+

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

Modified: incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml?rev=179844&r1=179843&r2=179844&view=diff
==============================================================================
--- 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 Fri Jun  3 11:12:15 2005
@@ -3637,6 +3637,19 @@
          </features>
       </test>
       <test>
+         <name>EventReporter</name>
+         <description>Test to ensure that the right Page Flow events get reported.</description>
+         <webapp>coreWeb</webapp>
+         <categories>
+            <category>bvt</category>
+            <category>bvt.struts11</category>
+            <category>corePageFlow</category>
+         </categories>
+         <features>
+            <feature>Events</feature>
+         </features>
+      </test>
+      <test>
          <name>Except</name>
          <description>Verify that catching exception locally and globally works.</description>
          <webapp>coreWeb</webapp>

Added: incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/EventReporter.xml
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/EventReporter.xml?rev=179844&view=auto
==============================================================================
--- incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/EventReporter.xml (added)
+++ incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/EventReporter.xml Fri Jun  3 11:12:15 2005
@@ -0,0 +1,460 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ses:recorderSession xmlns:ses="http://beehive.apache.org/netui/tools/testrecorder/2004/session">
+   <ses:sessionName>EventReporter</ses:sessionName>
+   <ses:tester>rich</ses:tester>
+   <ses:startDate>03 Jun 2005, 11:41:42.499 AM MDT</ses:startDate>
+   <ses:description>Test to ensure that the right Page Flow events get reported.</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/eventReporter/Controller.jpf</ses:uri>
+            <ses:method>GET</ses:method>
+            <ses:parameters/>
+            <ses:cookies>
+               <ses:cookie>
+                  <ses:name>JSESSIONID</ses:name>
+                  <ses:value>435E448BA758F8FE570CAEACE93F042B</ses:value>
+               </ses:cookie>
+               <ses:cookie>
+                  <ses:name>nde-textsize</ses:name>
+                  <ses:value>16px</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=435E448BA758F8FE570CAEACE93F042B; nde-textsize=16px</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.8) Gecko/20050511 Firefox/1.0.4</ses:value>
+               </ses:header>
+            </ses:headers>
+         </ses:request>
+         <ses:response>
+            <ses:statusCode>200</ses:statusCode>
+            <ses:reason/>
+            <ses:responseBody>&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+	"http://www.w3.org/TR/html4/loose.dtd">
+&lt;html lang="en">
+
+    &lt;head>
+        &lt;base href="http://localhost:8080/coreWeb/pageFlowCore/eventReporter/index.jsp">
+    &lt;/head>
+    &lt;body>
+        &lt;h3>/pageFlowCore/eventReporter/Controller.jpf&lt;/h3>
+
+        &lt;form action="/coreWeb/pageFlowCore/eventReporter/throwException.do" method="post">
+            &lt;input type="submit" value="throwException (with form bean)">
+        &lt;/form>
+        &lt;a href="/coreWeb/pageFlowCore/eventReporter/removeMe.do">removeMe&lt;/a>
+        &lt;br/>
+        &lt;br/>
+
+        &lt;a href="/coreWeb/pageFlowCore/eventReporter/finish.do">finish, and clear the history&lt;/a>
+        &lt;br/>
+        &lt;hr/>
+        Events:
+        &lt;ol>
+            
+                    &lt;li>beginActionRequest: Request={/coreWeb/pageFlowCore/eventReporter/Controller.jpf}, Response={response}&lt;/li>
+                
+                    &lt;li>beginActionRequest: Request={/coreWeb/pageFlowCore/eventReporter/begin.do}, Response={response}&lt;/li>
+                
+                    &lt;li>flowControllerCreated: FlowController=pageFlowCore.eventReporter.Controller, Request={/coreWeb/pageFlowCore/eventReporter/begin.do}, Response={response}&lt;/li>
+                
+                    &lt;li>actionRaised: FlowController=pageFlowCore.eventReporter.Controller, ActionMapping=ActionConfig[path=/begin,parameter=pageFlowCore.eventReporter.Controller,scope=request,type=org.apache.beehive.netui.pageflow.internal.FlowControllerAction, ActionForm=null, Request={/coreWeb/pageFlowCore/eventReporter/begin.do}, Response={response}&lt;/li>
+                
+                    &lt;li>actionSuccess: FlowController=pageFlowCore.eventReporter.Controller, ActionMapping=ActionConfig[path=/begin,parameter=pageFlowCore.eventReporter.Controller,scope=request,type=org.apache.beehive.netui.pageflow.internal.FlowControllerAction, ActionForm=null, Request={/coreWeb/pageFlowCore/eventReporter/begin.do}, Response={response}, ActionForward=ForwardConfig[name=_defaultForward,path=/index.jsp,redirect=false,contextRelative=false,module=null], TimeTakenMillis=XXX&lt;/li>
+                
+                    &lt;li>beginPageRequest: Request={/coreWeb/pageFlowCore/eventReporter/index.jsp}, Response={response}&lt;/li>
+                
+        &lt;/ol>
+    &lt;/body>
+
+&lt;/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/eventReporter/throwException.do</ses:uri>
+            <ses:method>POST</ses:method>
+            <ses:parameters/>
+            <ses:cookies>
+               <ses:cookie>
+                  <ses:name>JSESSIONID</ses:name>
+                  <ses:value>435E448BA758F8FE570CAEACE93F042B</ses:value>
+               </ses:cookie>
+               <ses:cookie>
+                  <ses:name>nde-textsize</ses:name>
+                  <ses:value>16px</ses:value>
+               </ses:cookie>
+            </ses:cookies>
+            <ses:headers>
+               <ses:header>
+                  <ses:name>accept</ses:name>
+                  <ses:value>text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-charset</ses:name>
+                  <ses:value>ISO-8859-1,utf-8;q=0.7,*;q=0.7</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-encoding</ses:name>
+                  <ses:value>gzip,deflate</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-language</ses:name>
+                  <ses:value>en-us,en;q=0.5</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>connection</ses:name>
+                  <ses:value>keep-alive</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>content-length</ses:name>
+                  <ses:value>0</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>content-type</ses:name>
+                  <ses:value>application/x-www-form-urlencoded</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>cookie</ses:name>
+                  <ses:value>JSESSIONID=435E448BA758F8FE570CAEACE93F042B; nde-textsize=16px</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/eventReporter/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.8) Gecko/20050511 Firefox/1.0.4</ses:value>
+               </ses:header>
+            </ses:headers>
+         </ses:request>
+         <ses:response>
+            <ses:statusCode>200</ses:statusCode>
+            <ses:reason/>
+            <ses:responseBody>&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+	"http://www.w3.org/TR/html4/loose.dtd">
+&lt;html lang="en">
+
+    &lt;head>
+        &lt;base href="http://localhost:8080/coreWeb/pageFlowCore/eventReporter/index.jsp">
+    &lt;/head>
+    &lt;body>
+        &lt;h3>/pageFlowCore/eventReporter/Controller.jpf&lt;/h3>
+
+        &lt;form action="/coreWeb/pageFlowCore/eventReporter/throwException.do" method="post">
+            &lt;input type="submit" value="throwException (with form bean)">
+        &lt;/form>
+        &lt;a href="/coreWeb/pageFlowCore/eventReporter/removeMe.do">removeMe&lt;/a>
+        &lt;br/>
+        &lt;br/>
+
+        &lt;a href="/coreWeb/pageFlowCore/eventReporter/finish.do">finish, and clear the history&lt;/a>
+        &lt;br/>
+        &lt;hr/>
+        Events:
+        &lt;ol>
+            
+                    &lt;li>beginActionRequest: Request={/coreWeb/pageFlowCore/eventReporter/Controller.jpf}, Response={response}&lt;/li>
+                
+                    &lt;li>beginActionRequest: Request={/coreWeb/pageFlowCore/eventReporter/begin.do}, Response={response}&lt;/li>
+                
+                    &lt;li>flowControllerCreated: FlowController=pageFlowCore.eventReporter.Controller, Request={/coreWeb/pageFlowCore/eventReporter/begin.do}, Response={response}&lt;/li>
+                
+                    &lt;li>actionRaised: FlowController=pageFlowCore.eventReporter.Controller, ActionMapping=ActionConfig[path=/begin,parameter=pageFlowCore.eventReporter.Controller,scope=request,type=org.apache.beehive.netui.pageflow.internal.FlowControllerAction, ActionForm=null, Request={/coreWeb/pageFlowCore/eventReporter/begin.do}, Response={response}&lt;/li>
+                
+                    &lt;li>actionSuccess: FlowController=pageFlowCore.eventReporter.Controller, ActionMapping=ActionConfig[path=/begin,parameter=pageFlowCore.eventReporter.Controller,scope=request,type=org.apache.beehive.netui.pageflow.internal.FlowControllerAction, ActionForm=null, Request={/coreWeb/pageFlowCore/eventReporter/begin.do}, Response={response}, ActionForward=ForwardConfig[name=_defaultForward,path=/index.jsp,redirect=false,contextRelative=false,module=null], TimeTakenMillis=XXX&lt;/li>
+                
+                    &lt;li>beginPageRequest: Request={/coreWeb/pageFlowCore/eventReporter/index.jsp}, Response={response}&lt;/li>
+                
+                    &lt;li>endPageRequest: Request={/coreWeb/pageFlowCore/eventReporter/index.jsp}, Response={response}, TimeTakenMillis=XXX&lt;/li>
+                
+                    &lt;li>endActionRequest: Request={/coreWeb/pageFlowCore/eventReporter/begin.do}, Response={response}, TimeTakenMillis=XXX&lt;/li>
+                
+                    &lt;li>endActionRequest: Request={/coreWeb/pageFlowCore/eventReporter/Controller.jpf}, Response={response}, TimeTakenMillis=XXX&lt;/li>
+                
+                    &lt;li>beginActionRequest: Request={/coreWeb/pageFlowCore/eventReporter/throwException.do}, Response={response}&lt;/li>
+                
+                    &lt;li>actionRaised: FlowController=pageFlowCore.eventReporter.Controller, ActionMapping=ActionConfig[path=/throwException,name=myForm,parameter=pageFlowCore.eventReporter.Controller,scope=request,type=org.apache.beehive.netui.pageflow.internal.FlowControllerAction, ActionForm=[AnyBeanActionForm wrapper for pageFlowCore.eventReporter.Controller$MyForm], Request={/coreWeb/pageFlowCore/eventReporter/throwException.do}, Response={response}&lt;/li>
+                
+                    &lt;li>exceptionRaised: Throwable=java.lang.IllegalStateException: intentional exception, ActionMapping=ActionConfig[path=/throwException,name=myForm,parameter=pageFlowCore.eventReporter.Controller,scope=request,type=org.apache.beehive.netui.pageflow.internal.FlowControllerAction, ActionForm=[AnyBeanActionForm wrapper for pageFlowCore.eventReporter.Controller$MyForm], FlowController=pageFlowCore.eventReporter.Controller, Request={/coreWeb/pageFlowCore/eventReporter/throwException.do}, Response={response}&lt;/li>
+                
+                    &lt;li>exceptionHandled: Throwable=java.lang.IllegalStateException: intentional exception, ActionMapping=ActionConfig[path=/throwException,name=myForm,parameter=pageFlowCore.eventReporter.Controller,scope=request,type=org.apache.beehive.netui.pageflow.internal.FlowControllerAction, ActionForm=[AnyBeanActionForm wrapper for pageFlowCore.eventReporter.Controller$MyForm], FlowController=pageFlowCore.eventReporter.Controller, Request={/coreWeb/pageFlowCore/eventReporter/throwException.do}, Response={response}, ActionForward=ForwardConfig[name=null,path=/index.jsp,redirect=false,contextRelative=false,module=null], TimeTakenMillis=XXX&lt;/li>
+                
+                    &lt;li>beginPageRequest: Request={/coreWeb/pageFlowCore/eventReporter/index.jsp}, Response={response}&lt;/li>
+                
+        &lt;/ol>
+    &lt;/body>
+
+&lt;/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/eventReporter/removeMe.do</ses:uri>
+            <ses:method>GET</ses:method>
+            <ses:parameters/>
+            <ses:cookies>
+               <ses:cookie>
+                  <ses:name>JSESSIONID</ses:name>
+                  <ses:value>435E448BA758F8FE570CAEACE93F042B</ses:value>
+               </ses:cookie>
+               <ses:cookie>
+                  <ses:name>nde-textsize</ses:name>
+                  <ses:value>16px</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=435E448BA758F8FE570CAEACE93F042B; nde-textsize=16px</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/eventReporter/throwException.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.8) Gecko/20050511 Firefox/1.0.4</ses:value>
+               </ses:header>
+            </ses:headers>
+         </ses:request>
+         <ses:response>
+            <ses:statusCode>200</ses:statusCode>
+            <ses:reason/>
+            <ses:responseBody>&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+	"http://www.w3.org/TR/html4/loose.dtd">
+&lt;html lang="en">
+
+    &lt;head>
+        &lt;base href="http://localhost:8080/coreWeb/pageFlowCore/eventReporter/index.jsp">
+    &lt;/head>
+    &lt;body>
+        &lt;h3>/pageFlowCore/eventReporter/Controller.jpf&lt;/h3>
+
+        &lt;form action="/coreWeb/pageFlowCore/eventReporter/throwException.do" method="post">
+            &lt;input type="submit" value="throwException (with form bean)">
+        &lt;/form>
+        &lt;a href="/coreWeb/pageFlowCore/eventReporter/removeMe.do">removeMe&lt;/a>
+        &lt;br/>
+        &lt;br/>
+
+        &lt;a href="/coreWeb/pageFlowCore/eventReporter/finish.do">finish, and clear the history&lt;/a>
+        &lt;br/>
+        &lt;hr/>
+        Events:
+        &lt;ol>
+            
+                    &lt;li>beginActionRequest: Request={/coreWeb/pageFlowCore/eventReporter/Controller.jpf}, Response={response}&lt;/li>
+                
+                    &lt;li>beginActionRequest: Request={/coreWeb/pageFlowCore/eventReporter/begin.do}, Response={response}&lt;/li>
+                
+                    &lt;li>flowControllerCreated: FlowController=pageFlowCore.eventReporter.Controller, Request={/coreWeb/pageFlowCore/eventReporter/begin.do}, Response={response}&lt;/li>
+                
+                    &lt;li>actionRaised: FlowController=pageFlowCore.eventReporter.Controller, ActionMapping=ActionConfig[path=/begin,parameter=pageFlowCore.eventReporter.Controller,scope=request,type=org.apache.beehive.netui.pageflow.internal.FlowControllerAction, ActionForm=null, Request={/coreWeb/pageFlowCore/eventReporter/begin.do}, Response={response}&lt;/li>
+                
+                    &lt;li>actionSuccess: FlowController=pageFlowCore.eventReporter.Controller, ActionMapping=ActionConfig[path=/begin,parameter=pageFlowCore.eventReporter.Controller,scope=request,type=org.apache.beehive.netui.pageflow.internal.FlowControllerAction, ActionForm=null, Request={/coreWeb/pageFlowCore/eventReporter/begin.do}, Response={response}, ActionForward=ForwardConfig[name=_defaultForward,path=/index.jsp,redirect=false,contextRelative=false,module=null], TimeTakenMillis=XXX&lt;/li>
+                
+                    &lt;li>beginPageRequest: Request={/coreWeb/pageFlowCore/eventReporter/index.jsp}, Response={response}&lt;/li>
+                
+                    &lt;li>endPageRequest: Request={/coreWeb/pageFlowCore/eventReporter/index.jsp}, Response={response}, TimeTakenMillis=XXX&lt;/li>
+                
+                    &lt;li>endActionRequest: Request={/coreWeb/pageFlowCore/eventReporter/begin.do}, Response={response}, TimeTakenMillis=XXX&lt;/li>
+                
+                    &lt;li>endActionRequest: Request={/coreWeb/pageFlowCore/eventReporter/Controller.jpf}, Response={response}, TimeTakenMillis=XXX&lt;/li>
+                
+                    &lt;li>beginActionRequest: Request={/coreWeb/pageFlowCore/eventReporter/throwException.do}, Response={response}&lt;/li>
+                
+                    &lt;li>actionRaised: FlowController=pageFlowCore.eventReporter.Controller, ActionMapping=ActionConfig[path=/throwException,name=myForm,parameter=pageFlowCore.eventReporter.Controller,scope=request,type=org.apache.beehive.netui.pageflow.internal.FlowControllerAction, ActionForm=[AnyBeanActionForm wrapper for pageFlowCore.eventReporter.Controller$MyForm], Request={/coreWeb/pageFlowCore/eventReporter/throwException.do}, Response={response}&lt;/li>
+                
+                    &lt;li>exceptionRaised: Throwable=java.lang.IllegalStateException: intentional exception, ActionMapping=ActionConfig[path=/throwException,name=myForm,parameter=pageFlowCore.eventReporter.Controller,scope=request,type=org.apache.beehive.netui.pageflow.internal.FlowControllerAction, ActionForm=[AnyBeanActionForm wrapper for pageFlowCore.eventReporter.Controller$MyForm], FlowController=pageFlowCore.eventReporter.Controller, Request={/coreWeb/pageFlowCore/eventReporter/throwException.do}, Response={response}&lt;/li>
+                
+                    &lt;li>exceptionHandled: Throwable=java.lang.IllegalStateException: intentional exception, ActionMapping=ActionConfig[path=/throwException,name=myForm,parameter=pageFlowCore.eventReporter.Controller,scope=request,type=org.apache.beehive.netui.pageflow.internal.FlowControllerAction, ActionForm=[AnyBeanActionForm wrapper for pageFlowCore.eventReporter.Controller$MyForm], FlowController=pageFlowCore.eventReporter.Controller, Request={/coreWeb/pageFlowCore/eventReporter/throwException.do}, Response={response}, ActionForward=ForwardConfig[name=null,path=/index.jsp,redirect=false,contextRelative=false,module=null], TimeTakenMillis=XXX&lt;/li>
+                
+                    &lt;li>beginPageRequest: Request={/coreWeb/pageFlowCore/eventReporter/index.jsp}, Response={response}&lt;/li>
+                
+                    &lt;li>endPageRequest: Request={/coreWeb/pageFlowCore/eventReporter/index.jsp}, Response={response}, TimeTakenMillis=XXX&lt;/li>
+                
+                    &lt;li>endActionRequest: Request={/coreWeb/pageFlowCore/eventReporter/throwException.do}, Response={response}, TimeTakenMillis=XXX&lt;/li>
+                
+                    &lt;li>beginActionRequest: Request={/coreWeb/pageFlowCore/eventReporter/removeMe.do}, Response={response}&lt;/li>
+                
+                    &lt;li>actionRaised: FlowController=pageFlowCore.eventReporter.Controller, ActionMapping=ActionConfig[path=/removeMe,parameter=pageFlowCore.eventReporter.Controller,scope=request,type=org.apache.beehive.netui.pageflow.internal.FlowControllerAction, ActionForm=null, Request={/coreWeb/pageFlowCore/eventReporter/removeMe.do}, Response={response}&lt;/li>
+                
+                    &lt;li>flowControllerDestroyed: FlowController=pageFlowCore.eventReporter.Controller, StorageLocation={HTTP session}&lt;/li>
+                
+                    &lt;li>actionSuccess: FlowController=pageFlowCore.eventReporter.Controller, ActionMapping=ActionConfig[path=/removeMe,parameter=pageFlowCore.eventReporter.Controller,scope=request,type=org.apache.beehive.netui.pageflow.internal.FlowControllerAction, ActionForm=null, Request={/coreWeb/pageFlowCore/eventReporter/removeMe.do}, Response={response}, ActionForward=ForwardConfig[name=index,path=/index.jsp,redirect=false,contextRelative=false,module=null], TimeTakenMillis=XXX&lt;/li>
+                
+                    &lt;li>beginPageRequest: Request={/coreWeb/pageFlowCore/eventReporter/index.jsp}, Response={response}&lt;/li>
+                
+                    &lt;li>flowControllerCreated: FlowController=pageFlowCore.eventReporter.Controller, Request={/coreWeb/pageFlowCore/eventReporter/index.jsp}, Response={response}&lt;/li>
+                
+        &lt;/ol>
+    &lt;/body>
+
+&lt;/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/eventReporter/finish.do</ses:uri>
+            <ses:method>GET</ses:method>
+            <ses:parameters/>
+            <ses:cookies>
+               <ses:cookie>
+                  <ses:name>JSESSIONID</ses:name>
+                  <ses:value>435E448BA758F8FE570CAEACE93F042B</ses:value>
+               </ses:cookie>
+               <ses:cookie>
+                  <ses:name>nde-textsize</ses:name>
+                  <ses:value>16px</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=435E448BA758F8FE570CAEACE93F042B; nde-textsize=16px</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/eventReporter/removeMe.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.8) Gecko/20050511 Firefox/1.0.4</ses:value>
+               </ses:header>
+            </ses:headers>
+         </ses:request>
+         <ses:response>
+            <ses:statusCode>200</ses:statusCode>
+            <ses:reason/>
+            <ses:responseBody><![CDATA[<html>
+    <body>
+        OK, the test is finished.
+        <br/>
+        <br/>
+        <a href="begin.do">start again</a>
+    </body>
+</html>]]></ses:responseBody>
+         </ses:response>
+      </ses:test>
+   </ses:tests>
+   <ses:endDate>03 Jun 2005, 11:43:22.162 AM MDT</ses:endDate>
+   <ses:testCount>4</ses:testCount>
+</ses:recorderSession>

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

Modified: incubator/beehive/trunk/netui/test/webapps/urlTemplates/build.xml
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/urlTemplates/build.xml?rev=179844&r1=179843&r2=179844&view=diff
==============================================================================
--- incubator/beehive/trunk/netui/test/webapps/urlTemplates/build.xml (original)
+++ incubator/beehive/trunk/netui/test/webapps/urlTemplates/build.xml Fri Jun  3 11:12:15 2005
@@ -26,6 +26,12 @@
 
         <build-webapp webappDir="${webapp.dir}"/>
 
+        <!-- Copy a META-INF reference to our test.TestServletContainerAdapter (see
+             /WEB-INF/src/test/TestServletContainerAdapter.java for more details). -->
+        <copy todir="${webapp.dir}/WEB-INF/classes">
+            <fileset dir="${webapp.dir}/WEB-INF/src" includes="META-INF/**"/>
+        </copy>
+
         <echo message="--------------------------------------------------"/>
         <echo message="|   NetUI urlTemplates DRT webapp build ending   |"/>
         <echo message="--------------------------------------------------"/>
@@ -45,13 +51,6 @@
             <property name="webapp.file" location="${app.dir}/urlTemplates/testRecorder/config/testRecorder-webapp.xml"/>
             <property name="struts.version" value="${struts.version}"/>
         </ant>
-
-        <!-- Copy a META-INF reference to our test.TestServletContainerAdapter (see
-             /WEB-INF/src/test/TestServletContainerAdapter.java for more details. -->
-        <copy todir="${webapp.dir}/WEB-INF/classes">
-            <fileset dir="${webapp.dir}/WEB-INF/src" includes="META-INF/**"/>
-        </copy>
-
     </target>
 
     <target name="clean" description="Clean webapp">