grsf-publisher-ws/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/ex/ValidationException.java

29 lines
982 B
Java

package org.gcube.data_catalogue.grsf_publish_ws.ex;
import javax.validation.ConstraintViolation;
import javax.validation.ConstraintViolationException;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import javax.ws.rs.ext.ExceptionMapper;
import javax.ws.rs.ext.Provider;
@Provider
/**
* Exception thrown on fail
* @author Costantino Perciante at ISTI-CNR
*/
public class ValidationException implements ExceptionMapper<javax.validation.ValidationException> {
@Override
public Response toResponse(javax.validation.ValidationException e) {
final StringBuilder strBuilder = new StringBuilder();
for (ConstraintViolation<?> cv : ((ConstraintViolationException) e).getConstraintViolations()) {
strBuilder.append(cv.getPropertyPath().toString() + " " + cv.getMessage());
}
return Response
.status(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode())
.type(MediaType.APPLICATION_JSON)
.entity(strBuilder.toString())
.build();
}
}