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