On 08.08.2007 11:51 Uhr, Grzegorz Kossakowski wrote:

Well in this case, IIRC, these are *not* available in Cocoon 2.1 during pipeline execution. Is there, given huge price of implementation, a reason to make them available in Cocoon 2.2?

Ok, they are available during component's setup phase but no one can stop component from preserving parameters for later use, right? Exactly that happens in o.a.c.generation.AbstractGenerator.setup() method so it's quite common practise.

It's basically price of having ObjectModel (and environment in general) as a singleton object (actually it's scoped to the execution of block, but it's not important here).

How parameters above relate to ObjectModel? I'm confused. Especially if we assume they are not needed. :-?

Take a look at JXTemplateGenerator[1] and its performGeneration method:

The most interesting line is the second one. fillNewObjectModelWithFOM method looks like this:

Now you can see that parameters are available during pipeline execution in the ObjectModel so it's possible to have such expressions:

  ${cocoon.parameters.some_param}

Grek, I see the problem - and I share Vadim's concerns about the EnvironmentChanger approach. Though I can imagine the scopes as possible solution I think this might be topic worth to be discussed. Could you therefore please start a new thread (the topic of this one made me ignoring it up to now) outlining the problem, what exactly has changed between 2.1 and 2.2 (as far as I understand it the parameters were per component instance) and possible solutions? The implementation of this part seem to be rather important to me.

Thanks,

Joerg

Reply via email to