[
https://issues.apache.org/jira/browse/CXF-5688?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14163245#comment-14163245
]
Sergey Beryozkin edited comment on CXF-5688 at 10/8/14 8:57 AM:
----------------------------------------------------------------
Tam,
I've already referred to this issue in my 1st comment. Basically, IMHO it is
not a good idea for a user be aware to make sure 'a=Bar' is typed for the
case-sensitive conversion to go first successfully, the user should have no
idea about the 'a' property type, that it might be enum, etc. The 'natural'
query language is 'a=bar', i.e, people typically do no capitalize the first
character of the value when doing their queries. They don't type 'a=' either
but that is something the undelying UI script can prepend to the value entered
by the user in this given case.
Next, IMHO 80% of enum types are actually all upper-case.
Cheers, Sergey
was (Author: sergey_beryozkin):
Tam,
I've already referred to this issue in my 1st comment. Basically, IMHO it is
not a good idea for a user be aware to make sure 'a=Bar' is typed for the
case-sensitive conversion to go first successfully, the user should have no
idea about the 'a' property type, that it might be enum, etc. The 'natural'
query language is 'a=bar', i.e, people typically do no capitalize the first
character of the value when doing their queries. The don't type 'a=' either but
that is something the undelying UI script can prepend to the value entered by
the user in this given case.
Next, IMHO 80% of enum types are actually all upper-case.
Cheers, Sergey
> Problem Parsing FIQL Involving Enums
> ------------------------------------
>
> Key: CXF-5688
> URL: https://issues.apache.org/jira/browse/CXF-5688
> Project: CXF
> Issue Type: Bug
> Components: JAX-RS
> Reporter: Azitabh
> Assignee: Sergey Beryozkin
> Priority: Minor
> Fix For: 3.0.0, 2.7.12
>
>
> FIQL parser assumes that enums would be defined in all caps.
> In case Enums are not defined in all caps,
> InjectionUtils.convertStringToPrimitive(String value, Class<?> cls) raises
> PropertyNotFoundException because it's converting the user provided enum
> value to caps and calling ENUM.valueOf(UPPERCASE_STR).
> ethod m = cls.getMethod("valueOf", new Class[]{String.class});
> return m.invoke(null, value.toUpperCase());
> Since JAVA doesn't enforce enums to be all caps, I don't see any reason why
> FIQLParser should assume this.
> https://github.com/apache/cxf/blob/master/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/InjectionUtils.java
>
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)