You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by dk...@apache.org on 2012/12/04 21:13:46 UTC

svn commit: r1417147 - /cxf/trunk/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/Utils.java

Author: dkulp
Date: Tue Dec  4 20:13:46 2012
New Revision: 1417147

URL: http://svn.apache.org/viewvc?rev=1417147&view=rev
Log:
[CXF-4591] Rollback change
Patch from Richard Opalka applied

Modified:
    cxf/trunk/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/Utils.java

Modified: cxf/trunk/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/Utils.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/Utils.java?rev=1417147&r1=1417146&r2=1417147&view=diff
==============================================================================
--- cxf/trunk/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/Utils.java (original)
+++ cxf/trunk/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/Utils.java Tue Dec  4 20:13:46 2012
@@ -26,7 +26,6 @@ import java.lang.reflect.ParameterizedTy
 import java.lang.reflect.Type;
 import java.util.Arrays;
 import java.util.Collection;
-import java.util.Collections;
 import java.util.HashSet;
 import java.util.Set;
 
@@ -54,21 +53,14 @@ final class Utils {
     }
 
     static Collection<Field> getFields(Class<?> cls, XmlAccessType accessType) {
-        if (cls.isAnnotationPresent(XmlTransient.class)) {
-            // When placed on a class, it indicates that the class shouldn't be mapped
-            // to XML by itself. Properties on such class will be mapped to XML along
-            // with its derived classes, as if the class is inlined.
-            return Collections.emptySet();
-        } else {
-            return getFieldsInternal(cls, accessType);
-        }
+        return getFieldsInternal(cls, accessType);
     }
 
     private static Collection<Field> getFieldsInternal(Class<?> cls, XmlAccessType accessType) {
         Set<Field> fields = new HashSet<Field>();
         Class<?> superClass = cls.getSuperclass();
-        if (superClass != null && superClass.isAnnotationPresent(XmlTransient.class)) {
-            // only if superClass is @XmlTransient annotated it will be processed recursively
+        if (superClass != null && !superClass.equals(Object.class) && !superClass.equals(Throwable.class)) {
+            // process super class until java.lang.Object or java.lang.Throwable is not reached
             fields.addAll(getFieldsInternal(superClass, accessType));
         }
         // process current class
@@ -81,22 +73,15 @@ final class Utils {
     }
 
     private static Collection<Method> getMethods(Class<?> cls, XmlAccessType accessType, boolean acceptSetters) {
-        if (cls.isAnnotationPresent(XmlTransient.class)) {
-            // When placed on a class, it indicates that the class shouldn't be mapped
-            // to XML by itself. Properties on such class will be mapped to XML along
-            // with its derived classes, as if the class is inlined.
-            return Collections.emptySet();
-        } else {
-            return getMethodsInternal(cls, accessType, acceptSetters);
-        }
+        return getMethodsInternal(cls, accessType, acceptSetters);
     }
     
     private static Collection<Method> getMethodsInternal(Class<?> cls, XmlAccessType accessType,
             boolean acceptSetters) {
         Set<Method> methods = new HashSet<Method>();
         Class<?> superClass = cls.getSuperclass();
-        if (superClass != null && superClass.isAnnotationPresent(XmlTransient.class)) {
-            // only if superClass is @XmlTransient annotated it will be processed recursively
+        if (superClass != null && !superClass.equals(Object.class) && !superClass.equals(Throwable.class)) {
+            // process super class until java.lang.Object or java.lang.Throwable is not reached
             methods.addAll(getMethodsInternal(superClass, accessType, acceptSetters));
         }
         // process current class