You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by di...@apache.org on 2003/06/27 19:46:31 UTC

cvs commit: xml-axis/java/test/wsdl/schemaImport foo.xsd SchemaImportTestCase.java

dims        2003/06/27 10:46:31

  Modified:    java/src/org/apache/axis/wsdl/fromJava Emitter.java
                        Types.java
               java/test/wsdl/schemaImport foo.xsd
                        SchemaImportTestCase.java
  Log:
  Fix for Bug 19413 - [PATCH] Allow namespace prefixes to be picked up from inlined schemas
  from douglas.bitting@agile.com (Doug Bitting)
  
  Fix for Bug 19412 - [PATCH] Allow multiple schemas to be inlined
  from douglas.bitting@agile.com (Doug Bitting)
  
  Revision  Changes    Path
  1.92      +5 -1      xml-axis/java/src/org/apache/axis/wsdl/fromJava/Emitter.java
  
  Index: Emitter.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/wsdl/fromJava/Emitter.java,v
  retrieving revision 1.91
  retrieving revision 1.92
  diff -u -r1.91 -r1.92
  --- Emitter.java	18 Jun 2003 23:01:51 -0000	1.91
  +++ Emitter.java	27 Jun 2003 17:46:30 -0000	1.92
  @@ -624,7 +624,11 @@
               types.loadInputTypes(inputWSDL);
           }
           if (inputSchema != null) {
  -            types.loadInputSchema(inputSchema);
  +            StringTokenizer tokenizer = new StringTokenizer(inputSchema, ", ");
  +            while (tokenizer.hasMoreTokens()) {
  +                String token = tokenizer.nextToken();
  +                types.loadInputSchema(token);
  +            }
           }
   
           if (tm != null)
  
  
  
  1.76      +23 -4     xml-axis/java/src/org/apache/axis/wsdl/fromJava/Types.java
  
  Index: Types.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/wsdl/fromJava/Types.java,v
  retrieving revision 1.75
  retrieving revision 1.76
  diff -u -r1.75 -r1.76
  --- Types.java	4 May 2003 01:37:46 -0000	1.75
  +++ Types.java	27 Jun 2003 17:46:31 -0000	1.76
  @@ -73,6 +73,7 @@
   import org.apache.axis.utils.XMLUtils;
   import org.apache.axis.wsdl.symbolTable.BaseTypeMapping;
   import org.apache.axis.wsdl.symbolTable.SymbolTable;
  +import org.apache.axis.wsdl.symbolTable.TypeEntry;
   import org.apache.commons.logging.Log;
   import org.w3c.dom.Attr;
   import org.w3c.dom.Document;
  @@ -95,6 +96,7 @@
   import java.util.HashMap;
   import java.util.Iterator;
   import java.util.List;
  +import java.util.Map;
   
   /**
    *
  @@ -215,14 +217,31 @@
        */ 
       private void processSymTabEntries(SymbolTable symbolTable)
       {
  -        Iterator iterator = symbolTable.getElementIndex().keySet().iterator();
  +        Iterator iterator = 
  +            symbolTable.getElementIndex().entrySet().iterator();
           while(iterator.hasNext()) {
  -            QName name = (QName) iterator.next();
  +            Map.Entry me = (Map.Entry) iterator.next();
  +            QName name = (QName) me.getKey();
  +            TypeEntry te = (TypeEntry) me.getValue();
  +            String prefix = 
  +                XMLUtils.getPrefix(name.getNamespaceURI(), te.getNode());
  +            if (!(null == prefix || "".equals(prefix))) {
  +                namespaces.putPrefix(name.getNamespaceURI(), prefix);
  +                def.addNamespace(prefix, name.getNamespaceURI());
  +            }
               addToElementsList(name);
           }
  -        iterator = symbolTable.getTypeIndex().keySet().iterator();
  +        iterator = symbolTable.getTypeIndex().entrySet().iterator();
           while(iterator.hasNext()) {
  -            QName name = (QName) iterator.next();
  +            Map.Entry me = (Map.Entry) iterator.next();
  +            QName name = (QName) me.getKey();
  +            TypeEntry te = (TypeEntry) me.getValue();
  +            String prefix = 
  +                XMLUtils.getPrefix(name.getNamespaceURI(), te.getNode());
  +            if (!(null == prefix || "".equals(prefix))) {
  +                namespaces.putPrefix(name.getNamespaceURI(), prefix);
  +                def.addNamespace(prefix, name.getNamespaceURI());
  +            }
               addToTypesList(name);
           }
       }
  
  
  
  1.2       +1 -1      xml-axis/java/test/wsdl/schemaImport/foo.xsd
  
  Index: foo.xsd
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/test/wsdl/schemaImport/foo.xsd,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- foo.xsd	1 Nov 2002 20:14:56 -0000	1.1
  +++ foo.xsd	27 Jun 2003 17:46:31 -0000	1.2
  @@ -1,6 +1,6 @@
   <?xml version="1.0" encoding="UTF-8"?>
   <!-- edited with XMLSPY v5 U (http://www.xmlspy.com) by Doug Bitting (Agile Software) -->
  -<xs:schema targetNamespace="urn:ImportSchemaTest" xmlns="urn:ImportSchemaTest" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
  +<xs:schema targetNamespace="urn:ImportSchemaTest" xmlns="urn:ImportSchemaTest" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:foo="urn:ImportSchemaTest" elementFormDefault="qualified" attributeFormDefault="unqualified">
     <xs:complexType name="foo">
       <xs:sequence>
         <xs:element name="bar" type="xs:string">
  
  
  
  1.3       +2 -0      xml-axis/java/test/wsdl/schemaImport/SchemaImportTestCase.java
  
  Index: SchemaImportTestCase.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/test/wsdl/schemaImport/SchemaImportTestCase.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- SchemaImportTestCase.java	22 Apr 2003 19:37:15 -0000	1.2
  +++ SchemaImportTestCase.java	27 Jun 2003 17:46:31 -0000	1.3
  @@ -95,6 +95,8 @@
               def = reader.readWSDL(path, doc);
               assertNotNull("unable to generate WSDL definition from document: " 
                             + path, def);
  +            assertEquals("Expected xmlns:foo to be set to urn:ImportSchemaTest",
  +                         "urn:ImportSchemaTest", def.getNamespace("foo"));
           } catch (Exception e) {
               throw new junit.framework.AssertionFailedError("Exception caught: "
                                                              + e);