I think your issue is resolved Chris, but just curious would putting the rule like below make it more efficient?

rule "Myscoreincreaserule"
  dialect "mvel"
  when
      a : Applicant( name == "chris",$score:score )
  then
      a.setScore( $score + 2 );
end

--Sarish

"Shoot for the moon. Even if you miss it you will land among the stars." - Les Brown

On Mon, Jun 8, 2009 at 11:06 AM, Chris Strachan <chris.strac@googlemail.com> wrote:

Hi,

Don't think I intended to create a new instance, just modify the one matched in the rule.  The following seems to have got it working.


rule "Myscoreincreaserule"
  dialect "mvel"
  when
      a : Applicant( name == "chris" )
  then
      a.setScore( a.score + 2 );
end

Thanks for pointing me in the right direction.


Greg Barton wrote:
1) Where is the variable "score" initialized? If it's not a global the rule wouldn't compile.

2) Is your intent to create a new Applicant instance, or modify the one matched in the rule?  (Or maybe you want to gather the score from the matched instance and put it (+2) into a new instance?

--- On Sun, 6/7/09, Chris Strachan <chris.strac@googlemail.com> wrote:

 
From: Chris Strachan <chris.strac@googlemail.com>
Subject: [rules-users] Weighted rules / scoring
To: rules-users@lists.jboss.org
Date: Sunday, June 7, 2009, 1:11 PM
Hi,



I want to be able to use drools / guvnor brms to store
weighted rules

(scoring), however I can't seem to find a way to do
this.



I attempted the following,



rule "Myscoreincreaserule"

       dialect "mvel"

       when

               Applicant( name ==
"chris" )

       then

               Applicant fact0 = new Applicant();

               fact0.setScore( score + 2 );

               insert(fact0 );

end



drools didn't seem to like the way I did this.
 Perhaps this isn't

permitted, in effect I am trying to do - score = score +
2.



Upon validation I get the following error.



       [Myscoreincreaserule] Unable to build
expression for 'consequence': Failed

to compile: 1 compilation error(s): - (1,3) unqualified
type in strict mode

for: age ' Applicant fact0 = new Applicant();
fact0.setScore( score + 2 );

insert(fact0 ); '



Any ideas on how I should be approaching this?



Thanks,


-----Inline Attachment Follows-----

_______________________________________________
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
 

_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users