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 2013/02/12 22:15:37 UTC
svn commit: r1445371 - in /cxf/branches/2.7.x-fixes/rt/databinding/jaxb/src:
main/java/org/apache/cxf/jaxb/JAXBContextInitializer.java
test/java/org/apache/cxf/jaxb/JAXBDataBindingTest.java
Author: dkulp
Date: Tue Feb 12 21:15:37 2013
New Revision: 1445371
URL: http://svn.apache.org/r1445371
Log:
Merged revisions 1443588 via git cherry-pick from
https://svn.apache.org/repos/asf/cxf/trunk
........
r1443588 | dkulp | 2013-02-07 11:17:53 -0500 (Thu, 07 Feb 2013) | 2 lines
[CXF-4711] Add testcase, show's it's working
........
Modified:
cxf/branches/2.7.x-fixes/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/JAXBContextInitializer.java
cxf/branches/2.7.x-fixes/rt/databinding/jaxb/src/test/java/org/apache/cxf/jaxb/JAXBDataBindingTest.java
Modified: cxf/branches/2.7.x-fixes/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/JAXBContextInitializer.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.7.x-fixes/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/JAXBContextInitializer.java?rev=1445371&r1=1445370&r2=1445371&view=diff
==============================================================================
--- cxf/branches/2.7.x-fixes/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/JAXBContextInitializer.java (original)
+++ cxf/branches/2.7.x-fixes/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/JAXBContextInitializer.java Tue Feb 12 21:15:37 2013
@@ -265,7 +265,7 @@ class JAXBContextInitializer extends Ser
}
- private void addClass(Class<?> cls) {
+ void addClass(Class<?> cls) {
if (Throwable.class.isAssignableFrom(cls)) {
if (!Throwable.class.equals(cls)
&& !Exception.class.equals(cls)) {
Modified: cxf/branches/2.7.x-fixes/rt/databinding/jaxb/src/test/java/org/apache/cxf/jaxb/JAXBDataBindingTest.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.7.x-fixes/rt/databinding/jaxb/src/test/java/org/apache/cxf/jaxb/JAXBDataBindingTest.java?rev=1445371&r1=1445370&r2=1445371&view=diff
==============================================================================
--- cxf/branches/2.7.x-fixes/rt/databinding/jaxb/src/test/java/org/apache/cxf/jaxb/JAXBDataBindingTest.java (original)
+++ cxf/branches/2.7.x-fixes/rt/databinding/jaxb/src/test/java/org/apache/cxf/jaxb/JAXBDataBindingTest.java Tue Feb 12 21:15:37 2013
@@ -22,7 +22,9 @@ package org.apache.cxf.jaxb;
import java.io.OutputStream;
import java.io.StringWriter;
+import java.util.ArrayList;
import java.util.Arrays;
+import java.util.Collection;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
@@ -230,4 +232,24 @@ public class JAXBDataBindingTest extends
String xml = stringWriter.toString();
assertTrue(xml, xml.contains("greenland=\"uri:ultima:thule"));
}
+
+
+ @Test
+ public void testResursiveType() throws Exception {
+ Set<Class<?>> classes = new HashSet<Class<?>>();
+ Collection<Object> typeReferences = new ArrayList<Object>();
+ JAXBContextInitializer init = new JAXBContextInitializer(null, classes, typeReferences);
+ init.addClass(Type2.class);
+ assertEquals(2, classes.size());
+ }
+
+ public abstract static class Type2 extends AddressEntity<Type2> {
+ }
+
+ public abstract static class AddressEntity<T extends AddressEntity<T>> {
+ public abstract Addressable<T> getEntity();
+ }
+
+ public interface Addressable<T extends AddressEntity<T>> {
+ }
}