scheu 02/05/16 19:22:40
Modified: java/src/org/apache/axis/wsdl/toJava JavaBindingWriter.java
Log:
Changes to JavaBindingWriter to move complicated logic out of constructor to make it
more extendable
Revision Changes Path
1.10 +55 -41
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.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- JavaBindingWriter.java 16 May 2002 22:27:46 -0000 1.9
+++ JavaBindingWriter.java 17 May 2002 02:22:40 -0000 1.10
@@ -74,10 +74,13 @@
* <bindingName>Stub.java, <bindingName>Skeleton.java, <bindingName>Impl.java.
*/
public class JavaBindingWriter implements Generator {
- Generator stubWriter = null;
- Generator skelWriter = null;
- Generator implWriter = null;
- Generator interfaceWriter = null;
+ protected Generator stubWriter = null;
+ protected Generator skelWriter = null;
+ protected Generator implWriter = null;
+ protected Generator interfaceWriter = null;
+ protected Emitter emitter;
+ protected Binding binding;
+ protected SymbolTable symbolTable;
// This is the dynamic var key for the SEI (Service Endpoint
// Interface) name. This name could either be derived from
@@ -93,42 +96,9 @@
Emitter emitter,
Binding binding,
SymbolTable symbolTable) {
-
- BindingEntry bEntry = symbolTable.getBindingEntry(binding.getQName());
-
- // Interface writer
- PortTypeEntry ptEntry =
- symbolTable.getPortTypeEntry(binding.getPortType().getQName());
- if (ptEntry.isReferenced()) {
- interfaceWriter = getJavaInterfaceWriter(
- emitter, ptEntry, bEntry, symbolTable);
- }
-
- if (bEntry.isReferenced()) {
- // Stub writer
- stubWriter = getJavaStubWriter(emitter, bEntry, symbolTable);
-
- // Skeleton and Impl writers
- if (emitter.isServerSide()) {
- if (emitter.isSkeletonWanted()) {
- skelWriter = getJavaSkelWriter(emitter, bEntry, symbolTable);
- }
- String fileName = Utils.getJavaLocalName(bEntry.getName())
- + "Impl.java";
- try {
- // NOTE: Where does the fileExists method really belong?
- if (!((JavaWriter) stubWriter).fileExists (fileName,
- binding.getQName().getNamespaceURI())) {
- implWriter = getJavaImplWriter(
- emitter, bEntry, symbolTable);
- }
- }
- catch (IOException ioe) {
- System.err.println(
- JavaUtils.getMessage("fileExistError00", fileName));
- }
- }
- }
+ this.emitter = emitter;
+ this.binding = binding;
+ this.symbolTable = symbolTable;
} // ctor
/**
@@ -166,9 +136,10 @@
}
/**
- * Write all the binding bindnigs: stub, skeleton, and impl.
+ * Write all the binding bindings: stub, skeleton, and impl.
*/
public void generate() throws IOException {
+ setGenerators();
if (interfaceWriter != null) {
interfaceWriter.generate();
}
@@ -183,4 +154,47 @@
}
} // generate
+ /**
+ * setGenerators
+ * Logic to set the generators that are based on the Binding
+ * This logic was moved from the constructor so extended interfaces
+ * can more effectively use the hooks.
+ */
+ protected void setGenerators() {
+ BindingEntry bEntry = symbolTable.getBindingEntry(binding.getQName());
+
+ // Interface writer
+ PortTypeEntry ptEntry =
+ symbolTable.getPortTypeEntry(binding.getPortType().getQName());
+ if (ptEntry.isReferenced()) {
+ interfaceWriter = getJavaInterfaceWriter(
+ emitter, ptEntry, bEntry, symbolTable);
+ }
+
+ if (bEntry.isReferenced()) {
+ // Stub writer
+ stubWriter = getJavaStubWriter(emitter, bEntry, symbolTable);
+
+ // Skeleton and Impl writers
+ if (emitter.isServerSide()) {
+ if (emitter.isSkeletonWanted()) {
+ skelWriter = getJavaSkelWriter(emitter, bEntry, symbolTable);
+ }
+ String fileName = Utils.getJavaLocalName(bEntry.getName())
+ + "Impl.java";
+ try {
+ // NOTE: Where does the fileExists method really belong?
+ if (!((JavaWriter) stubWriter).fileExists (fileName,
+ binding.getQName().getNamespaceURI())) {
+ implWriter = getJavaImplWriter(
+ emitter, bEntry, symbolTable);
+ }
+ }
+ catch (IOException ioe) {
+ System.err.println(
+ JavaUtils.getMessage("fileExistError00", fileName));
+ }
+ }
+ }
+}
} // class JavaBindingWriter