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 <[email protected]> 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
[email protected]
https://lists.jboss.org/mailman/listinfo/rules-users



      
_______________________________________________
rules-users mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/rules-users

Reply via email to