Thanks for all you efforts :) but what is the difference between calling function from
every rule or putting null check. I give up. I am looking for other rule engines.
Date: Wed, 13 May 2009 12:19:08 +0200
Subject: Re: [rules-users] NullPointerException with Wrapper objects
From: wolfgang.laun(a)gmail.com
To: rules-users(a)lists.jboss.org
Well, I hope you get paid for all the extra work ;-)
Define, in your .drl file,
function float safe( Float v ){
return v == null ? 0 : v;
}
and wrap all references to the "dangerous" field(s) in your LHS pattern
expressions with this call, except, of course, in the rule where you fix and log the
field.
-W
2009/5/13 Shabbir Dhari <sdhari(a)hotmail.com>
Well I cant explain you all the issues and requirements here. Simply we dont have
provision to do so. We have to check the null in the rules and log the message plus other
evaluation and arithmetic.
Date: Wed, 13 May 2009 10:36:59 +0200
Subject: Re: [rules-users] NullPointerException with Wrapper objects
From: wolfgang.laun(a)gmail.com
To: rules-users(a)lists.jboss.org
But you do control the insertion of your facts. Rather than cluttering rules with
conditions dealing with irregular values, preprocess the object. And you should be able to
log from there, just as well.
-W
2009/5/13 Shabbir Dhari <sdhari(a)hotmail.com>
I can not initialize property as need to log the message. The bean comes from outside our
application scope. We do not have control to make them menodatory. And we need to log the
message. You mean there is no solution of this problem? And remember my second rule does
not compare propery but it performs some calculations.
Date: Wed, 13 May 2009 09:01:05 +0200
Subject: Re: [rules-users] NullPointerException with Wrapper objects
From: wolfgang.laun(a)gmail.com
To: rules-users(a)lists.jboss.org
What about setting the field to 0 in the constructor of Salary?
Or using float (not java.lang.Float)?
-W
2009/5/13 Shabbir Dhari <sdhari(a)hotmail.com>
I know this work around. But I have more than 50 rules using that attribute and it looks
very ugly to put null on every rule and its not single attribute. There are more than 30
attributes in the bean and using them in LHS. Any other sophisticated way?
Date: Tue, 12 May 2009 23:15:54 -0700
From: greg_barton(a)yahoo.com
Subject: Re: [rules-users] NullPointerException with Wrapper objects
To: rules-users(a)lists.jboss.org
All conditions of all applicable rules are evaluated when you insert
an object into working memory. This decides which rule actions can go on the agenda. Only
when a rule action is on the agenda is the salience used to determine the order of action
firing. So doing the null check in the way you're doing it will not work.
You must put the null check in the same rule, before the potentially null property is
used.
rule "Nett Salary" salience 70
when
Salary ( loanDeduction != null, nett != ( gross – loanDeduction – pf) )
then
log("Invalid nett salary amount");
end
Check out the new Windows Live Messenger Looking for a fresh way to share your photos?
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users
Click Here View photos of singles in your area
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users
Find out how with Windows Live! Want to stay on top of your life online?
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users
_________________________________________________________________
Want to stay on top of your life online? Find out how with Windows Live!
http://windowslive.ninemsn.com.au/