Thanks for the feedback, Igor, nice idea. About the page factory exception, in fact I have nonbookmarkablepages mounted as if they were, just to makeup the url's, like this:
mount(new HybridUrlCodingStrategy("/pageA", PageA.class)); So that when the user enters PageA (no default constructor - non bookmarkable), he gets on the browser's location bar: http://myapplication/pageA[.x] Maybe it's a little weird, but it's working for me :) Cheers, Xavier 2010/4/16 Igor Vaynberg <igor.vaynb...@gmail.com> > use a decorator, wrap the default factory, catch the exception, > transform it into something else. > > although, if your users are bookmarking a non-bookmarkable url you > should get a page expired error. page factory is only used for > creating bookmarkable pages. > > -igor > > On Fri, Apr 16, 2010 at 1:37 AM, Xavier López <xavil...@gmail.com> wrote: > > Hi there, > > > > I'm trying to find an elegant way to detect the cases where a user tries > to > > access a nonbookmarkablepage with a bookmark. From the stack trace > produced > > in this case, I see this situation is handled in > > DefaultPageFactory#newPage(Class pageClass), like this: > > > > .... > > catch (NoSuchMethodException e) > > { > > // a bit of a hack here.. > > Constructor constructor = constructor(pageClass, > > PageParameters.class); > > if (constructor != null) > > { > > return newPage(constructor, new PageParameters()); > > } > > else > > { > > throw new WicketRuntimeException("Unable to create page > from > > " + pageClass + > > ". Class does not have a default contructor", e); > > } > > } > > > > > > I would like to present a custom page explaining the circumstances with a > > nice link to the starting place where to navigate from. > > I don't really like treating this situation as a WicketRuntimeException > and > > have it bubbling up to an internalerrorpage, because of the little > > information on the exception thrown (i don't like identifying it by its > > text, or nested exception type). > > > > Unfortunately, DefaultPageFactory#newPage(Class pageClass) is final, so > this > > behavior can not be overriden. Is providing a custom implementation of > > IPageFactory the best approach to this issue ? Any other way around ? > > > > Cheers, > > Xavier > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org > For additional commands, e-mail: users-h...@wicket.apache.org > > -- "Klein bottle for rent--inquire within."