[ 
https://issues.apache.org/jira/browse/CXF-6759?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15117506#comment-15117506
 ] 

Sergey Beryozkin commented on CXF-6759:
---------------------------------------

Hi Neal
Indeed, if no method ids are used and we have multiple same path methods under 
a given resource then I see it will generate duplicate methods as it has no 
other info to make the names unique.
I agree the counter is the way to go in such cases.
See, if we check the buffer then we will have to calculate the index right 
which can be tricky as there might be some parameters with the same name, etc. 
How about:
- line 510, this is where a new resource class generation starts, just before 
writeMethods() is called, create Map of String to Integer and pass it to 
writeMethods -> writeResourceMethod and simply check and increase the counter 
there if the same name method already exists.

Do you agree ?

Sergey


> WADL2JAVA Tools Generated Source has Duplicate Method Name
> ----------------------------------------------------------
>
>                 Key: CXF-6759
>                 URL: https://issues.apache.org/jira/browse/CXF-6759
>             Project: CXF
>          Issue Type: Bug
>          Components: JAX-RS, Tooling
>    Affects Versions: 3.0.7, 3.1.4
>         Environment: Windows
>            Reporter: Neal Hu
>             Fix For: 3.1.5, 3.0.8, 3.2.0
>
>
> Generate source using below wadl file contains duplicate method name:
> command: wadl2java.bat -p cxf -d . -impl hello.wadl
> <application xmlns="http://wadl.dev.java.net/2009/02"; 
> xmlns:xs="http://www.w3.org/2001/XMLSchema";>
> <grammars/>
> <resources base="http://localhost:9088/Pojo/hello/";>
> <resource path="/BasicResource">
> <resource path="/echo">
> <method name="GET">
> <response>
> <representation mediaType="application/json">
> <param name="result" style="plain" type="xs:string"/>
> </representation>
> </response>
> </method>
> <method name="GET">
> <response>
> <representation mediaType="text/plain">
> <param name="result" style="plain" type="xs:string"/>
> </representation>
> </response>
> </method>
> </resource>
> </resource>
> </resources>
> </application>
> /**
>  * Created by Apache CXF WadlToJava code generator
> **/
> package cxf;
> import javax.ws.rs.GET;
> import javax.ws.rs.Path;
> import javax.ws.rs.Produces;
> @Path("/BasicResource")
> public class BasicResourceResource {
>     @GET
>     @Produces("application/json")
>     @Path("/echo")
>     public String getEcho() {
>         //TODO: implement
>         return null;
>     }
>     @GET
>     @Produces("text/plain")
>     @Path("/echo")
>     public String getEcho() {
>         //TODO: implement
>         return null;
>     }
> }



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to