You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@beehive.apache.org by "Carlin Rogers (JIRA)" <de...@beehive.apache.org> on 2005/09/07 17:49:33 UTC

[jira] Updated: (BEEHIVE-909) When a response is already committed PageFlowUtils.strutsLookup() does not return the expected ActionResult.

     [ http://issues.apache.org/jira/browse/BEEHIVE-909?page=all ]

Carlin Rogers updated BEEHIVE-909:
----------------------------------

    Attachment: j909-patch.txt

The following patch modifies the PageFlowRequestWrapper class to add a new member data "scopedLookup" indicating whether the request wrapper is being used in a call through the API. In PageFlowUtils.strutsLookup() we set scopedLookup to true and in PageFlowRequestProcessor.doForward() we do the direct include only if the request wrapper is not a scopedLookup and the response is committed.

The patch includes test files to reproduce and a test recording for BVT.

> When a response is already committed PageFlowUtils.strutsLookup() does not return the expected ActionResult.
> ------------------------------------------------------------------------------------------------------------
>
>          Key: BEEHIVE-909
>          URL: http://issues.apache.org/jira/browse/BEEHIVE-909
>      Project: Beehive
>         Type: Bug
>   Components: NetUI
>     Versions: v1m1, V1Beta
>     Reporter: Carlin Rogers
>     Assignee: Carlin Rogers
>      Fix For: TBD
>  Attachments: j909-patch.txt
>
> When a response is already committed PageFlowUtils.strutsLookup() does not return the expected ActionResult. PageFlowUtils.strutsLookup() runs an entire request-processing cycle which eventually calls PageFlowRequestProcessor.doForward(). The tiles support in PageFlowRequestProcessor.doForward() will do a direct include, doInclude(), if response.isCommitted(), rather than processing the forward.
> Would be nice to have a way to detect that a call to the PageFlowRequestProcessor.doForward() happened during a PageFlowUtils.strutsLookup() call and avoid the direct include when the response is committed.
> To reproduce, create a simple Page Flow Controller. In a corresponding JSP, call response.flushBuffer() to force the response to be committed, create a ScopedRequest and ScopedResponse, then call PageFlowUtils.strutsLookup() and print out the URI of the returned ActionResult.
> I'll create a patch and test for this bug.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira