]
Luca Molteni updated DROOLS-4381:
---------------------------------
Tester: Tibor Zimanyi
Story Points: 3
BigDecimal and primitive comparison error in executable-model build
-------------------------------------------------------------------
Key: DROOLS-4381
URL:
https://issues.jboss.org/browse/DROOLS-4381
Project: Drools
Issue Type: Bug
Components: executable model
Affects Versions: 7.24.0.Final
Reporter: Toshiya Kobayashi
Assignee: Luca Molteni
Priority: Major
Labels: support
When you compare BigDecimal (but the field type is Object) with primitive int,
{noformat}
import org.drools.modelcompiler.domain.Result;
rule "rule1"
when
$r : Result( value <= 20 )
then
end
{noformat}
executable-model build fails.
{noformat}
[ERROR] Failures:
[ERROR]
CompilerTest.testBigDecimalIntCoercion:1901->BaseModelTest.getKieSession:99->BaseModelTest.getKieSession:103->BaseModelTest.getKieContainer:107->BaseModelTest.getKieContainer:114->BaseModelTest.createKieBuilder:125->BaseModelTest.createKieBuilder:152
[Message [id=1, level=ERROR,
path=src/main/java/defaultpkg/RulesC992C95703C3473926B5B025D30097DARuleMethods0.java,
line=24, column=122
text=no suitable method found for lessOrEqualNumbers(java.lang.Object,int)
method
org.drools.modelcompiler.util.EvaluationUtil.lessOrEqualNumbers(java.lang.Number,java.lang.Number)
is not applicable
(argument mismatch; java.lang.Object cannot be converted to java.lang.Number)
method
org.drools.modelcompiler.util.EvaluationUtil.lessOrEqualNumbers(java.lang.Long,java.lang.Long)
is not applicable
(argument mismatch; java.lang.Object cannot be converted to java.lang.Long)],
Message [id=2, level=ERROR,
path=src/main/java/defaultpkg/RulesC992C95703C3473926B5B025D30097DARuleMethods0.java,
line=0, column=0
text=Java source of
src/main/java/defaultpkg/RulesC992C95703C3473926B5B025D30097DARuleMethods0.java in error:
{noformat}
Non executable-model works with the rule.