I believe there is a caveat on functions and helper methods called from the LHS that they need to be constant over time (or at least over the life of the working memory) which then allows matches to be computed as per normal.

Steve

On 2/13/07, Michael Suzio <msuzio@gmail.com> wrote:
The JBoss guys can correct me if I'm wrong, but although I think that works, what you've just done is eliminate any chance to precompute matches and trim down the checks that need to happen to find a rule match.  Since the engine can't know that Helper.transform("value") returns a constant value, it has to re-run that every time and it has to reject for matches to the rule constraint every time.

I'm sure this would really sink performance, in other words.  You can easily see the effect -- write the rule this way and time it, and then write it with the return value of Helper.transform being inlined, and I'm sure there's a big difference.  It's the same as any other eval(...) situation in Drools; possible, but not good for performance.


On 2/12/07, Olenin, Vladimir (MOH) <Vladimir.Olenin@moh.gov.on.ca> wrote:
Hi,

I was wondering if calls to a Helper class are allowed in LHS of the rule?
Eg:

Rule myRule
When
        MyObject(objField == Helper.transform("value"))
Then
       // smth
End


Thanks,

Vlad
_______________________________________________
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




--
Steven Williams

Supervising Consultant

Object Consulting
Office: 8615 4500 Mob: 0439 898 668 Fax: 8615 4501
stevenw@objectconsulting.com.au
www.objectconsulting.com.au

consulting | development | training | support
our experience makes the difference