Java Mailing List Archive

http://www.gg3721.com/

Home » users.tapestry »

Rationale behind all possible onActivate methods invoked when
 context is supplied

Joel Halbert

2008-11-08

Replies: Find Java Web Hosting

Author LoginPost Reply
Hi,

I've been thinking about how onActivate methods are called...

If i have a page with two onActivate methods:


MyPage.onActivate(int modelId1, int modelId2);
MyPage.onActivate(int modelId1, int modelId2, int modelId3);

and if i have a link to this page which supplies the full 3 argument
context, (e.g. http://bla.com/MyPage/1/2/3) then T5 will invoke the
second method and then the first.

What is the rational behind thiinvoking both onActivate methods for the
same context?

If onActivate methods are an opportunity to intialise models (in this
case by looking up the model based on the supplied id) then having both
methods invoked requires us to be defensive about initialisation, if we
want to avoid unecessary model intialisation and data access:

e.g. i need to write something like this in the first of the above two
methods:

onActivate(int modelId1, int modelId2){
 if (model1 != null) {
   model1 = model1Dao.getById(model1Id);
 }

 if (model2 != null) {
   model2 = model2Dao.getById(model1Id);
 }
}

(I'm not presuming to have model caching, which i do, but this is incidental to the problem illustrated)

I'd be interested to hear how others handle this, and what the merit of having all available onActivate methods
invoked is when the full context is supplied.

Rgs,

Joel

--
SU3 Analytics Ltd
The Print House
18 Ashwin Street
E8 3DL
London

Tel: +44 (0) 20 3051 8637
Fax: +44 (0) 20 8196 2215
Mob: +44 (0) 79 7431 0685
www.su3analytics.com

SU3 Analytics Ltd is a company registered in England and Wales under
company number 06639473 at registered address 61b Oxford Gardens, London
W10 5UJ, United Kingdom.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@(protected)
For additional commands, e-mail: users-help@(protected)

©2008 gg3721.com - Jax Systems, LLC, U.S.A.