29 lines
982 B
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();
|
|
}
|
|
} |