on 6/27/03 11:48 AM Stefano Mazzocchi wrote:...
As for implementing this, I planned to look into this today.
In short, the flow ends up emulating a request as it came from the outside, while it should emulate it as it came from the inside (as the cocoon: protocol does)
Now, the change between process() and processInternal() is not that trivial because the second returns a ProcessingPipeline while the first returns a boolean and I have no clue on what I should do with that pipeline, expecially regarding how to setup the environment and all those things.
See SitemapSource, init() method and toSAX method... It might help. ...
Looking around the code I found the following code
Object processKey = CocoonComponentManager.startProcessing(newEnv); try { if (!this.internal) { processingResult = usedProcessor.process(newEnv); } else { ProcessingPipeline pp = usedProcessor.processInternal(newEnv); if (pp != null) pp.release(); processingResult = pp != null; } } finally { CocoonComponentManager.endProcessing(newEnv, processKey); }
in o.a.c.Environment.ForwardRedirector, can anybody explain what the hell does it mean that the processing results depends on the result of releasing the processing pipeline?
It does not depend on release; you can swap those two statements.
AFAIU, according to the "FIXME - What to do here?" and due to the fact that pp.proces() is not called, this piece does not work -- which means that forward (or where this redirector is used?) to internal pipeline should not work.
Vadim