butek 02/02/07 06:15:06
Modified: java/src/org/apache/axis/wsdl/toJava JavaBindingWriter.java
JavaWriterFactory.java SymbolTable.java
java/test/wsdl/filegen AllOptionTestCase.java
Log:
Make sure stubs/skeletons are not generated for non-SOAP bindings, even if --all
is turned on.
Revision Changes Path
1.3 +9 -6
xml-axis/java/src/org/apache/axis/wsdl/toJava/JavaBindingWriter.java
Index: JavaBindingWriter.java
===================================================================
RCS file:
/home/cvs/xml-axis/java/src/org/apache/axis/wsdl/toJava/JavaBindingWriter.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- JavaBindingWriter.java 24 Jan 2002 23:12:59 -0000 1.2
+++ JavaBindingWriter.java 7 Feb 2002 14:15:06 -0000 1.3
@@ -82,13 +82,16 @@
SymbolTable symbolTable) {
BindingEntry bEntry = symbolTable.getBindingEntry(binding.getQName());
+
+ // Interface writer
+ PortTypeEntry ptEntry =
+ symbolTable.getPortTypeEntry(binding.getPortType().getQName());
+ if (ptEntry.isReferenced()) {
+ interfaceWriter = new JavaInterfaceWriter(
+ emitter, ptEntry, bEntry, symbolTable);
+ }
+
if (bEntry.isReferenced()) {
- // Interface writer
- PortTypeEntry ptEntry =
- symbolTable.getPortTypeEntry(binding.getPortType().getQName());
- interfaceWriter =
- new JavaInterfaceWriter(emitter, ptEntry, bEntry, symbolTable);
-
// Stub writer
stubWriter = new JavaStubWriter(emitter, bEntry, symbolTable);
1.12 +11 -3
xml-axis/java/src/org/apache/axis/wsdl/toJava/JavaWriterFactory.java
Index: JavaWriterFactory.java
===================================================================
RCS file:
/home/cvs/xml-axis/java/src/org/apache/axis/wsdl/toJava/JavaWriterFactory.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- JavaWriterFactory.java 6 Feb 2002 21:08:54 -0000 1.11
+++ JavaWriterFactory.java 7 Feb 2002 14:15:06 -0000 1.12
@@ -324,8 +324,9 @@
}
/**
- * The --all flag is set on the command line (or generateAll(true) is called on
WSDL2Java).
- * Set all symbols as referenced.
+ * The --all flag is set on the command line (or generateAll(true) is called
+ * on WSDL2Java). Set all symbols as referenced (except nonSOAP bindings
+ * which we don't know how to deal with).
*/
private void setAllReferencesToTrue() {
Iterator it = symbolTable.getHashMap().values().iterator();
@@ -333,7 +334,14 @@
Vector v = (Vector) it.next();
for (int i = 0; i < v.size(); ++i) {
SymTabEntry entry = (SymTabEntry) v.elementAt(i);
- entry.setIsReferenced(true);
+ if (entry instanceof BindingEntry &&
+ ((BindingEntry) entry).getBindingType() !=
+ BindingEntry.TYPE_SOAP) {
+ entry.setIsReferenced(false);
+ }
+ else {
+ entry.setIsReferenced(true);
+ }
}
}
} // setAllReferencesToTrue
1.26 +33 -22 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.25
retrieving revision 1.26
diff -u -r1.25 -r1.26
--- SymbolTable.java 6 Feb 2002 21:00:20 -0000 1.25
+++ SymbolTable.java 7 Feb 2002 14:15:06 -0000 1.26
@@ -1220,6 +1220,10 @@
}
} // setReferences
+ /**
+ * Set the isReferenced flag to true on the given TypeEntry and all
+ * SymTabEntries that it refers to.
+ */
private void setTypeReferences(TypeEntry entry, Document doc,
boolean literal) {
@@ -1264,7 +1268,8 @@
} // setTypeReferences
/**
- * Set the isReferenced flag to true on all SymTabEntries that the given
Meesage refers to.
+ * Set the isReferenced flag to true on the given MessageEntry and all
+ * SymTabEntries that it refers to.
*/
private void setMessageReferences(
MessageEntry entry, Definition def, Document doc, boolean literal) {
@@ -1305,7 +1310,8 @@
} // setMessageReference
/**
- * Set the isReferenced flag to true on all SymTabEntries that the given
PortType refers to.
+ * Set the isReferenced flag to true on the given PortTypeEntry and all
+ * SymTabEntries that it refers to.
*/
private void setPortTypeReferences(
PortTypeEntry entry, BindingEntry bEntry,
@@ -1384,36 +1390,41 @@
} // setPortTypeReferences
/**
- * Set the isReferenced flag to true on all SymTabEntries that the given
Meesage refers to.
+ * Set the isReferenced flag to true on the given BindingEntry and all
+ * SymTabEntries that it refers to ONLY if this binding is a SOAP binding.
*/
private void setBindingReferences(
BindingEntry entry, Definition def, Document doc) {
- // If we don't want to emit stuff from imported files, only set the
- // isReferenced flag if this entry exists in the immediate WSDL file.
- Binding binding = entry.getBinding();
- if (addImports) {
- entry.setIsReferenced(true);
- }
- else {
- // NOTE: I thought I could have simply done:
- // if (def.getBindng(binding.getQName()) != null)
- // but that method traces through all imported bindings.
- Map bindings = def.getBindings();
- if (bindings.containsValue(binding)) {
+
+ if (entry.getBindingType() == BindingEntry.TYPE_SOAP) {
+ // If we don't want to emit stuff from imported files, only set the
+ // isReferenced flag if this entry exists in the immediate WSDL file.
+ Binding binding = entry.getBinding();
+ if (addImports) {
entry.setIsReferenced(true);
}
- }
+ else {
+ // NOTE: I thought I could have simply done:
+ // if (def.getBindng(binding.getQName()) != null)
+ // but that method traces through all imported bindings.
+ Map bindings = def.getBindings();
+ if (bindings.containsValue(binding)) {
+ entry.setIsReferenced(true);
+ }
+ }
- // Set all the binding's portTypes
- PortType portType = binding.getPortType();
- PortTypeEntry ptEntry = getPortTypeEntry(portType.getQName());
- if (ptEntry != null) {
- setPortTypeReferences(ptEntry, entry, def, doc);
+ // Set all the binding's portTypes
+ PortType portType = binding.getPortType();
+ PortTypeEntry ptEntry = getPortTypeEntry(portType.getQName());
+ if (ptEntry != null) {
+ setPortTypeReferences(ptEntry, entry, def, doc);
+ }
}
} // setBindingReferences
/**
- * Set the isReferenced flag to true on all SymTabEntries that the given
Meesage refers to.
+ * Set the isReferenced flag to true on the given ServiceEntry and all
+ * SymTabEntries that it refers to.
*/
private void setServiceReferences(
ServiceEntry entry, Definition def, Document doc) {
1.2 +0 -1 xml-axis/java/test/wsdl/filegen/AllOptionTestCase.java
Index: AllOptionTestCase.java
===================================================================
RCS file: /home/cvs/xml-axis/java/test/wsdl/filegen/AllOptionTestCase.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- AllOptionTestCase.java 6 Feb 2002 21:08:54 -0000 1.1
+++ AllOptionTestCase.java 7 Feb 2002 14:15:06 -0000 1.2
@@ -79,7 +79,6 @@
set.add("OpFault.java");
set.add("PortTypeNotSoap.java");
set.add("PortTypeSoap.java");
- set.add("ReferenceHttpGetStub.java");
set.add("ReferenceService.java");
set.add("ReferenceServiceLocator.java");
set.add("ReferenceSoapBindingStub.java");