You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by rf...@apache.org on 2008/07/31 00:06:44 UTC
svn commit: r681219 -
/tuscany/java/sca/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/SDOTypeHelper.java
Author: rfeng
Date: Wed Jul 30 15:06:44 2008
New Revision: 681219
URL: http://svn.apache.org/viewvc?rev=681219&view=rev
Log:
Add the workaround to deal with annoymous XSD types
Modified:
tuscany/java/sca/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/SDOTypeHelper.java
Modified: tuscany/java/sca/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/SDOTypeHelper.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/SDOTypeHelper.java?rev=681219&r1=681218&r2=681219&view=diff
==============================================================================
--- tuscany/java/sca/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/SDOTypeHelper.java (original)
+++ tuscany/java/sca/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/SDOTypeHelper.java Wed Jul 30 15:06:44 2008
@@ -159,11 +159,24 @@
}
// make sure all the required types are defined in the resolved schema
for (Type type : entry.getValue()) {
- QName typeName = new QName(type.getURI(), type.getName());
- if (resolved.getXmlSchemaType(typeName) == null) {
- //FIXME: create a checked exception and propagate it back up to the activator
- throw new RuntimeException("No XSD found for " + typeName.toString());
+ String name = xsdHelper.getLocalName(type);
+ QName typeName = null;
+ if (name.endsWith("_._type")) {
+ // FIXME: Anonymous tyype
+ name = name.substring(0, name.length() - "_._type".length());
+ typeName = new QName(type.getURI(), name);
+ if (resolved.getXmlSchemaElement(typeName) == null) {
+ //FIXME: create a checked exception and propagate it back up to the activator
+ throw new RuntimeException("No XSD found for " + typeName.toString());
+ }
+ } else {
+ typeName = new QName(type.getURI(), name);
+ if (resolved.getXmlSchemaType(typeName) == null) {
+ //FIXME: create a checked exception and propagate it back up to the activator
+ throw new RuntimeException("No XSD found for " + typeName.toString());
+ }
}
+
}
definitions.add(resolved);
}