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:24:52 UTC
svn commit: r1364761 - in
/cxf/branches/2.4.x-fixes/rt/core/src/main/java/org/apache/cxf/databinding:
source/SourceDataBinding.java stax/StaxDataBinding.java
Author: dkulp
Date: Mon Jul 23 19:24:52 2012
New Revision: 1364761
URL: http://svn.apache.org/viewvc?rev=1364761&view=rev
Log:
Merged revisions 1364760 via git cherry-pick from
https://svn.apache.org/repos/asf/cxf/branches/2.5.x-fixes
........
r1364760 | dkulp | 2012-07-23 15:22:00 -0400 (Mon, 23 Jul 2012) | 19 lines
Merged revisions 1364757 via git cherry-pick from
https://svn.apache.org/repos/asf/cxf/branches/2.6.x-fixes
........
r1364757 | dkulp | 2012-07-23 15:15:49 -0400 (Mon, 23 Jul 2012) | 11 lines
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.4.x-fixes/rt/core/src/main/java/org/apache/cxf/databinding/source/SourceDataBinding.java
cxf/branches/2.4.x-fixes/rt/core/src/main/java/org/apache/cxf/databinding/stax/StaxDataBinding.java
Modified: cxf/branches/2.4.x-fixes/rt/core/src/main/java/org/apache/cxf/databinding/source/SourceDataBinding.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.4.x-fixes/rt/core/src/main/java/org/apache/cxf/databinding/source/SourceDataBinding.java?rev=1364761&r1=1364760&r2=1364761&view=diff
==============================================================================
--- cxf/branches/2.4.x-fixes/rt/core/src/main/java/org/apache/cxf/databinding/source/SourceDataBinding.java (original)
+++ cxf/branches/2.4.x-fixes/rt/core/src/main/java/org/apache/cxf/databinding/source/SourceDataBinding.java Mon Jul 23 19:24:52 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.4.x-fixes/rt/core/src/main/java/org/apache/cxf/databinding/stax/StaxDataBinding.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.4.x-fixes/rt/core/src/main/java/org/apache/cxf/databinding/stax/StaxDataBinding.java?rev=1364761&r1=1364760&r2=1364761&view=diff
==============================================================================
--- cxf/branches/2.4.x-fixes/rt/core/src/main/java/org/apache/cxf/databinding/stax/StaxDataBinding.java (original)
+++ cxf/branches/2.4.x-fixes/rt/core/src/main/java/org/apache/cxf/databinding/stax/StaxDataBinding.java Mon Jul 23 19:24:52 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) {