You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@wicket.apache.org by "Emmanouil Batsis (Manos)" <ma...@abiss.gr> on 2012/08/06 18:52:07 UTC
Help migrating page mounts to 1.5
Hello,
I've spent a couple of days migrating 1.4 code to compile with 1.5. The
docs have been helpfull but I'm stuck and would appreciate if someone
could point out what i am missing tryint ot migrate this:
//---------------------------------
mount(new IndexedParamUrlCodingStrategy("/item", ItemViewPage.class));
mount(new IndexedParamUrlCodingStrategy("/itemreport",
ItemTemplateViewPage.class));
MixedParamUrlCodingStrategy newItemUrls =
new MixedParamUrlCodingStrategy("/newItem",
NewItemPage.class,
new String[]{"spaceCode"}
);
mount(newItemUrls);
into this:
//---------------------------------
mountPage("/item/${0}", ItemViewPage.class);
mountPage("/itemreport/${0}", ItemTemplateViewPage.class);
mountPage("/newItem/${spaceCode}", NewItemPage.class);
The exceptions I get are NPEs when looking for a constructor with a
single param's argument that however exists and is public:
org.apache.wicket.WicketRuntimeException: Can't instantiate page using
constructor 'public
gr.abiss.calipso.wicket.NewItemPage(org.apache.wicket.request.mapper.parameter.PageParameters)'
and argument 'spaceCode=[TTAOS]'. Might be it doesn't exist, may be it
is not visible (public).
at
org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:196)
at
org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:99)
at
org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:47)
at
org.apache.wicket.DefaultMapperContext.newPageInstance(DefaultMapperContext.java:107)
at
org.apache.wicket.request.handler.PageProvider.resolvePageInstance(PageProvider.java:264)
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:105)
at
org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:224)
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.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212)
at
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)
at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:399)
at
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450)
at
org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
at
org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.Server.handle(Server.java:326)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
at
org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:928)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:549)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
at
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:410)
at
org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
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:173)
... 36 more
Caused by: java.lang.NullPointerException
at
gr.abiss.calipso.wicket.ItemFormPanel$ItemForm.initModel(ItemFormPanel.java:507)
at
gr.abiss.calipso.wicket.ItemFormPanel$ItemForm.<init>(ItemFormPanel.java:216)
at gr.abiss.calipso.wicket.ItemFormPanel.<init>(ItemFormPanel.java:164)
at gr.abiss.calipso.wicket.NewItemPage.<init>(NewItemPage.java:63)
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org
Re: Help migrating page mounts to 1.5
Posted by Martin Grigorov <mg...@apache.org>.
On Mon, Aug 6, 2012 at 7:52 PM, Emmanouil Batsis (Manos) <ma...@abiss.gr> wrote:
> Hello,
>
> I've spent a couple of days migrating 1.4 code to compile with 1.5. The docs
> have been helpfull but I'm stuck and would appreciate if someone could point
> out what i am missing tryint ot migrate this:
>
> //---------------------------------
> mount(new IndexedParamUrlCodingStrategy("/item", ItemViewPage.class));
> mount(new IndexedParamUrlCodingStrategy("/itemreport",
> ItemTemplateViewPage.class));
> MixedParamUrlCodingStrategy newItemUrls =
> new MixedParamUrlCodingStrategy("/newItem",
> NewItemPage.class,
> new String[]{"spaceCode"}
> );
> mount(newItemUrls);
>
>
> into this:
> //---------------------------------
> mountPage("/item/${0}", ItemViewPage.class);
> mountPage("/itemreport/${0}", ItemTemplateViewPage.class);
Remove the ${0}s above. Just read the parameter with
pageParameters.get(0). Note this is #get(int)
"${0}" is a named parameter with a name '0'. By mounting just "/item"
your page will be used for requests with urls like:
/item
/item/1 // '1' is the value of indexed 0
/item/1/2 // '1' is the value of indexed 0,
'2' is the value of indexed 1
/item/1/2/3?name=value // '1' is the value of indexed 0, '2' is the
value of indexed 1, '3' is 2, and name/value are normal named
parameters in the query string
> mountPage("/newItem/${spaceCode}", NewItemPage.class);
This is OK. Read it with parameters.get("spaceCode"). Note, this is #get(String)
>
> The exceptions I get are NPEs when looking for a constructor with a single
> param's argument that however exists and is public:
>
> org.apache.wicket.WicketRuntimeException: Can't instantiate page using
> constructor 'public
> gr.abiss.calipso.wicket.NewItemPage(org.apache.wicket.request.mapper.parameter.PageParameters)'
> and argument 'spaceCode=[TTAOS]'. Might be it doesn't exist, may be it is
> not visible (public).
> at
> org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:196)
> at
> org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:99)
> at
> org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:47)
> at
> org.apache.wicket.DefaultMapperContext.newPageInstance(DefaultMapperContext.java:107)
> at
> org.apache.wicket.request.handler.PageProvider.resolvePageInstance(PageProvider.java:264)
> 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:105)
> at
> org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:224)
> 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.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212)
> at
> org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
> at
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)
> at
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212)
> at
> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:399)
> at
> org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
> at
> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
> at
> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
> at
> org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450)
> at
> org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
> at
> org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
> at
> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
> at org.mortbay.jetty.Server.handle(Server.java:326)
> at
> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
> at
> org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:928)
> at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:549)
> at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
> at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
> at
> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:410)
> at
> org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
> 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:173)
> ... 36 more
> Caused by: java.lang.NullPointerException
> at
> gr.abiss.calipso.wicket.ItemFormPanel$ItemForm.initModel(ItemFormPanel.java:507)
> at
> gr.abiss.calipso.wicket.ItemFormPanel$ItemForm.<init>(ItemFormPanel.java:216)
> at
> gr.abiss.calipso.wicket.ItemFormPanel.<init>(ItemFormPanel.java:164)
> at gr.abiss.calipso.wicket.NewItemPage.<init>(NewItemPage.java:63)
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> For additional commands, e-mail: users-help@wicket.apache.org
>
--
Martin Grigorov
jWeekend
Training, Consulting, Development
http://jWeekend.com
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org