[
https://issues.apache.org/jira/browse/CXF-1727?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12618457#action_12618457
]
Frank Ittermann commented on CXF-1727:
--------------------------------------
Before i can submit a patch i will try if me suggestion is right. I fixed this
and build a new cxf 2.1.2 version local. After that i will see if i have the
time submit the patch tomorrow.
Can you give advices how could i submit a patch here or a link.
> I guess there is an error in the ProviderFactory of jaxrs component.
> --------------------------------------------------------------------
>
> Key: CXF-1727
> URL: https://issues.apache.org/jira/browse/CXF-1727
> Project: CXF
> Issue Type: Bug
> Components: REST
> Affects Versions: 2.1.2
> Environment: Windowx XP, Apache Tomcat and i used spring configuration
> Reporter: Frank Ittermann
>
> I thin in the method createExceptionMapper of the
> org.apache.cxf.jaxrs.provider.ProviderFactory class is an error.
> The following code block is wrong i guess:
> if (exceptionType.isAssignableFrom((Class<?>)args[i])) {
> InjectionUtils.injectContextFields(em.getProvider(), em, m);
> InjectionUtils.injectContextMethods(em.getProvider(), em, m);
> return em.getProvider();
> }
> The if doesn't work correctly. I wrote a ExceptionMapper<Exception> for the
> general Exception class. And i tested this ExceptionMapper with a throw of a
> IOException and it was not called. So I decided to debug the ExceptionMapper
> staff and i found that the if in the code block a above is false.
> So i wrote a little test to understand this.
> System.out.println(IOException.class.isAssignableFrom(Exception.class));
> System.out.println(Exception.class.isAssignableFrom(IOException.class));
> The first line of code is what your if does and if you check this you will
> see it returns false. But Exception is the super class
> of IOException how could it possible. The answer is easy because the
> isAssignableFrom method check if the
> passed class parameter is the same or a child of the class on which
> isAssignableForm was called. So The bug fix will be the second line they
> return true.
> Please change the wrong code block the right order of parameter will be
> if (((Class<?>)args[i]).isAssignableFrom(exceptionType))
> Thank for your attention
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.