List of usage examples for org.apache.wicket.request IExceptionMapper IExceptionMapper
IExceptionMapper
From source file:gr.abiss.calipso.wicket.CalipsoApplication.java
License:Open Source License
/** * Maps exceptions to pages.//ww w. j a va 2 s . c om */ @Override public IProvider<IExceptionMapper> getExceptionMapperProvider() { return new IProvider<IExceptionMapper>() { @Override public IExceptionMapper get() { return new IExceptionMapper() { final DefaultExceptionMapper def = new DefaultExceptionMapper(); @Override public IRequestHandler map(Exception ex) { PageParameters par = new PageParameters().add("ex", ex); boolean couldNotLock = false; if (ex.getClass().equals(CouldNotLockPageException.class)) { couldNotLock = true; } else if (ex.getCause() != null && (ex.getCause().getClass().equals(CouldNotLockPageException.class) || (ex.getCause().getCause() != null && ex.getCause().getCause().getClass() .equals(CouldNotLockPageException.class)))) { couldNotLock = true; } if (couldNotLock) { Request request = RequestCycle.get().getRequest(); HttpServletRequest httpRequest = ((ServletWebRequest) request).getContainerRequest(); logger.error("Page lock timed out, invalidating session"); if (httpRequest.getSession(false) != null) { httpRequest.getSession().invalidate(); } return new RenderPageRequestHandler(new PageProvider(LoginPage.class, par)); } return def.map(ex); } }; } }; }