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

Sergey Beryozkin commented on CXF-5776:
---------------------------------------

Right, the test with BookDescriptor4 passes, even without annotations on the 
parameter level, complete round-trip (I did it locally by modifying 
JAXRSClientServerBookTest and BookStore system test classes), which is 
expected, we have a similar test in place (note, unless you application needs 
it you do not want to use '$' var qualifiers). 
Updating BookDescriptor4 property names to differ from PathParam values did not 
prevent the test from passing.
BeanDescriptor to BeanDescriptor3 can not capture BeanParam properties due to 
the way they are annotated.

Finally, note that in your test you have only @Path annotations - meaning that 
a proxy method will not do the invocation but return BookDescriptor subresource 
proxy.

So we've come the full circle and I'm concluding the issue is invalid. The only 
open issue in scope of working with BeanParams will be dealt with at 
https://issues.apache.org/jira/browse/CXF-5771

Cheers, Sergey

> @PathParam not works inside @BeanParam
> --------------------------------------
>
>                 Key: CXF-5776
>                 URL: https://issues.apache.org/jira/browse/CXF-5776
>             Project: CXF
>          Issue Type: Bug
>          Components: JAX-RS
>    Affects Versions: 2.7.11
>            Reporter: MIchail Nikolaev
>            Assignee: Sergey Beryozkin
>            Priority: Minor
>
> Check line:
> https://fisheye6.atlassian.com/browse/~br=2.7.x-fixes/cxf/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/client/ClientProxyImpl.java?r=3248da800fdf25f5bd962b962b7ff2d9d98cd225#to485
> Error in the snippet
> {code}
>  m.getParameterAnnotations()[0]
> {code}
> - for some reason you get first annotation from *parameter* of the method 
> (setter?).
> So, to make it worked I need to use such workaround:
> {code}
>     @PathParam("identity")
>     public void setIdentity(@Nonnull @PathParam("identity") Identity 
> identity) {
>         this.identity = identity;
>     }
> {code}
> Probably you need to call _getter.getAnnotation(anClass)_ to allow such 
> properties to work (it worked in 2.7.9 as far as I remember):
> {code}
>     public void setIdentity(@Nonnull Identity identity) {
>         this.identity = identity;
>     }
>     @PathParam("identity")
>     @Nonnull
>     public Identity getIdentity() {
>         return identity;
>     }
> {code}
> Also, it is better to catch Exception instead of Throwable.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to