[rules-users] modify and update is not working in the rule file
Wolfgang Laun
wolfgang.laun at gmail.com
Thu Aug 16 13:04:30 EDT 2012
On 16/08/2012, Rana <ven12344 at yahoo.com> wrote:
> How can I fire one rule file if I have lot of rule files defined in my
> change
> set. Right now I have written an if-else condition and checking if the
> input
> is Androgel then fire Angrogel rule fire.
But a rule (as you have it) with
Drug( brandName == "AndroGel" )
will take care of that automaticaliy. This can co-exist with lots of
similar rules for anything between "Aspic" to "Zodiac".
>
> But how can I do that in real time.
>
> Also I have a requirement which says it needs the reason why the rule
> failed.
This is quite difficult if your rules are non-trivial except when there is a
restricted way facts are inserted and rules are fired. And even then it
requires a circumspect approach.
> So I have done this, I am setting all the actual and real values
> and
> saving the data to database in my event listeners.
Not clear what you gain by this.
>
> But I get this "Cannot return a void result" at line 6.
A method called in an eval must return a boolean, or has to be called
in a context that compares the result so that the comparison returns a
boolean. A "void" method can't be called at all.
-W
>
> rule "Brand Name"
> no-loop true
> agenda-group "AndroGel"
> when
> $drug : Drug()
> eval( progRuleValidationLog.setActualValue($drug.getBrandName()) )
>
> //line 6
> eval( progRuleValidationLog.setRuleValue("AndroGel") )
> Drug( brandName == "AndroGel" )
> then
> #drools.getWorkingMemory().setGlobal("boolBrandName", true);
> log.info("Brand Name is AndroGel");
> end
>
>
> Thanks.
More information about the rules-users
mailing list