Sylvain Wallez wrote:
>
>
> Ah yes, I understand the "technically nearly impossible" now:
> - pipeline building is always under control of the
> treeprocessor. So in that phase, this is possible.
Yes.
> - for external requests, pipeling processing occurs within
> the treeprocessor (in the node that closes the pipeline), so
> it's possible here also
Yes.
> - for internal requests, pipeline processing occurs outside
> of the treeprocessor, when the caller uses
> SitemapSource.getInputStream(). This is where the difficult
> point is...
Yupp.
>
> Mmmh... what we can do is give the SitemapSource an
> error-handling processor which would just wrap the
> error-handler (if any) in the <map:pipeline> where the
> pipeline was built. The SitemapSource can then call that
> special processor if a problem arises during pipeline execution.
>
> The means for the TreeProcessor to pass this special
> error-handling processor to the SitemapSource can be the
> MutableEnvironmentFacade that's already considered as a
> special case by the TreeProcessor. This class is a kind of
> "backwards communication channel" from the Processor to the
> SitemapSource.
>
> I think this should work, and this solution has no impact on
> the existing interfaces.
>
Sounds good (and more important it sounds possible :) ). So, we just
have to do some votes (about the redirect=forwarding) and the
correct notion of this one, implement it and voila have this
nice little feature many users ask for.
Great!
Carsten
|