diff --git a/scm-webapp/src/main/java/sonia/scm/api/v2/ResteasyValidationExceptionMapper.java b/scm-webapp/src/main/java/sonia/scm/api/v2/JavaxValidationExceptionMapper.java similarity index 83% rename from scm-webapp/src/main/java/sonia/scm/api/v2/ResteasyValidationExceptionMapper.java rename to scm-webapp/src/main/java/sonia/scm/api/v2/JavaxValidationExceptionMapper.java index 48eea0a5d4..43f6be6e14 100644 --- a/scm-webapp/src/main/java/sonia/scm/api/v2/ResteasyValidationExceptionMapper.java +++ b/scm-webapp/src/main/java/sonia/scm/api/v2/JavaxValidationExceptionMapper.java @@ -21,30 +21,30 @@ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ - + package sonia.scm.api.v2; -import org.jboss.resteasy.api.validation.ResteasyViolationException; import sonia.scm.api.v2.resources.ResteasyViolationExceptionToErrorDtoMapper; import sonia.scm.web.VndMediaType; import javax.inject.Inject; +import javax.validation.ConstraintViolationException; import javax.ws.rs.core.Response; import javax.ws.rs.ext.ExceptionMapper; import javax.ws.rs.ext.Provider; @Provider -public class ResteasyValidationExceptionMapper implements ExceptionMapper { +public class JavaxValidationExceptionMapper implements ExceptionMapper { private final ResteasyViolationExceptionToErrorDtoMapper mapper; @Inject - public ResteasyValidationExceptionMapper(ResteasyViolationExceptionToErrorDtoMapper mapper) { + public JavaxValidationExceptionMapper(ResteasyViolationExceptionToErrorDtoMapper mapper) { this.mapper = mapper; } @Override - public Response toResponse(ResteasyViolationException exception) { + public Response toResponse(ConstraintViolationException exception) { return Response .status(Response.Status.BAD_REQUEST) .type(VndMediaType.ERROR_TYPE) diff --git a/scm-webapp/src/main/java/sonia/scm/api/v2/resources/ResteasyViolationExceptionToErrorDtoMapper.java b/scm-webapp/src/main/java/sonia/scm/api/v2/resources/ResteasyViolationExceptionToErrorDtoMapper.java index 1c726489f9..e94bd57503 100644 --- a/scm-webapp/src/main/java/sonia/scm/api/v2/resources/ResteasyViolationExceptionToErrorDtoMapper.java +++ b/scm-webapp/src/main/java/sonia/scm/api/v2/resources/ResteasyViolationExceptionToErrorDtoMapper.java @@ -21,10 +21,9 @@ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ - + package sonia.scm.api.v2.resources; -import org.jboss.resteasy.api.validation.ResteasyViolationException; import org.mapstruct.AfterMapping; import org.mapstruct.Mapper; import org.mapstruct.Mapping; @@ -32,6 +31,7 @@ import org.mapstruct.MappingTarget; import org.slf4j.MDC; import javax.validation.ConstraintViolation; +import javax.validation.ConstraintViolationException; import java.util.List; import java.util.stream.Collectors; @@ -42,7 +42,8 @@ public abstract class ResteasyViolationExceptionToErrorDtoMapper { @Mapping(target = "transactionId", ignore = true) @Mapping(target = "context", ignore = true) @Mapping(target = "url", ignore = true) - public abstract ErrorDto map(ResteasyViolationException exception); + @Mapping(target = "violations", ignore = true) + public abstract ErrorDto map(ConstraintViolationException exception); @AfterMapping void setTransactionId(@MappingTarget ErrorDto dto) { @@ -50,7 +51,7 @@ public abstract class ResteasyViolationExceptionToErrorDtoMapper { } @AfterMapping - void mapViolations(ResteasyViolationException exception, @MappingTarget ErrorDto dto) { + void mapViolations(ConstraintViolationException exception, @MappingTarget ErrorDto dto) { List violations = exception.getConstraintViolations() .stream()