cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sergey Beryozkin (JIRA)" <>
Subject [jira] [Commented] (CXF-5688) Problem Parsing FIQL Involving Enums
Date Tue, 07 Oct 2014 09:29:34 GMT


Sergey Beryozkin commented on CXF-5688:

Actually, the following code
if (m != null && !MessageUtils.getContextualBoolean(m, ENUM_CONVERSION_CASE_SENSITIVE,
false)) {
      obj = invokeValueOf(value.toUpperCase(), cls);

means "Use the upper-case conversion if ENUM_CONVERSION_CASE_SENSITIVE was not set or explicitly
set to false", i.e, the upper-case conversion is dome by default.

So I won't be applying the change which would mean "Use the upper-case conversion if ENUM_CONVERSION_CASE_SENSITIVE
was not set or set to true" which does not really makes sense.

In fact I think it is a bit too over-elaborate. I can keep the current code as is but would
rather prefer to drop the ENUM_CONVERSION_CASE_SENSITIVE check completely and try the upper-conversion
case first and if that fails then retry with the original value - should be cheap and the
code will become simpler.

> Problem Parsing FIQL Involving Enums
> ------------------------------------
>                 Key: CXF-5688
>                 URL:
>             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.

This message was sent by Atlassian JIRA

View raw message