Author: dkulp
Date: Fri Jun 19 17:22:11 2009
New Revision: 786591
URL: http://svn.apache.org/viewvc?rev=786591&view=rev
Log:
Merged revisions 786582 via svnmerge from
https://svn.apache.org/repos/asf/cxf/trunk
........
r786582 | dkulp | 2009-06-19 13:06:18 -0400 (Fri, 19 Jun 2009) | 1 line
[CXF-1822] If schema DOM is passed in, set the element so it's reused.
........
Modified:
cxf/branches/2.2.x-fixes/ (props changed)
cxf/branches/2.2.x-fixes/api/src/main/java/org/apache/cxf/databinding/AbstractDataBinding.java
cxf/branches/2.2.x-fixes/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/JAXBSchemaInitializer.java
cxf/branches/2.2.x-fixes/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/SchemaFirstXmlConfigTest.java
cxf/branches/2.2.x-fixes/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/service/Foo.java
cxf/branches/2.2.x-fixes/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/service/echoFoo.xsd
cxf/branches/2.2.x-fixes/rt/frontend/simple/src/main/java/org/apache/cxf/service/factory/ReflectionServiceFactoryBean.java
cxf/branches/2.2.x-fixes/tools/common/src/main/java/org/apache/cxf/tools/common/ProcessorTestBase.java
Propchange: cxf/branches/2.2.x-fixes/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Jun 19 17:22:11 2009
@@ -1 +1 @@
-/cxf/trunk:782728-782730,783097,783294,783396,784059,784181-784184,784893,784895,785279-785282,785468,785621,785624,785651,785734,785866,786142,786271-786272,786395,786514
+/cxf/trunk:782728-782730,783097,783294,783396,784059,784181-784184,784893,784895,785279-785282,785468,785621,785624,785651,785734,785866,786142,786271-786272,786395,786514,786582
Propchange: cxf/branches/2.2.x-fixes/
------------------------------------------------------------------------------
--- svnmerge-integrated (original)
+++ svnmerge-integrated Fri Jun 19 17:22:11 2009
@@ -1 +1 @@
-/cxf/trunk:1-782619,782728-782730,783097,783294,783396,784059,784181-784184,784893-785866,785932,786142,786271-786272,786395,786514
+/cxf/trunk:1-782619,782728-782730,783097,783294,783396,784059,784181-784184,784893-785866,785932,786142,786271-786272,786395,786514,786582
Modified:
cxf/branches/2.2.x-fixes/api/src/main/java/org/apache/cxf/databinding/AbstractDataBinding.java
URL:
http://svn.apache.org/viewvc/cxf/branches/2.2.x-fixes/api/src/main/java/org/apache/cxf/databinding/AbstractDataBinding.java?rev=786591&r1=786590&r2=786591&view=diff
==============================================================================
---
cxf/branches/2.2.x-fixes/api/src/main/java/org/apache/cxf/databinding/AbstractDataBinding.java
(original)
+++
cxf/branches/2.2.x-fixes/api/src/main/java/org/apache/cxf/databinding/AbstractDataBinding.java
Fri Jun 19 17:22:11 2009
@@ -134,6 +134,7 @@
synchronized (d) {
xmlSchema = col.read(d, systemId, null);
schema.setSchema(xmlSchema);
+ schema.setElement(d.getDocumentElement());
}
serviceInfo.addSchema(schema);
return xmlSchema;
Modified:
cxf/branches/2.2.x-fixes/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/JAXBSchemaInitializer.java
URL:
http://svn.apache.org/viewvc/cxf/branches/2.2.x-fixes/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/JAXBSchemaInitializer.java?rev=786591&r1=786590&r2=786591&view=diff
==============================================================================
---
cxf/branches/2.2.x-fixes/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/JAXBSchemaInitializer.java
(original)
+++
cxf/branches/2.2.x-fixes/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/JAXBSchemaInitializer.java
Fri Jun 19 17:22:11 2009
@@ -331,6 +331,7 @@
el.setNillable(true);
el.setSchemaTypeName(typeName);
part.setXmlSchema(el);
+ schemaInfo.setElement(null);
return el;
}
@@ -348,13 +349,14 @@
SchemaInfo schemaInfo =
serviceInfo.getSchema(part.getElementQName().getNamespaceURI());
if (schemaInfo != null
&& !isExistSchemaElement(schemaInfo.getSchema(),
part.getElementQName())) {
-
+
XmlSchemaElement el = new XmlSchemaElement();
XmlSchemaUtils.setElementQName(el, part.getElementQName());
el.setNillable(true);
schemaInfo.getSchema().getItems().add(el);
schemaInfo.getSchema().getElements().add(el.getQName(), el);
+ schemaInfo.setElement(null);
Iterator<QName> itr = beanInfo.getTypeNames().iterator();
if (!itr.hasNext()) {
@@ -387,6 +389,7 @@
schemaInfo.getSchema().getItems().add(el);
schemaInfo.getSchema().getElements().add(el.getQName(), el);
+ schemaInfo.setElement(null);
part.setXmlSchema(el);
@@ -478,6 +481,7 @@
schema.getItems().add(ct);
schema.addType(ct);
+ schemaInfo.setElement(null);
el.setSchemaTypeName(part.getElementQName());
XmlSchemaSequence seq = new XmlSchemaSequence();
Modified:
cxf/branches/2.2.x-fixes/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/SchemaFirstXmlConfigTest.java
URL:
http://svn.apache.org/viewvc/cxf/branches/2.2.x-fixes/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/SchemaFirstXmlConfigTest.java?rev=786591&r1=786590&r2=786591&view=diff
==============================================================================
---
cxf/branches/2.2.x-fixes/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/SchemaFirstXmlConfigTest.java
(original)
+++
cxf/branches/2.2.x-fixes/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/SchemaFirstXmlConfigTest.java
Fri Jun 19 17:22:11 2009
@@ -23,6 +23,8 @@
import org.apache.cxf.Bus;
import org.apache.cxf.BusException;
+import org.apache.cxf.helpers.XMLUtils;
+
import org.junit.Test;
import org.springframework.context.support.ClassPathXmlApplicationContext;
@@ -48,6 +50,8 @@
Document d = getWSDLDocument(serverFB.getServer());
+ XMLUtils.printDOM(d);
+
// XmlSchema still isn't preserving all the extra info...
assertValid("//xsd:complexty...@name='foo']/xsd:sequence", d);
Modified:
cxf/branches/2.2.x-fixes/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/service/Foo.java
URL:
http://svn.apache.org/viewvc/cxf/branches/2.2.x-fixes/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/service/Foo.java?rev=786591&r1=786590&r2=786591&view=diff
==============================================================================
---
cxf/branches/2.2.x-fixes/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/service/Foo.java
(original)
+++
cxf/branches/2.2.x-fixes/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/service/Foo.java
Fri Jun 19 17:22:11 2009
@@ -18,6 +18,9 @@
*/
package org.apache.cxf.jaxws.service;
+import javax.xml.bind.annotation.XmlType;
+
+...@xmltype(name = "foo", namespace =
"http://service.jaxws.cxf.apache.org/fooStuff")
public class Foo {
}
Modified:
cxf/branches/2.2.x-fixes/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/service/echoFoo.xsd
URL:
http://svn.apache.org/viewvc/cxf/branches/2.2.x-fixes/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/service/echoFoo.xsd?rev=786591&r1=786590&r2=786591&view=diff
==============================================================================
---
cxf/branches/2.2.x-fixes/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/service/echoFoo.xsd
(original)
+++
cxf/branches/2.2.x-fixes/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/service/echoFoo.xsd
Fri Jun 19 17:22:11 2009
@@ -1,7 +1,7 @@
<xs:schema xmlns="http://service.jaxws.cxf.apache.org/"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
attributeFormDefault="unqualified" elementFormDefault="unqualified"
- targetNamespace="http://service.jaxws.cxf.apache.org/">
+ targetNamespace="http://service.jaxws.cxf.apache.org/fooStuff">
<xs:complexType name="foo">
<xs:annotation>
bibbity bob
Modified:
cxf/branches/2.2.x-fixes/rt/frontend/simple/src/main/java/org/apache/cxf/service/factory/ReflectionServiceFactoryBean.java
URL:
http://svn.apache.org/viewvc/cxf/branches/2.2.x-fixes/rt/frontend/simple/src/main/java/org/apache/cxf/service/factory/ReflectionServiceFactoryBean.java?rev=786591&r1=786590&r2=786591&view=diff
==============================================================================
---
cxf/branches/2.2.x-fixes/rt/frontend/simple/src/main/java/org/apache/cxf/service/factory/ReflectionServiceFactoryBean.java
(original)
+++
cxf/branches/2.2.x-fixes/rt/frontend/simple/src/main/java/org/apache/cxf/service/factory/ReflectionServiceFactoryBean.java
Fri Jun 19 17:22:11 2009
@@ -946,6 +946,7 @@
SchemaInfo si = getOrCreateSchema(serviceInfo,
mpi.getElementQName().getNamespaceURI(),
getQualifyWrapperSchema());
XmlSchema schema = si.getSchema();
+ si.setElement(null); //cached element is now invalid
XmlSchemaElement el = new XmlSchemaElement();
XmlSchemaUtils.setElementQName(el, mpi.getElementQName());
@@ -994,7 +995,7 @@
SchemaInfo schemaInfo = getOrCreateSchema(serviceInfo,
wrapperBeanName.getNamespaceURI(),
getQualifyWrapperSchema());
- createWrappedMessageSchema(serviceInfo, wrappedMessage,
unwrappedMessage, schemaInfo.getSchema(),
+ createWrappedMessageSchema(serviceInfo, wrappedMessage,
unwrappedMessage, schemaInfo,
wrapperBeanName);
}
@@ -1054,6 +1055,7 @@
}
}
+ schemaInfo.setElement(null); //cached element is now invalid
XmlSchemaElement el = new XmlSchemaElement();
XmlSchemaUtils.setElementQName(el, qname);
el.setNillable(true);
@@ -1145,9 +1147,11 @@
}
private void createWrappedMessageSchema(ServiceInfo serviceInfo,
AbstractMessageContainer wrappedMessage,
- AbstractMessageContainer
unwrappedMessage, XmlSchema schema,
+ AbstractMessageContainer
unwrappedMessage, SchemaInfo info,
QName wrapperName) {
+ XmlSchema schema = info.getSchema();
+ info.setElement(null); // the cached schema will be no good
XmlSchemaElement el = new XmlSchemaElement();
XmlSchemaUtils.setElementQName(el, wrapperName);
SchemaCollection.addGlobalElementToSchema(schema, el);
Modified:
cxf/branches/2.2.x-fixes/tools/common/src/main/java/org/apache/cxf/tools/common/ProcessorTestBase.java
URL:
http://svn.apache.org/viewvc/cxf/branches/2.2.x-fixes/tools/common/src/main/java/org/apache/cxf/tools/common/ProcessorTestBase.java?rev=786591&r1=786590&r2=786591&view=diff
==============================================================================
---
cxf/branches/2.2.x-fixes/tools/common/src/main/java/org/apache/cxf/tools/common/ProcessorTestBase.java
(original)
+++
cxf/branches/2.2.x-fixes/tools/common/src/main/java/org/apache/cxf/tools/common/ProcessorTestBase.java
Fri Jun 19 17:22:11 2009
@@ -52,7 +52,8 @@
public static final List<String> DEFAULT_IGNORE_ATTR = Arrays.asList(new
String[]{"attributeFormDefault",
"elementFormDefault",
-
"form"});
+
"form",
+
"version"});
public static final List<String> DEFAULT_IGNORE_TAG = Arrays.asList(new
String[]{"sequence"});
protected ToolContext env = new ToolContext();