If you use bean property conventions for naming your methods you can use a regular
condition element. for instance, you could rename emptyMessageFinder() to
isMessageFound() or getMessageFound() and your condition would look like this:
when
m : Message(messageFound == true)
then
...
end
And when you do this the rete is used, birds sing in the trees, and world peace will be
declared.
GreG
On Nov 16, 2010, at 5:37, Nirmal Fernando <nirmal070125(a)gmail.com> wrote:
Hi,
I have two questions.
1) Is there any other way/method in Drools to test the truth value of a condition other
than "eval"?
In almost all rules of my application needs to test conditions, and it takes ages to run
using "eval".
2) Say I have a java method which returns a boolean, and I have used it within an
"eval" function. (eg: eval(message.emptyMessageFinder()) )
This "emptyMessageFinder()" method will return a "boolean" if
there's an empty message. This function is containing many loops and recursive
operations.
Will I get a performance improvement if I alternate the above such that the
"emptyMessageFinder()" method sets a boolean attribute (anyEmptyMessage)
in the Message class to true and false, and I'm using following in my drl.
when
m: Message()
m.emptyMessageFinder()
eval(m.anyEmptyMessage) //can I use eval here??
......
If someone can answer these questions it would be a great help!
Thank you in advance!
--
Best Regards,
Nirmal
C.S.Nirmal J. Fernando
Department of Computer Science & Engineering,
Faculty of Engineering,
University of Moratuwa,
Sri Lanka.
Blog:
http://nirmalfdo.blogspot.com/
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users