On Wed, 14 Sep 2011 16:25:14 -0300, Lenny Primak <[email protected]> wrote:

This is a design/best practices question.
We set up @Persist fields inside @SetupRender method.
When a session is invalid/expired and an Ajax event is called,
All these fields at null.
The question is if there is a better way to handle this situation than having to check for Null in every Ajax event method for every @Persist field?

You don't need to check all of them, just whether Request.getSession(false) returns null or not.

I was thinking that @SetupRender should be called in case of session expiration during Ajax call.

I don't like this solution at all, as it uses a component event handler for doing something completely unrelated to rendering. You can even write class transformation to add some logic to be executed in AJAX requests when the session isn't valid. Taha wrote something similar (the @XHR annotation) in his Tapestry Magic blog: http://tawus.wordpress.com/2011/04/16/tapestry-magic-2-ajax-with-graceful-degradation/.

On the other hand, I guess it's possible to implement a service that notifies listeners when the session is killed. I don't think it's possible to discern between timeout and normal session invalidation.

--
Thiago H. de Paula Figueiredo
Independent Java, Apache Tapestry 5 and Hibernate consultant, developer, and instructor
Owner, Ars Machina Tecnologia da Informação Ltda.
http://www.arsmachina.com.br

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to