cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sergey Beryozkin (JIRA)" <>
Subject [jira] [Commented] (CXF-7473) ExceptionMapper class hierarchies: incompatible ExceptionMapper selected
Date Mon, 04 Sep 2017 13:42:00 GMT


Sergey Beryozkin commented on CXF-7473:

I vaguely recall that the reason I did that extra check is that further drilling down due
to the current actualType being of some parameterized/etc types does make it right for some

I guess it would be a bit safer if we check that if the actual type is not null and it is
not in the java.lang.reflect package then do that check ?

By the way, I think 'types' can never be null, so you can safely remove that "if types !=
null" check...


> ExceptionMapper class hierarchies: incompatible ExceptionMapper selected
> ------------------------------------------------------------------------
>                 Key: CXF-7473
>                 URL:
>             Project: CXF
>          Issue Type: Bug
>          Components: JAX-RS
>    Affects Versions: 3.1.11, 3.1.12
>            Reporter: Jocelyn Lepage
>             Fix For: 3.1.13
> CXF seems to select an incompatible ExceptionMapper when using class hierarchies.
> More precisely, if I define an abstract exception class like following:
> {code:java}
> @Provider
> public abstract class AbstractExceptionMapper<E extends Throwable> implements ExceptionMapper<E>
> ...
> {code}
> Then I define a concrete one for IllegalArgumentExceptions:
> {code:java}
> public class IllegalArgumentExceptionMapper extends AbstractExceptionMapper<IllegalArgumentException>
> ...
> {code}
> IllegalArgumentExceptionMapper will then be selected even for RuntimeException subtypes
unrelated to IllegalArgumentExceptions.
> See minimal project showing the problem [here|]
> Similar (if not same) problem seems to have been reported via CXF-6635, but I do see
this with 3.1.11 and 3.1.12.
> Thx!

This message was sent by Atlassian JIRA

View raw message