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/07/23 21:15:49 UTC

svn commit: r1364757 - in /cxf/branches/2.6.x-fixes/rt/core/src/main/java/org/apache/cxf/databinding: source/SourceDataBinding.java stax/StaxDataBinding.java

Author: dkulp
Date: Mon Jul 23 19:15:49 2012
New Revision: 1364757

URL: http://svn.apache.org/viewvc?rev=1364757&view=rev
Log:
Merged revisions 1364754 via  git cherry-pick from
https://svn.apache.org/repos/asf/cxf/trunk

........
  r1364754 | dkulp | 2012-07-23 15:08:27 -0400 (Mon, 23 Jul 2012) | 3 lines

  For source and stax databinding, set the "type" to anyType so java first
  case will at least generate a simple but crappy wsdl

........

Modified:
    cxf/branches/2.6.x-fixes/rt/core/src/main/java/org/apache/cxf/databinding/source/SourceDataBinding.java
    cxf/branches/2.6.x-fixes/rt/core/src/main/java/org/apache/cxf/databinding/stax/StaxDataBinding.java

Modified: cxf/branches/2.6.x-fixes/rt/core/src/main/java/org/apache/cxf/databinding/source/SourceDataBinding.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.6.x-fixes/rt/core/src/main/java/org/apache/cxf/databinding/source/SourceDataBinding.java?rev=1364757&r1=1364756&r2=1364757&view=diff
==============================================================================
--- cxf/branches/2.6.x-fixes/rt/core/src/main/java/org/apache/cxf/databinding/source/SourceDataBinding.java (original)
+++ cxf/branches/2.6.x-fixes/rt/core/src/main/java/org/apache/cxf/databinding/source/SourceDataBinding.java Mon Jul 23 19:15:49 2012
@@ -19,14 +19,20 @@
 
 package org.apache.cxf.databinding.source;
 
+
 import javax.xml.stream.XMLStreamReader;
 import javax.xml.stream.XMLStreamWriter;
 
 import org.w3c.dom.Node;
 
+import org.apache.cxf.common.xmlschema.SchemaCollection;
+import org.apache.cxf.common.xmlschema.XmlSchemaConstants;
 import org.apache.cxf.databinding.DataReader;
 import org.apache.cxf.databinding.DataWriter;
 import org.apache.cxf.service.Service;
+import org.apache.cxf.service.ServiceModelVisitor;
+import org.apache.cxf.service.model.MessagePartInfo;
+import org.apache.cxf.service.model.ServiceInfo;
 
 /**
  * A simple databinding implementation which reads and writes Source objects.
@@ -40,7 +46,21 @@ public class SourceDataBinding extends o
     }
 
     public void initialize(Service service) {
-        // do nothing
+        for (ServiceInfo serviceInfo : service.getServiceInfos()) {
+            SchemaCollection schemaCollection = serviceInfo.getXmlSchemaCollection();
+            if (schemaCollection.getXmlSchemas().length > 1) {
+                // Schemas are already populated.
+                continue;
+            }
+            new ServiceModelVisitor(serviceInfo) {
+                public void begin(MessagePartInfo part) {
+                    if (part.getTypeQName() != null || part.getElementQName() != null) {
+                        return;
+                    }
+                    part.setTypeQName(XmlSchemaConstants.ANY_TYPE_QNAME);
+                }
+            } .walk();
+        }
     }
     
 

Modified: cxf/branches/2.6.x-fixes/rt/core/src/main/java/org/apache/cxf/databinding/stax/StaxDataBinding.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.6.x-fixes/rt/core/src/main/java/org/apache/cxf/databinding/stax/StaxDataBinding.java?rev=1364757&r1=1364756&r2=1364757&view=diff
==============================================================================
--- cxf/branches/2.6.x-fixes/rt/core/src/main/java/org/apache/cxf/databinding/stax/StaxDataBinding.java (original)
+++ cxf/branches/2.6.x-fixes/rt/core/src/main/java/org/apache/cxf/databinding/stax/StaxDataBinding.java Mon Jul 23 19:15:49 2012
@@ -32,13 +32,17 @@ import org.w3c.dom.Node;
 
 import org.apache.cxf.common.i18n.Message;
 import org.apache.cxf.common.logging.LogUtils;
+import org.apache.cxf.common.xmlschema.SchemaCollection;
+import org.apache.cxf.common.xmlschema.XmlSchemaConstants;
 import org.apache.cxf.databinding.AbstractDataBinding;
 import org.apache.cxf.databinding.DataReader;
 import org.apache.cxf.databinding.DataWriter;
 import org.apache.cxf.interceptor.Fault;
 import org.apache.cxf.message.Attachment;
 import org.apache.cxf.service.Service;
+import org.apache.cxf.service.ServiceModelVisitor;
 import org.apache.cxf.service.model.MessagePartInfo;
+import org.apache.cxf.service.model.ServiceInfo;
 import org.apache.cxf.staxutils.StaxUtils;
 
 /**
@@ -57,9 +61,23 @@ public class StaxDataBinding extends Abs
     }
 
     public void initialize(Service service) {
-        // do nothing
+        for (ServiceInfo serviceInfo : service.getServiceInfos()) {
+            SchemaCollection schemaCollection = serviceInfo.getXmlSchemaCollection();
+            if (schemaCollection.getXmlSchemas().length > 1) {
+                // Schemas are already populated.
+                continue;
+            }
+            new ServiceModelVisitor(serviceInfo) {
+                public void begin(MessagePartInfo part) {
+                    if (part.getTypeQName() != null || part.getElementQName() != null) {
+                        return;
+                    }
+                    part.setTypeQName(XmlSchemaConstants.ANY_TYPE_QNAME);
+                }
+            } .walk();
+        }
     }
-    
+
     @SuppressWarnings("unchecked")
     public <T> DataReader<T> createReader(Class<T> cls) {
         if (cls == XMLStreamReader.class) {