package org.hyperic.hq.api.transfer.mapping; import javax.ws.rs.core.Response; import javax.ws.rs.ext.ExceptionMapper; import javax.ws.rs.ext.Provider; import org.apache.cxf.jaxrs.impl.ResponseBuilderImpl; import org.hyperic.hq.auth.shared.SessionNotFoundException; import org.hyperic.hq.context.Bootstrap; @Provider public class SessionNotFoundExceptionMapper implements ExceptionMapper<SessionNotFoundException> { private ExceptionToErrorCodeMapper errorHandler; public Response toResponse(SessionNotFoundException exception) { ResponseBuilderImpl builder = new ResponseBuilderImpl(); builder.status(Response.Status.UNAUTHORIZED); // FORBIDDEN? String errorCode = ExceptionToErrorCodeMapper.ErrorCode.INVALID_SESSION.getErrorCode(); builder.entity(Bootstrap.getBean(ExceptionToErrorCodeMapper.class).getDescription(errorCode)); Response response = builder.build(); return response; } public ExceptionToErrorCodeMapper getErrorHandler() { return errorHandler; } public void setErrorHandler(ExceptionToErrorCodeMapper errorHandler) { this.errorHandler = errorHandler; } }