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/07 17:17:54 UTC

svn commit: r1443588 - in /cxf/trunk/rt/databinding/jaxb/src: main/java/org/apache/cxf/jaxb/JAXBContextInitializer.java test/java/org/apache/cxf/jaxb/JAXBDataBindingTest.java

Author: dkulp
Date: Thu Feb  7 16:17:53 2013
New Revision: 1443588

URL: http://svn.apache.org/viewvc?rev=1443588&view=rev
Log:
[CXF-4711] Add testcase, show's it's working

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/JAXBDataBindingTest.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=1443588&r1=1443587&r2=1443588&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 Thu Feb  7 16:17:53 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/trunk/rt/databinding/jaxb/src/test/java/org/apache/cxf/jaxb/JAXBDataBindingTest.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/databinding/jaxb/src/test/java/org/apache/cxf/jaxb/JAXBDataBindingTest.java?rev=1443588&r1=1443587&r2=1443588&view=diff
==============================================================================
--- cxf/trunk/rt/databinding/jaxb/src/test/java/org/apache/cxf/jaxb/JAXBDataBindingTest.java (original)
+++ cxf/trunk/rt/databinding/jaxb/src/test/java/org/apache/cxf/jaxb/JAXBDataBindingTest.java Thu Feb  7 16:17:53 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>> {
+    }    
 }