mirror of
https://github.com/scm-manager/scm-manager.git
synced 2025-11-01 02:55:56 +01:00
Map jaxb violation exceptions instead of reaseasy
ResteasyViolationException implements jaxb's ConstraintViolationException.
This commit is contained in:
@@ -21,30 +21,30 @@
|
|||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
* SOFTWARE.
|
* SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package sonia.scm.api.v2;
|
package sonia.scm.api.v2;
|
||||||
|
|
||||||
import org.jboss.resteasy.api.validation.ResteasyViolationException;
|
|
||||||
import sonia.scm.api.v2.resources.ResteasyViolationExceptionToErrorDtoMapper;
|
import sonia.scm.api.v2.resources.ResteasyViolationExceptionToErrorDtoMapper;
|
||||||
import sonia.scm.web.VndMediaType;
|
import sonia.scm.web.VndMediaType;
|
||||||
|
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
|
import javax.validation.ConstraintViolationException;
|
||||||
import javax.ws.rs.core.Response;
|
import javax.ws.rs.core.Response;
|
||||||
import javax.ws.rs.ext.ExceptionMapper;
|
import javax.ws.rs.ext.ExceptionMapper;
|
||||||
import javax.ws.rs.ext.Provider;
|
import javax.ws.rs.ext.Provider;
|
||||||
|
|
||||||
@Provider
|
@Provider
|
||||||
public class ResteasyValidationExceptionMapper implements ExceptionMapper<ResteasyViolationException> {
|
public class JavaxValidationExceptionMapper implements ExceptionMapper<ConstraintViolationException> {
|
||||||
|
|
||||||
private final ResteasyViolationExceptionToErrorDtoMapper mapper;
|
private final ResteasyViolationExceptionToErrorDtoMapper mapper;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public ResteasyValidationExceptionMapper(ResteasyViolationExceptionToErrorDtoMapper mapper) {
|
public JavaxValidationExceptionMapper(ResteasyViolationExceptionToErrorDtoMapper mapper) {
|
||||||
this.mapper = mapper;
|
this.mapper = mapper;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Response toResponse(ResteasyViolationException exception) {
|
public Response toResponse(ConstraintViolationException exception) {
|
||||||
return Response
|
return Response
|
||||||
.status(Response.Status.BAD_REQUEST)
|
.status(Response.Status.BAD_REQUEST)
|
||||||
.type(VndMediaType.ERROR_TYPE)
|
.type(VndMediaType.ERROR_TYPE)
|
||||||
@@ -21,10 +21,9 @@
|
|||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
* SOFTWARE.
|
* SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package sonia.scm.api.v2.resources;
|
package sonia.scm.api.v2.resources;
|
||||||
|
|
||||||
import org.jboss.resteasy.api.validation.ResteasyViolationException;
|
|
||||||
import org.mapstruct.AfterMapping;
|
import org.mapstruct.AfterMapping;
|
||||||
import org.mapstruct.Mapper;
|
import org.mapstruct.Mapper;
|
||||||
import org.mapstruct.Mapping;
|
import org.mapstruct.Mapping;
|
||||||
@@ -32,6 +31,7 @@ import org.mapstruct.MappingTarget;
|
|||||||
import org.slf4j.MDC;
|
import org.slf4j.MDC;
|
||||||
|
|
||||||
import javax.validation.ConstraintViolation;
|
import javax.validation.ConstraintViolation;
|
||||||
|
import javax.validation.ConstraintViolationException;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
@@ -42,7 +42,8 @@ public abstract class ResteasyViolationExceptionToErrorDtoMapper {
|
|||||||
@Mapping(target = "transactionId", ignore = true)
|
@Mapping(target = "transactionId", ignore = true)
|
||||||
@Mapping(target = "context", ignore = true)
|
@Mapping(target = "context", ignore = true)
|
||||||
@Mapping(target = "url", 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
|
@AfterMapping
|
||||||
void setTransactionId(@MappingTarget ErrorDto dto) {
|
void setTransactionId(@MappingTarget ErrorDto dto) {
|
||||||
@@ -50,7 +51,7 @@ public abstract class ResteasyViolationExceptionToErrorDtoMapper {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@AfterMapping
|
@AfterMapping
|
||||||
void mapViolations(ResteasyViolationException exception, @MappingTarget ErrorDto dto) {
|
void mapViolations(ConstraintViolationException exception, @MappingTarget ErrorDto dto) {
|
||||||
List<ErrorDto.ConstraintViolationDto> violations =
|
List<ErrorDto.ConstraintViolationDto> violations =
|
||||||
exception.getConstraintViolations()
|
exception.getConstraintViolations()
|
||||||
.stream()
|
.stream()
|
||||||
|
|||||||
Reference in New Issue
Block a user