Author: amilas Date: Wed Jun 13 14:25:05 2007 New Revision: 547039 URL: http://svn.apache.org/viewvc?view=rev&rev=547039 Log: fixed the issue Axis2-2755
Modified: webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/SchemaCompiler.java Modified: webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/SchemaCompiler.java URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/SchemaCompiler.java?view=diff&rev=547039&r1=547038&r2=547039 ============================================================================== --- webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/SchemaCompiler.java (original) +++ webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/SchemaCompiler.java Wed Jun 13 14:25:05 2007 @@ -11,13 +11,7 @@ import org.apache.ws.commons.schema.*; import javax.xml.namespace.QName; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Iterator; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; -import java.util.Properties; +import java.util.*; /* * Copyright 2004,2005 The Apache Software Foundation. @@ -56,6 +50,10 @@ private HashMap simpleTypesMap; private HashMap changedTypeMap; + private HashSet changedSimpleTypeSet; + private HashSet changedComplexTypeSet; + private HashSet changedElementSet; + // this map is necessary to retain the metainformation of types. The reason why these // meta info 'bags' would be useful later is to cater for the extensions and restrictions // of types @@ -139,6 +137,10 @@ processedElementRefMap = new HashMap(); nillableElementList = new ArrayList(); + changedComplexTypeSet = new HashSet(); + changedSimpleTypeSet = new HashSet(); + changedElementSet = new HashSet(); + //load the writer and initiliaze the base types writer = SchemaPropertyLoader.getBeanWriterInstance(); writer.init(this.options); @@ -356,6 +358,26 @@ if (options.isWrapClasses()) { writer.writeBatch(); } + + // resets the changed types + XmlSchemaComplexType xmlSchemaComplexType = null; + for (Iterator iter = changedComplexTypeSet.iterator();iter.hasNext();){ + xmlSchemaComplexType = (XmlSchemaComplexType) iter.next(); + xmlSchemaComplexType.setName(null); + } + + XmlSchemaSimpleType xmlSchemaSimpleType = null; + for (Iterator iter = changedSimpleTypeSet.iterator();iter.hasNext();){ + xmlSchemaSimpleType = (XmlSchemaSimpleType) iter.next(); + xmlSchemaSimpleType.setName(null); + } + + XmlSchemaElement xmlSchemaElement = null; + for (Iterator iter = changedElementSet.iterator();iter.hasNext();){ + xmlSchemaElement = (XmlSchemaElement) iter.next(); + xmlSchemaElement.setSchemaTypeName(null); + } + } /** @@ -527,6 +549,7 @@ if (schemaType instanceof XmlSchemaComplexType) { //set a name schemaType.setName(generatedTypeName.getLocalPart()); + changedComplexTypeSet.add(schemaType); // Must do this up front to support recursive types String fullyQualifiedClassName = writer.makeFullyQualifiedClassName(schemaType.getQName()); processedTypemap.put(schemaType.getQName(), fullyQualifiedClassName); @@ -551,6 +574,7 @@ } else if (schemaType instanceof XmlSchemaSimpleType) { //set a name schemaType.setName(generatedTypeName.getLocalPart()); + changedSimpleTypeSet.add(schemaType); // Must do this up front to support recursive types String fullyQualifiedClassName = writer.makeFullyQualifiedClassName(schemaType.getQName()); processedTypemap.put(schemaType.getQName(), fullyQualifiedClassName); @@ -572,7 +596,6 @@ xsElt.addMetaInfo( SchemaConstants.SchemaCompilerInfoHolder.CLASSNAME_KEY, className); - } } } else { @@ -2403,6 +2426,8 @@ // 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); + changedElementSet.add(xsElt); + } else { fakeQname = qname; } --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]