You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by ff...@apache.org on 2013/09/03 10:37:44 UTC
svn commit: r1519601 - in /cxf/trunk/rt/databinding/jaxb/src:
main/java/org/apache/cxf/jaxb/JAXBContextInitializer.java
test/java/org/apache/cxf/jaxb/JAXBEncoderDecoderTest.java
test/java/org/apache/cxf/jaxb/OrderException.java
Author: ffang
Date: Tue Sep 3 08:37:43 2013
New Revision: 1519601
URL: http://svn.apache.org/r1519601
Log:
[CXF-5189]Java transient modifier is ignored by JAXB databinding
Modified:
cxf/trunk/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/JAXBContextInitializer.java
cxf/trunk/rt/databinding/jaxb/src/test/java/org/apache/cxf/jaxb/JAXBEncoderDecoderTest.java
cxf/trunk/rt/databinding/jaxb/src/test/java/org/apache/cxf/jaxb/OrderException.java
Modified: cxf/trunk/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/JAXBContextInitializer.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/JAXBContextInitializer.java?rev=1519601&r1=1519600&r2=1519601&view=diff
==============================================================================
--- cxf/trunk/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/JAXBContextInitializer.java (original)
+++ cxf/trunk/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/JAXBContextInitializer.java Tue Sep 3 08:37:43 2013
@@ -379,8 +379,9 @@ class JAXBContextInitializer extends Ser
* Checks if the field is accepted as a JAXB property.
*/
static boolean isFieldAccepted(Field field, XmlAccessType accessType) {
- // We only accept non static fields which are not marked @XmlTransient
- if (Modifier.isStatic(field.getModifiers()) || field.isAnnotationPresent(XmlTransient.class)) {
+ // We only accept non static fields which are not marked @XmlTransient or has transient modifier
+ if (Modifier.isStatic(field.getModifiers()) || field.isAnnotationPresent(XmlTransient.class)
+ || Modifier.isTransient(field.getModifiers())) {
return false;
}
if (accessType == XmlAccessType.PUBLIC_MEMBER
Modified: cxf/trunk/rt/databinding/jaxb/src/test/java/org/apache/cxf/jaxb/JAXBEncoderDecoderTest.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/databinding/jaxb/src/test/java/org/apache/cxf/jaxb/JAXBEncoderDecoderTest.java?rev=1519601&r1=1519600&r2=1519601&view=diff
==============================================================================
--- cxf/trunk/rt/databinding/jaxb/src/test/java/org/apache/cxf/jaxb/JAXBEncoderDecoderTest.java (original)
+++ cxf/trunk/rt/databinding/jaxb/src/test/java/org/apache/cxf/jaxb/JAXBEncoderDecoderTest.java Tue Sep 3 08:37:43 2013
@@ -472,6 +472,7 @@ public class JAXBEncoderDecoderTest exte
assertTrue(b < c);
assertTrue(c < d);
assertTrue(d < e);
+ assertTrue(bout.toString().indexOf("transientValue") < 0);
}
@Test
Modified: cxf/trunk/rt/databinding/jaxb/src/test/java/org/apache/cxf/jaxb/OrderException.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/databinding/jaxb/src/test/java/org/apache/cxf/jaxb/OrderException.java?rev=1519601&r1=1519600&r2=1519601&view=diff
==============================================================================
--- cxf/trunk/rt/databinding/jaxb/src/test/java/org/apache/cxf/jaxb/OrderException.java (original)
+++ cxf/trunk/rt/databinding/jaxb/src/test/java/org/apache/cxf/jaxb/OrderException.java Tue Sep 3 08:37:43 2013
@@ -23,8 +23,11 @@ import javax.xml.bind.annotation.XmlAcce
@XmlAccessorOrder(XmlAccessOrder.ALPHABETICAL)
public class OrderException extends Exception {
+
private static final long serialVersionUID = 1L;
+ private transient int transientValue;
+
private String info1;
private String info2;
@@ -34,6 +37,7 @@ public class OrderException extends Exce
private int intVal;
private String detail;
+
public OrderException(String message) {
super(message);
@@ -81,4 +85,15 @@ public class OrderException extends Exce
this.detail = detail;
}
+
+ int getTransientValue() {
+ return transientValue;
+ }
+
+
+ void setTransientValue(int transientValue) {
+ this.transientValue = transientValue;
+ }
+
+
}