Skip to content

Commit

Permalink
add logging to exception mappers
Browse files Browse the repository at this point in the history
  • Loading branch information
cbeer committed May 16, 2013
1 parent 8ce2ebb commit 30b3bf7
Show file tree
Hide file tree
Showing 4 changed files with 48 additions and 0 deletions.
@@ -1,8 +1,11 @@

package org.fcrepo.exceptionhandlers;

import org.slf4j.Logger;

import static javax.ws.rs.core.Response.status;
import static javax.ws.rs.core.Response.Status.FORBIDDEN;
import static org.slf4j.LoggerFactory.getLogger;

import javax.jcr.security.AccessControlException;
import javax.ws.rs.core.Response;
Expand All @@ -13,8 +16,11 @@
public class AccessControlExceptionMapper implements
ExceptionMapper<AccessControlException> {

private final Logger LOGGER = getLogger(AccessControlExceptionMapper.class);

@Override
public Response toResponse(final AccessControlException arg0) {
LOGGER.warn("Got access control exception: {}", arg0.getMessage());
return status(FORBIDDEN).build();
}

Expand Down
@@ -1,8 +1,11 @@

package org.fcrepo.exceptionhandlers;

import org.slf4j.Logger;

import static javax.ws.rs.core.Response.status;
import static javax.ws.rs.core.Response.Status.NOT_FOUND;
import static org.slf4j.LoggerFactory.getLogger;

import javax.jcr.PathNotFoundException;
import javax.ws.rs.core.Response;
Expand All @@ -13,8 +16,12 @@
public class PathNotFoundExceptionMapper implements
ExceptionMapper<PathNotFoundException> {


private final Logger LOGGER = getLogger(PathNotFoundExceptionMapper.class);

@Override
public Response toResponse(final PathNotFoundException arg0) {
LOGGER.info("Caught a path-not-found exception: {}", arg0.getMessage());
return status(NOT_FOUND).build();
}

Expand Down
@@ -0,0 +1,28 @@
package org.fcrepo.exceptionhandlers;

import org.slf4j.Logger;

import javax.jcr.RepositoryException;
import javax.ws.rs.core.Response;
import javax.ws.rs.ext.ExceptionMapper;
import javax.ws.rs.ext.Provider;

import static com.google.common.base.Throwables.getStackTraceAsString;
import static javax.ws.rs.core.Response.serverError;
import static org.slf4j.LoggerFactory.getLogger;

@Provider
public class RepositoryExceptionMapper implements ExceptionMapper<RepositoryException> {

private final Logger LOGGER = getLogger(RepositoryExceptionMapper.class);

Boolean showStackTrace = true;

@Override
public Response toResponse(RepositoryException e) {

LOGGER.warn("Caught repository exception: {}", e);

return serverError().entity(showStackTrace ? getStackTraceAsString(e) : null).build();
}
}
@@ -1,8 +1,11 @@

package org.fcrepo.exceptionhandlers;

import org.slf4j.Logger;

import static com.google.common.base.Throwables.getStackTraceAsString;
import static javax.ws.rs.core.Response.serverError;
import static org.slf4j.LoggerFactory.getLogger;

import javax.ws.rs.core.Response;
import javax.ws.rs.ext.ExceptionMapper;
Expand All @@ -11,10 +14,14 @@
@Provider
public class WildcardExceptionMapper implements ExceptionMapper<Exception> {


private final Logger LOGGER = getLogger(WildcardExceptionMapper.class);

Boolean showStackTrace = true;

@Override
public Response toResponse(final Exception e) {
LOGGER.error("{}", e);

return serverError().entity(
showStackTrace ? getStackTraceAsString(e) : null).build();
Expand Down

0 comments on commit 30b3bf7

Please sign in to comment.