[rules-users] BigDecimal is Int or Long?

Mark Proctor mproctor at codehaus.org
Wed Mar 26 17:38:56 EDT 2008


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 at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>
>   




More information about the rules-users mailing list