Patrick Coutu created OLINGO-1412:
-------------------------------------
Summary: filtering on enum values containing underscore characters
throws IllegalArgumentException
Key: OLINGO-1412
URL: https://issues.apache.org/jira/browse/OLINGO-1412
Project: Olingo
Issue Type: Bug
Components: odata2-jpa
Affects Versions: V2 2.0.11
Reporter: Patrick Coutu
Problem was not present in V2 2.0.4. After upgrading to V2 2.0.11, applying
filters against Enum field values which contain _ (underscore) characters throw
IllegalArgumentExceptions.
It appears to be incorrectly applying sql wildcard chracter escaping
{code:java}
Caused by: java.lang.IllegalArgumentException: No enum constant
com.abc.entity.TheEnum.TEST\_VALUE
Caused by: java.lang.IllegalArgumentException: No enum constant
com.abc.entity.TheEnum.TEST\_VALUE at
java.base/java.lang.Enum.valueOf(Enum.java:240) at
org.apache.olingo.odata2.jpa.processor.core.ODataExpressionParser.evaluateExpressionForString(ODataExpressionParser.java:642)
at
org.apache.olingo.odata2.jpa.processor.core.ODataExpressionParser.evaluateComparingExpression(ODataExpressionParser.java:524)
at
org.apache.olingo.odata2.jpa.processor.core.ODataExpressionParser.parseToJPAWhereExpression(ODataExpressionParser.java:246)
at
org.apache.olingo.odata2.jpa.processor.core.ODataExpressionParser.parseToJPAWhereExpression(ODataExpressionParser.java:136)
at
org.apache.olingo.odata2.jpa.processor.core.ODataExpressionParser.parseToJPAWhereExpression(ODataExpressionParser.java:119)
at
org.apache.olingo.odata2.jpa.processor.core.ODataExpressionParser.parseToJPAWhereExpression(ODataExpressionParser.java:92)
at
org.apache.olingo.odata2.jpa.processor.core.jpql.JPQLSelectContext$JPQLSelectContextBuilder.generateWhereExpression(JPQLSelectContext.java:190)
at
org.apache.olingo.odata2.jpa.processor.core.jpql.JPQLSelectContext$JPQLSelectContextBuilder.build(JPQLSelectContext.java:123)
at
org.apache.olingo.odata2.jpa.processor.core.access.data.JPAQueryBuilder.buildJPQLContext(JPAQueryBuilder.java:370)
at
org.apache.olingo.odata2.jpa.processor.core.access.data.JPAQueryBuilder.buildQuery(JPAQueryBuilder.java:266)
at
org.apache.olingo.odata2.jpa.processor.core.access.data.JPAQueryBuilder.build(JPAQueryBuilder.java:92)
{code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)