
com.hpe.dna.common.jersey.CustomValidationExceptionMapper Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of common Show documentation
Show all versions of common Show documentation
Common Library used in HPE DnA Project
The newest version!
package com.hpe.dna.common.jersey;
import org.glassfish.jersey.server.ServerProperties;
import org.glassfish.jersey.server.validation.internal.ValidationHelper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.annotation.Priority;
import javax.validation.ConstraintViolation;
import javax.validation.ConstraintViolationException;
import javax.validation.ValidationException;
import javax.ws.rs.Priorities;
import javax.ws.rs.core.*;
import javax.ws.rs.ext.ExceptionMapper;
import javax.ws.rs.ext.Provider;
import java.util.*;
/**
* @author [email protected]
*/
@Provider
@Priority(Priorities.USER - 10)
public class CustomValidationExceptionMapper implements ExceptionMapper {
private static final Logger logger = LoggerFactory.getLogger(CustomValidationExceptionMapper.class);
@Context
private Configuration config;
@Context
private javax.inject.Provider request;
@Override
public Response toResponse(ValidationException exception) {
logger.debug("Caught ValidationException - {}", exception.getClass().getName());
if (exception instanceof ConstraintViolationException) {
final ConstraintViolationException cve = (ConstraintViolationException) exception;
final Response.ResponseBuilder response = Response.status(ValidationHelper.getResponseStatus(cve));
// Entity.
final Object property = config.getProperty(ServerProperties.BV_SEND_ERROR_IN_RESPONSE);
if (property != null && Boolean.valueOf(property.toString())) {
Set> violations = cve.getConstraintViolations();
List
© 2015 - 2025 Weber Informatics LLC | Privacy Policy