You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Sergey Beryozkin (JIRA)" <ji...@apache.org> on 2015/04/01 15:14:53 UTC

[jira] [Commented] (CXF-6322) AbstractSearchConditionParser not working with UUID fields

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

Sergey Beryozkin commented on CXF-6322:
---------------------------------------

Unfortunately we can not add the processing for various specific types that do not have default constructors/etc.
CXF 3.0.4 Search module does check JAX-RS 2.0 ParameterConverterProvider - register the one for UUID...

Cheers, Sergey

> AbstractSearchConditionParser not working with UUID fields
> ----------------------------------------------------------
>
>                 Key: CXF-6322
>                 URL: https://issues.apache.org/jira/browse/CXF-6322
>             Project: CXF
>          Issue Type: Bug
>          Components: JAX-RS
>    Affects Versions: 3.0.4
>            Reporter: Vjacheslav Borisov
>            Priority: Minor
>
> Using of FIQL expression like bean.uuid=91d6350e-4bf5-42e8-9828-33767c6cb384
> Where uuid is of type java.util.UUID
> leads to  java.lang.InstantiationException: java.util.UUID
> at line 194: nextObject = returnType.newInstance();
> Becouse  java.util.UUID does not have no-arg constructor.
> Istead of this InjectionUtils.isPrimitive should return true for java.util.UUID, then execution path should go to if (lastTry) { branch
> and convertStringToPrimitive is working correctly with java.util.UUID
> Quick fix is to change  line 168  - add  " ||returnType.equals(java.util.UUID.class): "
>                 boolean isPrimitive = !returnCollection
>                     && InjectionUtils.isPrimitive(returnType) || returnType.isEnum() ||returnType.equals(java.util.UUID.class);



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)