You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by am...@apache.org on 2007/12/24 06:17:04 UTC

svn commit: r606665 [1/2] - in /webservices/axis2/trunk/java/modules/adb-codegen: ./ src/org/apache/axis2/schema/ src/org/apache/axis2/schema/template/ src/org/apache/axis2/schema/typemap/ src/org/apache/axis2/schema/writer/ test-resources/soapencoding...

Author: amilas
Date: Sun Dec 23 21:17:02 2007
New Revision: 606665

URL: http://svn.apache.org/viewvc?rev=606665&view=rev
Log:
added soap encoding support

Added:
    webservices/axis2/trunk/java/modules/adb-codegen/test-resources/soapencoding/
    webservices/axis2/trunk/java/modules/adb-codegen/test-resources/soapencoding/encoding.xsd
    webservices/axis2/trunk/java/modules/adb-codegen/test-resources/soapencoding/xmlschema.xsd
    webservices/axis2/trunk/java/modules/adb-codegen/test-resources/testsuite/soapencoding.xsd
    webservices/axis2/trunk/java/modules/adb-codegen/test/org/apache/axis2/schema/soapencoding/
    webservices/axis2/trunk/java/modules/adb-codegen/test/org/apache/axis2/schema/soapencoding/SoapEncodingTest.java
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/SchemaConstants.java
    webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/XSD2Java.java
    webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/template/ADBBeanTemplate.xsl
    webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/typemap/CTypeMap.java
    webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/typemap/JavaTypeMap.java
    webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/typemap/TypeMap.java
    webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/writer/BeanWriter.java
    webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/writer/CStructWriter.java
    webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/writer/JavaBeanWriter.java
    webservices/axis2/trunk/java/modules/adb-codegen/sub-build.xml
    webservices/axis2/trunk/java/modules/adb-codegen/test-resources/testsuite/groups.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?rev=606665&r1=606664&r2=606665&view=diff
==============================================================================
--- 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 Sun Dec 23 21:17:02 2007
@@ -49,6 +49,9 @@
 
     private CompilerOptions options;
     private HashMap processedTypemap;
+    // have to keep a seperate group type map since same
+    // name can be used to group and complextype
+    private HashMap processedGroupTypeMap;
 
     //the list of processedElements for the outer elements
     private HashMap processedElementMap;
@@ -137,6 +140,8 @@
 
         //instantiate the maps
         processedTypemap = new HashMap();
+        processedGroupTypeMap = new HashMap();
+
         processedElementMap = new HashMap();
         simpleTypesMap = new HashMap();
         processedElementList = new ArrayList();
@@ -156,6 +161,8 @@
 
         //load the base types
         baseSchemaTypeMap = SchemaPropertyLoader.getTypeMapperInstance().getTypeMap();
+        // adding all the soap encoding schema classes
+        processedTypemap.putAll(SchemaPropertyLoader.getTypeMapperInstance().getSoapEncodingTypesMap());
 
 
     }
@@ -475,7 +482,7 @@
         }
 
 
-        String writtenClassName = writer.write(xsElt, processedTypemap, metainf);
+        String writtenClassName = writer.write(xsElt, processedTypemap, processedGroupTypeMap, metainf);
         //register the class name
         xsElt.addMetaInfo(SchemaConstants.SchemaCompilerInfoHolder.CLASSNAME_KEY, writtenClassName);
         processedElementMap.put(xsElt.getQName(), writtenClassName);
@@ -763,7 +770,8 @@
     private boolean isAlreadyProcessed(QName qName) {
         return processedTypemap.containsKey(qName) ||
                 simpleTypesMap.containsKey(qName) ||
-                baseSchemaTypeMap.containsKey(qName);
+                baseSchemaTypeMap.containsKey(qName) ||
+                processedGroupTypeMap.containsKey(qName);
     }
 
 
@@ -973,7 +981,8 @@
      */
     private String writeComplexType(XmlSchemaComplexType complexType, BeanWriterMetaInfoHolder metaInfHolder)
             throws SchemaCompilationException {
-        String javaClassName = writer.write(complexType.getQName(), processedTypemap, metaInfHolder, complexType.isAbstract());
+        String javaClassName = writer.write(complexType.getQName(),
+                processedTypemap, processedGroupTypeMap, metaInfHolder, complexType.isAbstract());
         processedTypeMetaInfoMap.put(complexType.getQName(), metaInfHolder);
         return javaClassName;
     }
@@ -990,7 +999,7 @@
 
     private String writeComplexParticle(QName qname,BeanWriterMetaInfoHolder metaInfHolder)
             throws SchemaCompilationException {
-       String javaClassName = writer.write(qname, processedTypemap, metaInfHolder,false);
+       String javaClassName = writer.write(qname, processedTypemap, processedGroupTypeMap, metaInfHolder,false);
         processedTypeMetaInfoMap.put(qname, metaInfHolder);
         return javaClassName;
     }
@@ -1004,7 +1013,7 @@
      */
     private void writeSimpleType(XmlSchemaSimpleType simpleType, BeanWriterMetaInfoHolder metaInfHolder)
             throws SchemaCompilationException {
-        writer.write(simpleType, processedTypemap, metaInfHolder);
+        writer.write(simpleType, processedTypemap, processedGroupTypeMap, metaInfHolder);
         processedTypeMetaInfoMap.put(simpleType.getQName(), metaInfHolder);
     }
 
@@ -1870,7 +1879,7 @@
             XmlSchemaGroupRef xmlSchemaGroupRef = (XmlSchemaGroupRef) particle;
             QName groupQName = xmlSchemaGroupRef.getRefName();
             if (groupQName != null) {
-                if (!processedTypemap.containsKey(groupQName)) {
+                if (!processedGroupTypeMap.containsKey(groupQName)) {
                     // processe the schema here
                     XmlSchema resolvedParentSchema = getParentSchema(parentSchema,groupQName,COMPONENT_GROUP);
                     if (resolvedParentSchema == null){
@@ -1888,7 +1897,11 @@
             boolean isArray = xmlSchemaGroupRef.getMaxOccurs() > 1;
 
             // add this as an array to the original class
-            metainfHolder.registerMapping(groupQName, groupQName, findClassName(groupQName, isArray));
+            String groupClassName = (String) processedGroupTypeMap.get(groupQName);
+            if (isArray){
+                groupClassName = groupClassName + "[]";
+            }
+            metainfHolder.registerMapping(groupQName, groupQName, groupClassName);
             if (isArray) {
                 metainfHolder.addtStatus(groupQName, SchemaConstants.ARRAY_TYPE);
             }
@@ -2010,7 +2023,7 @@
                 XmlSchemaGroupRef xmlSchemaGroupRef = (XmlSchemaGroupRef) item;
                 QName groupQName = xmlSchemaGroupRef.getRefName();
                 if (groupQName != null){
-                    if (!processedTypemap.containsKey(groupQName)){
+                    if (!processedGroupTypeMap.containsKey(groupQName)){
                         // processe the schema here
                         XmlSchema resolvedParentSchema = getParentSchema(parentSchema,groupQName,COMPONENT_GROUP);
                         if (resolvedParentSchema == null){
@@ -2224,9 +2237,13 @@
                 boolean isArray = xmlSchemaGroupRef.getMaxOccurs() > 1;
 
                 // add this as an array to the original class
+                String groupClassName = (String) processedGroupTypeMap.get(groupQName);
+                if (isArray){
+                    groupClassName = groupClassName + "[]";
+                }
                 metainfHolder.registerMapping(groupQName,
                         groupQName,
-                        findClassName(groupQName, isArray));
+                        groupClassName);
                 if (isArray) {
                     metainfHolder.addtStatus(groupQName, SchemaConstants.ARRAY_TYPE);
                 }
@@ -2271,7 +2288,8 @@
                     process(schemaGroupQName, xmlSchemaSequence.getItems(), beanWriterMetaInfoHolder, true, parentSchema);
                     beanWriterMetaInfoHolder.setParticleClass(true);
                     String javaClassName = writeComplexParticle(schemaGroupQName, beanWriterMetaInfoHolder);
-                    processedTypemap.put(schemaGroupQName, javaClassName);
+                    processedGroupTypeMap.put(schemaGroupQName, javaClassName);
+//                    processedTypemap.put(schemaGroupQName, javaClassName);
                 }
 
             } else if (xmlSchemaGroupBase instanceof XmlSchemaChoice){
@@ -2282,7 +2300,8 @@
                     process(schemaGroupQName, xmlSchemaChoice.getItems(), beanWriterMetaInfoHolder, false, parentSchema);
                     beanWriterMetaInfoHolder.setParticleClass(true);
                     String javaClassName = writeComplexParticle(schemaGroupQName, beanWriterMetaInfoHolder);
-                    processedTypemap.put(schemaGroupQName, javaClassName);
+                    processedGroupTypeMap.put(schemaGroupQName, javaClassName);
+//                    processedTypemap.put(schemaGroupQName, javaClassName);
                 }
             }
         }

Modified: webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/SchemaConstants.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/SchemaConstants.java?rev=606665&r1=606664&r2=606665&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/SchemaConstants.java (original)
+++ webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/SchemaConstants.java Sun Dec 23 21:17:02 2007
@@ -83,6 +83,57 @@
     public static final QName XSD_NORMALIZEDSTRING = new QName(URI_DEFAULT_SCHEMA_XSD, "normalizedString");
     public static final QName XSD_TOKEN = new QName(URI_DEFAULT_SCHEMA_XSD, "token");
 
+    //soap encoding constants
+    public static final String URI_DEFAULT_SCHEMA_SOAP_ENCODING = "http://schemas.xmlsoap.org/soap/encoding/";
+    public static final QName SOAP_ENCODING_ARRAY = new QName(URI_DEFAULT_SCHEMA_SOAP_ENCODING, "Array");
+    public static final QName SOAP_ENCODING_STRUCT = new QName(URI_DEFAULT_SCHEMA_SOAP_ENCODING, "Struct");
+    public static final QName SOAP_ENCODING_BASE64 = new QName(URI_DEFAULT_SCHEMA_SOAP_ENCODING, "base64");
+    public static final QName SOAP_ENCODING_DURATION = new QName(URI_DEFAULT_SCHEMA_SOAP_ENCODING, "duration");
+    public static final QName SOAP_ENCODING_DATETIME = new QName(URI_DEFAULT_SCHEMA_SOAP_ENCODING, "dateTime");
+    public static final QName SOAP_ENCODING_NOTATION = new QName(URI_DEFAULT_SCHEMA_SOAP_ENCODING, "NOTATION");
+    public static final QName SOAP_ENCODING_TIME = new QName(URI_DEFAULT_SCHEMA_SOAP_ENCODING, "time");
+    public static final QName SOAP_ENCODING_DATE = new QName(URI_DEFAULT_SCHEMA_SOAP_ENCODING, "date");
+    public static final QName SOAP_ENCODING_GYEARMONTH = new QName(URI_DEFAULT_SCHEMA_SOAP_ENCODING, "gYearMonth");
+    public static final QName SOAP_ENCODING_GYEAR = new QName(URI_DEFAULT_SCHEMA_SOAP_ENCODING, "gYear");
+    public static final QName SOAP_ENCODING_GMONTHDAY = new QName(URI_DEFAULT_SCHEMA_SOAP_ENCODING, "gMonthDay");
+    public static final QName SOAP_ENCODING_GDAY = new QName(URI_DEFAULT_SCHEMA_SOAP_ENCODING, "gDay");
+    public static final QName SOAP_ENCODING_GMONTH = new QName(URI_DEFAULT_SCHEMA_SOAP_ENCODING, "gMonth");
+    public static final QName SOAP_ENCODING_BOOLEAN = new QName(URI_DEFAULT_SCHEMA_SOAP_ENCODING, "boolean");
+    public static final QName SOAP_ENCODING_BASE64BINARY = new QName(URI_DEFAULT_SCHEMA_SOAP_ENCODING, "base64Binary");
+    public static final QName SOAP_ENCODING_HEXBINARY = new QName(URI_DEFAULT_SCHEMA_SOAP_ENCODING, "hexBinary");
+    public static final QName SOAP_ENCODING_FLOAT = new QName(URI_DEFAULT_SCHEMA_SOAP_ENCODING, "float");
+    public static final QName SOAP_ENCODING_DOUBLE = new QName(URI_DEFAULT_SCHEMA_SOAP_ENCODING, "double");
+    public static final QName SOAP_ENCODING_ANYURI = new QName(URI_DEFAULT_SCHEMA_SOAP_ENCODING, "anyURI");
+    public static final QName SOAP_ENCODING_QNAME = new QName(URI_DEFAULT_SCHEMA_SOAP_ENCODING, "QName");
+    public static final QName SOAP_ENCODING_STRING = new QName(URI_DEFAULT_SCHEMA_SOAP_ENCODING, "string");
+    public static final QName SOAP_ENCODING_NORMALIZEDSTRING = new QName(URI_DEFAULT_SCHEMA_SOAP_ENCODING, "normalizedString");
+    public static final QName SOAP_ENCODING_TOKEN = new QName(URI_DEFAULT_SCHEMA_SOAP_ENCODING, "token");
+    public static final QName SOAP_ENCODING_LANGUAGE = new QName(URI_DEFAULT_SCHEMA_SOAP_ENCODING, "language");
+    public static final QName SOAP_ENCODING_NAME = new QName(URI_DEFAULT_SCHEMA_SOAP_ENCODING, "Name");
+    public static final QName SOAP_ENCODING_NMTOKEN = new QName(URI_DEFAULT_SCHEMA_SOAP_ENCODING, "NMTOKEN");
+    public static final QName SOAP_ENCODING_NCNAME = new QName(URI_DEFAULT_SCHEMA_SOAP_ENCODING, "NCName");
+    public static final QName SOAP_ENCODING_NMTOKENS = new QName(URI_DEFAULT_SCHEMA_SOAP_ENCODING, "NMTOKENS");
+    public static final QName SOAP_ENCODING_ID = new QName(URI_DEFAULT_SCHEMA_SOAP_ENCODING, "ID");
+    public static final QName SOAP_ENCODING_IDREF = new QName(URI_DEFAULT_SCHEMA_SOAP_ENCODING, "IDREF");
+    public static final QName SOAP_ENCODING_ENTITY = new QName(URI_DEFAULT_SCHEMA_SOAP_ENCODING, "ENTITY");
+    public static final QName SOAP_ENCODING_IDREFS = new QName(URI_DEFAULT_SCHEMA_SOAP_ENCODING, "IDREFS");
+    public static final QName SOAP_ENCODING_ENTITIES = new QName(URI_DEFAULT_SCHEMA_SOAP_ENCODING, "ENTITIES");
+    public static final QName SOAP_ENCODING_DECIMAL = new QName(URI_DEFAULT_SCHEMA_SOAP_ENCODING, "decimal");
+    public static final QName SOAP_ENCODING_INTEGER = new QName(URI_DEFAULT_SCHEMA_SOAP_ENCODING, "integer");
+    public static final QName SOAP_ENCODING_NONPOSITIVEINTEGER = new QName(URI_DEFAULT_SCHEMA_SOAP_ENCODING, "nonPositiveInteger");
+    public static final QName SOAP_ENCODING_NEGATIVEINTEGER = new QName(URI_DEFAULT_SCHEMA_SOAP_ENCODING, "negativeInteger");
+    public static final QName SOAP_ENCODING_LONG = new QName(URI_DEFAULT_SCHEMA_SOAP_ENCODING, "long");
+    public static final QName SOAP_ENCODING_INT = new QName(URI_DEFAULT_SCHEMA_SOAP_ENCODING, "int");
+    public static final QName SOAP_ENCODING_SHORT = new QName(URI_DEFAULT_SCHEMA_SOAP_ENCODING, "short");
+    public static final QName SOAP_ENCODING_BYTE = new QName(URI_DEFAULT_SCHEMA_SOAP_ENCODING, "byte");
+    public static final QName SOAP_ENCODING_NONNEGATIVEINTEGER = new QName(URI_DEFAULT_SCHEMA_SOAP_ENCODING, "nonNegativeInteger");
+    public static final QName SOAP_ENCODING_UNSIGNEDLONG = new QName(URI_DEFAULT_SCHEMA_SOAP_ENCODING, "unsignedLong");
+    public static final QName SOAP_ENCODING_UNSIGNEDINT = new QName(URI_DEFAULT_SCHEMA_SOAP_ENCODING, "unsignedInt");
+    public static final QName SOAP_ENCODING_UNSIGNEDSHORT = new QName(URI_DEFAULT_SCHEMA_SOAP_ENCODING, "unsignedShort");
+    public static final QName SOAP_ENCODING_UNSIGNEDBYTE = new QName(URI_DEFAULT_SCHEMA_SOAP_ENCODING, "unsignedByte");
+    public static final QName SOAP_ENCODING_POSITIVEINTEGER = new QName(URI_DEFAULT_SCHEMA_SOAP_ENCODING, "positiveInteger");
+
+
     //bit patterns for the types
     public static final int ATTRIBUTE_TYPE = 0x0001;
     public static final int ELEMENT_TYPE = 0x0002;

Modified: webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/XSD2Java.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/XSD2Java.java?rev=606665&r1=606664&r2=606665&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/XSD2Java.java (original)
+++ webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/XSD2Java.java Sun Dec 23 21:17:02 2007
@@ -27,6 +27,8 @@
 import javax.xml.parsers.DocumentBuilderFactory;
 import java.io.File;
 import java.io.IOException;
+import java.util.Map;
+import java.util.HashMap;
 
 public class XSD2Java {
 
@@ -76,6 +78,12 @@
             CompilerOptions compilerOptions = new CompilerOptions();
             compilerOptions.setOutputLocation(outputFolder);
             compilerOptions.setGenerateAll(true);
+
+//            Map namespace2PackageMap = new HashMap();
+//            namespace2PackageMap.put("http://www.w3.org/2001/XMLSchema/schema",
+//                    "org.apache.axis2.databinding.types.xsd");
+//            compilerOptions.setNs2PackageMap(namespace2PackageMap);
+//            compilerOptions.setMapperClassPackage("org.apache.axis2.databinding.types.xsd");
 
             //todo - this should come from the users preferences
              compilerOptions.setWrapClasses(false);

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?rev=606665&r1=606664&r2=606665&view=diff
==============================================================================
--- 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 Sun Dec 23 21:17:02 2007
@@ -2878,7 +2878,18 @@
                                                               reader.next();
                                                           } else {
                                                         </xsl:if>
-                                                            <xsl:value-of select="$listName"/>.add(<xsl:value-of select="$basePropertyType"/>.Factory.parse(reader));
+                                                            <xsl:choose>
+                                                                <!-- if the base property type is a soap encoding array then extension
+                                                                  mapper class should also passed-->
+                                                                <xsl:when test="$basePropertyType='org.apache.axis2.databinding.types.soapencoding.Array'">
+                                                                    <xsl:value-of select="$listName"/>.add(<xsl:value-of select="$basePropertyType"/>.Factory.parse(reader,
+                                                                                    <xsl:value-of select="$mapperClass"/>.class));
+                                                                </xsl:when>
+                                                                <xsl:otherwise>
+                                                                    <xsl:value-of select="$listName"/>.add(<xsl:value-of select="$basePropertyType"/>.Factory.parse(reader));
+                                                                </xsl:otherwise>
+                                                            </xsl:choose>
+
                                                         <xsl:if test="@nillable">}</xsl:if>
                                                         //loop until we find a start element that is not part of this array
                                                         boolean <xsl:value-of select="$loopBoolName"/> = false;
@@ -2903,7 +2914,17 @@
                                                                           reader.next();
                                                                       } else {
                                                                     </xsl:if>
-                                                                    <xsl:value-of select="$listName"/>.add(<xsl:value-of select="$basePropertyType"/>.Factory.parse(reader));
+                                                                    <xsl:choose>
+                                                                        <!-- if the base property type is a soap encoding array then extension
+                                                                          mapper class should also passed-->
+                                                                        <xsl:when test="$basePropertyType='org.apache.axis2.databinding.types.soapencoding.Array'">
+                                                                            <xsl:value-of select="$listName"/>.add(<xsl:value-of select="$basePropertyType"/>.Factory.parse(reader,
+                                                                                            <xsl:value-of select="$mapperClass"/>.class));
+                                                                        </xsl:when>
+                                                                        <xsl:otherwise>
+                                                                            <xsl:value-of select="$listName"/>.add(<xsl:value-of select="$basePropertyType"/>.Factory.parse(reader));
+                                                                        </xsl:otherwise>
+                                                                    </xsl:choose>
                                                                     <xsl:if test="@nillable">}</xsl:if>
                                                                 }else{
                                                                     <xsl:value-of select="$loopBoolName"/> = true;
@@ -3297,7 +3318,18 @@
                                           </xsl:if>
                                       }else{
                                     </xsl:if>
-                                        object.set<xsl:value-of select="$javaName"/>(<xsl:value-of select="$propertyType"/>.Factory.parse(reader));
+                                        <xsl:choose>
+                                            <!-- if the base property type is a soap encoding array then extension
+                                              mapper class should also passed-->
+                                            <xsl:when test="$propertyType='org.apache.axis2.databinding.types.soapencoding.Array'">
+                                                object.set<xsl:value-of select="$javaName"/>(<xsl:value-of select="$propertyType"/>.Factory.parse(reader,
+                                                                <xsl:value-of select="$mapperClass"/>.class));
+                                            </xsl:when>
+                                            <xsl:otherwise>
+                                                object.set<xsl:value-of select="$javaName"/>(<xsl:value-of select="$propertyType"/>.Factory.parse(reader));
+                                            </xsl:otherwise>
+                                        </xsl:choose>
+
                                     <xsl:if test="($isType or $anon) and not($particleClassType)">  <!-- This is a subelement property to be consumed -->
                                         reader.next();
                                     </xsl:if>

Modified: webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/typemap/CTypeMap.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/typemap/CTypeMap.java?rev=606665&r1=606664&r2=606665&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/typemap/CTypeMap.java (original)
+++ webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/typemap/CTypeMap.java Sun Dec 23 21:17:02 2007
@@ -29,9 +29,12 @@
  */
 public class CTypeMap implements TypeMap{
 
-    public Map getTypeMap()
-    {
+    public Map getTypeMap(){
          return CTypeInfo.getTypeMap();
+    }
+
+    public Map getSoapEncodingTypesMap() {
+        return null;
     }
 
 }

Modified: webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/typemap/JavaTypeMap.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/typemap/JavaTypeMap.java?rev=606665&r1=606664&r2=606665&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/typemap/JavaTypeMap.java (original)
+++ webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/typemap/JavaTypeMap.java Sun Dec 23 21:17:02 2007
@@ -212,5 +212,113 @@
         typeMap.put(name, str);
     }
 
+    public Map getSoapEncodingTypesMap() {
+        return soapEncodingTypeMap;
+    }
+
+    private static Map soapEncodingTypeMap = new HashMap();
+
+    static {
+        // populate the soapEncodingTypeMap
+        addSoapEncodingTypeMapping(SchemaConstants.SOAP_ENCODING_ARRAY,
+                org.apache.axis2.databinding.types.soapencoding.Array.class.getName());
+        addSoapEncodingTypeMapping(SchemaConstants.SOAP_ENCODING_STRUCT,
+                org.apache.axis2.databinding.types.soapencoding.Struct.class.getName());
+        addSoapEncodingTypeMapping(SchemaConstants.SOAP_ENCODING_BASE64,
+                org.apache.axis2.databinding.types.soapencoding.Base64.class.getName());
+        addSoapEncodingTypeMapping(SchemaConstants.SOAP_ENCODING_DURATION,
+                org.apache.axis2.databinding.types.soapencoding.Duration.class.getName());
+        addSoapEncodingTypeMapping(SchemaConstants.SOAP_ENCODING_DATETIME,
+                org.apache.axis2.databinding.types.soapencoding.DateTime.class.getName());
+        addSoapEncodingTypeMapping(SchemaConstants.SOAP_ENCODING_NOTATION,
+                org.apache.axis2.databinding.types.soapencoding.NOTATION.class.getName());
+        addSoapEncodingTypeMapping(SchemaConstants.SOAP_ENCODING_TIME,
+                org.apache.axis2.databinding.types.soapencoding.Time.class.getName());
+        addSoapEncodingTypeMapping(SchemaConstants.SOAP_ENCODING_DATE,
+                org.apache.axis2.databinding.types.soapencoding.Date.class.getName());
+        addSoapEncodingTypeMapping(SchemaConstants.SOAP_ENCODING_GYEARMONTH,
+                org.apache.axis2.databinding.types.soapencoding.GYearMonth.class.getName());
+        addSoapEncodingTypeMapping(SchemaConstants.SOAP_ENCODING_GYEAR,
+                org.apache.axis2.databinding.types.soapencoding.GYear.class.getName());
+        addSoapEncodingTypeMapping(SchemaConstants.SOAP_ENCODING_GMONTHDAY,
+                org.apache.axis2.databinding.types.soapencoding.GMonthDay.class.getName());
+        addSoapEncodingTypeMapping(SchemaConstants.SOAP_ENCODING_GDAY,
+                org.apache.axis2.databinding.types.soapencoding.GDay.class.getName());
+        addSoapEncodingTypeMapping(SchemaConstants.SOAP_ENCODING_GMONTH,
+                org.apache.axis2.databinding.types.soapencoding.GMonth.class.getName());
+        addSoapEncodingTypeMapping(SchemaConstants.SOAP_ENCODING_BOOLEAN,
+                org.apache.axis2.databinding.types.soapencoding._boolean.class.getName());
+        addSoapEncodingTypeMapping(SchemaConstants.SOAP_ENCODING_BASE64BINARY,
+                org.apache.axis2.databinding.types.soapencoding.Base64Binary.class.getName());
+        addSoapEncodingTypeMapping(SchemaConstants.SOAP_ENCODING_HEXBINARY,
+                org.apache.axis2.databinding.types.soapencoding.HexBinary.class.getName());
+        addSoapEncodingTypeMapping(SchemaConstants.SOAP_ENCODING_FLOAT,
+                org.apache.axis2.databinding.types.soapencoding._float.class.getName());
+        addSoapEncodingTypeMapping(SchemaConstants.SOAP_ENCODING_DOUBLE,
+                org.apache.axis2.databinding.types.soapencoding._double.class.getName());
+        addSoapEncodingTypeMapping(SchemaConstants.SOAP_ENCODING_ANYURI,
+                org.apache.axis2.databinding.types.soapencoding.AnyURI.class.getName());
+        addSoapEncodingTypeMapping(SchemaConstants.SOAP_ENCODING_QNAME,
+                org.apache.axis2.databinding.types.soapencoding.QName.class.getName());
+        addSoapEncodingTypeMapping(SchemaConstants.SOAP_ENCODING_STRING,
+                org.apache.axis2.databinding.types.soapencoding.String.class.getName());
+        addSoapEncodingTypeMapping(SchemaConstants.SOAP_ENCODING_NORMALIZEDSTRING,
+                org.apache.axis2.databinding.types.soapencoding.NormalizedString.class.getName());
+        addSoapEncodingTypeMapping(SchemaConstants.SOAP_ENCODING_TOKEN,
+                org.apache.axis2.databinding.types.soapencoding.Token.class.getName());
+        addSoapEncodingTypeMapping(SchemaConstants.SOAP_ENCODING_LANGUAGE,
+                org.apache.axis2.databinding.types.soapencoding.Language.class.getName());
+        addSoapEncodingTypeMapping(SchemaConstants.SOAP_ENCODING_NAME,
+                org.apache.axis2.databinding.types.soapencoding.Name.class.getName());
+        addSoapEncodingTypeMapping(SchemaConstants.SOAP_ENCODING_NMTOKEN,
+                org.apache.axis2.databinding.types.soapencoding.NMTOKEN.class.getName());
+        addSoapEncodingTypeMapping(SchemaConstants.SOAP_ENCODING_NCNAME,
+                org.apache.axis2.databinding.types.soapencoding.NCName.class.getName());
+        addSoapEncodingTypeMapping(SchemaConstants.SOAP_ENCODING_NMTOKENS,
+                org.apache.axis2.databinding.types.soapencoding.NMTOKENS.class.getName());
+        addSoapEncodingTypeMapping(SchemaConstants.SOAP_ENCODING_ID,
+                org.apache.axis2.databinding.types.soapencoding.ID.class.getName());
+        addSoapEncodingTypeMapping(SchemaConstants.SOAP_ENCODING_IDREF,
+                org.apache.axis2.databinding.types.soapencoding.IDREF.class.getName());
+        addSoapEncodingTypeMapping(SchemaConstants.SOAP_ENCODING_ENTITY,
+                org.apache.axis2.databinding.types.soapencoding.ENTITY.class.getName());
+        addSoapEncodingTypeMapping(SchemaConstants.SOAP_ENCODING_IDREFS,
+                org.apache.axis2.databinding.types.soapencoding.IDREFS.class.getName());
+        addSoapEncodingTypeMapping(SchemaConstants.SOAP_ENCODING_ENTITIES,
+                org.apache.axis2.databinding.types.soapencoding.ENTITIES.class.getName());
+        addSoapEncodingTypeMapping(SchemaConstants.SOAP_ENCODING_DECIMAL,
+                org.apache.axis2.databinding.types.soapencoding.Decimal.class.getName());
+        addSoapEncodingTypeMapping(SchemaConstants.SOAP_ENCODING_INTEGER,
+                org.apache.axis2.databinding.types.soapencoding.Integer.class.getName());
+        addSoapEncodingTypeMapping(SchemaConstants.SOAP_ENCODING_NONPOSITIVEINTEGER,
+                org.apache.axis2.databinding.types.soapencoding.NonPositiveInteger.class.getName());
+        addSoapEncodingTypeMapping(SchemaConstants.SOAP_ENCODING_NEGATIVEINTEGER,
+                org.apache.axis2.databinding.types.soapencoding.NegativeInteger.class.getName());
+        addSoapEncodingTypeMapping(SchemaConstants.SOAP_ENCODING_LONG,
+                org.apache.axis2.databinding.types.soapencoding._long.class.getName());
+        addSoapEncodingTypeMapping(SchemaConstants.SOAP_ENCODING_INT,
+                org.apache.axis2.databinding.types.soapencoding._int.class.getName());
+        addSoapEncodingTypeMapping(SchemaConstants.SOAP_ENCODING_SHORT,
+                org.apache.axis2.databinding.types.soapencoding._short.class.getName());
+        addSoapEncodingTypeMapping(SchemaConstants.SOAP_ENCODING_BYTE,
+                org.apache.axis2.databinding.types.soapencoding._byte.class.getName());
+        addSoapEncodingTypeMapping(SchemaConstants.SOAP_ENCODING_NONNEGATIVEINTEGER,
+                org.apache.axis2.databinding.types.soapencoding.NonNegativeInteger.class.getName());
+        addSoapEncodingTypeMapping(SchemaConstants.SOAP_ENCODING_UNSIGNEDLONG,
+                org.apache.axis2.databinding.types.soapencoding.UnsignedLong.class.getName());
+        addSoapEncodingTypeMapping(SchemaConstants.SOAP_ENCODING_UNSIGNEDINT,
+                org.apache.axis2.databinding.types.soapencoding.UnsignedInt.class.getName());
+        addSoapEncodingTypeMapping(SchemaConstants.SOAP_ENCODING_UNSIGNEDSHORT,
+                org.apache.axis2.databinding.types.soapencoding.UnsignedShort.class.getName());
+        addSoapEncodingTypeMapping(SchemaConstants.SOAP_ENCODING_UNSIGNEDBYTE,
+                org.apache.axis2.databinding.types.soapencoding.UnsignedByte.class.getName());
+        addSoapEncodingTypeMapping(SchemaConstants.SOAP_ENCODING_POSITIVEINTEGER,
+                org.apache.axis2.databinding.types.soapencoding.PositiveInteger.class.getName());
+    }
+
+    private static void addSoapEncodingTypeMapping(QName name, String className) {
+        soapEncodingTypeMap.put(name, className);
+    }
+
 
 }

Modified: webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/typemap/TypeMap.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/typemap/TypeMap.java?rev=606665&r1=606664&r2=606665&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/typemap/TypeMap.java (original)
+++ webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/typemap/TypeMap.java Sun Dec 23 21:17:02 2007
@@ -26,4 +26,7 @@
 public interface TypeMap {
 
     public Map getTypeMap();
+
+    public Map getSoapEncodingTypesMap();
+    
 }

Modified: webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/writer/BeanWriter.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/writer/BeanWriter.java?rev=606665&r1=606664&r2=606665&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/writer/BeanWriter.java (original)
+++ webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/writer/BeanWriter.java Sun Dec 23 21:17:02 2007
@@ -74,6 +74,7 @@
      */
     public String write(QName qname,
                         Map typeMap,
+                        Map groupTypeMap,
                         BeanWriterMetaInfoHolder metainf,
                         boolean isAbstract)
             throws SchemaCompilationException;
@@ -87,7 +88,10 @@
      * @return Returns String.
      * @throws SchemaCompilationException
      */
-    public String write(XmlSchemaElement element, Map typeMap, BeanWriterMetaInfoHolder metainf) throws SchemaCompilationException;
+    public String write(XmlSchemaElement element,
+                        Map typeMap,
+                        Map groupTypeMap,
+                        BeanWriterMetaInfoHolder metainf) throws SchemaCompilationException;
 
 
     /**
@@ -99,7 +103,10 @@
      * @return Returns String.
      * @throws SchemaCompilationException
      */
-    public String write(XmlSchemaSimpleType simpleType, Map typeMap, BeanWriterMetaInfoHolder metainf) throws SchemaCompilationException;
+    public String write(XmlSchemaSimpleType simpleType,
+                        Map typeMap,
+                        Map groupTypeMap,
+                        BeanWriterMetaInfoHolder metainf) throws SchemaCompilationException;
 
 
      /**

Modified: webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/writer/CStructWriter.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/writer/CStructWriter.java?rev=606665&r1=606664&r2=606665&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/writer/CStructWriter.java (original)
+++ webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/writer/CStructWriter.java Sun Dec 23 21:17:02 2007
@@ -159,7 +159,10 @@
      * @throws org.apache.axis2.schema.SchemaCompilationException
      *
      */
-    public String write(XmlSchemaElement element, Map typeMap, BeanWriterMetaInfoHolder metainf) throws SchemaCompilationException {
+    public String write(XmlSchemaElement element,
+                        Map typeMap,
+                        Map groupTypeMap,
+                        BeanWriterMetaInfoHolder metainf) throws SchemaCompilationException {
 
         try {
             QName qName = element.getQName();
@@ -183,6 +186,7 @@
      */
     public String write(QName qName,
                         Map typeMap,
+                        Map groupTypeMap,
                         BeanWriterMetaInfoHolder metainf,
                         boolean isAbstract)
             throws SchemaCompilationException {
@@ -228,7 +232,10 @@
      *
      * @see BeanWriter#write(org.apache.ws.commons.schema.XmlSchemaSimpleType, java.util.Map, org.apache.axis2.schema.BeanWriterMetaInfoHolder)
      */
-    public String write(XmlSchemaSimpleType simpleType, Map typeMap, BeanWriterMetaInfoHolder metainf) throws SchemaCompilationException {
+    public String write(XmlSchemaSimpleType simpleType,
+                        Map typeMap,
+                        Map groupTypeMap,
+                        BeanWriterMetaInfoHolder metainf) throws SchemaCompilationException {
         try {
             //determine the package for this type.
             QName qName = simpleType.getQName();

Modified: webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/writer/JavaBeanWriter.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/writer/JavaBeanWriter.java?rev=606665&r1=606664&r2=606665&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/writer/JavaBeanWriter.java (original)
+++ webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/writer/JavaBeanWriter.java Sun Dec 23 21:17:02 2007
@@ -45,6 +45,7 @@
 import java.util.*;
 
 
+
 /**
  * Java Bean writer for the schema compiler.
  */
@@ -211,13 +212,15 @@
      * @return Returns String.
      * @throws SchemaCompilationException
      */
-    public String write(XmlSchemaElement element, Map typeMap,
+    public String write(XmlSchemaElement element,
+                        Map typeMap,
+                        Map groupTypeMap,
                         BeanWriterMetaInfoHolder metainf) throws SchemaCompilationException {
 
         try {
             QName qName = element.getQName();
 
-            return process(qName, metainf, typeMap, true, false);
+            return process(qName, metainf, typeMap, groupTypeMap, true, false);
         } catch (Exception e) {
             e.printStackTrace();
             throw new SchemaCompilationException(e);
@@ -236,13 +239,14 @@
      */
     public String write(QName qName,
                         Map typeMap,
+                        Map groupTypeMap,
                         BeanWriterMetaInfoHolder metainf,
                         boolean isAbstract)
             throws SchemaCompilationException {
 
         try {
             // determine the package for this type.
-            return process(qName, metainf, typeMap, false,isAbstract);
+            return process(qName, metainf, typeMap, groupTypeMap, false,isAbstract);
 
         } catch (SchemaCompilationException e) {
             throw e;
@@ -284,10 +288,10 @@
      * @param metainf
      * @return Returns String.
      * @throws SchemaCompilationException
-     * @see BeanWriter#write(org.apache.ws.commons.schema.XmlSchemaSimpleType,
-     *      java.util.Map, org.apache.axis2.schema.BeanWriterMetaInfoHolder)
      */
-    public String write(XmlSchemaSimpleType simpleType, Map typeMap,
+    public String write(XmlSchemaSimpleType simpleType,
+                        Map typeMap,
+                        Map groupTypeMap,
                         BeanWriterMetaInfoHolder metainf) throws SchemaCompilationException {
         try {
             QName qName = simpleType.getQName();
@@ -295,7 +299,7 @@
                 qName = (QName) simpleType.getMetaInfoMap().get(SchemaConstants.SchemaCompilerInfoHolder.FAKE_QNAME);
             }
             metainf.addtStatus(qName, SchemaConstants.SIMPLE_TYPE_OR_CONTENT);
-            return process(qName, metainf, typeMap, true, false);
+            return process(qName, metainf, typeMap, groupTypeMap, true, false);
         } catch (Exception e) {
             throw new SchemaCompilationException(e);
         }
@@ -397,6 +401,7 @@
     private String process(QName qName,
                            BeanWriterMetaInfoHolder metainf,
                            Map typeMap,
+                           Map groupTypeMap,
                            boolean isElement,
                            boolean isAbstract)
             throws Exception {
@@ -430,7 +435,7 @@
             globalWrappedDocument.getDocumentElement().appendChild(
                     getBeanElement(globalWrappedDocument, className,
                             originalName, basePackageName, qName, isElement,isAbstract,
-                            metainf, propertyNames, typeMap));
+                            metainf, propertyNames, typeMap, groupTypeMap));
 
         } else {
             // create the model
@@ -438,7 +443,7 @@
             // make the XML
             model.appendChild(getBeanElement(model, className, originalName,
                     basePackageName, qName, isElement,isAbstract, metainf, propertyNames,
-                    typeMap));
+                    typeMap, groupTypeMap));
 
             if (writeClasses) {
                 // create the file
@@ -496,7 +501,8 @@
                                    boolean isAbstract,
                                    BeanWriterMetaInfoHolder metainf,
                                    ArrayList propertyNames,
-                                   Map typeMap)
+                                   Map typeMap,
+                                   Map groupTypeMap)
             throws SchemaCompilationException {
 
         Element rootElt = XSLTUtils.getElement(model, "bean");
@@ -504,7 +510,7 @@
         XSLTUtils.addAttribute(model, "originalName", originalName, rootElt);
         XSLTUtils.addAttribute(model, "package", packageName, rootElt);
         XSLTUtils.addAttribute(model, "nsuri", qName.getNamespaceURI(), rootElt);
-        XSLTUtils.addAttribute(model, "nsprefix", isSuppressPrefixesMode ? "" : getPrefixForURI(qName
+       XSLTUtils.addAttribute(model, "nsprefix", isSuppressPrefixesMode ? "" : getPrefixForURI(qName
                 .getNamespaceURI(), qName.getPrefix()), rootElt);
 
         if (!wrapClasses) {
@@ -577,14 +583,14 @@
         }
 
         // populate all the information
-        populateInfo(metainf, model, rootElt, propertyNames, typeMap, false);
+        populateInfo(metainf, model, rootElt, propertyNames, typeMap, groupTypeMap, false);
 
         if (metainf.isSimple() && metainf.isUnion()) {
             populateMemberInfo(metainf, model, rootElt, typeMap);
         }
 
         if (metainf.isSimple() && metainf.isList()) {
-            populateListInfo(metainf, model, rootElt, typeMap);
+            populateListInfo(metainf, model, rootElt, typeMap, groupTypeMap);
         }
         //////////////////////////////////////////////////////////
 //        System.out.println(DOM2Writer.nodeToString(rootElt));
@@ -596,7 +602,8 @@
     protected void populateListInfo(BeanWriterMetaInfoHolder metainf,
                                     Document model,
                                     Element rootElement,
-                                    Map typeMap) {
+                                    Map typeMap,
+                                    Map groupTypeMap) {
 
         String javaName = makeUniqueJavaClassName(new ArrayList(), metainf.getItemTypeQName().getLocalPart());
         Element itemType = XSLTUtils.addChildElement(model, "itemtype", rootElement);
@@ -606,9 +613,10 @@
         XSLTUtils.addAttribute(model, "javaname", javaName, itemType);
 
 
-        if (typeMap.containsKey(metainf.getItemTypeQName())) {
-                XSLTUtils.addAttribute(model, "ours", "true", itemType);
-            }
+        if (typeMap.containsKey(metainf.getItemTypeQName()) ||
+                groupTypeMap.containsKey(metainf.getItemTypeClassName())) {
+            XSLTUtils.addAttribute(model, "ours", "true", itemType);
+        }
         if (PrimitiveTypeFinder.isPrimitive(metainf.getItemTypeClassName())) {
             XSLTUtils.addAttribute(model, "primitive", "yes", itemType);
         }
@@ -653,8 +661,12 @@
      * @param typeMap
      * @throws SchemaCompilationException
      */
-    private void populateInfo(BeanWriterMetaInfoHolder metainf, Document model,
-                              Element rootElt, ArrayList propertyNames, Map typeMap,
+    private void populateInfo(BeanWriterMetaInfoHolder metainf,
+                              Document model,
+                              Element rootElt,
+                              ArrayList propertyNames,
+                              Map typeMap,
+                              Map groupTypeMap,
                               boolean isInherited) throws SchemaCompilationException {
         // we should add parent class details only if it is
         // an extension or simple restriction
@@ -662,9 +674,9 @@
         if (metainf.getParent() != null && (!metainf.isRestriction() || (metainf.isRestriction() && metainf.isSimple())))
         {
             populateInfo(metainf.getParent(), model, rootElt, propertyNames,
-                    typeMap, true);
+                    typeMap, groupTypeMap, true);
         }
-        addPropertyEntries(metainf, model, rootElt, propertyNames, typeMap,
+        addPropertyEntries(metainf, model, rootElt, propertyNames, typeMap, groupTypeMap,
                 isInherited);
 
     }
@@ -678,8 +690,11 @@
      * @throws SchemaCompilationException
      */
     private void addPropertyEntries(BeanWriterMetaInfoHolder metainf,
-                                    Document model, Element rootElt, ArrayList propertyNames,
-                                    Map typeMap, boolean isInherited) throws SchemaCompilationException {
+                                    Document model, Element rootElt,
+                                    ArrayList propertyNames,
+                                    Map typeMap,
+                                    Map groupTypeMap,
+                                    boolean isInherited) throws SchemaCompilationException {
         // go in the loop and add the part elements
         QName[] qName;
         String javaClassNameForElement;
@@ -757,6 +772,7 @@
 
             XSLTUtils.addAttribute(model, "type", javaClassNameForElement, property);
 
+
             if (PrimitiveTypeFinder.isPrimitive(javaClassNameForElement)) {
 
                 XSLTUtils.addAttribute(model, "primitive", "yes", property);
@@ -813,6 +829,8 @@
                 XSLTUtils.addAttribute(model, "innerchoice", "yes", property);
             }
 
+
+
             if ((parentMetaInf != null) && metainf.isRestriction() && missingQNames.contains(name)) {
                 // this element details should be there with the parent meta Inf
                 addAttributesToProperty(
@@ -821,6 +839,7 @@
                         model,
                         property,
                         typeMap,
+                        groupTypeMap,
                         javaClassNameForElement);
 
             } else {
@@ -830,6 +849,7 @@
                         model,
                         property,
                         typeMap,
+                        groupTypeMap,
                         javaClassNameForElement);
             }
 
@@ -841,13 +861,15 @@
                                          Document model,
                                          Element property,
                                          Map typeMap,
+                                         Map groupTypeMap,
                                          String javaClassNameForElement) {
         // add an attribute that says the type is default
         if (metainf.getDefaultStatusForQName(name)) {
             XSLTUtils.addAttribute(model, "default", "yes", property);
         }
 
-        if (typeMap.containsKey(metainf.getSchemaQNameForQName(name))) {
+        if (typeMap.containsKey(metainf.getSchemaQNameForQName(name)) ||
+                groupTypeMap.containsKey(metainf.getSchemaQNameForQName(name))) {
             XSLTUtils.addAttribute(model, "ours", "yes", property);
         }
 

Modified: webservices/axis2/trunk/java/modules/adb-codegen/sub-build.xml
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/adb-codegen/sub-build.xml?rev=606665&r1=606664&r2=606665&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/adb-codegen/sub-build.xml (original)
+++ webservices/axis2/trunk/java/modules/adb-codegen/sub-build.xml Sun Dec 23 21:17:02 2007
@@ -394,6 +394,15 @@
 			<arg file="${testsuite.source.dir}/complexExtension.xsd"/>
 			<arg file="${schema.generated.src.dir}"/>
 		</java>
+
+         <echo>Compiling soapencoding.xsd</echo>
+		<java classname="org.apache.axis2.schema.XSD2Java" fork="true">
+			<jvmarg line="${maven.junit.jvmargs}"/>
+			<classpath refid="maven.dependency.classpath"/>
+			<classpath location="${compiled.classes.dir}"/>
+			<arg file="${testsuite.source.dir}/soapencoding.xsd"/>
+			<arg file="${schema.generated.src.dir}"/>
+		</java>
     </target>
 
 </project>

Added: webservices/axis2/trunk/java/modules/adb-codegen/test-resources/soapencoding/encoding.xsd
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/adb-codegen/test-resources/soapencoding/encoding.xsd?rev=606665&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/adb-codegen/test-resources/soapencoding/encoding.xsd (added)
+++ webservices/axis2/trunk/java/modules/adb-codegen/test-resources/soapencoding/encoding.xsd Sun Dec 23 21:17:02 2007
@@ -0,0 +1,495 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://schemas.xmlsoap.org/soap/encoding/"
+           targetNamespace="http://schemas.xmlsoap.org/soap/encoding/">
+
+    <xs:attribute name="root">
+        <xs:annotation>
+            <xs:documentation>
+                'root' can be used to distinguish serialization roots from other
+                elements that are present in a serialization but are not roots of
+                a serialized value graph
+            </xs:documentation>
+        </xs:annotation>
+        <xs:simpleType>
+            <xs:restriction base="xs:boolean">
+                <xs:pattern value="0|1"/>
+            </xs:restriction>
+        </xs:simpleType>
+    </xs:attribute>
+
+    <xs:attributeGroup name="commonAttributes">
+        <xs:annotation>
+            <xs:documentation>
+                Attributes common to all elements that function as accessors or
+                represent independent (multi-ref) values. The href attribute is
+                intended to be used in a manner like CONREF. That is, the element
+                content should be empty iff the href attribute appears
+            </xs:documentation>
+        </xs:annotation>
+        <xs:attribute name="id" type="xs:ID"/>
+        <xs:attribute name="href" type="xs:anyURI"/>
+        <xs:anyAttribute namespace="##other" processContents="lax"/>
+    </xs:attributeGroup>
+
+    <!-- Global Attributes.  The following attributes are intended to be usable via qualified attribute names on any complex type referencing them. -->
+
+    <!-- Array attributes. Needed to give the type and dimensions of an array's contents, and the offset for partially-transmitted arrays. -->
+
+    <xs:simpleType name="arrayCoordinate">
+        <xs:restriction base="xs:string"/>
+    </xs:simpleType>
+
+    <xs:attribute name="arrayType" type="xs:string"/>
+    <xs:attribute name="offset" type="xs:string"/>
+
+    <xs:attributeGroup name="arrayAttributes">
+        <xs:attribute ref="tns:arrayType"/>
+        <xs:attribute ref="tns:offset"/>
+    </xs:attributeGroup>
+
+    <xs:attribute name="position" type="xs:string"/>
+
+    <xs:attributeGroup name="arrayMemberAttributes">
+        <xs:attribute ref="tns:position"/>
+    </xs:attributeGroup>
+
+
+    <xs:element name="Array" type="tns:Array"/>
+    <xs:complexType name="Array">
+        <xs:annotation>
+            <xs:documentation>
+                'Array' is a complex type for accessors identified by position
+            </xs:documentation>
+        </xs:annotation>
+        <xs:sequence>
+            <xs:any namespace="##any" minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
+        </xs:sequence>
+        <xs:attributeGroup ref="tns:arrayAttributes"/>
+        <xs:attributeGroup ref="tns:commonAttributes"/>
+    </xs:complexType>
+
+    <!-- 'Struct' is a complex type for accessors identified by name.
+Constraint: No element may be have the same name as any other,
+nor may any element have a maxOccurs > 1. -->
+
+    <xs:element name="Struct" type="tns:Struct"/>
+
+    <xs:complexType name="Struct">
+        <xs:sequence>
+            <xs:any namespace="##any" minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
+        </xs:sequence>
+        <xs:attributeGroup ref="tns:commonAttributes"/>
+    </xs:complexType>
+
+    <!-- 'Base64' can be used to serialize binary data using base64 encoding
+as defined in RFC2045 but without the MIME line length limitation. -->
+
+    <xs:simpleType name="base64">
+        <xs:restriction base="xs:base64Binary"/>
+    </xs:simpleType>
+
+    <!-- Element declarations corresponding to each of the simple types in the
+ XML Schemas Specification. -->
+
+    <xs:element name="duration" type="tns:duration"/>
+    <xs:complexType name="duration">
+        <xs:simpleContent>
+            <xs:extension base="xs:duration">
+                <xs:attributeGroup ref="tns:commonAttributes"/>
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+    <xs:element name="dateTime" type="tns:dateTime"/>
+    <xs:complexType name="dateTime">
+        <xs:simpleContent>
+            <xs:extension base="xs:dateTime">
+                <xs:attributeGroup ref="tns:commonAttributes"/>
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+
+    <xs:element name="NOTATION" type="tns:NOTATION"/>
+    <xs:complexType name="NOTATION">
+        <xs:simpleContent>
+            <xs:extension base="xs:QName">
+                <xs:attributeGroup ref="tns:commonAttributes"/>
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+
+    <xs:element name="time" type="tns:time"/>
+    <xs:complexType name="time">
+        <xs:simpleContent>
+            <xs:extension base="xs:time">
+                <xs:attributeGroup ref="tns:commonAttributes"/>
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+    <xs:element name="date" type="tns:date"/>
+    <xs:complexType name="date">
+        <xs:simpleContent>
+            <xs:extension base="xs:date">
+                <xs:attributeGroup ref="tns:commonAttributes"/>
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+    <xs:element name="gYearMonth" type="tns:gYearMonth"/>
+    <xs:complexType name="gYearMonth">
+        <xs:simpleContent>
+            <xs:extension base="xs:gYearMonth">
+                <xs:attributeGroup ref="tns:commonAttributes"/>
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+    <xs:element name="gYear" type="tns:gYear"/>
+    <xs:complexType name="gYear">
+        <xs:simpleContent>
+            <xs:extension base="xs:gYear">
+                <xs:attributeGroup ref="tns:commonAttributes"/>
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+    <xs:element name="gMonthDay" type="tns:gMonthDay"/>
+    <xs:complexType name="gMonthDay">
+        <xs:simpleContent>
+            <xs:extension base="xs:gMonthDay">
+                <xs:attributeGroup ref="tns:commonAttributes"/>
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+    <xs:element name="gDay" type="tns:gDay"/>
+    <xs:complexType name="gDay">
+        <xs:simpleContent>
+            <xs:extension base="xs:gDay">
+                <xs:attributeGroup ref="tns:commonAttributes"/>
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+    <xs:element name="gMonth" type="tns:gMonth"/>
+    <xs:complexType name="gMonth">
+        <xs:simpleContent>
+            <xs:extension base="xs:gMonth">
+                <xs:attributeGroup ref="tns:commonAttributes"/>
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+    <xs:element name="boolean" type="tns:boolean"/>
+    <xs:complexType name="boolean">
+        <xs:simpleContent>
+            <xs:extension base="xs:boolean">
+                <xs:attributeGroup ref="tns:commonAttributes"/>
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+    <xs:element name="base64Binary" type="tns:base64Binary"/>
+    <xs:complexType name="base64Binary">
+        <xs:simpleContent>
+            <xs:extension base="xs:base64Binary">
+                <xs:attributeGroup ref="tns:commonAttributes"/>
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+    <xs:element name="hexBinary" type="tns:hexBinary"/>
+    <xs:complexType name="hexBinary">
+        <xs:simpleContent>
+            <xs:extension base="xs:hexBinary">
+                <xs:attributeGroup ref="tns:commonAttributes"/>
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+    <xs:element name="float" type="tns:float"/>
+    <xs:complexType name="float">
+        <xs:simpleContent>
+            <xs:extension base="xs:float">
+                <xs:attributeGroup ref="tns:commonAttributes"/>
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+    <xs:element name="double" type="tns:double"/>
+    <xs:complexType name="double">
+        <xs:simpleContent>
+            <xs:extension base="xs:double">
+                <xs:attributeGroup ref="tns:commonAttributes"/>
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+    <xs:element name="anyURI" type="tns:anyURI"/>
+    <xs:complexType name="anyURI">
+        <xs:simpleContent>
+            <xs:extension base="xs:anyURI">
+                <xs:attributeGroup ref="tns:commonAttributes"/>
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+    <xs:element name="QName" type="tns:QName"/>
+    <xs:complexType name="QName">
+        <xs:simpleContent>
+            <xs:extension base="xs:QName">
+                <xs:attributeGroup ref="tns:commonAttributes"/>
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+
+    <xs:element name="string" type="tns:string"/>
+    <xs:complexType name="string">
+        <xs:simpleContent>
+            <xs:extension base="xs:string">
+                <xs:attributeGroup ref="tns:commonAttributes"/>
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+    <xs:element name="normalizedString" type="tns:normalizedString"/>
+    <xs:complexType name="normalizedString">
+        <xs:simpleContent>
+            <xs:extension base="xs:normalizedString">
+                <xs:attributeGroup ref="tns:commonAttributes"/>
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+    <xs:element name="token" type="tns:token"/>
+    <xs:complexType name="token">
+        <xs:simpleContent>
+            <xs:extension base="xs:token">
+                <xs:attributeGroup ref="tns:commonAttributes"/>
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+    <xs:element name="language" type="tns:language"/>
+    <xs:complexType name="language">
+        <xs:simpleContent>
+            <xs:extension base="xs:language">
+                <xs:attributeGroup ref="tns:commonAttributes"/>
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+    <xs:element name="Name" type="tns:Name"/>
+    <xs:complexType name="Name">
+        <xs:simpleContent>
+            <xs:extension base="xs:Name">
+                <xs:attributeGroup ref="tns:commonAttributes"/>
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+    <xs:element name="NMTOKEN" type="tns:NMTOKEN"/>
+    <xs:complexType name="NMTOKEN">
+        <xs:simpleContent>
+            <xs:extension base="xs:NMTOKEN">
+                <xs:attributeGroup ref="tns:commonAttributes"/>
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+    <xs:element name="NCName" type="tns:NCName"/>
+    <xs:complexType name="NCName">
+        <xs:simpleContent>
+            <xs:extension base="xs:NCName">
+                <xs:attributeGroup ref="tns:commonAttributes"/>
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+    <xs:element name="NMTOKENS" type="tns:NMTOKENS"/>
+    <xs:complexType name="NMTOKENS">
+        <xs:simpleContent>
+            <xs:extension base="xs:NMTOKENS">
+                <xs:attributeGroup ref="tns:commonAttributes"/>
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+    <xs:element name="ID" type="tns:ID"/>
+    <xs:complexType name="ID">
+        <xs:simpleContent>
+            <xs:extension base="xs:ID">
+                <xs:attributeGroup ref="tns:commonAttributes"/>
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+    <xs:element name="IDREF" type="tns:IDREF"/>
+    <xs:complexType name="IDREF">
+        <xs:simpleContent>
+            <xs:extension base="xs:IDREF">
+                <xs:attributeGroup ref="tns:commonAttributes"/>
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+    <xs:element name="ENTITY" type="tns:ENTITY"/>
+    <xs:complexType name="ENTITY">
+        <xs:simpleContent>
+            <xs:extension base="xs:ENTITY">
+                <xs:attributeGroup ref="tns:commonAttributes"/>
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+    <xs:element name="IDREFS" type="tns:IDREFS"/>
+    <xs:complexType name="IDREFS">
+        <xs:simpleContent>
+            <xs:extension base="xs:IDREFS">
+                <xs:attributeGroup ref="tns:commonAttributes"/>
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+    <xs:element name="ENTITIES" type="tns:ENTITIES"/>
+    <xs:complexType name="ENTITIES">
+        <xs:simpleContent>
+            <xs:extension base="xs:ENTITIES">
+                <xs:attributeGroup ref="tns:commonAttributes"/>
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+    <xs:element name="decimal" type="tns:decimal"/>
+    <xs:complexType name="decimal">
+        <xs:simpleContent>
+            <xs:extension base="xs:decimal">
+                <xs:attributeGroup ref="tns:commonAttributes"/>
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+    <xs:element name="integer" type="tns:integer"/>
+    <xs:complexType name="integer">
+        <xs:simpleContent>
+            <xs:extension base="xs:integer">
+                <xs:attributeGroup ref="tns:commonAttributes"/>
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+    <xs:element name="nonPositiveInteger" type="tns:nonPositiveInteger"/>
+    <xs:complexType name="nonPositiveInteger">
+        <xs:simpleContent>
+            <xs:extension base="xs:nonPositiveInteger">
+                <xs:attributeGroup ref="tns:commonAttributes"/>
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+    <xs:element name="negativeInteger" type="tns:negativeInteger"/>
+    <xs:complexType name="negativeInteger">
+        <xs:simpleContent>
+            <xs:extension base="xs:negativeInteger">
+                <xs:attributeGroup ref="tns:commonAttributes"/>
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+    <xs:element name="long" type="tns:long"/>
+    <xs:complexType name="long">
+        <xs:simpleContent>
+            <xs:extension base="xs:long">
+                <xs:attributeGroup ref="tns:commonAttributes"/>
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+    <xs:element name="int" type="tns:int"/>
+    <xs:complexType name="int">
+        <xs:simpleContent>
+            <xs:extension base="xs:int">
+                <xs:attributeGroup ref="tns:commonAttributes"/>
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+    <xs:element name="short" type="tns:short"/>
+    <xs:complexType name="short">
+        <xs:simpleContent>
+            <xs:extension base="xs:short">
+                <xs:attributeGroup ref="tns:commonAttributes"/>
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+    <xs:element name="byte" type="tns:byte"/>
+    <xs:complexType name="byte">
+        <xs:simpleContent>
+            <xs:extension base="xs:byte">
+                <xs:attributeGroup ref="tns:commonAttributes"/>
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+    <xs:element name="nonNegativeInteger" type="tns:nonNegativeInteger"/>
+    <xs:complexType name="nonNegativeInteger">
+        <xs:simpleContent>
+            <xs:extension base="xs:nonNegativeInteger">
+                <xs:attributeGroup ref="tns:commonAttributes"/>
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+    <xs:element name="unsignedLong" type="tns:unsignedLong"/>
+    <xs:complexType name="unsignedLong">
+        <xs:simpleContent>
+            <xs:extension base="xs:unsignedLong">
+                <xs:attributeGroup ref="tns:commonAttributes"/>
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+    <xs:element name="unsignedInt" type="tns:unsignedInt"/>
+    <xs:complexType name="unsignedInt">
+        <xs:simpleContent>
+            <xs:extension base="xs:unsignedInt">
+                <xs:attributeGroup ref="tns:commonAttributes"/>
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+    <xs:element name="unsignedShort" type="tns:unsignedShort"/>
+    <xs:complexType name="unsignedShort">
+        <xs:simpleContent>
+            <xs:extension base="xs:unsignedShort">
+                <xs:attributeGroup ref="tns:commonAttributes"/>
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+    <xs:element name="unsignedByte" type="tns:unsignedByte"/>
+    <xs:complexType name="unsignedByte">
+        <xs:simpleContent>
+            <xs:extension base="xs:unsignedByte">
+                <xs:attributeGroup ref="tns:commonAttributes"/>
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+    <xs:element name="positiveInteger" type="tns:positiveInteger"/>
+    <xs:complexType name="positiveInteger">
+        <xs:simpleContent>
+            <xs:extension base="xs:positiveInteger">
+                <xs:attributeGroup ref="tns:commonAttributes"/>
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+    <xs:element name="anyType"/>
+</xs:schema>
\ No newline at end of file

Added: webservices/axis2/trunk/java/modules/adb-codegen/test-resources/soapencoding/xmlschema.xsd
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/adb-codegen/test-resources/soapencoding/xmlschema.xsd?rev=606665&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/adb-codegen/test-resources/soapencoding/xmlschema.xsd (added)
+++ webservices/axis2/trunk/java/modules/adb-codegen/test-resources/soapencoding/xmlschema.xsd Sun Dec 23 21:17:02 2007
@@ -0,0 +1,321 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://www.w3.org/2001/XMLSchema/schema"
+           targetNamespace="http://www.w3.org/2001/XMLSchema/schema">
+
+    <xs:simpleType name="base64">
+        <xs:restriction base="xs:base64Binary"/>
+    </xs:simpleType>
+
+    <xs:complexType name="duration">
+        <xs:simpleContent>
+            <xs:extension base="xs:duration">
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+    <xs:complexType name="dateTime">
+        <xs:simpleContent>
+            <xs:extension base="xs:dateTime">
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+
+    <xs:complexType name="NOTATION">
+        <xs:simpleContent>
+            <xs:extension base="xs:QName">
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+
+    <xs:complexType name="time">
+        <xs:simpleContent>
+            <xs:extension base="xs:time">
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+    <xs:complexType name="date">
+        <xs:simpleContent>
+            <xs:extension base="xs:date">
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+    <xs:complexType name="gYearMonth">
+        <xs:simpleContent>
+            <xs:extension base="xs:gYearMonth">
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+    <xs:complexType name="gYear">
+        <xs:simpleContent>
+            <xs:extension base="xs:gYear">
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+    <xs:complexType name="gMonthDay">
+        <xs:simpleContent>
+            <xs:extension base="xs:gMonthDay">
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+    <xs:complexType name="gDay">
+        <xs:simpleContent>
+            <xs:extension base="xs:gDay">
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+    <xs:complexType name="gMonth">
+        <xs:simpleContent>
+            <xs:extension base="xs:gMonth">
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+    <xs:complexType name="boolean">
+        <xs:simpleContent>
+            <xs:extension base="xs:boolean">
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+    <xs:complexType name="base64Binary">
+        <xs:simpleContent>
+            <xs:extension base="xs:base64Binary">
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+    <xs:complexType name="hexBinary">
+        <xs:simpleContent>
+            <xs:extension base="xs:hexBinary">
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+    <xs:complexType name="float">
+        <xs:simpleContent>
+            <xs:extension base="xs:float">
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+    <xs:complexType name="double">
+        <xs:simpleContent>
+            <xs:extension base="xs:double">
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+    <xs:complexType name="anyURI">
+        <xs:simpleContent>
+            <xs:extension base="xs:anyURI">
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+    <xs:complexType name="QName">
+        <xs:simpleContent>
+            <xs:extension base="xs:QName">
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+
+    <xs:complexType name="string">
+        <xs:simpleContent>
+            <xs:extension base="xs:string">
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+    <xs:complexType name="normalizedString">
+        <xs:simpleContent>
+            <xs:extension base="xs:normalizedString">
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+    <xs:complexType name="token">
+        <xs:simpleContent>
+            <xs:extension base="xs:token">
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+    <xs:complexType name="language">
+        <xs:simpleContent>
+            <xs:extension base="xs:language">
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+    <xs:complexType name="Name">
+        <xs:simpleContent>
+            <xs:extension base="xs:Name">
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+    <xs:complexType name="NMTOKEN">
+        <xs:simpleContent>
+            <xs:extension base="xs:NMTOKEN">
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+    <xs:complexType name="NCName">
+        <xs:simpleContent>
+            <xs:extension base="xs:NCName">
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+    <xs:complexType name="NMTOKENS">
+        <xs:simpleContent>
+            <xs:extension base="xs:NMTOKENS">
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+    <xs:complexType name="ID">
+        <xs:simpleContent>
+            <xs:extension base="xs:ID">
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+    <xs:complexType name="IDREF">
+        <xs:simpleContent>
+            <xs:extension base="xs:IDREF">
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+    <xs:complexType name="ENTITY">
+        <xs:simpleContent>
+            <xs:extension base="xs:ENTITY">
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+    <xs:complexType name="IDREFS">
+        <xs:simpleContent>
+            <xs:extension base="xs:IDREFS">
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+    <xs:complexType name="ENTITIES">
+        <xs:simpleContent>
+            <xs:extension base="xs:ENTITIES">
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+    <xs:complexType name="decimal">
+        <xs:simpleContent>
+            <xs:extension base="xs:decimal">
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+    <xs:complexType name="integer">
+        <xs:simpleContent>
+            <xs:extension base="xs:integer">
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+    <xs:complexType name="nonPositiveInteger">
+        <xs:simpleContent>
+            <xs:extension base="xs:nonPositiveInteger">
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+    <xs:complexType name="negativeInteger">
+        <xs:simpleContent>
+            <xs:extension base="xs:negativeInteger">
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+    <xs:complexType name="long">
+        <xs:simpleContent>
+            <xs:extension base="xs:long">
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+    <xs:complexType name="int">
+        <xs:simpleContent>
+            <xs:extension base="xs:int">
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+    <xs:complexType name="short">
+        <xs:simpleContent>
+            <xs:extension base="xs:short">
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+    <xs:complexType name="byte">
+        <xs:simpleContent>
+            <xs:extension base="xs:byte">
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+    <xs:complexType name="nonNegativeInteger">
+        <xs:simpleContent>
+            <xs:extension base="xs:nonNegativeInteger">
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+    <xs:complexType name="unsignedLong">
+        <xs:simpleContent>
+            <xs:extension base="xs:unsignedLong">
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+    <xs:complexType name="unsignedInt">
+        <xs:simpleContent>
+            <xs:extension base="xs:unsignedInt">
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+    <xs:complexType name="unsignedShort">
+        <xs:simpleContent>
+            <xs:extension base="xs:unsignedShort">
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+    <xs:complexType name="unsignedByte">
+        <xs:simpleContent>
+            <xs:extension base="xs:unsignedByte">
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+    <xs:complexType name="positiveInteger">
+        <xs:simpleContent>
+            <xs:extension base="xs:positiveInteger">
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+</xs:schema>
\ No newline at end of file

Modified: webservices/axis2/trunk/java/modules/adb-codegen/test-resources/testsuite/groups.xsd
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/adb-codegen/test-resources/testsuite/groups.xsd?rev=606665&r1=606664&r2=606665&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/adb-codegen/test-resources/testsuite/groups.xsd (original)
+++ webservices/axis2/trunk/java/modules/adb-codegen/test-resources/testsuite/groups.xsd Sun Dec 23 21:17:02 2007
@@ -78,7 +78,6 @@
             <xs:group ref="tns:TestChoiceGroup"/>
         </xs:choice>
     </xs:group>
-
     <xs:element name="TestAttributeGroupElement">
         <xs:complexType>
             <xs:sequence>
@@ -87,11 +86,9 @@
             <xs:attributeGroup ref="tns:TestAttributeGroup" />
         </xs:complexType>
     </xs:element>
-
     <xs:attributeGroup name="TestAttributeGroup">
         <xs:attribute name="attribute1" type="xs:string"/>
     </xs:attributeGroup>
-
     <xs:element name="TestNestedAttributeGroupElement">
         <xs:complexType>
             <xs:sequence>
@@ -100,7 +97,6 @@
             <xs:attributeGroup ref="tns:TestNestedAttributeGroup" />
         </xs:complexType>
     </xs:element>
-
     <xs:attributeGroup name="TestNestedAttributeGroup">
         <xs:attribute name="attribute2" type="xs:string"/>
         <xs:attributeGroup ref="tns:TestAttributeGroup" />

Added: webservices/axis2/trunk/java/modules/adb-codegen/test-resources/testsuite/soapencoding.xsd
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/adb-codegen/test-resources/testsuite/soapencoding.xsd?rev=606665&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/adb-codegen/test-resources/testsuite/soapencoding.xsd (added)
+++ webservices/axis2/trunk/java/modules/adb-codegen/test-resources/testsuite/soapencoding.xsd Sun Dec 23 21:17:02 2007
@@ -0,0 +1,42 @@
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one
+  ~ or more contributor license agreements. See the NOTICE file
+  ~ distributed with this work for additional information
+  ~ regarding copyright ownership. The ASF licenses this file
+  ~ to you under the Apache License, Version 2.0 (the
+  ~ "License"); you may not use this file except in compliance
+  ~ with the License. You may obtain a copy of the License at
+  ~
+  ~ http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing,
+  ~ software distributed under the License is distributed on an
+  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  ~ KIND, either express or implied. See the License for the
+  ~ specific language governing permissions and limitations
+  ~ under the License.
+  -->
+<s:schema elementFormDefault="qualified"
+          xmlns:s="http://www.w3.org/2001/XMLSchema"
+          xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+          xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
+          xmlns:s0="http://tempuri.org/soapencoding"
+          targetNamespace="http://tempuri.org/soapencoding">
+
+    <s:element name="TestSoapElement1" type="soapenc:Array"/>
+    <s:element name="TestSoapElement2">
+        <s:complexType>
+            <s:sequence>
+                <s:element name="param1" type="s:string"/>
+                <s:element name="param2" type="soapenc:Array"/>
+            </s:sequence>
+        </s:complexType>
+    </s:element>
+    <s:complexType name="TestComplexType">
+        <s:sequence>
+            <s:element name="param1" type="s:string"/>
+            <s:element name="param2" type="s:int"/>
+        </s:sequence>
+    </s:complexType>
+
+</s:schema>
\ No newline at end of file



---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org