*PLEASE* fix your IDE to not add whitespaces :(

-- dims

On 1/1/07, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
Author: amilas
Date: Mon Jan  1 06:36:17 2007
New Revision: 491578

URL: http://svn.apache.org/viewvc?view=rev&rev=491578
Log:
fix the issue AXIS2-1919. set the ours attribute correctly on intermediate xml 
for adb beans.

Modified:
    
webservices/axis2/branches/java/1_1/modules/adb-codegen/src/org/apache/axis2/schema/SchemaCompiler.java

Modified: 
webservices/axis2/branches/java/1_1/modules/adb-codegen/src/org/apache/axis2/schema/SchemaCompiler.java
URL: 
http://svn.apache.org/viewvc/webservices/axis2/branches/java/1_1/modules/adb-codegen/src/org/apache/axis2/schema/SchemaCompiler.java?view=diff&rev=491578&r1=491577&r2=491578
==============================================================================
--- 
webservices/axis2/branches/java/1_1/modules/adb-codegen/src/org/apache/axis2/schema/SchemaCompiler.java
 (original)
+++ 
webservices/axis2/branches/java/1_1/modules/adb-codegen/src/org/apache/axis2/schema/SchemaCompiler.java
 Mon Jan  1 06:36:17 2007
@@ -569,11 +569,11 @@
                         // Must do this up front to support recursive types
                         String fullyQualifiedClassName = 
writer.makeFullyQualifiedClassName(schemaType.getQName());
                         processedTypemap.put(schemaType.getQName(), 
fullyQualifiedClassName);
-
+
                         BeanWriterMetaInfoHolder metaInfHolder = 
(BeanWriterMetaInfoHolder) processedAnonymousComplexTypesMap.get(xsElt);
                         metaInfHolder.setOwnQname(schemaType.getQName());
                         metaInfHolder.setOwnClassName(fullyQualifiedClassName);
-
+
                         writeComplexType((XmlSchemaComplexType)schemaType,
                                 metaInfHolder);
                         //remove the reference from the anon list since we 
named the type
@@ -655,6 +655,10 @@
                 XmlSchemaType referenceSchemaType = 
referencedElement.getSchemaType();

                 if (referenceSchemaType instanceof XmlSchemaComplexType){
+
+                    if (referencedElement.getSchemaTypeName() == null){
+                        referencedElement.setSchemaTypeName(generatedTypeName);
+                    }
                     //set a name
                     
referenceSchemaType.setName(generatedTypeName.getLocalPart());

@@ -748,7 +752,7 @@
         }
         return generatedTypeName;
     }
-
+
     /**
      * Generate a unique attribute Qname using the ref name
      * @param attrRefName
@@ -756,13 +760,13 @@
      * @return Returns the generated attribute name
      */
     private QName generateAttributeQName(QName attrRefName, XmlSchema 
parentSchema) {
-
+
        if (typeCounter==Integer.MAX_VALUE){
             typeCounter = 0;
         }
         QName generatedAttrName = new QName(attrRefName.getNamespaceURI(),
                        attrRefName.getLocalPart() + typeCounter++);
-
+
         while (parentSchema.getTypeByName(generatedAttrName)!= null){
             generatedAttrName = new QName(attrRefName.getNamespaceURI(),
                        attrRefName.getLocalPart() + typeCounter++);
@@ -821,8 +825,8 @@
             className = (String) baseSchemaTypeMap.get(qName);
         } else {
             if(isSOAP_ENC(qName.getNamespaceURI())) {
-                throw new 
SchemaCompilationException(SchemaCompilerMessages.getMessage("schema.soapencoding.error",
 qName.toString()));
-
+                throw new 
SchemaCompilationException(SchemaCompilerMessages.getMessage("schema.soapencoding.error",
 qName.toString()));
+
             }
             // We seem to have failed in finding a class name for the
             //contained schema type. We better set the default then
@@ -1069,7 +1073,7 @@
                         throw new SchemaCompilationException("Unnamed complex type 
used in restriction");//Internationlize this
                     }
                 } else if (type instanceof XmlSchemaSimpleType) {
-
+
                        throw new SchemaCompilationException("Not a valid 
restriction, complex content restriction base type cannot be a simple type.");
                 }
             }
@@ -1184,11 +1188,11 @@
                                
processSimpleSchemaType((XmlSchemaSimpleType)type,null, parentSchema);
                        }
                }
-
+
                //process extension base type
                
processSimpleExtensionBaseType(extension.getBaseTypeName(),metaInfHolder);
-
-               //process attributes
+
+               //process attributes
             XmlSchemaObjectCollection attribs = extension.getAttributes();
             Iterator attribIterator = attribs.getIterator();
             while (attribIterator.hasNext()) {
@@ -1198,16 +1202,16 @@

                 }
             }
-
+
             //process any attribute
             XmlSchemaAnyAttribute anyAtt = extension.getAnyAttribute();
             if (anyAtt != null) {
                 processAnyAttribute(metaInfHolder,anyAtt);
             }
-
+
         }else if (content instanceof XmlSchemaSimpleContentRestriction){
-               XmlSchemaSimpleContentRestriction restriction = 
(XmlSchemaSimpleContentRestriction) content;
-
+               XmlSchemaSimpleContentRestriction restriction = 
(XmlSchemaSimpleContentRestriction) content;
+
                //process the base type if it has not been processed yet
                if (!isAlreadyProcessed(restriction.getBaseTypeName())){
                        //pick the relevant basetype from the schema and 
process it
@@ -1238,7 +1242,7 @@
     * @param metaInfHolder
     */
     public void processSimpleExtensionBaseType(QName 
extBaseType,BeanWriterMetaInfoHolder metaInfHolder) throws 
SchemaCompilationException {
-
+
         //find the class name
         String className = findClassName(extBaseType, false);

@@ -1259,7 +1263,7 @@
                     SchemaConstants.BINARY_TYPE);
         }
     }
-
+
     /**
      * Process Simple Restriction Base Type.
      *
@@ -1284,7 +1288,7 @@

         metaInfHolder.setRestrictionBaseType(resBaseType);
     }
-
+
     /**
      * Process Facets.
      *
@@ -1292,52 +1296,52 @@
      * @param metaInfHolder
      */
     private void processFacets(XmlSchemaObjectCollection 
facets,BeanWriterMetaInfoHolder metaInfHolder) {
-
+
        Iterator facetIterator = facets.getIterator();
-
+
                while (facetIterator.hasNext()) {
             Object obj = facetIterator.next();
-
+
             if ( obj instanceof XmlSchemaPatternFacet ) {
                                XmlSchemaPatternFacet pattern = 
(XmlSchemaPatternFacet) obj;
                                
metaInfHolder.setPatternFacet(pattern.getValue().toString());
                        }
-
+
                        else if ( obj instanceof XmlSchemaEnumerationFacet ) {
                                XmlSchemaEnumerationFacet enumeration = 
(XmlSchemaEnumerationFacet) obj;
                                
metaInfHolder.addEnumFacet(enumeration.getValue().toString());
                        }
-
+
                        else if ( obj instanceof XmlSchemaLengthFacet ) {
                                XmlSchemaLengthFacet length = 
(XmlSchemaLengthFacet) obj;
                                
metaInfHolder.setLengthFacet(Integer.parseInt(length.getValue().toString()));
                        }
-
+
                        else if ( obj instanceof XmlSchemaMaxExclusiveFacet ) {
                                XmlSchemaMaxExclusiveFacet maxEx = 
(XmlSchemaMaxExclusiveFacet) obj;
                                
metaInfHolder.setMaxExclusiveFacet(maxEx.getValue().toString());
                        }
-
+
                        else if ( obj instanceof XmlSchemaMinExclusiveFacet ) {
                                XmlSchemaMinExclusiveFacet minEx = 
(XmlSchemaMinExclusiveFacet) obj;
                                
metaInfHolder.setMinExclusiveFacet(minEx.getValue().toString());
                        }
-
+
                        else if ( obj instanceof XmlSchemaMaxInclusiveFacet ) {
                                XmlSchemaMaxInclusiveFacet maxIn = 
(XmlSchemaMaxInclusiveFacet) obj;
                                
metaInfHolder.setMaxInclusiveFacet(maxIn.getValue().toString());
                        }
-
+
                        else if ( obj instanceof XmlSchemaMinInclusiveFacet ) {
                                XmlSchemaMinInclusiveFacet minIn = 
(XmlSchemaMinInclusiveFacet) obj;
                                
metaInfHolder.setMinInclusiveFacet(minIn.getValue().toString());
                        }
-
+
                        else if ( obj instanceof XmlSchemaMaxLengthFacet ) {
                                XmlSchemaMaxLengthFacet maxLen = 
(XmlSchemaMaxLengthFacet) obj;
                                
metaInfHolder.setMaxLengthFacet(Integer.parseInt(maxLen.getValue().toString()));
                        }
-
+
                        else if ( obj instanceof XmlSchemaMinLengthFacet ) {
                                XmlSchemaMinLengthFacet minLen = 
(XmlSchemaMinLengthFacet) obj;
                                
metaInfHolder.setMinLengthFacet(Integer.parseInt(minLen.getValue().toString()));
@@ -1372,9 +1376,9 @@
      * @param att
      * @param metainf
      */
-    public void processAttribute(XmlSchemaAttribute att, 
BeanWriterMetaInfoHolder metainf, XmlSchema parentSchema)
+    public void processAttribute(XmlSchemaAttribute att, 
BeanWriterMetaInfoHolder metainf, XmlSchema parentSchema)
                 throws SchemaCompilationException {
-
+
         //for now we assume (!!!) that attributes refer to standard types only
         QName schemaTypeName = att.getSchemaTypeName();
         if (schemaTypeName != null) {
@@ -1387,25 +1391,25 @@
                        String use = att.getUse().getValue();
                        if (use.indexOf("optional") != -1) {
                                metainf.addtStatus(att.getQName(), 
SchemaConstants.OPTIONAL_TYPE);
-                       }
-                       }
+                       }
+                       }
                }
         } else if (att.getRefName() != null) {
                XmlSchema currentParentSchema = 
resolveParentSchema(att.getRefName(),parentSchema);
                QName attrQname = 
generateAttributeQName(att.getRefName(),parentSchema);
-
+
                XmlSchemaObjectCollection items = 
currentParentSchema.getItems();
                Iterator itemIterator = items.getIterator();
-
+
                while (itemIterator.hasNext()) {
                 Object attr = itemIterator.next();
-
+
                 if (attr instanceof XmlSchemaAttribute) {
                        XmlSchemaAttribute attribute  = (XmlSchemaAttribute) 
attr;
-
+
                        if 
(attribute.getName().equals(att.getRefName().getLocalPart())) {
                                QName attrTypeName = 
attribute.getSchemaTypeName();
-
+
                                Object type = 
baseSchemaTypeMap.get(attrTypeName);
                                if (type == null) {
                                        XmlSchemaSimpleType simpleType = 
attribute.getSchemaType();
@@ -1425,12 +1429,12 @@
                             String use = att.getUse().getValue();
                             if (use.indexOf("optional") != -1) {
                                 metainf.addtStatus(att.getQName(), 
SchemaConstants.OPTIONAL_TYPE);
-                            }
+                            }
                         }
                        }
                 }
             }
-
+
        } else {
                //todo his attribute refers to a custom type, probably one of 
the extended simple types.
                //todo handle it here
@@ -1527,21 +1531,21 @@
                 XmlSchemaElement elt = (XmlSchemaElement) child;
                 QName referencedQName = null;

-
+
                 if (elt.getQName()!=null){
                     referencedQName = elt.getQName();
                     QName schemaTypeQName = 
elt.getSchemaType()!=null?elt.getSchemaType().getQName():elt.getSchemaTypeName();
                     if(schemaTypeQName != null) {
                         String clazzName = (String) 
processedElementTypeMap.get(elt.getQName());
                         metainfHolder.registerMapping(referencedQName,
-                                schemaTypeQName,
+                                schemaTypeQName,
                                 clazzName,
                                 ((Boolean) 
processedElementArrayStatusMap.get(elt)).booleanValue() ?
                                         SchemaConstants.ARRAY_TYPE :
                                         SchemaConstants.ELEMENT_TYPE);
                     }
                 }
-
+
                 if (elt.getRefName()!=null) { //probably this is referenced
                     referencedQName = elt.getRefName();
                     boolean arrayStatus = ((Boolean) 
processedElementArrayStatusMap.get(elt)).booleanValue();
@@ -1559,7 +1563,7 @@
                                 , clazzName,
                                 arrayStatus ?
                                         SchemaConstants.ARRAY_TYPE :
-                                        SchemaConstants.ELEMENT_TYPE);
+                                        SchemaConstants.ELEMENT_TYPE);
                     } else {
                         if(referencedQName.equals(SchemaConstants.XSD_SCHEMA)) 
{
                             metainfHolder.registerMapping(referencedQName,
@@ -1667,7 +1671,7 @@
         }
         return typeByName;
     }
-
+
     private XmlSchemaElement getReferencedElement(XmlSchema parentSchema, 
QName referencedQName) {
         XmlSchemaElement refElement = 
parentSchema.getElementByName(referencedQName);
         if (refElement == null) {
@@ -1728,22 +1732,32 @@
                                          XmlSchemaElement xsElt,
                                          XmlSchema parentSchema) throws 
SchemaCompilationException{

-        if (processedTypemap.containsKey(simpleType.getQName())
-                || baseSchemaTypeMap.containsKey(simpleType.getQName())) {
-            return;
-        }
-
         String fullyQualifiedClassName = null;
         if(simpleType.getQName() != null) {
+            if (processedTypemap.containsKey(simpleType.getQName())
+                || baseSchemaTypeMap.containsKey(simpleType.getQName())) {
+                return;
+            }
             // Must do this up front to support recursive types
             fullyQualifiedClassName = 
writer.makeFullyQualifiedClassName(simpleType.getQName());
             // we put the qname to processed type map it is only named type
             // otherwise we have to any way process that element.
             processedTypemap.put(simpleType.getQName(), 
fullyQualifiedClassName);
         } else {
-            fullyQualifiedClassName = 
writer.makeFullyQualifiedClassName(xsElt.getQName());
+
+            QName fakeQname = new QName(xsElt.getQName().getNamespaceURI(), 
xsElt.getQName().getLocalPart());
+            if (processedTypemap.containsKey(fakeQname)
+               || baseSchemaTypeMap.containsKey(fakeQname)) {
+               return;
+            }
+            fullyQualifiedClassName = 
writer.makeFullyQualifiedClassName(fakeQname);
             
simpleType.addMetaInfo(SchemaConstants.SchemaCompilerInfoHolder.FAKE_QNAME,
-                    new QName(xsElt.getQName().getNamespaceURI(), 
xsElt.getQName().getLocalPart()));
+                   fakeQname);
+            // we have to set this otherwise the ours attribute would not set 
properly if refered to this simple
+            // type from any other element
+            xsElt.setSchemaTypeName(fakeQname);
+            // should put this to the processedTypemap to generate the code 
correctly
+            processedTypemap.put(fakeQname, fullyQualifiedClassName);
         }





---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




--
Davanum Srinivas : http://www.wso2.net (Oxygen for Web Service Developers)

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to