package com.sequenceiq.cloudbreak.controller.mapper; import javax.ws.rs.core.Response; import javax.ws.rs.ext.ExceptionMapper; import javax.ws.rs.ext.Provider; import org.hibernate.exception.ConstraintViolationException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.sequenceiq.cloudbreak.logger.MDCBuilder; @Provider public class HibernateConstraintViolationException implements ExceptionMapper<ConstraintViolationException> { private static final Logger LOGGER = LoggerFactory.getLogger(ConstraintViolationExceptionMapper.class); @Override public Response toResponse(ConstraintViolationException exception) { MDCBuilder.buildMdcContext(); LOGGER.error(exception.getMessage(), exception); return Response.status(Response.Status.BAD_REQUEST).entity(exception.getLocalizedMessage()) .build(); } }