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

Matt Cary commented on CXF-3302:
--------------------------------

I see how load() catches Throwable, and I see a few JIRA and patches which have 
steadily walked it from simply ClassNotFoundError to multiple caught exceptions 
to finally catching Throwable.

I'm not sure how the code could be correct.  My logic for creating the issue is 
as follows:
* There is an exact correspondence between the referenced 
org.codehaus.xfire.aegis.type.java5 annotations and the 
org.apache.cxf.aegis.type.java5 annotations which presently exist;
* In a properly configured system I do not see how XFire 1.x annotations would 
exist alongside a working CXF 2.3+ based client.

I do see from the code that the patch effectively duplicates the later 
references to the current annotations, so at best I should re-work the patch to 
simply remove the XFire annotations.  Is this then meant to cover a very small 
backwards-compatibility case?

> org.codehaus.xfire reference missed in Aegis AnnotationReader
> -------------------------------------------------------------
>
>                 Key: CXF-3302
>                 URL: https://issues.apache.org/jira/browse/CXF-3302
>             Project: CXF
>          Issue Type: Bug
>          Components: Aegis Databinding
>    Affects Versions: 2.3.1, 2.3.2
>            Reporter: Matt Cary
>            Priority: Critical
>   Original Estimate: 10m
>  Remaining Estimate: 10m
>
> org.apache.cxf.aegis.type.java5.AnnotationReader contains string references 
> to org.codehaus.xfire packaged classes.  These references are used in 
> Class.forName() which then generates a ClassNotFound error.
> Patch:
> {noformat}
> Index: 
> rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/java5/AnnotationReader.java
> ===================================================================
> --- 
> rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/java5/AnnotationReader.java
>   (revision )
> +++ 
> rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/java5/AnnotationReader.java
>   (revision )
> @@ -43,17 +43,17 @@
>              load("javax.xml.bind.annotation.XmlTransient");
>  
>      private static final Class<? extends Annotation> XFIRE_IGNORE_PROPERTY =
> -            load("org.codehaus.xfire.aegis.type.java5.IgnoreProperty");
> +            load("org.apache.cxf.aegis.type.java5.IgnoreProperty");
>      private static final Class<? extends Annotation> XFIRE_XML_ATTRIBUTE =
> -        load("org.codehaus.xfire.aegis.type.java5.XmlAttribute");
> +            load("org.apache.cxf.aegis.type.java5.XmlAttribute");
>      private static final Class<? extends Annotation> XFIRE_XML_ELEMENT =
> -        load("org.codehaus.xfire.aegis.type.java5.XmlElement");
> +            load("org.apache.cxf.aegis.type.java5.XmlElement");
>      private static final Class<? extends Annotation> XFIRE_XML_TYPE =
> -        load("org.codehaus.xfire.aegis.type.java5.XmlType");
> +            load("org.apache.cxf.aegis.type.java5.XmlType");
>      private static final Class<? extends Annotation> XFIRE_XML_PARAM_TYPE =
> -        load("org.codehaus.xfire.aegis.type.java5.XmlParamType");
> +            load("org.apache.cxf.aegis.type.java5.XmlParamType");
>      private static final Class<? extends Annotation> XFIRE_XML_RETURN_TYPE =
> -        load("org.codehaus.xfire.aegis.type.java5.XmlReturnType");
> +            load("org.apache.cxf.aegis.type.java5.XmlReturnType");
>  
>  
>      @SuppressWarnings("unchecked")
> {noformat}

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to