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
  
  
  


Reply via email to