Hello.

I'm writing a wicket application for facebook, but I think my problem may be
common to many wicket applications.

In my case, I'm using the wicket-facebook authentication strategy that is
described in a different thread here on nabble. That works great - when a
page is rendered, the AuthenticationStrategy makes sure that I have a valid
FacebookRestClient object in my session.
In my application I need to do some other "init" stuff in a service class,
and I do that in the onUnauthorizedInstantiation method. This "init"
information is stored in a ThreadLocal variable in my BACKEND-Service. This
is an important point, because wicket uses many different threads for user
requests, so I need to make sure that in the beginning of each render
request, the init information is stored on THAT REQUEST's thread. 

ALL my components in all my pages and panels try to fetch information from
the BACKEND-Service. If the BACKEND-Service hasn't been initialized with the
"init" information on the ThreadLocal variable on the same thread that the
render request is issued on, an exception would be thrown and the page would
fail to render.

This is all great when a user is browsing through PAGES. However, in one
page I have a tabbedpanel. When first the user loads the page, the
authorization strategy kicks in, and the init actions are performed, the
page renders correctly. 

*** and here is my problem:
when the user clicks on the second tab in the page, the request can be made
from a different thread (wicket controls that), but the "init" stuff is not
performed because it is not a new page that needs to be rendered. This
problem also arises when I use ajax components. 

I thought of putting the init stuff in the "onBeforeRender()" method of each
separate component that requires the "init" information.

Would this be the preferred way of doing "init" actions for components? 

Thanks,
Benny.
-- 
View this message in context: 
http://www.nabble.com/Pre-render-action-common-to-all-pages-tp18920691p18920691.html
Sent from the Wicket - User mailing list archive at Nabble.com.


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

Reply via email to