cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Carsten Ziegeler" <cziege...@s-und-n.de>
Subject RE: redirect handling, environment handling, etc.
Date Thu, 19 Feb 2004 13:08:28 GMT
Unico Hommes wrote: 
> 
> Marco Rolappe wrote:
> > 
> > ;-)
> > 
> > the problems to be solved are the problems described: missing 
> > processing key check, missing start/endProcessing around 
> > ForwardEnvironment, storing the process key in the environment's 
> > object model, etc.
> > 
> 
The mssing processing key check is intentionally. If startProcessing()
is called twice on the same environment something is obviously wrong.
Unfortunately, an internal request/environment gets a copy of
the parent object model, so it also gets the key in it's copy.
So, in this case startProcessing() is legal and *must* overwrite
the key stored in the object model.


> OK, that is a memory leak then? Can you provide an anteater 
> test for this?
> 
> > the real question probably is ;-): how? child environments 
> (since the 
> > ForwardEnvironment can't exist without a parent)?
> > or simply delegate calls like resolveURI to the wrapped/parent 
> > environment?
> 
> This reminds me of the patch you submitted last week for the 
> redirect-to from sendPage() bug.
> 
> > or have an Environment not
> > implement/be used as SourceResolver
> 
> This is the approach taken in the 2.2 code base. Perhaps when 
> that code grows up it can be ported to 2.1 module as well. 
> Carsten can tell you more about that though.
> 
The 2.2 code base is in many aspects much cleaner and also understandable
(I hope) than 2.1.x. There are still some pieces to clean up, but we
hope to do this in the next weeks.
But one thing still remains: the processing key is stored in the object
model.
It's easy, fast and works. However, if someone has a better idea, I
would be very happy as I don't want to put anything of that sort into
the object model.
In this aspect 2.2 is much better as only the key is stored in the object
model,
everything else is stored not reachable from either the environment or the
object model. So, it's much cleaner and safer.

Carsten



Mime
View raw message