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);