You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Jakub Bocheński (Issue Comment Edited JIRA)" <ji...@apache.org> on 2012/04/10 18:09:19 UTC
[jira] [Issue Comment Edited] (CXF-4226) @Description on class
level not "inherited"
[ https://issues.apache.org/jira/browse/CXF-4226?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13250775#comment-13250775 ]
Jakub Bocheński edited comment on CXF-4226 at 4/10/12 4:08 PM:
---------------------------------------------------------------
The class-level and method-level annotations are only on the interface.
The implementing class only has some @Context and @PathParam annotations on fields (otherwise it would defy the point of having an interface).
Like I wrote before: the "bar" from interface method gets picked up, but not "My resource" from the interface, which is a bit weird.
Actually I only have one implementation, but I don't understand why would this matter.
If this makes a difference: I register the class passing a concrete implementation class to JAXRSServerFactoryBean.setResourceClasses() method (actually I don't see any other way of doing it).
PS. I have enabled static resource resolution - not sure if this makes any difference.
was (Author: jboch):
The class-level and method-level annotations are only on the interface.
The implementing class only has some @Context and @PathParam annotations on fields (otherwise it would defy the point of having an interface).
Like I wrote before: the "bar" from interface method gets picked up, but not "My resource" from the interface, which is a bit weird.
Actually I only have one implementation, but I don't understand why would this matter.
If this makes a difference: I register the class passing a concrete implementation class to JAXRSServerFactoryBean.setResourceClasses() method (actually I don't see any other way of doing it).
> @Description on class level not "inherited"
> -------------------------------------------
>
> Key: CXF-4226
> URL: https://issues.apache.org/jira/browse/CXF-4226
> Project: CXF
> Issue Type: Bug
> Affects Versions: 2.5.3
> Reporter: Jakub Bocheński
> Priority: Minor
>
> This is really a minor one: if you define a resource via interface
> {code}@Description(title = "My resource")
> interface AResource {
> @GET
> @Description(title = "bar")
> Response foo();
> }{code}
> and then implement it:
> {code}class ResourceImpl implements AResource{
> @PathParam("id")
> protected int id;
> @Context
> private HttpHeaders httpHeaders;
>
> @Context
> protected UriInfo uriInfo;
> public Response foo(){
> return Response.ok().build();
> }
> }{code}
> Then the generated WADL document will contain the method description ("bar") but not the resource level description ("My resource").
> Workaround: annotate concrete implementation classes - this is of course rather tedious.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira