I like that deal.. :-)

On Wed, Aug 29, 2012 at 3:09 PM, Martin Grigorov <mgrigo...@apache.org>wrote:

> I'll improve the javadoc. You improve the wiki page ;-)
>
> On Wed, Aug 29, 2012 at 9:07 AM, James Eliyezar <ja...@mcruncher.com>
> wrote:
> > Thanks Martin for the info.
> > A note in PageRequestHandlerTracker's javadoc can be very useful.
> > And it will be great if this is reflected in the wiki page "Request Cycle
> > in wicket 1.5<
> https://cwiki.apache.org/WICKET/requestcycle-in-wicket-15.html>
> > ".
> >
> > On Wed, Aug 29, 2012 at 3:03 PM, Martin Grigorov <mgrigo...@apache.org
> >wrote:
> >
> >> Hi,
> >>
> >> Yes, you have to register it.
> >> It is not registered by default because not everyone needs it.
> >>
> >> On Wed, Aug 29, 2012 at 9:01 AM, James Eliyezar <ja...@mcruncher.com>
> >> wrote:
> >> > Guys,
> >> >
> >> > From the javadoc of IRequestCycleListener, I found that we have to
> >> > explicitly register the implementations.
> >> > I thought PageRequestHandlerTracker would have been registered by
> default
> >> > as that's from wicket.
> >> > So, when I registered it manually, it worked as expected. This is how
> I
> >> > registered it in the wicket application's "init" method.
> >> >
> >> >     @Override
> >> >>     public void init()
> >> >>     {
> >> >>         super.init();
> >> >>         getRequestCycleListeners().add(new
> PageRequestHandlerTracker());
> >> >>     }
> >> >>
> >> >
> >> > On Wed, Aug 29, 2012 at 2:41 PM, James Eliyezar <ja...@mcruncher.com>
> >> wrote:
> >> >
> >> >> Should I register PageRequestHandlerTracker anywhere?
> >> >>
> >> >>
> >> >> On Wed, Aug 29, 2012 at 2:40 PM, James Eliyezar <ja...@mcruncher.com
> >> >wrote:
> >> >>
> >> >>> Alright Paul.
> >> >>>
> >> >>> This is my code:
> >> >>>
> >> >>> public class HomePage extends WebPage
> >> >>>> {
> >> >>>>     private static Logger logger =
> >> >>>> LoggerFactory.getLogger(HomePage.class);
> >> >>>>     private static final long serialVersionUID = 1L;
> >> >>>>
> >> >>>>     public HomePage(final PageParameters parameters)
> >> >>>>     {
> >> >>>>         add(new Label("version",
> >> >>>> getApplication().getFrameworkSettings().getVersion()));
> >> >>>>         try {
> >> >>>>             IPageRequestHandler lastHandler =
> >> >>>> PageRequestHandlerTracker.getLastHandler(RequestCycle.get());
> >> >>>>             logger.debug("Last handler: {}", lastHandler);
> >> >>>>             logger.debug("Requested page", lastHandler.getPage());
> >> >>>>         } catch (Exception ex) {
> >> >>>>             logger.error("Error", ex);
> >> >>>>         }
> >> >>>>     }
> >> >>>> }
> >> >>>>
> >> >>>>
> >> >>> This is the log with exception stack trace:
> >> >>>
> >> >>> [INFO] Started Jetty Server
> >> >>>> DEBUG - HomePage                   - Last handler: null
> >> >>>> ERROR - DefaultExceptionMapper     - Unexpected error occurred
> >> >>>> org.apache.wicket.WicketRuntimeException: Can't instantiate page
> using
> >> >>>> constructor 'public
> >> >>>>
> >>
> org.apache.wicket.quickstart.HomePage(org.apache.wicket.request.mapper.parameter.PageParameters)'
> >> >>>> and argument ''. Might be it doesn't exist, may be it is not
> visible
> >> >>>> (public).
> >> >>>>     at
> >> >>>>
> >>
> org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:193)
> >> >>>>     at
> >> >>>>
> >>
> org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:76)
> >> >>>>     at
> >> >>>>
> >>
> org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:46)
> >> >>>>     at
> >> >>>>
> >>
> org.apache.wicket.DefaultMapperContext.newPageInstance(DefaultMapperContext.java:103)
> >> >>>>     at
> >> >>>>
> >>
> org.apache.wicket.request.handler.PageProvider.resolvePageInstance(PageProvider.java:274)
> >> >>>>     at
> >> >>>>
> >>
> org.apache.wicket.request.handler.PageProvider.getPageInstance(PageProvider.java:165)
> >> >>>>     at
> >> >>>>
> >>
> org.apache.wicket.request.handler.render.PageRenderer.getPage(PageRenderer.java:78)
> >> >>>>     at
> >> >>>>
> >>
> org.apache.wicket.request.handler.render.WebPageRenderer.renderPage(WebPageRenderer.java:93)
> >> >>>>     at
> >> >>>>
> >>
> org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:237)
> >> >>>>     at
> >> >>>>
> >>
> org.apache.wicket.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:167)
> >> >>>>     at
> >> >>>>
> >>
> org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:784)
> >> >>>>     at
> >> >>>>
> >>
> org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64)
> >> >>>>     at
> >> >>>>
> >>
> org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:255)
> >> >>>>     at
> >> >>>>
> >>
> org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:212)
> >> >>>>     at
> >> >>>>
> >>
> org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:283)
> >> >>>>     at
> >> >>>>
> >>
> org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:188)
> >> >>>>     at
> >> >>>>
> >>
> org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:244)
> >> >>>>     at
> >> >>>>
> >>
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1326)
> >> >>>>     at
> >> >>>>
> >>
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:479)
> >> >>>>     at
> >> >>>>
> >>
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)
> >> >>>>     at
> >> >>>>
> >>
> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:520)
> >> >>>>     at
> >> >>>>
> >>
> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:227)
> >> >>>>     at
> >> >>>>
> >>
> org.eclipse.jetty.server.handler.ContextHandler.__doHandle(ContextHandler.java:940)
> >> >>>>     at
> >> >>>>
> >>
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java)
> >> >>>>     at
> >> >>>>
> >>
> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:409)
> >> >>>>     at
> >> >>>>
> >>
> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:186)
> >> >>>>     at
> >> >>>>
> >>
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:874)
> >> >>>>     at
> >> >>>>
> >>
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
> >> >>>>     at
> >> >>>>
> >>
> org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:250)
> >> >>>>     at
> >> >>>>
> >>
> org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:149)
> >> >>>>     at
> >> >>>>
> >>
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:110)
> >> >>>>     at org.eclipse.jetty.server.Server.handle(Server.java:349)
> >> >>>>     at
> >> >>>>
> >>
> org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:441)
> >> >>>>     at
> >> >>>>
> >>
> org.eclipse.jetty.server.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:904)
> >> >>>>     at
> >> org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:565)
> >> >>>>     at
> >> >>>>
> org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:217)
> >> >>>>     at
> >> >>>>
> >>
> org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:46)
> >> >>>>     at
> >> >>>>
> >>
> org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:545)
> >> >>>>     at
> >> >>>>
> >>
> org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:43)
> >> >>>>     at
> >> >>>>
> >>
> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:598)
> >> >>>>     at
> >> >>>>
> >>
> org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:533)
> >> >>>>     at java.lang.Thread.run(Thread.java:662)
> >> >>>> Caused by: java.lang.reflect.InvocationTargetException
> >> >>>>     at
> sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
> >> >>>> Method)
> >> >>>>     at
> >> >>>>
> >>
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
> >> >>>>     at
> >> >>>>
> >>
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
> >> >>>>     at
> java.lang.reflect.Constructor.newInstance(Constructor.java:513)
> >> >>>>     at
> >> >>>>
> >>
> org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:170)
> >> >>>>     ... 41 more
> >> >>>> Caused by: java.lang.NullPointerException
> >> >>>>     at
> org.apache.wicket.quickstart.HomePage.<init>(HomePage.java:22)
> >> >>>>     ... 46 more
> >> >>>>
> >> >>>>
> >> >>> I've attached a quickstart project to recreate the problem.
> >> >>>
> >> >>>    - Unzip it
> >> >>>    - mvn clean package jetty:run
> >> >>>    - Point your browser to http://localhost:8080
> >> >>>    - Watch out the console for the exception.
> >> >>>
> >> >>>
> >> >>> On Wed, Aug 29, 2012 at 12:53 PM, Paul Borș <p...@bors.ws> wrote:
> >> >>>
> >> >>>> Might help if you provide a stack trace for the NPE :)
> >> >>>>
> >> >>>> Have a great day,
> >> >>>>     Paul Borș
> >> >>>>
> >> >>>> On Aug 29, 2012, at 0:37, James Eliyezar <ja...@mcruncher.com>
> wrote:
> >> >>>>
> >> >>>> > Hi,
> >> >>>> >
> >> >>>> > We recently migrated our application to wicket-1.5.8.
> >> >>>> >
> >> >>>> > We have an audit aspect based on Spring AOP that shall log the
> >> actions
> >> >>>> > performed in the current page.
> >> >>>> > In wicket 1.4 we use to get that like
> >> >>>> > "RequestCycle.get().getResponsePage()".
> >> >>>> >
> >> >>>> > This has changed and I know that wicket 1.5 doesn't support this
> >> >>>> anymore.
> >> >>>> >
> >> >>>> > The suggested method as per the wiki is to "use a custom
> >> >>>> > RequestCycleListener<
> >> >>>> https://cwiki.apache.org/WICKET/requestcycle-in-wicket-15.html>
> >> >>>> > ".
> >> >>>> >
> >> >>>> > Fortunately, as highlighted in the mailing list, there is a new
> >> class
> >> >>>> in
> >> >>>> > wicket 1.5.8 named
> >> >>>> > PageRequestHandlerTracker<
> >> >>>>
> >>
> http://apache-wicket.1842946.n4.nabble.com/Interpolate-response-with-IResponseFilter-td4651476.html
> >> >>>> >to
> >> >>>> > meet this common requirement.
> >> >>>> >
> >> >>>> > However, when we use
> >> >>>> > PageRequestHandlerTracker.getLastHandler(RequestCycle.get()),
> >> >>>> > and then attempt to call #getPage(), a null pointer exception is
> >> >>>> thrown.
> >> >>>> >
> >> >>>> > Am I doing something wrong here? Please give your suggestions.
> >> >>>> >
> >> >>>> > --
> >> >>>> > Thanks & regards
> >> >>>> > James Selvakumar
> >> >>>> > mcruncher.com
> >> >>>>
> >> >>>>
> ---------------------------------------------------------------------
> >> >>>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> >> >>>> For additional commands, e-mail: users-h...@wicket.apache.org
> >> >>>>
> >> >>>>
> >> >>>
> >> >>>
> >> >>> --
> >> >>> Thanks & regards
> >> >>> James Selvakumar
> >> >>> mcruncher.com
> >> >>>
> >> >>>
> >> >>
> >> >>
> >> >> --
> >> >> Thanks & regards
> >> >> James Selvakumar
> >> >> mcruncher.com
> >> >>
> >> >>
> >> >
> >> >
> >> > --
> >> > Thanks & regards
> >> > James Selvakumar
> >> > mcruncher.com
> >>
> >>
> >>
> >> --
> >> Martin Grigorov
> >> jWeekend
> >> Training, Consulting, Development
> >> http://jWeekend.com
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> >> For additional commands, e-mail: users-h...@wicket.apache.org
> >>
> >>
> >
> >
> > --
> > Thanks & regards
> > James Selvakumar
> > mcruncher.com
>
>
>
> --
> Martin Grigorov
> jWeekend
> Training, Consulting, Development
> http://jWeekend.com
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
>
>


-- 
Thanks & regards
James Selvakumar
mcruncher.com

Reply via email to