The flow embeds the request object etc in some kind of dynaic map which makes them more convinient to use from flow and from expression languages. Then the object are placed in special places in the object model. I.e. not the same as all other Cocoon components use. JXTG gets the objects that are used in $cocoon from these places, check the setup and setContext methods in the original JXTG for details.
The result of this is that when you use JXTG without flow, the $cocoon object is empty except for $cocoon.parameters. For back compatibility and for making it possible to use whithout flow there are some deprecated variables $request, $session etc that uses the non emebeded object from the objectmodel. You have to use these if you don't use flow.
In the refactored JXTG I use o.a.c.environment.FlowObjectModelHelper, that Carsten wrote. It gets the objects from the normal places in the objectmodel and does the dynamic map embeding and puts everything in $cocoon. By using this we get the same behaviour booth in the flow and non flow context.
/Daniel
oceatoon wrote:
HI everyone
We are having weird effects poping up some structure questions about FOM and
more precisly about FOM_session. I use Flow to put some data into
cocoon.session.setAttribute("data",data) and retreive this easily from my
jx file coming from flow. Thinking this is part of a global session object, in this same JX page, I
have a link calling a pipeline that opens another JX file this time coming
from the pipeline my ${cocoo.session.data} doesn't work??? hmmm
so I realise that the first cocoon.session isn't the global session I am
looking for (that could be used from anywhere) but a FOM_session?? Is this
correct? I have a feeling this was made so that Flow(Rhino Flow Continuation) could
work in it's own little context, the same for JX, but regular pipelines
don't go that way ?? So I ask myself now, how am I going to be able to
access my FOM_session(like a global session) data coming from pipeline
calls, or how to set what I put into FOM-session into global session??
I don't know much about the backend of FOM or Flow, so please excuse me if this is a bit pulled out of the hat;), but I'd like to understand the session structural difference between coming from Pipeline and from Flow. Could there be a link with another recently posted problem about cocoon.request in JX???
Thanks for the thoughts Tibor
