Thanks a lot Jonathan, 

your pattern seems to be sensible and I'll follow your advice.

cheers


Jonathan Barker wrote:
> 
> 
> They are not quite interchangeable, but it can be fun figuring out which
> to
> use.  
> 
> In addition to onActivate and setupRender, you should also look at
> onPrepare
> for form submissions.  
> 
> I tend to just set id's in onActivate and leave heavier loading for
> onPrepare/setupRender.  Having said that, I think that the
> tapestry-hibernate integration does primary key encoding to allow the use
> of
> entities for onActivate/onPassivate.
> 
> Jonathan
> 
> 
> 
> 
>> -----Original Message-----
>> From: kawes [mailto:rafal.kawe...@gmail.com]
>> Sent: Monday, December 15, 2008 12:14
>> To: users@tapestry.apache.org
>> Subject: Re: Layout Border component problem
>> 
>> 
>> Hi Olle,
>> 
>> I finally got home and was able to check out your suggestion.
>> Works perfectly but I still have a small question:
>> 
>> I also used onActivate() to paste your code and it works as well.
>> So my question is: is it big difference between those methods and can
>> both
>> be used interchangeably or this was only coincidence
>> 
>> Thanks again, I can finally continue on my work.
>> 
>> cheers
>> 
>> 
>> Olle Hallin wrote:
>> >
>> > What happens is that TeacherMode is mutable, and hence leaks state
>> between
>> > different users. You are *not* given a fresh instance on each request.
>> > Instead, instances are pooled and reused.
>> >
>> > (Starting with 5.0.17,  it is forbidden to have initial values on page
>> > member variables in order to prevent bugs like this.)
>> >
>> > One way to handle this situation is:
>> >
>> > *...@persist
>> > *private TeacherMode teacherMode;
>> >
>> > public void *setupRender()* {
>> >   if (teacherMode == null) {
>> >     teacherMode = new TeacherMode(); // This will be a private instance
>> > per
>> > session
>> >   }
>> > }
>> >
>> > HTH,
>> >
>> > Olle
>> >
>> >
>> > 2008/12/15 kawes <rafal.kawe...@gmail.com>
>> >
>> >>
>> >> Hi Jonathan,
>> >>
>> >> thanks for your quick response.
>> >> As you asked I uploaded classes I hit the problem in.
>> >>
>> >> Small description: One of my sub-application is Teacher (should be
>> able
>> >> to
>> >> provide a word in foreign language and accept user's answer checks
>> >> wheather
>> >> it is correct)
>> >>
>> >> When user logs in, clicks teacher link is redirected to AvailabaleSets
>> >> (which is wrapped by TeacherBorder).
>> >>
>> >> T5.zip file uploaded and it contains:
>> >>  - Border.java
>> >>  - Border.tml (pagelinks to all stuff provided by my app)
>> >>
>> >>  - TeacherBorder.java
>> >>  - TeacherBorder.tml (contains all links to navigate my Teacher
>> >> sub-application - i.e. TeacherMode - resposnible for 'asking
>> question',
>> >> registering results etc)
>> >>
>> >>  - AvailableSets.java
>> >>  - AvailableSets.tml (displays available sets containg words)
>> >>
>> >>  - TeacherModePage1.java
>> >>  - TeacherModePage1.tml (lets user to choose the word's set and decide
>> >> about
>> >> the questioning mode (mingled or the sequence of words had been added
>> to
>> >> the
>> >> set) )
>> >>
>> >>  - TeacherModePage2.java
>> >>  - TeacherModePage2.tml (displays questions and lets to type in
>> answers)
>> >>
>> >> TeacherModePage1.java contains the following line:
>> >>  private TeacherMode teacherMode = new TeacherMode();
>> >>
>> >> I belived that when new page would be displayed (whe user clicks
>> >> TeacherMode
>> >> in TeacherBorder) a brand new TeacherMode instance would be returned
>> but
>> >> is
>> >> not. And is not because all the classes are already instantiated and
>> T5
>> >> gives them back to the user for efficiency.
>> >>
>> >> Please keep in mind this is just the beggining of the work, so not
>> >> everything is like it should be from architectural point of view (i.e.
>> >> @Persist will be replaced by onPassvate and onActivate). I just wanted
>> to
>> >> see how it works.
>> >>
>> >> If any more details are reqiured let me know.
>> >>
>> >> Thanks in advance http://www.nabble.com/file/p21009484/T5.zip T5.zip
>> >> --
>> >> View this message in context:
>> >> http://www.nabble.com/Layout-Border-component-problem-
>> tp21004400p21009484.html
>> >> Sent from the Tapestry - User mailing list archive at Nabble.com.
>> >>
>> >>
>> >> ---------------------------------------------------------------------
>> >> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
>> >> For additional commands, e-mail: users-h...@tapestry.apache.org
>> >>
>> >>
>> >
>> >
>> > --
>> > Olle Hallin
>> > Senior Java Developer and Architect
>> > olle.hal...@crisp.se
>> > www.crisp.se
>> >
>> >
>> 
>> --
>> View this message in context: http://www.nabble.com/Layout-Border-
>> component-problem-tp21004400p21017812.html
>> Sent from the Tapestry - User mailing list archive at Nabble.com.
>> 
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
>> For additional commands, e-mail: users-h...@tapestry.apache.org
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
> For additional commands, e-mail: users-h...@tapestry.apache.org
> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Layout-Border-component-problem-tp21004400p21020533.html
Sent from the Tapestry - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org

Reply via email to