rzo1 opened a new pull request, #166:
URL: https://github.com/apache/openjpa/pull/166

   `CriteriaBuilderImpl.extract()` derived the `DateTimeExtractField` from 
`field.toString().toUpperCase(...)`. `Locale.ROOT` on master closed the 
Turkish-locale hole, but the lookup still depended on the exact wording of the 
spec constants, and an unrecognised field failed with `Enum.valueOf`'s "No enum 
constant ..." rather than anything actionable.
   
   The `LocalDateField` / `LocalTimeField` / `LocalDateTimeField` constants are 
now mapped to their `DateTimeExtractField` equivalents by identity, and 
anything else is rejected with a meaningful message. Identity is safe: the 
three classes have a single private constructor, are not `Serializable`, and 
expose no factory.
   
   No behaviour change for working queries — `LocalDateTimeField.DATE`/`TIME` 
already threw `IllegalArgumentException` (their `toString()` is lowercase, so 
`valueOf` never matched) and still do, with a better message.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to