cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Carsten Ziegeler <>
Subject Re: Wrong restauration of environment context after pass-through
Date Sat, 29 Jan 2005 17:59:09 GMT
I just applied a fix; the test-case now runs without errors and other 
things still seem to work :) - AFAI can tell this fix shouldn't cause 
any unwanted site effects.

So, if it works, well...greetings to your project :)


Carsten Ziegeler wrote:
> Sylvain Wallez wrote:
>> Carsten Ziegeler wrote:
>> I don't understand what is this "last context": does it have to behave 
>> like a stack, or is it the context in which the internal pipeline has 
>> been built?
> It is the context in which the internal pipeline will run; it's not a 
> stack. Internal pipeline calls are done in two phases: the first one 
> building the pipeline and the second on invoking the pipeline. As only 
> during the first phase the tree processor is invoke, the environment 
> context (or the location of the sitemap used for the pipeline) is lost. 
> Therefore the environment wrapper stores the last sitemap used (which is 
> currently the deepest sitemap used during processing).
> And I think this is exactly the problem with the pass through, because 
> with pass-through the sitemap that should be used for running the 
> pipeline is not the deepest one, but a different one.
> So, rethinking everything this could be fixed perhaps more easily than I 
> thought. If the flow comes back from a sub sitemap without a match (pass 
> through) then the last context of the wrapper should be overwritten with 
> the current context.
> I'm just testing a fix for this - stay tuned.
>> Also, what's the relation between a mount and subsequent internal 
>> pipelines. Each internal pipeline uses its own EnvironmentWrapper? 
> Yes, exactly.
>> So that would mean that the original HttpEnvironment has been modified?
> No, the original environment should never be modified.
> Carsten

View raw message