application.getrequestcyclelisteners().add(new abstractrequestcyclelistener() { irequsthandler onexception(e) { Throwable cause = e; if (cause instanceof WicketRuntimeException) { cause = cause.getCause(); }
if (cause instanceof InvocationTargetException) { cause = cause.getCause(); } if (cause instanceof WicketResourceGoneException || cause instanceof ResourceGoneException) { return new renderpagerequesthandler(new ResourceGonePage((WicketResourceGoneException)cause)); } if (cause instanceof ResourceNotFoundException) { return new renderpagerequesthandler(new NotFoundPage((ResourceNotFoundException)cause)); } }); -igor On Mon, Nov 14, 2011 at 3:34 PM, Nelson Segura <nsegu...@gmail.com> wrote: > Hello, > I am starting to migrate from 1.4 to 1.5. > I am having problems trying to figure out exactly what is the best way > to do the following. > > I have some custom exception and some custom pages for when the code > throws those exception. In 1.4 this seemed trivial. For example > > > ...... > > public class MyRequestLifecycle extends WebRequestCycle { > > public MyRequestLifecycle(org.apache.wicket.protocol.http.WebApplication > application, > WebRequest request, > Response response) { > super(application, request, response); > } > > @Override > public Page onRuntimeException(Page page, RuntimeException e) { > Throwable cause = e; > if (cause instanceof WicketRuntimeException) { > cause = cause.getCause(); > } > > if (cause instanceof InvocationTargetException) { > cause = cause.getCause(); > } > > if (cause instanceof WicketResourceGoneException > || cause instanceof ResourceGoneException) { > return new ResourceGonePage((WicketResourceGoneException)cause); > } > > if (cause instanceof ResourceNotFoundException) { > return new NotFoundPage((ResourceNotFoundException)cause); > } > return super.onRuntimeException(page, e); > } > > } > > > But I can't figure out a clean / easy way to do this in 1.5. I seems > that I need to write a lot of code to accomplish this. > > I am looking at the following links: > > https://cwiki.apache.org/WICKET/migration-to-wicket-15.html > https://cwiki.apache.org/WICKET/requestcycle-in-wicket-15.html > > Problems are: > - Which class should I be extend or implementing. > AbstractRequestCycleListener? IExceptionMapper? IRequestHandler? > - How do I get access to the current page? > If I return a IRequestHandler, how do I create one. Do I need to > create one? Can I use the current one? do I need to worry if this is > part of an AjaxRequest? I have looked at code in > AbstractRequestCycleListener, SystemMapper, CompoundRequestMapper, > DefaultExceptionMapper, etc. It all seems too low level compared to > other Wicket APIs, that makes me think I am missing something. > > What should I do? > > -Nelson > > --------------------------------------------------------------------- > 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