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