You are viewing a plain text version of this content. The canonical link for it is here.
Posted to pluto-dev@portals.apache.org by "Christian Raschka (JIRA)" <ji...@apache.org> on 2007/11/23 10:57:43 UTC

[jira] Updated: (PLUTO-444) Filter chain is not implemented the right way

     [ https://issues.apache.org/jira/browse/PLUTO-444?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Christian Raschka updated PLUTO-444:
------------------------------------

    Attachment: filter.231107.patch

This patch implements this functionality and works as follows:

The FilterManager.processFilter() method returns a boolean, if the normal lifecycle should process or not.

It gets its information from a boolean field in the FilterChainImpl which is set to "normal", if there are no filters or the index of filter is size+1. This means, that the doFilter() method is invoked, but no filter exists anymore. -> Invoke normal lifecycle.


> Filter chain is not implemented the right way
> ---------------------------------------------
>
>                 Key: PLUTO-444
>                 URL: https://issues.apache.org/jira/browse/PLUTO-444
>             Project: Pluto
>          Issue Type: Sub-task
>          Components: portal driver
>    Affects Versions: 1.1-286-COMPATIBILITY, 1.1-286-trunk-merge
>            Reporter: Christian Raschka
>            Priority: Critical
>             Fix For: 1.1-286-COMPATIBILITY, 1.1-286-trunk-merge
>
>         Attachments: filter.231107.patch
>
>
> In my opinion portlet filter should work the same way like servlet filters do:
> An example: If you have a filter chain with filters F1 and F2, then the chain is: F1 -> F2 -> target -> F2 -> F1.
> An exception is, if a Filter does not call filterChain.doFilter. Then no other filter _or_ the target is invoked and the filter itself is responsible for the response.
> (e.g. see http://java.sun.com/products/servlet/Filters.html)
> In the current implementation the target is invoked, no matter if a filter blocks the chain or not.

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