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 to...@apache.org on 2002/01/25 18:48:54 UTC
cvs commit: xml-axis/java/src/org/apache/axis/wsdl/toJava SymbolTable.java
tomj 02/01/25 09:48:54
Modified: java/src/org/apache/axis/wsdl/toJava SymbolTable.java
Log:
Handle literal message elements of the form
<element name="foo" type="foo_type"/>
Insure the referenced types aren't emitted if not used.
Pass literal flag to recursive calls to setTypeReferences()
Revision Changes Path
1.18 +14 -3 xml-axis/java/src/org/apache/axis/wsdl/toJava/SymbolTable.java
Index: SymbolTable.java
===================================================================
RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/wsdl/toJava/SymbolTable.java,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -r1.17 -r1.18
--- SymbolTable.java 24 Jan 2002 23:13:00 -0000 1.17
+++ SymbolTable.java 25 Jan 2002 17:48:54 -0000 1.18
@@ -982,10 +982,17 @@
// Get the Element
Element e = getElement((elementName));
+ Node node = getTypeEntry(elementName, true).getNode();
+
+ // Check if this element is of the form:
+ // <element name="foo" type="tns:foo_type"/>
+ QName type = Utils.getNodeTypeRefQName(e.getNode(), "type");
+ if (type != null)
+ node = getTypeEntry(type, false).getNode();
// Get the nested type entries.
Vector vTypes = SchemaUtils.getComplexElementTypesAndNames(
- getTypeEntry(elementName, true).getNode(),
+ node,
this);
if (vTypes != null) {
@@ -1210,7 +1217,7 @@
if (referentName != null) {
TypeEntry referent = getTypeEntry(referentName, forElement.value);
if (referent != null) {
- setTypeReferences(referent, doc, false);
+ setTypeReferences(referent, doc, literal);
}
}
}
@@ -1221,7 +1228,7 @@
while (it.hasNext()) {
TypeEntry nestedType = (TypeEntry) it.next();
if (!nestedType.isReferenced()) {
- setTypeReferences(nestedType, doc, false);
+ setTypeReferences(nestedType, doc, literal);
}
}
} // setTypeReferences
@@ -1258,6 +1265,10 @@
type = getElement(part.getElementName());
if (type != null) {
setTypeReferences(type, doc, literal);
+ QName ref = Utils.getNodeTypeRefQName(type.getNode(), "type");
+ if (ref != null) {
+ setTypeReferences(getTypeEntry(ref, false), doc, literal);
+ }
}
}
} // setMessageReference