Hi Peter,

having read through your post several times now, I think I misunderstood the 
point you were referring to. Just to make sure that I did get it right this 
time, please take a look at the following exampe:

@ApplicationState
private ShopOrder _order;

Object onActivate {
  if(_order.getCustomer()==null) <----
    do something;
}

Was it that, you were talking about? Checking for a member of the ASO rather 
than the whole ASO itself? Or is there something else magic that I have missed?

A slight disadvantage in that approach would be that by calling the 
getCustomer()-Method on the ASO a new instance is created immediately even if 
you do not need it. Wheras by checking just the ASOExistence nothing is 
created. So I still encourage to check for ASOExistence. Especially if you take 
in consideration Stephane´s usecase (session expiration). I would therefore 
rewrite the code to the following:

@ApplicationState
private ShopOrder _order;

private boolean _orderExists;

Object onActivate {
  if( !_orderExists) <----
    do something;
}

Hope I did get it this time. If not please do not hesitate to correct me.

Cheers nillehammer

----- original Nachricht --------

Betreff: Re: T5 : session timeout
Gesendet: Do, 10. Apr 2008
Von: Peter Stavrinides<[EMAIL PROTECTED]>

> 
> Hello Nille
> 
> I think you are confused here, the check we are referring to is for a 
> data object within an ASO and not for the ASO.
> 
> 
> nille hammer wrote:
> > Hello Peter, hello Stephane,
> >
> > according to Tapestry manual
> (http://tapestry.apache.org/tapestry5/tapestry-core/guide/appstate.html) the
> preferred way to check for ASO existence is to provide a boolean variable
> with the name of the ASO field suffixed Exists alongside with your
> ASO-variable  (e.g. private MyAso myState; private boolean myStateExists).
> >
> > Stepane, you´re right. I have found myself copying the same check for
> existence of an ASO into several onActivate-methods. As those pages extend
> an AbstractPage-class in the base package, I´ll try to move the check there
> and come back with results this evening.
> >
> > Greetz nillehammer
> >
> > ----- original Nachricht --------
> >
> > Betreff: Re: T5 : session timeout
> > Gesendet: Do, 10. Apr 2008
> > Von: Peter Stavrinides<[EMAIL PROTECTED]>
> >
> >   
> >> Hi Stephane
> >>
> >> One approach is to store this data transiently in an ASO. (This data 
> >> object needs to be serializable though, but using soft references works 
> >> great). In your getter method be sure to check if its null and if so 
> >> reinitialize it)... Inject the ASO in your pages and never worry about 
> >> data activation in pages. This is the real value of IoC. However, bear 
> >> in mind when using persisted data if it becomes large, it gets expensive
> 
> >> to carry around in a high volume application, so you loose scalability.
> >>
> >> Stephane Decleire wrote:
> >>     
> >>> Hi,
> >>>
> >>> I would like to know how do you handle session timeout with T5 or if 
> >>> there is a "design pattern" for this case.
> >>> When a session timeout occurs, a lot of pages won't work because of a 
> >>> lack of data (for example, normaly setted before returning the page). 
> >>> So i need to write a piece of code in the activation event of almost 
> >>> of my pages. In T4, i would have writen it in a parent page and would 
> >>> have subclassed all the pages from it. In T5 should i consider writing 
> >>> a mixin or something else ?
> >>>
> >>> Thanks in advance.
> >>>
> >>> Stephane
> >>>
> >>>       
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: [EMAIL PROTECTED]
> >> For additional commands, e-mail: [EMAIL PROTECTED]
> >>
> >>
> >>     
> >
> > --- original Nachricht Ende ----
> >
> >
> > ---------------------------------------------------------------------
> > 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]
> 
> 

--- original Nachricht Ende ----


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

Reply via email to