public final void testFilterExceptionPrunesStack() throws Exception { Injector injector = Guice.createInjector( new ServletModule() { @Override protected void configureServlets() { filter("/").through(TestFilter.class); filter("/nothing").through(TestFilter.class); filter("/").through(ThrowingFilter.class); } }); HttpServletRequest request = newFakeHttpServletRequest(); FilterPipeline pipeline = injector.getInstance(FilterPipeline.class); pipeline.initPipeline(null); try { pipeline.dispatch(request, null, null); fail("expected exception"); } catch (ServletException ex) { for (StackTraceElement element : ex.getStackTrace()) { String className = element.getClassName(); assertTrue( "was: " + element, !className.equals(FilterChainInvocation.class.getName()) && !className.equals(FilterDefinition.class.getName())); } } }
public final void testServletExceptionPrunesStack() throws Exception { Injector injector = Guice.createInjector( new ServletModule() { @Override protected void configureServlets() { filter("/").through(TestFilter.class); filter("/nothing").through(TestFilter.class); serve("/").with(ThrowingServlet.class); } }); HttpServletRequest request = newFakeHttpServletRequest(); FilterPipeline pipeline = injector.getInstance(FilterPipeline.class); pipeline.initPipeline(null); try { pipeline.dispatch(request, null, null); fail("expected exception"); } catch (ServletException ex) { for (StackTraceElement element : ex.getStackTrace()) { String className = element.getClassName(); assertTrue( "was: " + element, !className.equals(FilterChainInvocation.class.getName()) && !className.equals(FilterDefinition.class.getName())); } } }
@Override public final ServletException couldNotInstantiateComponent(final String name, final Exception e) { final ServletException result = new ServletException(String.format(getLoggingLocale(), couldNotInstantiateComponent$str(), name), e); final StackTraceElement[] st = result.getStackTrace(); result.setStackTrace(Arrays.copyOfRange(st, 1, st.length)); return result; } private static final String cannotLoadClass = "UT010014: Could not load class %s";
@Override public final ServletException deploymentStopped(final String deployment) { final ServletException result = new ServletException(String.format(getLoggingLocale(), deploymentStopped$str(), deployment)); final StackTraceElement[] st = result.getStackTrace(); result.setStackTrace(Arrays.copyOfRange(st, 1, st.length)); return result; } private static final String headerNameWasNull = "UT010052: Header name was null";
@Override public final ServletException cannotObtainDestinationFactoryForHttpTransport(final Throwable cause) { final ServletException result = new ServletException(String.format(getLoggingLocale(), cannotObtainDestinationFactoryForHttpTransport$str()), cause); final StackTraceElement[] st = result.getStackTrace(); result.setStackTrace(Arrays.copyOfRange(st, 1, st.length)); return result; } private static final String cannotLoadClass = "JBWS024031: Cannot load class %s";
@Override public final ServletException userAlreadyLoggedIn() { final ServletException result = new ServletException(String.format(getLoggingLocale(), userAlreadyLoggedIn$str())); final StackTraceElement[] st = result.getStackTrace(); result.setStackTrace(Arrays.copyOfRange(st, 1, st.length)); return result; } private static final String loginFailed = "UT010031: Login failed";
@Override public final ServletException loginFailed() { final ServletException result = new ServletException(String.format(getLoggingLocale(), loginFailed$str())); final StackTraceElement[] st = result.getStackTrace(); result.setStackTrace(Arrays.copyOfRange(st, 1, st.length)); return result; } private static final String authenticationFailed = "UT010032: Authenticationfailed";
@Override public final ServletException notAMultiPartRequest() { final ServletException result = new ServletException(String.format(getLoggingLocale(), notAMultiPartRequest$str())); final StackTraceElement[] st = result.getStackTrace(); result.setStackTrace(Arrays.copyOfRange(st, 1, st.length)); return result; } private static final String asyncNotStarted = "UT010018: Async not started";
@Override public final ServletException authenticationFailed() { final ServletException result = new ServletException(String.format(getLoggingLocale(), authenticationFailed$str())); final StackTraceElement[] st = result.getStackTrace(); result.setStackTrace(Arrays.copyOfRange(st, 1, st.length)); return result; } private static final String noSession = "UT010033: No session";
@Override public final ServletException noWebSocketHandler() { final ServletException result = new ServletException(String.format(getLoggingLocale(), noWebSocketHandler$str())); final StackTraceElement[] st = result.getStackTrace(); result.setStackTrace(Arrays.copyOfRange(st, 1, st.length)); return result; } private static final String unknownAuthenticationMechanism = "UT010039: Unknown authentication mechanism %s";
@Override public final ServletException cannotObtainRegistry(final String registryInterfaceName) { final ServletException result = new ServletException(String.format(getLoggingLocale(), cannotObtainRegistry$str(), registryInterfaceName)); final StackTraceElement[] st = result.getStackTrace(); result.setStackTrace(Arrays.copyOfRange(st, 1, st.length)); return result; } private static final String cannotObtainDestinationFor = "JBWS024029: Cannot obtain destination for %s";
@Override public final ServletException cannotObtainDestinationFor(final String requestURI) { final ServletException result = new ServletException(String.format(getLoggingLocale(), cannotObtainDestinationFor$str(), requestURI)); final StackTraceElement[] st = result.getStackTrace(); result.setStackTrace(Arrays.copyOfRange(st, 1, st.length)); return result; } private static final String cannotObtainDestinationFactoryForHttpTransport = "JBWS024030: Cannot obtain destination factory for http transport";