Well, like Wolfgang said, good luck with that. :) The only rules engine I know that does
this is Tibco BusinessEvents, and it's accomplished by making a copy of your objects
before inserting them into working memory.
From this forum post I'm guessing JRules doesn't do it:
http://forums.ilog.com/brms/index.php?topic=1439.0
So, I'm thinking you're stuck with having to do null checks.
--- On Wed, 5/13/09, Shabbir Dhari <sdhari(a)hotmail.com> wrote:
From: Shabbir Dhari <sdhari(a)hotmail.com>
Subject: RE: [rules-users] NullPointerException with Wrapper objects
To: rules-users(a)lists.jboss.org
Date: Wednesday, May 13, 2009, 5:44 AM
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/_______________________________________...
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users