You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by "Carsten Ziegeler (JIRA)" <ji...@apache.org> on 2009/10/07 10:56:31 UTC

[jira] Updated: (SLING-1003) Integration of 3rd party servlet filters problematic

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

Carsten Ziegeler updated SLING-1003:
------------------------------------

    Fix Version/s:     (was: Engine 2.0.6)
                   Engine 2.0.8

Moving to next version

> Integration of 3rd party servlet filters problematic
> ----------------------------------------------------
>
>                 Key: SLING-1003
>                 URL: https://issues.apache.org/jira/browse/SLING-1003
>             Project: Sling
>          Issue Type: Bug
>          Components: Engine
>    Affects Versions: Engine 2.0.4
>         Environment: Windows Vista, 
> java version "1.6.0_13"
> Java(TM) SE Runtime Environment (build 1.6.0_13-b03)
> Java HotSpot(TM) Client VM (build 11.3-b02, mixed mode, sharing)
>            Reporter: Christian Sprecher
>            Assignee: Felix Meschberger
>            Priority: Minor
>             Fix For: Engine 2.0.8
>
>         Attachments: RequestData.diff, SlingWebCastellum-1.0.jar
>
>
> There is a problem within the chain handling: the 3rd party filter uses it's own wrapper for requests and response, and supplies it to the chain in the chain.doFilter() call. This leads to a ClassCastException on line 54 of AbstractSlingFilterChain:
> ...
>            RequestProgressTracker tracker = ((SlingHttpServletRequest) request).getRequestProgressTracker();
> ...
> I am not sure if this cast is valid in the context of a filter chain. On the other hand I am not sure wether such a use case (filter that manipulates request and response) has a chance to run in Sling.
> ==> Please note that this servlet filter needs to run as early as possible in the filter chain
> java.lang.ClassCastException: org.webcastellum.RequestWrapper cannot be cast to
> org.apache.sling.api.SlingHttpServletRequest
>        at org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter
> (AbstractSlingFilterChain.java:54)
>        at org.webcastellum.WebCastellumFilter.internalDoFilter(WebCastellumFilt
> er.java:2610)
>        at org.webcastellum.WebCastellumFilter.doFilter(WebCastellumFilter.java:
> 1710)

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