[jboss-jira] [JBoss JIRA] (DROOLS-2928) Wrong division calculation in Mvel Jitted constraint
Toshiya Kobayashi (JIRA)
issues at jboss.org
Mon Aug 27 01:53:00 EDT 2018
Toshiya Kobayashi created DROOLS-2928:
-----------------------------------------
Summary: Wrong division calculation in Mvel Jitted constraint
Key: DROOLS-2928
URL: https://issues.jboss.org/browse/DROOLS-2928
Project: Drools
Issue Type: Bug
Components: core engine
Affects Versions: 7.10.0.Final
Reporter: Toshiya Kobayashi
Assignee: Mario Fusco
For a constraint like "age > ((2*$age1)/3) ", Mvel Jitting generates a class like:
{code:java}
public class ConditionEvaluator251ed544c9124e1d99d3a8cae5048e1a
implements ConditionEvaluator
{
public boolean evaluate(InternalFactHandle internalfacthandle, InternalWorkingMemory internalworkingmemory, Tuple tuple)
{
Tuple tuple1 = tuple;
int i = declarations[0].getIntValue(internalworkingmemory, tuple1.getFactHandle().getObject());
return ((Person)internalfacthandle.getObject()).getAge() > 2 * i * 3;
}
public ConditionEvaluator251ed544c9124e1d99d3a8cae5048e1a(Declaration adeclaration[])
{
declarations = adeclaration;
}
private static final String EXPRESSION = "age > ((2*$age1)/3)";
private final Declaration declarations[];
}
{code}
The division is wrongly generated like "getAge() > 2 * i * 3".
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
More information about the jboss-jira
mailing list