Hi! Yeaa 100% sure !
// Setup Login page to redirect to the secured page after the login Object obj = componentSource.getPage(Login.class); ILogin login = (ILogin) obj; login.setRedirectTo(page); I am using T5.1.0.5 by the way. /Gunnar 2009/10/29 Ulrich Stärk <u...@spielviel.de> > That's weird. It's exactly how I'm doing it: > > PageCallbackContainer login = (PageCallbackContainer) > componentSource.getPage(Login.class); > login.setCallback(new PageCallback(pageName, pageActivationContext, > linkSource)); > Link link = linkSource.createPageRenderLink(Login.class); > response.sendRedirect(link); > > PageCallbackContainer is the interface implemented by the Login page class. > I'm calling it from inside a ComponentRequestFilter but that shouldn't > matter. > > Are you sure that Login really implements ILogin? > > Cheers, > > Uli > > Am 29.10.2009 15:41 schrieb Gunnar Eketrapp: > > Hum ... your advice seemed quite straighforward .... >> >> By some reason I can't cast to the interface either ... >> >> Weirdo ... >> >> I have rebuild the project and restarted the APP since i thought that the >> old Login.class could spoke me ... >> >> java.lang.ClassCastException com.tellpoker.pages.Login cannot be cast to >> com.tellpoker.pages.ILogin >> >> Stack trace >> >> - >> com.tellpoker.services.ProtectedPageGateKeeper.checkAccess(ProtectedPageGateKeeper.java:147) >> >> - >> com.tellpoker.services.ProtectedPageGateKeeper.dispatch(ProtectedPageGateKeeper.java:64) >> >> - $Dispatcher_124a0b9d291.dispatch($Dispatcher_124a0b9d291.java) >> - $Dispatcher_124a0b9d286.dispatch($Dispatcher_124a0b9d286.java) >> - >> org.apache.tapestry5.services.TapestryModule$RequestHandlerTerminator.service(TapestryModule.java:245) >> >> - com.tellpoker.services.AppModule$1.service(AppModule.java:144) >> - $RequestFilter_124a0b9d285.service($RequestFilter_124a0b9d285.java) >> - $RequestHandler_124a0b9d287.service($RequestHandler_124a0b9d287.java) >> - >> org.apache.tapestry5.internal.services.RequestErrorFilter.service(RequestErrorFilter.java:26) >> >> - $RequestHandler_124a0b9d287.service($RequestHandler_124a0b9d287.java) >> - >> org.apache.tapestry5.services.TapestryModule$4.service(TapestryModule.java:778) >> >> - $RequestHandler_124a0b9d287.service($RequestHandler_124a0b9d287.java) >> - >> org.apache.tapestry5.services.TapestryModule$3.service(TapestryModule.java:767) >> >> - $RequestHandler_124a0b9d287.service($RequestHandler_124a0b9d287.java) >> - >> org.apache.tapestry5.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:85) >> >> - $RequestHandler_124a0b9d287.service($RequestHandler_124a0b9d287.java) >> - >> org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:90) >> >> - >> org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:81) >> >> - >> org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:85) >> >> - >> org.apache.tapestry5.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:103) >> >> - $RequestHandler_124a0b9d287.service($RequestHandler_124a0b9d287.java) >> - $RequestHandler_124a0b9d27c.service($RequestHandler_124a0b9d27c.java) >> - >> org.apache.tapestry5.services.TapestryModule$HttpServletRequestHandlerTerminator.service(TapestryModule.java:197) >> >> - >> org.apache.tapestry5.internal.gzip.GZipFilter.service(GZipFilter.java:53) >> >> - >> $HttpServletRequestHandler_124a0b9d27e.service($HttpServletRequestHandler_124a0b9d27e.java) >> >> - >> org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62) >> >> - >> $HttpServletRequestFilter_124a0b9d27b.service($HttpServletRequestFilter_124a0b9d27b.java) >> >> - >> $HttpServletRequestHandler_124a0b9d27e.service($HttpServletRequestHandler_124a0b9d27e.java) >> >> - >> org.apache.tapestry5.services.TapestryModule$2.service(TapestryModule.java:726) >> >> - >> $HttpServletRequestHandler_124a0b9d27e.service($HttpServletRequestHandler_124a0b9d27e.java) >> >> - >> $HttpServletRequestHandler_124a0b9d279.service($HttpServletRequestHandler_124a0b9d279.java) >> >> - org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:127) >> >> 2009/10/29 Gunnar Eketrapp <gunnar.eketr...@gmail.com> >> >> Thanks a lot !!! >>> >>> 2009/10/29 Ulrich Stärk <u...@spielviel.de> >>> >>> Have your page implement an interface that provides methods for setting >>> the >>> >>>> desired information and cast the result from componentSource.getPage() >>>> to >>>> that interface. >>>> The reason behind this is that the thing returned from componentSource >>>> is >>>> a bytecode-enhanced version of your Login page and thus cannot be cast >>>> to >>>> your Login class type directly. >>>> >>>> Uli >>>> >>>> Am 29.10.2009 15:09 schrieb Gunnar Eketrapp: >>>> >>>> Hi! >>>> >>>>> I just switched from my own brewed secured page implementation that was >>>>> based on checking access rights in onActivate() >>>>> to the smarter more transparent solution outlined in Jumpstart app. >>>>> >>>>> I.e. ProtectedPage annotation + ProtecetdPageGateKeeper dispatcher. >>>>> >>>>> It works like a charm except for the fact that I have trouble informing >>>>> the >>>>> Login page about the failed page so that it can continue on to it >>>>> after a successful login. My dumb solution managed this .... >>>>> >>>>> The problem I am having is that I dont know how to get hold of the >>>>> Login >>>>> page from within the ProtectedPageGateKeeper dispatcher. >>>>> >>>>> // Setup Login page to redirect to the secured page after >>>>> the login >>>>> Login login = (Login) >>>>> componentSource.getPage(Login.class); >>>>> login.setRedirectTo(page); >>>>> This fails with ... >>>>> >>>>> [ERROR] TapestryModule.RequestExceptionHandler >>>>> Processing >>>>> of request failed with uncaught exception: >>>>> com.tellpoker.pages.Login cannot be cast to >>>>> com.tellpoker.pages.Login >>>>> java.lang.ClassCastException: com.tellpoker.pages.Login >>>>> cannot be cast to com.tellpoker.pages.Login >>>>> >>>>> I have also tried @InjectPage but got null instead of a page. >>>>> >>>>> Thanks in advance, >>>>> Gunnar Eketrapp >>>>> >>>>> >>>>> --------------------------------------------------------------------- >>>> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org >>>> For additional commands, e-mail: users-h...@tapestry.apache.org >>>> >>>> >>>> >>> -- >>> [Hem: 08-715 59 57, Mobil: 0708-52 62 90] >>> Allévägen 2A, 132 42 Saltsjö-Boo >>> >>> >> >> >> > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > For additional commands, e-mail: users-h...@tapestry.apache.org > > -- [Hem: 08-715 59 57, Mobil: 0708-52 62 90] Allévägen 2A, 132 42 Saltsjö-Boo