Thanks Igor. I have done that, and it is exactly what I was looking for.
However, I have noticed something that strikes me odd: on every request to render a page in my application (every time I click a link in my application to another page in my application), the method newRequestCycle() in WebApplication is called numerous times, and subsequently, my pre-render actions are performed many times. Is this expected? shouldn't one page require only one RequestCycle? thanks, Benny. igor.vaynberg wrote: > > create a custom request cycle and put this stuff in > requestcycle#onbeginrequest > > -igor > > On Sun, Aug 10, 2008 at 11:15 PM, Benny Weingarten > <[EMAIL PROTECTED]> wrote: >> >> 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] >> >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > > -- View this message in context: http://www.nabble.com/Pre-render-action-common-to-all-pages-tp18920691p18963966.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]
