You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by ni...@apache.org on 2009/03/10 04:58:14 UTC
svn commit: r751973 - in
/cxf/trunk/rt/databinding/xmlbeans/src/main/java/org/apache/cxf/xmlbeans:
DataReaderImpl.java DataWriterImpl.java
Author: ningjiang
Date: Tue Mar 10 03:58:13 2009
New Revision: 751973
URL: http://svn.apache.org/viewvc?rev=751973&view=rev
Log:
CXF-2099 added the supporting of XMLSchema vaildation in XMLBeans databinding
Modified:
cxf/trunk/rt/databinding/xmlbeans/src/main/java/org/apache/cxf/xmlbeans/DataReaderImpl.java
cxf/trunk/rt/databinding/xmlbeans/src/main/java/org/apache/cxf/xmlbeans/DataWriterImpl.java
Modified: cxf/trunk/rt/databinding/xmlbeans/src/main/java/org/apache/cxf/xmlbeans/DataReaderImpl.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/databinding/xmlbeans/src/main/java/org/apache/cxf/xmlbeans/DataReaderImpl.java?rev=751973&r1=751972&r2=751973&view=diff
==============================================================================
--- cxf/trunk/rt/databinding/xmlbeans/src/main/java/org/apache/cxf/xmlbeans/DataReaderImpl.java (original)
+++ cxf/trunk/rt/databinding/xmlbeans/src/main/java/org/apache/cxf/xmlbeans/DataReaderImpl.java Tue Mar 10 03:58:13 2009
@@ -31,17 +31,20 @@
import org.apache.cxf.common.i18n.Message;
import org.apache.cxf.common.logging.LogUtils;
import org.apache.cxf.databinding.DataReader;
+import org.apache.cxf.databinding.DataReaderValidation2;
import org.apache.cxf.interceptor.Fault;
import org.apache.cxf.message.Attachment;
import org.apache.cxf.service.model.MessagePartInfo;
+import org.apache.ws.commons.schema.XmlSchemaCollection;
import org.apache.xmlbeans.SchemaType;
import org.apache.xmlbeans.XmlAnySimpleType;
import org.apache.xmlbeans.XmlObject;
import org.apache.xmlbeans.XmlOptions;
-public class DataReaderImpl implements DataReader<XMLStreamReader> {
+public class DataReaderImpl implements DataReader<XMLStreamReader> , DataReaderValidation2 {
private static final Logger LOG = LogUtils.getLogger(XmlBeansDataBinding.class);
+ private XmlSchemaCollection schemas;
public DataReaderImpl() {
}
@@ -68,13 +71,17 @@
for (Class<?> c : cls) {
if ("Factory".equals(c.getSimpleName())) {
try {
+
SchemaType st = (SchemaType)part.getProperty(SchemaType.class.getName());
XmlOptions options = new XmlOptions();
+ if (schemas != null) {
+ options.setValidateOnSet();
+ }
if (st != null && !st.isDocumentType() && !isOutClass) {
options.setLoadReplaceDocumentElement(null);
}
Method meth = c.getMethod("parse", XMLStreamReader.class, XmlOptions.class);
- obj = meth.invoke(null, reader, options);
+ obj = meth.invoke(null, reader, options);
break;
} catch (Exception e) {
e.printStackTrace();
@@ -138,4 +145,8 @@
public void setSchema(Schema s) {
}
+ public void setSchema(XmlSchemaCollection validationSchemas) {
+ this.schemas = validationSchemas;
+ }
+
}
Modified: cxf/trunk/rt/databinding/xmlbeans/src/main/java/org/apache/cxf/xmlbeans/DataWriterImpl.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/databinding/xmlbeans/src/main/java/org/apache/cxf/xmlbeans/DataWriterImpl.java?rev=751973&r1=751972&r2=751973&view=diff
==============================================================================
--- cxf/trunk/rt/databinding/xmlbeans/src/main/java/org/apache/cxf/xmlbeans/DataWriterImpl.java (original)
+++ cxf/trunk/rt/databinding/xmlbeans/src/main/java/org/apache/cxf/xmlbeans/DataWriterImpl.java Tue Mar 10 03:58:13 2009
@@ -47,6 +47,7 @@
public class DataWriterImpl implements DataWriter<XMLStreamWriter> {
private static final Logger LOG = LogUtils.getLogger(XmlBeansDataBinding.class);
+ private Schema schema;
public DataWriterImpl() {
}
@@ -67,6 +68,9 @@
try {
SchemaType st = (SchemaType)part.getProperty(SchemaType.class.getName());
XmlOptions options = new XmlOptions();
+ if (schema != null) {
+ options.setValidateOnSet();
+ }
if (!st.isDocumentType()) {
options.setLoadReplaceDocumentElement(null);
}
@@ -84,6 +88,9 @@
if (obj != null
|| !(part.getXmlSchema() instanceof XmlSchemaElement)) {
XmlOptions options = new XmlOptions();
+ if (schema != null) {
+ options.setValidateOnSet();
+ }
XMLStreamReader reader;
if (obj instanceof XmlObjectBase) {
XmlObjectBase source = (XmlObjectBase)obj;
@@ -140,6 +147,7 @@
public void setProperty(String key, Object value) {
}
- public void setSchema(Schema s) {
+ public void setSchema(Schema schema) {
+ this.schema = schema;
}
}