Author: dkulp
Date: Thu Jun  4 19:52:17 2009
New Revision: 781843

URL: http://svn.apache.org/viewvc?rev=781843&view=rev
Log:
Merged revisions 781841 via svnmerge from 
https://svn.apache.org/repos/asf/cxf/trunk

........
  r781841 | dkulp | 2009-06-04 15:44:21 -0400 (Thu, 04 Jun 2009) | 1 line
  
  [CXF-2241] Don't set default values for abstract classes.
........

Modified:
    cxf/branches/2.1.x-fixes/   (props changed)
    
cxf/branches/2.1.x-fixes/tools/wsdlto/databinding/jaxb/src/main/java/org/apache/cxf/tools/wsdlto/databinding/jaxb/JAXBDataBinding.java

Propchange: cxf/branches/2.1.x-fixes/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Jun  4 19:52:17 2009
@@ -1 +1 @@
-/cxf/trunk:743446,753380,753397,753421,754585,755365,757499,757859,757899,757935,757951,758195,758303,758308,758378,758690,758910,759890,759961,759963-759964,759966,760029,760073,760150,760171,760178,760198,760212,760456,760468,760582,760938,761094,761113,761120,761317,761759,761789,762393,762518,762567,763200,763272,763495,763854,763931,763942,763953,764033-764034,764581,764599-764606,764887,765357,766013,766058,766100-766101,766763,766770,766860,766962-766963,767159,767191,767927,771416,772143,772402,772658,772714,773009-773010,773027,773049,773146,773581,773691,773693,774446-774496,774558,774760,774851,774979,775423,776024-776025,776218,776429,776459,777189,777224,777243,777481,777505,777572,777580,780033,780184,780213,780421,780664,780800,780902,780911,781497
+/cxf/trunk:743446,753380,753397,753421,754585,755365,757499,757859,757899,757935,757951,758195,758303,758308,758378,758690,758910,759890,759961,759963-759964,759966,760029,760073,760150,760171,760178,760198,760212,760456,760468,760582,760938,761094,761113,761120,761317,761759,761789,762393,762518,762567,763200,763272,763495,763854,763931,763942,763953,764033-764034,764581,764599-764606,764887,765357,766013,766058,766100-766101,766763,766770,766860,766962-766963,767159,767191,767927,771416,772143,772402,772658,772714,773009-773010,773027,773049,773146,773581,773691,773693,774446-774496,774558,774760,774851,774979,775423,776024-776025,776218,776429,776459,777189,777224,777243,777481,777505,777572,777580,780033,780184,780213,780421,780664,780800,780902,780911,781497,781841

Propchange: cxf/branches/2.1.x-fixes/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.

Modified: 
cxf/branches/2.1.x-fixes/tools/wsdlto/databinding/jaxb/src/main/java/org/apache/cxf/tools/wsdlto/databinding/jaxb/JAXBDataBinding.java
URL: 
http://svn.apache.org/viewvc/cxf/branches/2.1.x-fixes/tools/wsdlto/databinding/jaxb/src/main/java/org/apache/cxf/tools/wsdlto/databinding/jaxb/JAXBDataBinding.java?rev=781843&r1=781842&r2=781843&view=diff
==============================================================================
--- 
cxf/branches/2.1.x-fixes/tools/wsdlto/databinding/jaxb/src/main/java/org/apache/cxf/tools/wsdlto/databinding/jaxb/JAXBDataBinding.java
 (original)
+++ 
cxf/branches/2.1.x-fixes/tools/wsdlto/databinding/jaxb/src/main/java/org/apache/cxf/tools/wsdlto/databinding/jaxb/JAXBDataBinding.java
 Thu Jun  4 19:52:17 2009
@@ -469,7 +469,14 @@
                 typeAnno = mapping.getType();
             }
         }
-        if (typeAnno != null) { 
+        if (typeAnno != null && typeAnno.getTypeClass() instanceof 
JDefinedClass) {
+            JDefinedClass dc = (JDefinedClass)typeAnno.getTypeClass();
+            if (dc.isAbstract()) {
+                //no default values for abstract classes
+                typeAnno = null;
+            }
+        }
+        if (typeAnno != null) {
             final JType type = typeAnno.getTypeClass();
             return new JAXBDefaultValueWriter(type);
         } 
@@ -484,6 +491,13 @@
                 for (Property pro : propList) {
                     if 
(pro.elementName().getNamespaceURI().equals(item.getNamespaceURI())
                         && 
pro.elementName().getLocalPart().equals(item.getLocalPart())) {
+                        
+                        JType type = pro.type();
+                        if (type instanceof JDefinedClass
+                            && ((JDefinedClass)type).isAbstract()) {
+                            //no default values for abstract classes
+                            return null;
+                        }
                         return new JAXBDefaultValueWriter(pro.type());
                     }
                 }
@@ -538,6 +552,8 @@
                         ex.initCause(e);
                         throw ex;
                     }
+                } else if (jdc.isAbstract()) {
+                    writer.write("null;");
                 } else {
                     writer.write("new ");
                     writer.write(tp.fullName());


Reply via email to