Author: dims Date: Tue Jun 5 13:43:06 2007 New Revision: 544624 URL: http://svn.apache.org/viewvc?view=rev&rev=544624 Log: make it easier to extend the class by making some fields protected. Check explicitly for NamespaceMap in the getNamespaceContext. by default XmlSchema uses NodeNamespaceContext
Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/java2wsdl/DefaultSchemaGenerator.java Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/java2wsdl/DefaultSchemaGenerator.java URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/java2wsdl/DefaultSchemaGenerator.java?view=diff&rev=544624&r1=544623&r2=544624 ============================================================================== --- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/java2wsdl/DefaultSchemaGenerator.java (original) +++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/java2wsdl/DefaultSchemaGenerator.java Tue Jun 5 13:43:06 2007 @@ -10,6 +10,7 @@ import org.apache.ws.commons.schema.XmlSchemaImport; import org.apache.ws.commons.schema.XmlSchemaSequence; import org.apache.ws.commons.schema.utils.NamespaceMap; +import org.apache.ws.commons.schema.utils.NamespacePrefixList; import org.apache.axis2.description.java2wsdl.bytecode.MethodTable; import org.apache.axis2.description.java2wsdl.TypeTable; import org.apache.axis2.description.java2wsdl.AnnotationConstants; @@ -72,11 +73,11 @@ protected XmlSchemaCollection xmlSchemaCollection = new XmlSchemaCollection(); - private ClassLoader classLoader; + protected ClassLoader classLoader; private String className; - private TypeTable typeTable = new TypeTable(); + protected TypeTable typeTable = new TypeTable(); // to keep loadded method using JAM private JMethod methods[]; @@ -94,11 +95,11 @@ private ArrayList excludeMethods = new ArrayList(); - private ArrayList extraClasses = null; + protected ArrayList extraClasses = null; private boolean useWSDLTypesNamespace = false; - private Map pkg2nsmap = null; + protected Map pkg2nsmap = null; private NamespaceGenerator nsGen = null; @@ -106,6 +107,7 @@ //to keep the list of operation which uses MR other than RPC MR private ArrayList nonRpcMethods = new ArrayList(); + protected Class serviceClass = null; public NamespaceGenerator getNsGen() throws Exception { if (nsGen == null) { @@ -125,8 +127,8 @@ this.classLoader = loader; this.className = className; - Class clazz = Class.forName(className, true, loader); - methodTable = new MethodTable(clazz); + serviceClass = Class.forName(className, true, loader); + methodTable = new MethodTable(serviceClass); this.targetNamespace = Java2WSDLUtils.targetNamespaceFromClassName( className, loader, getNsGen()).toString(); @@ -347,6 +349,10 @@ XmlSchema xmlSchema = getXmlSchema(targetNameSpace); String targetNamespacePrefix = (String)targetNamespacePrefixMap.get(targetNameSpace); + if (targetNamespacePrefix == null) { + targetNamespacePrefix = generatePrefix(); + targetNamespacePrefixMap.put(targetNameSpace, targetNamespacePrefix) ; + } XmlSchemaComplexType complexType = new XmlSchemaComplexType(xmlSchema); XmlSchemaSequence sequence = new XmlSchemaSequence(); @@ -682,7 +688,8 @@ } private void addImport(XmlSchema xmlSchema, QName schemaTypeName) { - if (!((NamespaceMap)xmlSchema.getNamespaceContext()).values(). + NamespacePrefixList map = xmlSchema.getNamespaceContext(); + if (map instanceof NamespaceMap && !((NamespaceMap)map).values(). contains(schemaTypeName.getNamespaceURI())) { XmlSchemaImport importElement = new XmlSchemaImport(); importElement.setNamespace(schemaTypeName.getNamespaceURI()); --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]