I am no expert on drools; however, you might want to retract loanDeduction from the Working Memory if it is null. Your first rule determines that it is null and then you set the value (ld = 0f); however, you should be using an insert to put this into working memory. The other alternative is to retract the loan Deduction from working memory and add a logic check in the Nett Salary rule to see if loan Dedcution is null.
I am working on some Drools stuff today if you need some more help on this. Shannon On Wed, May 13, 2009 at 1:14 AM, dhai <sdh...@hotmail.com> wrote: > > I am facing problems which many have encountered in the past. I searched > forums but could not get precise answer. The problem is with null values in > Wrapper objects. See the following code: > > rule "Null Check " salience 100 > when > Salary ( ld : loanDeduction==null || < 0f ) // loanDeduction > is java.lang.Float > then > log("Load return is null"); //Global function > ld = 0f; > end > > rule "Nett Salary" salience 70 > when > Salary ( nett != ( gross – loanDeduction – pf) ) > then > log("Invalid nett salary amount"); > end > > You may have idea what I am trying to do. But I get NullPointerException in > “Nett Salary” rule when I fire the rules having fact with null in the > loanDeduction attribute. I believe my “Null Check” exception should execute > first and it does when I put negative value in loadDeduction. What is > solution in such a case? > -- > View this message in context: > http://www.nabble.com/NullPointerException-with-Wrapper-objects-tp23515500p23515500.html > Sent from the drools - user mailing list archive at Nabble.com. > > > _______________________________________________ > rules-users mailing list > rules-users@lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users >
_______________________________________________ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users