axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jarek Gawor" <ga...@mcs.anl.gov>
Subject RE: cvs commit: ws-axis/java/src/org/apache/axis/wsdl/toJava Emitter.java JavaGeneratorFactory.java
Date Mon, 12 Apr 2004 19:08:27 GMT
The reason why I decided not to add a command line switch for this setting
was that it controls a piece of code that I believe is not quite right.
However, I wasn't 100% sure about it. I sent out an email about this issue a
week ago or so titled 'anonymous type collisions'. I did not want to add a
public command line switch for something that disables a potential bug
because if this turns out to be a valid bug than the command line switch
becomes useless. And I would rather fix the bug (if there is one) in the
first place. 
I actually already had the necessary modifications to WSDL2Java so if still
needed I can check them in (+ the ant task changes)

Jarek

> -----Original Message-----
> From: Tom Jordahl [mailto:tomj@macromedia.com]
> Sent: Friday, April 09, 2004 5:42 PM
> To: gawor@apache.org; axis-dev@ws.apache.org
> Subject: RE: cvs commit: 
> ws-axis/java/src/org/apache/axis/wsdl/toJava Emitter.java 
> JavaGeneratorFactory.java
> 
> 
> 
> You *must* add a command line and ant task switch for this
> setting too.
> 
> Thanks.
> 
> --
> Tom Jordahl
> 
> 
> -----Original Message-----
> From: gawor@apache.org [mailto:gawor@apache.org]
> Sent: Friday, April 09, 2004 2:37 PM
> To: ws-axis-cvs@apache.org
> Subject: cvs commit: ws-axis/java/src/org/apache/axis/wsdl/toJava
> Emitter.java JavaGeneratorFactory.java
> 
> gawor       2004/04/09 11:37:05
> 
>   Modified:    java/src/org/apache/axis/wsdl/toJava Emitter.java
>                         JavaGeneratorFactory.java
>   Log:
>   a way to disable name mangling in case of anonymous type collisions
>   
>   Revision  Changes    Path
>   1.68      +18 -0
> ws-axis/java/src/org/apache/axis/wsdl/toJava/Emitter.java
>   
>   Index: Emitter.java
>   ===================================================================
>   RCS file:
> /home/cvs/ws-axis/java/src/org/apache/axis/wsdl/toJava/Emitter.java,v
>   retrieving revision 1.67
>   retrieving revision 1.68
>   diff -u -r1.67 -r1.68
>   --- Emitter.java	8 Apr 2004 13:09:06 -0000	1.67
>   +++ Emitter.java	9 Apr 2004 18:37:04 -0000	1.68
>   @@ -89,6 +89,8 @@
>        
>        private boolean bBuildFileGeneration = false;
>    
>   +    private boolean typeCollisionProtection = true;
>   +
>        /** Field packageName */
>        private String packageName = null;
>    
>   @@ -882,4 +884,20 @@
>        public void generateAll(boolean all) {
>            setAllWanted(all);
>        }    // generateAll
>   +    
>   +    /**
>   +     * Get the type collision protection setting
>   +     * @return
>   +     */
>   +    public boolean isTypeCollisionProtection(){
>   +        return this.typeCollisionProtection;
>   +    }
>   +    
>   +    /**
>   +     * Enable/disable type collision protection
>   +     * @param value
>   +     */
>   +    public void setTypeCollisionProtection(boolean value){
>   +        this.typeCollisionProtection = value;
>   +    }
>    }
>   
>   
>   
>   1.50      +16 -14
> ws-axis/java/src/org/apache/axis/wsdl/toJava/JavaGeneratorFactory.java
>   
>   Index: JavaGeneratorFactory.java
>   ===================================================================
>   RCS file:
> /home/cvs/ws-axis/java/src/org/apache/axis/wsdl/toJava/JavaGen
> eratorFactory.
> java,v
>   retrieving revision 1.49
>   retrieving revision 1.50
>   diff -u -r1.49 -r1.50
>   --- JavaGeneratorFactory.java	8 Apr 2004 13:09:06 
> -0000	1.49
>   +++ JavaGeneratorFactory.java	9 Apr 2004 18:37:04 
> -0000	1.50
>   @@ -608,21 +608,23 @@
>                    typeQName = new QName(typeQName.getNamespaceURI(),
>                            localName);
>    
>   -                // If there is already an existing type,
>   -                // there will be a collision.
>   -                // If there is an existing anon type,
>   -                // there will be a  collision.
>   -                // In both cases, mangle the name.
>   -                symbolTable.getType(typeQName);
>   -
>   -                if (anonQNames.get(typeQName) != null) {
>   -                    localName += "Type" + uniqueNum++;
>   -                    typeQName =
>   -                    new QName(typeQName.getNamespaceURI(),
>   -                            localName);
>   +                if (emitter.isTypeCollisionProtection()) {
>   +                    // If there is already an existing type,
>   +                    // there will be a collision.
>   +                    // If there is an existing anon type,
>   +                    // there will be a  collision.
>   +                    // In both cases, mangle the name.
>   +                    symbolTable.getType(typeQName);
>   +                    
>   +                    if (anonQNames.get(typeQName) != null) {
>   +                        localName += "Type" + uniqueNum++;
>   +                        typeQName =
>   +                            new QName(typeQName.getNamespaceURI(),
>   +                                      localName);
>   +                    }
>   +                    
>   +                    anonQNames.put(typeQName, typeQName);
>                    }
>   -
>   -                anonQNames.put(typeQName, typeQName);
>    
>                    // Now set the name with the constructed qname
>                    tEntry.setName(emitter.getJavaName(typeQName));
>   
>   
>   
> 
> 


Mime
View raw message