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]

Reply via email to