[ 
https://issues.apache.org/jira/browse/CXF-2787?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sergey Beryozkin resolved CXF-2787.
-----------------------------------

         Assignee: Sergey Beryozkin
    Fix Version/s: 2.3
                   2.2.8
       Resolution: Fixed

> CXF Extension bit @QueryParam("") does not allow null values in the bean
> ------------------------------------------------------------------------
>
>                 Key: CXF-2787
>                 URL: https://issues.apache.org/jira/browse/CXF-2787
>             Project: CXF
>          Issue Type: Bug
>          Components: JAX-RS
>    Affects Versions: 2.2.5
>            Reporter: Matt Inger
>            Assignee: Sergey Beryozkin
>             Fix For: 2.3, 2.2.8
>
>
> If you use the @QueryParam("") extension bit on a method parameter:
> {code}
> public void foo(@QueryParam("") Bar bar);
> {code}
> you cannot have fields in the Bar class with null values.  The problem stems 
> from this method:
> {code}
> org.apache.cxf.jaxrs.utils.InjectionUtils.fillInValuesFromBean(Object, 
> String, MultivaluedMap<String, Object>)
> {code}
> specifically, this piece of code, which assumes the value is not null, and 
> thus causes a NullPointerException if it is null:
> {code}
>                 Object value = extractFromMethod(bean, m);
>                 if (isPrimitive(value.getClass())) {
>                     values.putSingle(propertyName, value);
>                 } else if (isSupportedCollectionOrArray(value.getClass())) {
>                     // ignoring arrrays for a moment
>                     List<Object> theValues = null;
>                     if (value.getClass().isArray()) {
>                         theValues = Arrays.asList(value);
>                     } else {
>                         theValues = CastUtils.cast((List<?>)value);
>                     }
>                     values.put(propertyName, theValues);
>                 } else {
>                     fillInValuesFromBean(value, propertyName, values);
>                 }
> {code}
> Ideally, if a value is null, one should just ignore the property and not add 
> it to the parameter map.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to