Hello,

You can define the scope of each service...you can set that particular
service to be tied to only one session.

See http://tapestry.apache.org/tapestry5/tapestry-ioc/service.html, and
search for "perthread".

Thanks,
Andy

On Tue, 29 Apr 2008 18:02:52 +0200, "János Jarecsni"
<[EMAIL PROTECTED]> wrote:
> Hi there,
> 
> the service approach (as I expected) is session-agnostic (and is
> page-independent so concurrent users would interfere badly), therefore is
> not ok.
> 
> I will now try the Environment approach... if that is session-aware :)
> 
> thx again
> janos
> 
> 2008/4/29 János Jarecsni <[EMAIL PROTECTED]>:
> 
>> Hi Chris,
>>
>> even so you could help :) I want this kind of generic way of passing
>> around information (component to component communication :)) so I'll
> look
>> for the solutions Kristian and you outlined.
>>
>> thanks!
>>
>> cheers,
>> janos
>>
>> 2008/4/29 Chris Lewis <[EMAIL PROTECTED]>:
>>
>> > Janos,
>> >
>> > Without code or a description of your actual goal, I'm finding your
>> > situation too hypothetical to really digest. The one thing I can point
>> > out is what you said about wanting a component to set a property in
> the
>> > page. If you want to do that, then you have to know the class of the
>> > page and so injecting a page would make sense. Of course that means
>> > tightly coupling a component to a page, which to me doesn't make
> sense.
>> > If you simply need a generic way of passing data between pages and
>> > components, consider using a service that provides an untyped list or
>> > putting something in the environment as Kristian suggested. I'm sorry
> I
>> > can't be more helpful but as I said I'm not clear on what you're
> really
>> > trying to do.
>> >
>> > good luck
>> > chris
>> >
>> > János Jarecsni wrote:
>> > > Hi Chris,
>> > >
>> > > I thought of pages as "contexts" for the components embedded within
>> > them.
>> > > So, in one event handler of a component I would like to set some
>> > property or
>> > > another (in the page object), and the other components in the page,
>> > which
>> > > are also able to access this property may change their appearance
>> > (say, the
>> > > .TML would test the property). Maybe I'm on a wrong track, please
> let
>> > me
>> > > know :)
>> > >
>> > > thx
>> > > Cheers,
>> > > janos
>> > >
>> > > 2008/4/29 Chris Lewis <[EMAIL PROTECTED]>:
>> > >
>> > >
>> > >> Janos,
>> > >>
>> > >> I'm having a hard time understanding a case that a component should
>> > know
>> > >> in which page it is embedded, so my suggestion probably wasn't a
> good
>> > >> one. Activation contexts aren't meant for components but for pages
> -
>> > you
>> > >> should be using component parameters to configure them, and if it's
> a
>> > >> more sophisticated component, probably a service.
>> > >>
>> > >> chris
>> > >>
>> > >> János Jarecsni wrote:
>> > >>
>> > >>> and how a component can get to know the page in which it is
>> > included? I
>> > >>> mean, I can't @InjectPage, as the component will be included in
> many
>> > >>>
>> > >> kinds
>> > >>
>> > >>> of pages.
>> > >>>
>> > >>> @Kristian: thx for the many ways :) I'll try these, hope that the
>> > >>> @Environmental stuff is scalable (I'm trying to bypass session
>> > creation
>> > >>>
>> > >> as
>> > >>
>> > >>> much as possible)
>> > >>>
>> > >>> Is there a doc on the various annotations available?
>> > >>>
>> > >>> @Michael:
>> > >>> Could you include a tiny bit of example? THX!
>> > >>>
>> > >>> Thx to you all
>> > >>> cheers
>> > >>> janos
>> > >>>
>> > >>> 2008/4/29 Chris Lewis <[EMAIL PROTECTED]>:
>> > >>>
>> > >>>
>> > >>>
>> > >>>> 5) @InjectPage the page and call the getter
>> > >>>>
>> > >>>> Kristian Marinkovic wrote:
>> > >>>>
>> > >>>>
>> > >>>>> hi janos,
>> > >>>>>
>> > >>>>> there are several possibilities:
>> > >>>>>
>> > >>>>> 1) declare a component parameter and pass in the variable
>> > >>>>>
>> > >>>>> 2) put it in a ASO and inject the ASO in all your components
>> > (using
>> > >>>>> @ApplicationState)
>> > >>>>> the drawback is that any other page or component will be able to
>> > >>>>>
>> > >> access
>> > >>
>> > >>>>> the ASO
>> > >>>>>
>> > >>>>> 3) put it into the Environment and read it whereever you need it
>> > in
>> > >>>>>
>> > >> your
>> > >>
>> > >>>>> nested components.
>> > >>>>> be careful when you put your object in your environment. if you
>> > put it
>> > >>>>>
>> > >>>>>
>> > >>>> in
>> > >>>>
>> > >>>>
>> > >>>>> during the action
>> > >>>>> request it will not be able in the render request (because of
> the
>> > page
>> > >>>>> redirect).
>> > >>>>>
>> > >>>>> page:
>> > >>>>>
>> > >>>>> @Inject Environment env;
>> > >>>>>
>> > >>>>> @Persist("flash") whateverclass w;
>> > >>>>>
>> > >>>>> onActivate(w) {  this.w= w }
>> > >>>>>
>> > >>>>> setupRender() { env.push(whateverclass.class,w);}
>> > >>>>>
>> > >>>>> components:
>> > >>>>>
>> > >>>>> @Environmental Whateverclass var;
>> > >>>>>
>> > >>>>> 4) define a service that can take this variable (and saves it
>> > >>>>>
>> > >>>>>
>> > >>>> appropriatly
>> > >>>>
>> > >>>>
>> > >>>>> so it is not
>> > >>>>> lost on a redirect:)) and inject your service in the components
>> > where
>> > >>>>> needed
>> > >>>>> to retrieve the value.
>> > >>>>>
>> > >>>>> maybe there are some more possibilities :)
>> > >>>>>
>> > >>>>> g,
>> > >>>>> kris
>> > >>>>>
>> > >>>>>
>> > >>>>>
>> > >>>>>
>> > >>>>> "János Jarecsni" <[EMAIL PROTECTED]>
>> > >>>>> 29.04.2008 08:15
>> > >>>>> Bitte antworten an
>> > >>>>> "Tapestry users" <users@tapestry.apache.org>
>> > >>>>>
>> > >>>>>
>> > >>>>> An
>> > >>>>> "Tapestry users" <users@tapestry.apache.org>
>> > >>>>> Kopie
>> > >>>>>
>> > >>>>> Thema
>> > >>>>> page activation + components
>> > >>>>>
>> > >>>>>
>> > >>>>>
>> > >>>>>
>> > >>>>>
>> > >>>>>
>> > >>>>> Hi there,
>> > >>>>>
>> > >>>>> I have an activatable page, in its onActivate(String param)
> method
>> > I
>> > >>>>>
>> > >>>>>
>> > >>>> save
>> > >>>>
>> > >>>>
>> > >>>>> the param to a normal instance variable of the page class (no
>> > >>>>> persistence!).
>> > >>>>> How can any component embedded within this page access this
>> > variable?
>> > >>>>>
>> > >>>>> the page class:
>> > >>>>>
>> > >>>>> //...
>> > >>>>> private String param;
>> > >>>>>
>> > >>>>> public void onActivate(String param) {
>> > >>>>>    this.param = param;
>> > >>>>> }
>> > >>>>>
>> > >>>>>
>> > >>>>> public String getParam() {...}
>> > >>>>>
>> > >>>>>
>> > >>>>> Thx in advance!
>> > >>>>> Janos
>> > >>>>>
>> > >>>>>
>> > >>>>>
>> > >>>>>
>> > >>>>>
>> > >>>> --
>> > >>>> http://thegodcode.net
>> > >>>>
>> > >>>>
>> > >>>>
>> > ---------------------------------------------------------------------
>> > >>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> > >>>> For additional commands, e-mail: [EMAIL PROTECTED]
>> > >>>>
>> > >>>>
>> > >>>>
>> > >>>>
>> > >> --
>> > >> http://thegodcode.net
>> > >>
>> > >>
>> > >>
> ---------------------------------------------------------------------
>> > >> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> > >> For additional commands, e-mail: [EMAIL PROTECTED]
>> > >>
>> > >>
>> > >>
>> >
>> > --
>> > http://thegodcode.net
>> >
>> >
>> > ---------------------------------------------------------------------
>> > To unsubscribe, e-mail: [EMAIL PROTECTED]
>> > For additional commands, e-mail: [EMAIL PROTECTED]
>> >
>> >
>>
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to