On Sat, Sep 10, 2011 at 2:39 AM, Lenny Primak <lpri...@hope.nyc.ny.us> wrote:
> Digging through this a bit deeper, there is an interaction going on here with 
> tapestry-security.
> When the session expires, the user is no longer logged in, and thus
> ajax call is being redirected to a login screen, thus the exceptions.
> But the problem still remains the same, there seems to be no good way
> to redirect the page to itself when the Grid does inPlace update,
> and the session is no longer available.
> Any more thoughts/ideas?

Sounds like tapestry-security is doing the right thing, no? How I
would solve the problem, is that either I wouldn't let the session to
expire or warn the user that the session is about to expire, or a
combination of both. If you added conversational scope, it'd be
relatively easy to do (see
http://tynamo.org/tapestry-conversations+guide for more info).

Kalle


> On Sep 10, 2011, at 4:38 AM, Lenny Primak wrote:
>
>> As a matter of fact, I can't get any sort of graceful degradation after 
>> session has expired.
>>
>> ----------- Screenshot ------------
>> <PastedGraphic-1.tiff>
>>
>> // somewhere we trigger session invalidation
>>         request.getSession(false).invalidate();
>>
>>
>> // now lets try an AJAX event handler to redirect to my index page
>>     @OnEvent(value = "submit", component = "SearchForm")
>>     public Object searchCustomer()
>>     {
>>             return IndexPage.class;
>>     }
>>
>>
>>
>> On Sep 10, 2011, at 1:40 AM, Taha Hafeez wrote:
>>
>>> Hi Lenny
>>>
>>> I handle this issue in a more generic way for all ajax calls.
>>>
>>> http://tapestry.1045711.n5.nabble.com/Tapestry-Zone-and-Expired-Session-td4634714.html#a4634757
>>>
>>>
>>>
>>> On Sat, Sep 10, 2011 at 10:23 AM, Lenny Primak <lpri...@hope.nyc.ny.us> 
>>> wrote:
>>>> I cannot believe that no one has run into that issue.
>>>> Seems like anyone that's using the AJAX Grid would face it.
>>>>
>>>> Please vote for https://issues.apache.org/jira/browse/TAP5-1634
>>>> if you care, or if anyone has a workaround, please suggest one.
>>>>
>>>> Thanks
>>>>
>>>>
>>>>
>>>> On Sep 2, 2011, at 5:24 PM, Lenny Primak wrote:
>>>>
>>>>> Seems to me that this would be a common thing with any of the AJAX 
>>>>> components.
>>>>> Should I open up a JIRA issue?
>>>>>
>>>>> On Fri, 02 Sep 2011 18:14:28 -0300, Lenny Primak <lpri...@hope.nyc.ny.us> 
>>>>> wrote:
>>>>>
>>>>>> I figured that was a simple one.  Should not have thought so.
>>>>>> all my questions are complicated, otherwise I would have not asked :)
>>>>>
>>>>> hehehe :)
>>>>>
>>>>>>
>>>>>> On Sep 2, 2011, at 5:11 PM, Thiago H. de Paula Figueiredo wrote:
>>>>>>
>>>>>>> On Fri, 02 Sep 2011 17:43:42 -0300, Lenny Primak 
>>>>>>> <lpri...@hope.nyc.ny.us> wrote:
>>>>>>>
>>>>>>>> Oh you are here Thiago!
>>>>>>>
>>>>>>> I'm always here, but I don't know the answers for all questions nor the 
>>>>>>> time to investigate them. (I wish I had).
>>>>>>>
>>>>>>>> How about my Grid/Sessino invalidation session question?
>>>>>>>
>>>>>>> I have no idea . . .
>>>>>>>
>>>>>>> --
>>>>>>> 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
>>>>> On Sep 2, 2011, at 11:10 AM, Lenny Primak wrote:
>>>>>
>>>>>> Hi,
>>>>>> I've looked all over the Internet for this, but nothing works.
>>>>>>
>>>>>> I have a basic Grid pulling data from an Entity bean.
>>>>>> Obviously, when session expires, I get the "there is no data to display" 
>>>>>> message.
>>>>>> What I really want to do is to redirect to the current page, so the user 
>>>>>> gets to relogin and session
>>>>>> gets re-established.
>>>>>>
>>>>>> Here's what I tried:
>>>>>>
>>>>>>   @SuppressWarnings("unused")
>>>>>>   @OnEvent(value="inplaceUpdate", component="usersGrid")
>>>>>>   private Object ajaxPageChanged()
>>>>>>   {
>>>>>>       if(request.getSession(false) != null)
>>>>>>       {
>>>>>>           return null;
>>>>>>       }
>>>>>>       else
>>>>>>       {
>>>>>>         return ps.createPageRenderLink(LoginPage.class).;
>>>>>>       }
>>>>>>   }
>>>>>>
>>>>>> I get an exception:
>>>>>> Caused by: java.lang.IllegalArgumentException: Event 'inplaceupdate' 
>>>>>> from test/TapPage:usersgrid.pager received an event handler method 
>>>>>> return value of /com.bettaway_baw-website_war_1.2/loginpage. This type 
>>>>>> of event does not support return values from event handler methods.
>>>>>>      at 
>>>>>> org.apache.tapestry5.internal.util.NotificationEventCallback.handleResult(NotificationEventCallback.java:39)
>>>>>>
>>>>>> Thanks for all your help!
>>>>>
>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
>>>> For additional commands, e-mail: users-h...@tapestry.apache.org
>>>>
>>>>
>>>
>>>
>>>
>>> --
>>> Regards
>>>
>>> Taha Hafeez Siddiqi (tawus)
>>> http://tawus.wordpress.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

Reply via email to