axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From t...@apache.org
Subject cvs commit: ws-axis/java/src/org/apache/axis/wsdl/symbolTable SymbolTable.java Utils.java
Date Fri, 03 Jun 2005 22:23:50 GMT
tomj        2005/06/03 15:23:50

  Modified:    java/src/org/apache/axis/wsdl/symbolTable SymbolTable.java
                        Utils.java
  Log:
  Utils.java:
  - Prevent anonymous types from being marked as referenced when the
    xsd:anyType is used in the WSDL.
    This was causing the types to be emitted and the deploy.wsdd file
    would have typemappings for these (made up) QNames.
  
    Test case will follow in test/wsdl/query when I fix some other bugs.
  
  SymbolTable.java:
  - Add a comment
  
  Revision  Changes    Path
  1.120     +7 -1      ws-axis/java/src/org/apache/axis/wsdl/symbolTable/SymbolTable.java
  
  Index: SymbolTable.java
  ===================================================================
  RCS file: /home/cvs/ws-axis/java/src/org/apache/axis/wsdl/symbolTable/SymbolTable.java,v
  retrieving revision 1.119
  retrieving revision 1.120
  diff -u -r1.119 -r1.120
  --- SymbolTable.java	13 Apr 2005 16:22:52 -0000	1.119
  +++ SymbolTable.java	3 Jun 2005 22:23:50 -0000	1.120
  @@ -3287,7 +3287,13 @@
               	continue;
               }
   
  -            if ((refType != null) && !refType.equals(nestedType)
  +            // If this entry has a referenced type that isn't
  +            // the same as the nested type
  +            // AND the OnlyLiteral reference switch is on
  +            // THEN turn the OnlyLiteral reference switch off.
  +            // If only someone had put a comment here saying why we do this...
  +            if ((refType != null)
  +                    && !refType.equals(nestedType)
                       && nestedType.isOnlyLiteralReferenced()) {
                   nestedType.setOnlyLiteralReference(false);
               }
  
  
  
  1.45      +10 -9     ws-axis/java/src/org/apache/axis/wsdl/symbolTable/Utils.java
  
  Index: Utils.java
  ===================================================================
  RCS file: /home/cvs/ws-axis/java/src/org/apache/axis/wsdl/symbolTable/Utils.java,v
  retrieving revision 1.44
  retrieving revision 1.45
  diff -u -r1.44 -r1.45
  --- Utils.java	4 Mar 2005 08:43:52 -0000	1.44
  +++ Utils.java	3 Jun 2005 22:23:50 -0000	1.45
  @@ -22,12 +22,7 @@
   
   import javax.xml.namespace.QName;
   import javax.xml.rpc.holders.BooleanHolder;
  -import java.util.HashMap;
  -import java.util.HashSet;
  -import java.util.Iterator;
  -import java.util.Map;
  -import java.util.StringTokenizer;
  -import java.util.Vector;
  +import java.util.*;
   
   /**
    * This class contains static utility methods for the emitter.
  @@ -526,12 +521,18 @@
   
           if ((type != null) && (type.getNode() != null)) {
               getDerivedTypes(type, types, symbolTable);
  -        } else if (Constants.isSchemaXSD(type.getQName().getNamespaceURI())
  +        }
  +        else if (type != null && Constants.isSchemaXSD(type.getQName().getNamespaceURI())
                   && (type.getQName().getLocalPart().equals("anyType")
                   || type.getQName().getLocalPart().equals("any"))) {
   
  -            // All types are derived from anyType
  -            types.addAll(symbolTable.getTypeIndex().values());
  +            // All types are derived from anyType, except anonymous ones
  +            final Collection typeValues = symbolTable.getTypeIndex().values();
  +            for (Iterator it = typeValues.iterator(); it.hasNext();) {
  +                SymTabEntry e = (SymTabEntry) it.next();
  +                if (! e.getQName().getLocalPart().startsWith(SymbolTable.ANON_TOKEN))
  +                    types.add(e);
  +            }
           }
   
           return types;
  
  
  

Mime
View raw message