You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by "Christophe Cordenier (JIRA)" <ji...@apache.org> on 2010/01/14 16:34:54 UTC

[jira] Commented: (TAP5-986) sendError in onActivate / Tapestry error dispatching

    [ https://issues.apache.org/jira/browse/TAP5-986?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12800234#action_12800234 ] 

Christophe Cordenier commented on TAP5-986:
-------------------------------------------

About the patch :

I have implement a ComponentEventResultProcessor that throw an exception when the type return is an instance of HttpError.

The sendError call is effectively made in a RequestFilter so the RestoreDirtySessionObjects dirty is bypassed like as RequestErrorFilter does (return true in catch Throwable clause)

One advantage of this solution is that it's easy for the developper to send an error without injecting Response service in its page.

> sendError in onActivate / Tapestry error dispatching
> ----------------------------------------------------
>
>                 Key: TAP5-986
>                 URL: https://issues.apache.org/jira/browse/TAP5-986
>             Project: Tapestry 5
>          Issue Type: Bug
>          Components: tapestry-core
>    Affects Versions: 5.1.0.5
>            Reporter: Christophe Cordenier
>         Attachments: TAP5-986.txt
>
>
> With this kind of configuration in web.xml :
> <filter-mapping>
> 	<filter-name>tapestryFilter</filter-name>
> 	<url-pattern>/*</url-pattern>
> 	<dispatcher>ERROR</dispatcher>
> 	<dispatcher>REQUEST</dispatcher>
> </filter-mapping>
> <error-page>
> 	<error-code>403</error-code>
> 	<location>/error/AccessDenied</location>
> </error-page>
> <error-page>
> 	<error-code>404</error-code>
> 	<location>/error/NotFound</location>
> </error-page>
> RestoreDirtySessionObjects is generating a NullPointerException with this line :
> Session session = request.getSession(false);
> It seems that the dispatching is done in one single thread, then the initial class to RestoreDirtySessionObjects is delay, and request object is lost.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.