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:56:49 UTC
svn commit: r1417175 -
/cxf/branches/2.6.x-fixes/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/Utils.java
Author: dkulp
Date: Tue Dec 4 20:56:49 2012
New Revision: 1417175
URL: http://svn.apache.org/viewvc?rev=1417175&view=rev
Log:
Merged revisions 1417147 via git cherry-pick from
https://svn.apache.org/repos/asf/cxf/trunk
........
r1417147 | dkulp | 2012-12-04 15:13:46 -0500 (Tue, 04 Dec 2012) | 3 lines
[CXF-4591] Rollback change
Patch from Richard Opalka applied
........
Modified:
cxf/branches/2.6.x-fixes/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/Utils.java
Modified: cxf/branches/2.6.x-fixes/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/Utils.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.6.x-fixes/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/Utils.java?rev=1417175&r1=1417174&r2=1417175&view=diff
==============================================================================
--- cxf/branches/2.6.x-fixes/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/Utils.java (original)
+++ cxf/branches/2.6.x-fixes/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/Utils.java Tue Dec 4 20:56:49 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