[
https://issues.apache.org/jira/browse/OPENJPA-2894?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Pawel Veselov updated OPENJPA-2894:
-----------------------------------
Description:
>From {{PredicateImpl}}:
{code:java}
public PredicateImpl add(Expression<Boolean> s) {
synchronized (_exps) {
_exps.add((Predicate)s); // all boolean expressions are
Predicate
}
return this;
}
{code}
However, a function that returns a boolean is an {{Expression<Boolean>}}, but
is not a {{Predicate}}
Test case:
https://github.com/veselov/Standalone-JPA-Test-Demo/tree/OPENJPA-2894 (run
{{mvn package}} on JDK 1.8)
I'm going to try fixing this by just removing {{Predicate}} type cast, it just
looks wrong.
was:
>From {{PredicateImpl}}:
{code:java}
public PredicateImpl add(Expression<Boolean> s) {
synchronized (_exps) {
_exps.add((Predicate)s); // all boolean expressions are
Predicate
}
return this;
}
{code}
However, a function that returns a boolean is an {{Expression<Boolean>}}, but
is not a {{Predicate}}
> All boolean expressions are not predicates
> ------------------------------------------
>
> Key: OPENJPA-2894
> URL: https://issues.apache.org/jira/browse/OPENJPA-2894
> Project: OpenJPA
> Issue Type: Bug
> Components: criteria
> Affects Versions: 3.1.2, 3.2.0
> Reporter: Pawel Veselov
> Priority: Major
>
> From {{PredicateImpl}}:
> {code:java}
> public PredicateImpl add(Expression<Boolean> s) {
> synchronized (_exps) {
> _exps.add((Predicate)s); // all boolean expressions are
> Predicate
> }
> return this;
> }
> {code}
> However, a function that returns a boolean is an {{Expression<Boolean>}}, but
> is not a {{Predicate}}
> Test case:
> https://github.com/veselov/Standalone-JPA-Test-Demo/tree/OPENJPA-2894 (run
> {{mvn package}} on JDK 1.8)
> I'm going to try fixing this by just removing {{Predicate}} type cast, it
> just looks wrong.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)