For arbitrary method calls, the only way is to use an eval:
VO( eval( computePrice("key") < 10 ) )
Although, if you have a method that returns a map, you can use simplified
Map syntax:
class VO {
...
public Map getComputeMap() {...}
}
Then:
VO( computeMap["key"] < 10 )
[]s
Edson
2009/6/1 Vidya Chandrasekaran <aydiv.c(a)gmail.com>
Hi,
I am fairly new to Drools and am just getting my feet wet with writing
rules.
In my work, I have to integrate drools with classes that do not expose all
properties via getXXX/ isXXX accessor methods but require a call of the form
someMethod("keyvalue"). I have been using the MVEL dialect and do not see a
way to call a function with arguments on the LHS side of a rule either in
the documentation or the mailing list.
In fact, I have been trying something like
rule "rulename"
agenda-group "evaluation"
when
$d: VO( computePrice("key") < 10) from entry-point "Inventory
stream"
then
#
end
This fails with a 'no viable alternative at input '"key"' in rule.
Is there
a way this can be accomplished?
Thanks,
Vidya
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users
--
Edson Tirelli
JBoss Drools Core Development
JBoss, a division of Red Hat @
www.jboss.com