[ https://issues.apache.org/jira/browse/OLINGO-1412?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Patrick Coutu updated OLINGO-1412: ---------------------------------- Description: 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 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} was: 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} > 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 > Priority: Major > > 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 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)