Stefano Mazzocchi wrote:

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




Reply via email to