package org.jboss.seam.compat.jaxrs.provider; import javax.enterprise.context.ApplicationScoped; import javax.inject.Inject; import javax.servlet.ServletConfig; import javax.servlet.ServletContext; import javax.ws.rs.core.Context; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; import javax.ws.rs.core.SecurityContext; import javax.ws.rs.ext.ExceptionMapper; import javax.ws.rs.ext.Provider; import javax.ws.rs.ext.Providers; @Provider @ApplicationScoped public class MyExceptionMapper implements ExceptionMapper<NullPointerException> { @Context private SecurityContext securityContext; @Context private Providers providers; @Context private ServletConfig servletConfig; @Context private ServletContext servletContext; @Inject private Foo cdiFieldInjection; @Override public Response toResponse(NullPointerException exception) { StringBuilder builder = new StringBuilder(); builder.append("SecurityContext:" + (securityContext != null)); builder.append(",Providers:" + (providers != null)); builder.append(",ServletConfig:" + (servletConfig != null)); builder.append(",ServletContext:" + (servletContext != null)); builder.append(",CDI field injection:" + (cdiFieldInjection != null)); return Response.status(200).entity(builder.toString()).type(MediaType.TEXT_HTML).build(); } }