cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sergey Beryozkin (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CXF-3797) WADL2Java Generator improvements
Date Thu, 22 Sep 2011 15:48:26 GMT

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

Sergey Beryozkin commented on CXF-3797:
---------------------------------------

Ok, all the fixes with updates are now in except the two ones I mentioned in the prev comment.
1. Methods having multiple in XML representations
That would generate a valid code - but it won't work on the server side, in the JAX-RS impl,
the selection algorithm will be unpredictable. But will work for proxies. Not sure how to
address it yet, may be I can introduce a 'lax' switch which if set will hint to the generator
that creating methods like

POST
@Path("/a")
void method1(A body);

POST
@Path("/a")
void method1(B body);

is ok...

2. I did not understand the comment about @Path annotations and elements identifying wadl:method
elements. Please clarify 




> WADL2Java Generator improvements
> --------------------------------
>
>                 Key: CXF-3797
>                 URL: https://issues.apache.org/jira/browse/CXF-3797
>             Project: CXF
>          Issue Type: Improvement
>          Components: JAX-RS
>            Reporter: Christos Fragoulides
>            Assignee: Sergey Beryozkin
>              Labels: patch
>             Fix For: 2.5
>
>         Attachments: SourceGenerator.java, wadl2java_patch.zip
>
>
> Given a relatively complex WADL file (such as the one provided by Rackspace Cloud Servers
API), JAX-RS WADL2Java Generator has many difficulties generating the proper Java classes.
> To name a few:
> - Generated method parameter names may be invalid. For example a header parameter named
'X-Auth-Token' will not have the dashes removed before being converted to a Java method parameter.
This results in invalid generated source.
> - @Produces annotation is not applied to methods, when the corresponding <response>
element contains more that one representation elements.
> - Resolved XML-schemata(from the <grammars> section of the WADL) may contain included
schemata.
> - The status attribute of the <response> element may contain a list of status codes.
The generator is expecting none or a single entry. Also the generator looks only for HTTP
status 200, while there are more valid codes, like 203.
> - The generated class names may collide with names of JAXB generated classes. For example
a resource named 'Limits' may need to import a JAXB generated class also named 'Limits' this
will trigger compilation errors.
> We were trying to use the generator in order to create and use CXF Client Proxies for
the RESTful web service mentioned above. This was necessary for us since we need to use the
API for managing Radiojar, the main project we are currently working on.
> I ended up checking out the source for JAX-RS Frontend and trying to fix the bugs in
SourceGenerator.
> Finally I managed to address the problems, so I will attach a patch to this issue, along
with the WADL file and the imported XSDs.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message