Hi Venkat,

I was trying to make sure that anonymous types did not show up in the
deploy.wsdd.  I also was seeing zillions of files getting generated from
wrapped services that were never used since we were unwrapping the
service.

This change fixed that.

Sounds like it doesn't handle the amazon.com service right.  I am not
sure why, as this should only be filtering anonymous type references.

--
Tom Jordahl
Macromedia Server Development

> -----Original Message-----
> From: Venkat Reddy [mailto:[EMAIL PROTECTED]
> Sent: Friday, July 15, 2005 8:39 AM
> To: axis-dev@ws.apache.org; [EMAIL PROTECTED]
> Subject: Re: cvs commit:
ws-axis/java/src/org/apache/axis/wsdl/symbolTable
> SymbolTable.java Utils.java
> 
> Tom,
> 
> I have traced the issue of AXIS-2107 (Amazon wsdl) to this commit. Can
> you review these changes in Utils.java?
> 
> thanks
> Venkat
> 
> On 3 Jun 2005 22:23:50 -0000, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
> > 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;
> >
> >
> >
> >

Reply via email to