ST wrote:
Hi,
There is a situation where BigDecimal is returned from a function. But when
this BigDecimal is included as one of the conditions in a rule. I get a
ClassCastException about trying to cast to Integer. Below is an example that
reproduces this error. Is this an expected behavior? If so, is there any way
to avoid the error?
Ths is a known MVEL "feature". MVEL will narrow the value to what it
thinks is an appropriate value. There is no current workaround, I'm
discussing with the MVEL author on how we can address this for Drools in
the future.
package com.sample
import java.math.BigDecimal
rule "init1"
salience 1000
when
num : BigDecimal() from getBigDecimal("1")
then
System.out.println(num.compareTo(new BigDecimal("0")));
end
function BigDecimal getBigDecimal(String value) {
return new BigDecimal(value);
}
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users