[ 
https://issues.apache.org/jira/browse/CXF-7473?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16156745#comment-16156745
 ] 

Dennis Kieselhorst commented on CXF-7473:
-----------------------------------------

You were right, my fix didn't cover all cases 
(org.apache.cxf.jaxrs.provider.ProviderFactoryTest#testGetComplexProvider2 was 
failing).

So instead of fixing it in ProviderFactory#getGenericInterfaces, maybe we 
should add another check in ProviderFactory#handleMapper to ensure that 
mapperClass really fits?

> ExceptionMapper class hierarchies: incompatible ExceptionMapper selected
> ------------------------------------------------------------------------
>
>                 Key: CXF-7473
>                 URL: https://issues.apache.org/jira/browse/CXF-7473
>             Project: CXF
>          Issue Type: Bug
>          Components: JAX-RS
>    Affects Versions: 3.1.11, 3.1.12
>            Reporter: Jocelyn Lepage
>             Fix For: 3.2.1
>
>
> 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|https://github.com/jlepage-appdirect/cxf-exception-mapper-bug]
> 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
(v6.4.14#64029)

Reply via email to