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