Return-Path: Delivered-To: apmail-ws-axis-dev-archive@www.apache.org Received: (qmail 48407 invoked from network); 7 Feb 2007 08:31:24 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 7 Feb 2007 08:31:24 -0000 Received: (qmail 72164 invoked by uid 500); 7 Feb 2007 08:31:30 -0000 Delivered-To: apmail-ws-axis-dev-archive@ws.apache.org Received: (qmail 71868 invoked by uid 500); 7 Feb 2007 08:31:28 -0000 Mailing-List: contact axis-cvs-help@ws.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: List-Id: Delivered-To: mailing list axis-cvs@ws.apache.org Received: (qmail 71857 invoked by uid 500); 7 Feb 2007 08:31:28 -0000 Delivered-To: apmail-ws-axis2-cvs@ws.apache.org Received: (qmail 71854 invoked by uid 99); 7 Feb 2007 08:31:28 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 07 Feb 2007 00:31:28 -0800 X-ASF-Spam-Status: No, hits=-9.4 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from [140.211.11.3] (HELO eris.apache.org) (140.211.11.3) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 07 Feb 2007 00:31:20 -0800 Received: by eris.apache.org (Postfix, from userid 65534) id AFD721A981A; Wed, 7 Feb 2007 00:31:00 -0800 (PST) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r504459 - in /webservices/axis2/trunk/java/modules/adb-codegen: src/org/apache/axis2/schema/ src/org/apache/axis2/schema/template/ test-resources/testsuite/ Date: Wed, 07 Feb 2007 08:31:00 -0000 To: axis2-cvs@ws.apache.org From: amilas@apache.org X-Mailer: svnmailer-1.1.0 Message-Id: <20070207083100.AFD721A981A@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: amilas Date: Wed Feb 7 00:30:59 2007 New Revision: 504459 URL: http://svn.apache.org/viewvc?view=rev&rev=504459 Log: Add union support for multi simple type restriction Modified: webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/SchemaCompiler.java webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/template/ADBBeanTemplate.xsl webservices/axis2/trunk/java/modules/adb-codegen/test-resources/testsuite/restrictions.xsd webservices/axis2/trunk/java/modules/adb-codegen/test-resources/testsuite/union.xsd 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=504459&r1=504458&r2=504459 ============================================================================== --- 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 Wed Feb 7 00:30:59 2007 @@ -59,7 +59,6 @@ import java.util.Map; import java.util.Properties; - /* * Copyright 2004,2005 The Apache Software Foundation. * @@ -1209,8 +1208,20 @@ metaInfHolder.setAsParent(baseMetaInfoHolder); } else if (type instanceof XmlSchemaSimpleType) { - //Do the actual parent setting - //TODO handle the varios parent types here + + // we have to copy the uion data if the parent simple type restriction + // is an union + // this union attribute is copied from the child to parent to genrate the parent + // code as union + if (baseMetaInfoHolder.isUnion()) { + metaInfHolder.setUnion(true); + Map memberTypes = baseMetaInfoHolder.getMemberTypes(); + Object qname; + for (Iterator iter = memberTypes.keySet().iterator(); iter.hasNext();) { + qname = iter.next(); + metaInfHolder.addMemberType((QName) qname, (String) memberTypes.get(qname)); + } + } metaInfHolder.setAsParent(baseMetaInfoHolder); } @@ -1376,17 +1387,17 @@ String className = findClassName(resBaseType, false); //this means the schema type actually returns a different QName - if (baseSchemaTypeMap.containsKey(resBaseType)){ - if (changedTypeMap.containsKey(resBaseType)) { - metaInfHolder.registerMapping(qName, - (QName) changedTypeMap.get(resBaseType), - className, SchemaConstants.ELEMENT_TYPE); + if (baseSchemaTypeMap.containsKey(resBaseType)) { + if (changedTypeMap.containsKey(resBaseType)) { + metaInfHolder.registerMapping(qName, + (QName) changedTypeMap.get(resBaseType), + className, SchemaConstants.ELEMENT_TYPE); } else { metaInfHolder.registerMapping(qName, resBaseType, className, SchemaConstants.ELEMENT_TYPE); } - } else if (processedTypemap.containsKey(resBaseType)){ + } else if (processedTypemap.containsKey(resBaseType)) { //this is not a standared type // so the parent class must extend it metaInfHolder.setSimple(true); Modified: webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/template/ADBBeanTemplate.xsl URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/template/ADBBeanTemplate.xsl?view=diff&rev=504459&r1=504458&r2=504459 ============================================================================== --- webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/template/ADBBeanTemplate.xsl (original) +++ webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/template/ADBBeanTemplate.xsl Wed Feb 7 00:30:59 2007 @@ -64,7 +64,7 @@ public static class extends extends - extends org.apache.axis2.databinding.types.Union + extends org.apache.axis2.databinding.types.Union implements org.apache.axis2.databinding.ADBBean{ /* This type was generated from the piece of schema that had @@ -534,7 +534,8 @@ - + + public void setObject(java.lang.Object object){ Modified: webservices/axis2/trunk/java/modules/adb-codegen/test-resources/testsuite/restrictions.xsd URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/adb-codegen/test-resources/testsuite/restrictions.xsd?view=diff&rev=504459&r1=504458&r2=504459 ============================================================================== --- webservices/axis2/trunk/java/modules/adb-codegen/test-resources/testsuite/restrictions.xsd (original) +++ webservices/axis2/trunk/java/modules/adb-codegen/test-resources/testsuite/restrictions.xsd Wed Feb 7 00:30:59 2007 @@ -6,18 +6,14 @@ - - - - @@ -34,4 +30,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + Modified: webservices/axis2/trunk/java/modules/adb-codegen/test-resources/testsuite/union.xsd URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/adb-codegen/test-resources/testsuite/union.xsd?view=diff&rev=504459&r1=504458&r2=504459 ============================================================================== --- webservices/axis2/trunk/java/modules/adb-codegen/test-resources/testsuite/union.xsd (original) +++ webservices/axis2/trunk/java/modules/adb-codegen/test-resources/testsuite/union.xsd Wed Feb 7 00:30:59 2007 @@ -35,4 +35,5 @@ + --------------------------------------------------------------------- To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org For additional commands, e-mail: axis-cvs-help@ws.apache.org