You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by am...@apache.org on 2007/02/12 15:00:20 UTC
svn commit: r506447 -
/webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/SchemaCompiler.java
Author: amilas
Date: Mon Feb 12 06:00:19 2007
New Revision: 506447
URL: http://svn.apache.org/viewvc?view=rev&rev=506447
Log:
check whether member types are there or not
Modified:
webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/SchemaCompiler.java
Modified: webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/SchemaCompiler.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/SchemaCompiler.java?view=diff&rev=506447&r1=506446&r2=506447
==============================================================================
--- webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/SchemaCompiler.java (original)
+++ webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/SchemaCompiler.java Mon Feb 12 06:00:19 2007
@@ -1994,24 +1994,29 @@
} else if (content instanceof XmlSchemaSimpleTypeUnion) {
XmlSchemaSimpleTypeUnion simpleTypeUnion = (XmlSchemaSimpleTypeUnion) content;
QName[] qnames = simpleTypeUnion.getMemberTypesQNames();
- QName qname;
- for (int i = 0; i < qnames.length; i++) {
- qname = qnames[i];
- if (baseSchemaTypeMap.containsKey(qname)) {
- metaInfHolder.addMemberType(qname, (String) baseSchemaTypeMap.get(qname));
- } else {
- XmlSchemaType type = getType(parentSchema, qname);
- if (type instanceof XmlSchemaSimpleType) {
- XmlSchemaSimpleType memberSimpleType = (XmlSchemaSimpleType) type;
- if (!isAlreadyProcessed(qname)) {
- processSimpleSchemaType(memberSimpleType, null, parentSchema);
- }
- metaInfHolder.addMemberType(qname, (String) processedTypemap.get(qname));
+ if (qnames != null){
+ QName qname;
+ for (int i = 0; i < qnames.length; i++) {
+ qname = qnames[i];
+ if (baseSchemaTypeMap.containsKey(qname)) {
+ metaInfHolder.addMemberType(qname, (String) baseSchemaTypeMap.get(qname));
} else {
- throw new SchemaCompilationException("Unions can not have complex types as a member type");
+ XmlSchemaType type = getType(parentSchema, qname);
+ if (type instanceof XmlSchemaSimpleType) {
+ XmlSchemaSimpleType memberSimpleType = (XmlSchemaSimpleType) type;
+ if (!isAlreadyProcessed(qname)) {
+ processSimpleSchemaType(memberSimpleType, null, parentSchema);
+ }
+ metaInfHolder.addMemberType(qname, (String) processedTypemap.get(qname));
+ } else {
+ throw new SchemaCompilationException("Unions can not have complex types as a member type");
+ }
}
}
+ } else {
+ // TODO : handle inline simple types
}
+
metaInfHolder.setUnion(true);
} else if (content instanceof XmlSchemaSimpleTypeList) {
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org