У меня есть ExceptionMapper
, который является частью общей общей библиотеки:
@Provider
public class GenericExceptionMapper implements ExceptionMapper<GenericException> {
...
}
Теперь в моем конкретном проекте у меня есть собственный ExceptionMapper
:
@Provider
public class SomeAdHocExceptionMapper implements ExceptionMapper<SomeAdHocException> {
...
}
Я хотел бы преобразовать SomeAdHocException
в GenericException
и позволить GenericExceptionMapper
отвечать за дальнейшую обработку. Я пробовал следующие два варианта, но оба не работают:
[1] вставить GenericException
в SomeAdHocExceptionMapper
:
@Provider
public class SomeAdHocExceptionMapper implements ExceptionMapper<SomeAdHocException> {
public Response toResponse(SomeAdHocException e) {
throw new GenericException(e);
}
}
[2] ввести GenericExceptionMapper
в SomeAdHocExceptionMapper
:
@Provider
public class SomeAdHocExceptionMapper implements ExceptionMapper<SomeAdHocException> {
@Inject
private GenericExceptionMapper mapper;
public Response toResponse(SomeAdHocException e) {
return mapper.toResponse(new GenericException(e));
}
}
Оба варианта дают исключения зависимостей.
Как мне это решить?