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


Reply via email to