RE: Mount a page class more than once.
Paul- Thanks for your reply. Currently we have a couple dozen semi static pages on our website. Things like company history, contact a sales rep and other bits of information. All of these have some small bit of login/cart information generated by wicket but the content to all these is generally different. Other more intensive pages have their own respective page class. Also, this was working in 1.4.22 but looking back it seems like we might have been exploiting a glitch rather than using wicket as intended. I'll start digging deeper into RequestMapper and other close by classes tomorrow. If you have any more ideas I would be grateful. Thank you -Josh -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/Mount-a-page-class-more-than-once-tp4659173p4659176.html Sent from the Users forum mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
RE: Mount a page class more than once.
You have an interesting use-case. I tried the following on my webapp inside my Application's init() method: mountPage("test1", Page.class); mountPage("test2", Page.class); mountPage("test3", Page.class); Navigating to either /test1 or /test2 would redirect me to /test3. I think what you want to do is clarify your use-case and perhaps look into using page parameters. ~ Thank you, Paul Bors -Original Message- From: josho [mailto:josh.oliv...@hotmail.com] Sent: Thursday, May 30, 2013 5:40 PM To: users@wicket.apache.org Subject: Mount a page class more than once. Hello all, I have been using Wicket for about 1 year now for our company website. It has been working great. Recently we have decided to make the switch from Wicket 1.4.22 to 6.8.0. After moving all the code to the new library we are still having 1 problem. I am mounting several html pages against the same class (they all require some login/cart information to be generated by wicket, but have different content) like so: ICompoundRequestMapper mapper = getRootRequestMapperAsCompound(); mapper.add(new MountedMapper("/test1.html", MyPageClass.class)); mapper.add(new MountedMapper("/test2.html", MyPageClass.class)); mapper.add(new MountedMapper("/test3.html", MyPageClass.class)); When I attempt to access "/test1.html" or "/test2.html" in my browser, the server sends a 302 Redirect to "/test3.html" (the last page mounted). All my other classes with unique names are accessible (all extend this class as well). I have extended the ResourceStreamLocator class, and am filtering on URL, however the locator never recieves the first request. Previously we worked around this issue by not allowing "MyPageClass.class" to have cached markup. However that solution is no longer working. I have made several searches on Google and nabble for a solution, but no one seems to be in the same boat as me. Any help is appreciated. -Josh -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/Mount-a-page-class-more-than-once -tp4659173.html Sent from the Users forum mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Mount a page class more than once.
Hello all, I have been using Wicket for about 1 year now for our company website. It has been working great. Recently we have decided to make the switch from Wicket 1.4.22 to 6.8.0. After moving all the code to the new library we are still having 1 problem. I am mounting several html pages against the same class (they all require some login/cart information to be generated by wicket, but have different content) like so: ICompoundRequestMapper mapper = getRootRequestMapperAsCompound(); mapper.add(new MountedMapper("/test1.html", MyPageClass.class)); mapper.add(new MountedMapper("/test2.html", MyPageClass.class)); mapper.add(new MountedMapper("/test3.html", MyPageClass.class)); When I attempt to access "/test1.html" or "/test2.html" in my browser, the server sends a 302 Redirect to "/test3.html" (the last page mounted). All my other classes with unique names are accessible (all extend this class as well). I have extended the ResourceStreamLocator class, and am filtering on URL, however the locator never recieves the first request. Previously we worked around this issue by not allowing "MyPageClass.class" to have cached markup. However that solution is no longer working. I have made several searches on Google and nabble for a solution, but no one seems to be in the same boat as me. Any help is appreciated. -Josh -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/Mount-a-page-class-more-than-once-tp4659173.html Sent from the Users forum mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Browser Back Button Question
Are you telling me I should trying and stacktrace my pages or get more details? -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/Browser-Back-Button-Question-tp4658397p4659172.html Sent from the Users forum mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Wicket and custom URL handling
Hi, Check chapter 8.6 in https://code.google.com/p/wicket-guide/ On Thu, May 30, 2013 at 9:59 PM, Francois Meillet < francois.meil...@gmail.com> wrote: > have a look to > http://wicketinaction.com/2011/07/wicket-1-5-mounting-pages/ and > https://cwiki.apache.org/confluence/display/WICKET/Request+mapping > > > François Meillet > Formation Wicket - Développement Wicket > > > > > > Le 30 mai 2013 à 20:48, Martin Sachs a écrit : > > > Hi, > > > > I am search for customizing the URL-Handling in wicket. There are not so > > many articles about that. > > I would like to handle all URLs starting with /east or /west with one > page. > > Other possible URLs: > > - /east/services/help > > - /east/services/ > > or > > - /east/services/help?param=value > > > > Also there should be some pages, which are mounted normally /error -> > > ErrorPage.class > > > > Also I dont want parameters like ?0 ?1 ... on the custom URLs and I > > would like to submit WicketForms to /east/services/ > > > > Which is the best approach to implement this? > > > > Martin > > > > - > > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org > > For additional commands, e-mail: users-h...@wicket.apache.org > > > >
Re: Wicket and custom URL handling
have a look to http://wicketinaction.com/2011/07/wicket-1-5-mounting-pages/ and https://cwiki.apache.org/confluence/display/WICKET/Request+mapping François Meillet Formation Wicket - Développement Wicket Le 30 mai 2013 à 20:48, Martin Sachs a écrit : > Hi, > > I am search for customizing the URL-Handling in wicket. There are not so > many articles about that. > I would like to handle all URLs starting with /east or /west with one page. > Other possible URLs: > - /east/services/help > - /east/services/ > or > - /east/services/help?param=value > > Also there should be some pages, which are mounted normally /error -> > ErrorPage.class > > Also I dont want parameters like ?0 ?1 ... on the custom URLs and I > would like to submit WicketForms to /east/services/ > > Which is the best approach to implement this? > > Martin > > - > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org > For additional commands, e-mail: users-h...@wicket.apache.org >
Wicket and custom URL handling
Hi, I am search for customizing the URL-Handling in wicket. There are not so many articles about that. I would like to handle all URLs starting with /east or /west with one page. Other possible URLs: - /east/services/help - /east/services/ or - /east/services/help?param=value Also there should be some pages, which are mounted normally /error -> ErrorPage.class Also I dont want parameters like ?0 ?1 ... on the custom URLs and I would like to submit WicketForms to /east/services/ Which is the best approach to implement this? Martin - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Making FormComponents read only on and off
Carl-Eric, A subtle problem with this approach is that you don't have direct access to the embedded control's properties or to its markup. So for instance you need an extra non-standard way for adding behaviors to the embedded component (e.g. implement an addBehaviorToComponent method to the panel so it's add() remains unchanged in case you need it), or you need to do something like panel.getEmbeddedComponent().add(behavior). Also you cannot subclass the embedded component. Alternatively you can go the ViewOrEdit approach which takes the component as a constructor argument so you have direct access to it and you can also subclass it. However in both cases you don't have access to the component's markup since it's embedded in the FormComponentPanel's markup and you need to rely on AttributeModifiers. Overall this approach is ok but it does make the actual component less reachable. This is why I am considering doing this via a behavior as it changes nothing with respect to the way you treat the component. Marios On Thu, May 30, 2013 at 5:12 PM, Carl-Eric Menzel wrote: > This is exactly where I'd use a custom component. Basically like you > said something with both a Label (that you can make pretty with CSS) > and a TextField (for when it's enabled) - yes, it adds a little > verbosity, but if you put that in custom reusable component (subclass > FormComponentPanel to do that), you have that only once and then can > cleanly use that everywhere else. > > Carl-Eric > > On Thu, 30 May 2013 16:29:56 +0300 > Marios Skounakis wrote: > > > Hi all, > > > > I have what seems a rather common requirement: to be able to switch > > form components to read-only mode on and off in ajax updates. > > > > The simple and clear solutions is to use the enabled property, but > > this results in ugly disabled controls in the browser. And you can't > > really handle this via css consistently last I ckecked. > > > > I would much prefer a solution where disabled controls are rendered > > as read only textboxes (let's disregard checkboxes and radiobuttons > > for a moment). Again the obvious solution is to add an extra > > TextField for each component and toggle the paired components' > > visibility on and off. But this results in a lot of > > unnecessary/boilerplate code in both the code and the markup files. > > > > Or you can use Panels that wrap FormComponents like ViewOrEdit does, > > but again this adds verbosity to the form code. > > > > So is there any beautiful solution to this problem? What do people do? > > > > I have considered using a BorderBehavior or an > > AbstractTransformerBehavior to add the html markup to render a read > > only input control for disabled components and also hide the original > > component by wrapping it in a span with visibility:hidden style. > > BorderBehavior needs some modifications to work with ajax (implement > > IAjaxRegionMarkupIdProvider) and to use dynamically generated markup > > (to conditionally do nothing or add the extra markup to show the > > description of the component's value) but it seems it can be done. > > This seems like a rather pretty solution as it requires no extra > > markup, and does not mess with the java code (you simply need to add > > the behavior to the components). > > > > Any feedback would be greatly appreciated. > > Marios > > > - > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org > For additional commands, e-mail: users-h...@wicket.apache.org > >
Re: Can WebPage throw Exceptions to be handled by upstream filters in the filter chain?
Hi, I'm afraid this won't work. You'll need to wrap it in RuntimeException and unwrap it in your other filter. On Thu, May 30, 2013 at 5:18 PM, Eusie wrote: > Hi Martin, > > Thanks for your reply. However, the case here is not about runtime > exceptions, instead I'd like to throw checked exceptions. > > The problem I could see is within WicketFilter, where you'll find this > line: > > if (!requestCycle.**processRequestAndDetach()) > > which processes requests. The reason why checked exceptions are not able > to be thrown is of the signature of processRequestAndDetach: > > public boolean processRequestAndDetach() { > } > > Where no exceptions can be thrown. > > Also regarding IExceptionMapper, it cannot throw any exception because of > the signature of its map() interface, see below: > > public class CustomExceptionMapperProvider implements > IProvider > { > @Override > public IExceptionMapper get() > { > return new IExceptionMapper(){ > > // Exception e cannot be re-thrown here because of the > signature of the interface below > @Override > public IRequestHandler map(Exception e) { > System.out.println("**CustomExceptionMapperProvider > caught: " + e.getMessage()); > // this is not allowed here: throw e; > return null; > }}; > } > } > > My question is, how would Wicket allow checked exceptions to be thrown? > > (By the way, I'm testing using Wicket version 6.3.) > > Many thanks, > Yuci > > > On 29/05/2013 13:41, Martin Grigorov wrote: > >> Hi, >> >> Wicket catches all runtime exceptions and gives them to all configured >> IRequestCycleListeners (#onException()). If none of them knows how to >> process the exception then the exception is given to IExceptionMapper (see >> Application#**newExceptionMapper). The default impl of this mapper is to >> show >> the configured IApplicationSettings#**getInternalErrorPage(). >> >> As a final resort you can provide your own IExceptionMapper that re-throws >> OAuth2AccessTokenRequiredException. >> >> >> >> >> On Wed, May 29, 2013 at 2:41 PM, Eusie wrote: >> >> Hi, >>> >>> I am using Spring OAuth2ClientContextFilter to handle the OAuth Dance. In >>> the thread calling stack, OAuth2ClientContextFilter is in the upstream of >>> WicketFilter (See below the Error Message). >>> >>> When an access token is needed, I'd like to throw an >>> OAuth2AccessTokenRequiredException exception in Wicket so as to ask >>> the >>> >>> upstream OAuth2ClientContextFilter to handle the exception to redirect >>> the >>> user to be authenticated. >>> >>> But the problem is Wicket Page seems not able to throw an exception as >>> below: >>> >>> public HomePage(final PageParameters parameters) throws Exception { >>> } >>> >>> ### Error Message ### >>> >>> Last cause: OAuth2 access denied. >>> WicketMessage: Can't instantiate page using constructor 'public >>> com.mycompany.HomePage(org.apache.wicket.request.mapper.*** >>> *parameter.PageParameters) >>> >>> throws java.lang.Exception' and argument ''. Might be it doesn't exist, >>> may >>> be it is not visible (public). >>> >>> Stacktrace >>> >>> Root cause: >>> >>> org.springframework.security.oauth2.client.** >>> OAuth2AccessTokenRequiredException: OAuth2 access denied. >>> at com.mycompany.HomePage.(HomePage.java:22) >>> at java.lang.reflect.Constructor.newInstance(Constructor.** >>> java:** >>> 513) >>> at org.apache.wicket.session.DefaultPageFactory.newPage(** >>> DefaultPageFactory.java:170) >>> at org.apache.wicket.session.DefaultPageFactory.newPage(** >>> DefaultPageFactory.java:75) >>> at org.apache.wicket.DefaultMapperContext. >>> newPageInstance(** >>> DefaultMapperContext.java:133) >>> at org.apache.wicket.core.request.handler.PageProvider. >>> resolvePageInstance(PageProvider.java:278) >>> at org.apache.wicket.core.request.handler.PageProvider. >>> getPageInstance(PageProvider.java:166) >>> at org.apache.wicket.request.handler.render.PageRenderer.** >>> getPage(PageRenderer.java:78) >>> at org.apache.wicket.request.handler.render.** >>> WebPageRenderer.renderPage(WebPageRenderer.java:94) >>> at org.apache.wicket.request.handler.render.** >>> WebPageRenderer.respond(WebPageRenderer.java:244) >>> at org.apache.wicket.core.request.handler.** >>> RenderPageRequestHandler.respond(RenderPageRequestHandler.java:* >>> ***165) >>> at org.apache.wicket.request.cycle.RequestCycle$** >>> HandlerExecutor.respond(RequestCycle.java:830) >>> at org.apache.wicket.request.RequestHandlerStack.execute(** >>> RequestHandlerStack.java:64) >>> at org.apache.wicket.request.cycle.RequestCycle.execute(** >>> RequestCycle.java:253) >>> at org.apache.wicket.request.cycle.RequestCycle.** >>> processRequ
Re: Can WebPage throw Exceptions to be handled by upstream filters in the filter chain?
Hi Martin, Thanks for your reply. However, the case here is not about runtime exceptions, instead I'd like to throw checked exceptions. The problem I could see is within WicketFilter, where you'll find this line: if (!requestCycle.processRequestAndDetach()) which processes requests. The reason why checked exceptions are not able to be thrown is of the signature of processRequestAndDetach: public boolean processRequestAndDetach() { } Where no exceptions can be thrown. Also regarding IExceptionMapper, it cannot throw any exception because of the signature of its map() interface, see below: public class CustomExceptionMapperProvider implements IProvider { @Override public IExceptionMapper get() { return new IExceptionMapper(){ // Exception e cannot be re-thrown here because of the signature of the interface below @Override public IRequestHandler map(Exception e) { System.out.println("CustomExceptionMapperProvider caught: " + e.getMessage()); // this is not allowed here: throw e; return null; }}; } } My question is, how would Wicket allow checked exceptions to be thrown? (By the way, I'm testing using Wicket version 6.3.) Many thanks, Yuci On 29/05/2013 13:41, Martin Grigorov wrote: Hi, Wicket catches all runtime exceptions and gives them to all configured IRequestCycleListeners (#onException()). If none of them knows how to process the exception then the exception is given to IExceptionMapper (see Application#newExceptionMapper). The default impl of this mapper is to show the configured IApplicationSettings#getInternalErrorPage(). As a final resort you can provide your own IExceptionMapper that re-throws OAuth2AccessTokenRequiredExcep**tion. On Wed, May 29, 2013 at 2:41 PM, Eusie wrote: Hi, I am using Spring OAuth2ClientContextFilter to handle the OAuth Dance. In the thread calling stack, OAuth2ClientContextFilter is in the upstream of WicketFilter (See below the Error Message). When an access token is needed, I'd like to throw an OAuth2AccessTokenRequiredExcep**tion exception in Wicket so as to ask the upstream OAuth2ClientContextFilter to handle the exception to redirect the user to be authenticated. But the problem is Wicket Page seems not able to throw an exception as below: public HomePage(final PageParameters parameters) throws Exception { } ### Error Message ### Last cause: OAuth2 access denied. WicketMessage: Can't instantiate page using constructor 'public com.mycompany.HomePage(org.**apache.wicket.request.mapper.**parameter.PageParameters) throws java.lang.Exception' and argument ''. Might be it doesn't exist, may be it is not visible (public). Stacktrace Root cause: org.springframework.security.**oauth2.client.** OAuth2AccessTokenRequiredExcep**tion: OAuth2 access denied. at com.mycompany.HomePage.(**HomePage.java:22) at java.lang.reflect.Constructor.**newInstance(Constructor.java:** 513) at org.apache.wicket.session.**DefaultPageFactory.newPage(** DefaultPageFactory.java:170) at org.apache.wicket.session.**DefaultPageFactory.newPage(** DefaultPageFactory.java:75) at org.apache.wicket.**DefaultMapperContext.**newPageInstance(** DefaultMapperContext.java:133) at org.apache.wicket.core.**request.handler.PageProvider.** resolvePageInstance(**PageProvider.java:278) at org.apache.wicket.core.**request.handler.PageProvider.** getPageInstance(PageProvider.**java:166) at org.apache.wicket.request.**handler.render.PageRenderer.** getPage(PageRenderer.java:78) at org.apache.wicket.request.**handler.render.** WebPageRenderer.renderPage(**WebPageRenderer.java:94) at org.apache.wicket.request.**handler.render.** WebPageRenderer.respond(**WebPageRenderer.java:244) at org.apache.wicket.core.**request.handler.** RenderPageRequestHandler.**respond(**RenderPageRequestHandler.java:**165) at org.apache.wicket.request.**cycle.RequestCycle$** HandlerExecutor.respond(**RequestCycle.java:830) at org.apache.wicket.request.**RequestHandlerStack.execute(** RequestHandlerStack.java:64) at org.apache.wicket.request.**cycle.RequestCycle.execute(** RequestCycle.java:253) at org.apache.wicket.request.**cycle.RequestCycle.** processRequest(RequestCycle.**java:210) at org.apache.wicket.request.**cycle.RequestCycle.** processRequestAndDetach(**RequestCycle.java:281) at org.apache.wicket.protocol.**http.WicketFilter.** processRequest(WicketFilter.**java:188) at org.apache.wicket.protocol.**http.WicketFilter.doFilter(** WicketFilter.java:245) at org.apache.catalina.core.**ApplicationFilterChain.** internalDoFilter(**ApplicationFilterChain.java:**235) at org.apache.catalina.core.**ApplicationFilterChain.**doFilter(** ApplicationFilterChain.java:**206) at org.springframework.security.**web.FilterChainProxy$** VirtualFilt
Re: Making FormComponents read only on and off
This is exactly where I'd use a custom component. Basically like you said something with both a Label (that you can make pretty with CSS) and a TextField (for when it's enabled) - yes, it adds a little verbosity, but if you put that in custom reusable component (subclass FormComponentPanel to do that), you have that only once and then can cleanly use that everywhere else. Carl-Eric On Thu, 30 May 2013 16:29:56 +0300 Marios Skounakis wrote: > Hi all, > > I have what seems a rather common requirement: to be able to switch > form components to read-only mode on and off in ajax updates. > > The simple and clear solutions is to use the enabled property, but > this results in ugly disabled controls in the browser. And you can't > really handle this via css consistently last I ckecked. > > I would much prefer a solution where disabled controls are rendered > as read only textboxes (let's disregard checkboxes and radiobuttons > for a moment). Again the obvious solution is to add an extra > TextField for each component and toggle the paired components' > visibility on and off. But this results in a lot of > unnecessary/boilerplate code in both the code and the markup files. > > Or you can use Panels that wrap FormComponents like ViewOrEdit does, > but again this adds verbosity to the form code. > > So is there any beautiful solution to this problem? What do people do? > > I have considered using a BorderBehavior or an > AbstractTransformerBehavior to add the html markup to render a read > only input control for disabled components and also hide the original > component by wrapping it in a span with visibility:hidden style. > BorderBehavior needs some modifications to work with ajax (implement > IAjaxRegionMarkupIdProvider) and to use dynamically generated markup > (to conditionally do nothing or add the extra markup to show the > description of the component's value) but it seems it can be done. > This seems like a rather pretty solution as it requires no extra > markup, and does not mess with the java code (you simply need to add > the behavior to the components). > > Any feedback would be greatly appreciated. > Marios - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Making FormComponents read only on and off
Hi all, I have what seems a rather common requirement: to be able to switch form components to read-only mode on and off in ajax updates. The simple and clear solutions is to use the enabled property, but this results in ugly disabled controls in the browser. And you can't really handle this via css consistently last I ckecked. I would much prefer a solution where disabled controls are rendered as read only textboxes (let's disregard checkboxes and radiobuttons for a moment). Again the obvious solution is to add an extra TextField for each component and toggle the paired components' visibility on and off. But this results in a lot of unnecessary/boilerplate code in both the code and the markup files. Or you can use Panels that wrap FormComponents like ViewOrEdit does, but again this adds verbosity to the form code. So is there any beautiful solution to this problem? What do people do? I have considered using a BorderBehavior or an AbstractTransformerBehavior to add the html markup to render a read only input control for disabled components and also hide the original component by wrapping it in a span with visibility:hidden style. BorderBehavior needs some modifications to work with ajax (implement IAjaxRegionMarkupIdProvider) and to use dynamically generated markup (to conditionally do nothing or add the extra markup to show the description of the component's value) but it seems it can be done. This seems like a rather pretty solution as it requires no extra markup, and does not mess with the java code (you simply need to add the behavior to the components). Any feedback would be greatly appreciated. Marios
Re: Wicket free guide updated!
Hi Andrea, great job! I appreciate your guide. Regards, Armin Am 30.05.2013 12:29, schrieb Andrea Del Bene: Hi, I've published a new update for the free guide. This time the update contains many changes/corrections thanks to the proofreading (from preface to Chapter 10) made by Paul Bros. In addition, paragraph '10.2.5 Creating custom validators' has been partially rewritten to remove deprecated code (class AbstractValidator). Have fun! - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org -- - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Wicket free guide updated!
Thanks. On 5/30/2013 18:29, Andrea Del Bene wrote: > Hi, > > I've published a new update for the free guide. This time the update > contains many changes/corrections thanks to the proofreading (from > preface to Chapter 10) made by Paul Bros. > In addition, paragraph '10.2.5 Creating custom validators' has been > partially rewritten to remove deprecated code (class AbstractValidator). > > Have fun! > > - > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org > For additional commands, e-mail: users-h...@wicket.apache.org > > -- Fulltime Java EE Freelancer from China - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Wicket free guide updated!
Hi, I've published a new update for the free guide. This time the update contains many changes/corrections thanks to the proofreading (from preface to Chapter 10) made by Paul Bros. In addition, paragraph '10.2.5 Creating custom validators' has been partially rewritten to remove deprecated code (class AbstractValidator). Have fun! - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org