[rules-users] Salience not working

Edson Tirelli tirelli at post.com
Tue May 13 17:03:43 EDT 2008


  This is wrong:

$data : MyFact( $anotherObj )

   Is the parser accepting it without any error???? If so, it is a bug.
   I can't even imagine what is the parsing result for such expression.

   This is also wrong:

  eval ($anotherObj.isDiscard() == true)

   There is no previous binding for "$anotherObj". Only possible scenario is
you defined it as a global.
   So, whatever you are doing and seeing, I have no idea how you can execute
rules.

   Can you show us the whole DRL file you are using? Can you show the
snippet of code you are using to execute it?

   []s
   Edson





2008/5/13 sridhar123 <sridhar.peddinti at sabre.com>:

>
> It still dosen't work as desired. Here is my code:
>
>      rule A
> Salience 10
> when
>  $data : MyFact( $anotherObj )
> then
>   modify(  $anotherObj ) {
>      setDiscard(true)
>   }
>
> rule B
> Salience 5
> when
>  eval ($anotherObj.isDiscard() == true)
> then
>  ...
>
> It seems, all When conditions are executed first irrespective of "then"
>
> I also tried with agenda group and having default focus on Rule A and in
> Then section setting focus to Rule B - still the condition doesnt match.
> When i inspect fact - after Rule A is executed, i see my flag is set to
> true
> - but not visible to Rule B.
>
> Do i need to write seperate drl files. Also, i am using eclipse 3.3 and
> ruleflow seems buggy i can not add any rule flow groups. do i need to use
> 3.2. I am using Drools 4.0.4
>
> thank you
>
>
>
>
>
> Alessandro Lazarotti wrote:
> >
> >
> >
> >
> >
> >
> >
> > rule A
> >        Salience 10
> >  when
> >         $anotherObject: MyFact(discard != true)
> >  then
> >         modify($anotherObj){
> >                  setDiscard(true)
> >         }
> >
> >
> > "Modify" update your fact in the current working memory.
> >
> >
> >
> > sridhar123 escreveu:
> >
> >
> > It means, I can not fire all rules at once, I need to groups and change
> > focus in my java code?
> >
> > I couldn't find any docs or examples to properly use Salience - could
> you
> > please share an example (if you have one)
> >
> > thx
> >
> >
> >
> > Alessandro Lazarotti wrote:
> >
> >
> >     You need upate() the fact $anotherObj in Working Memory.
> >
> > sridhar123 escreveu:
> >
> >
> >       rule A
> > Salience 10
> > when
> >  $data : MyFact( $anotherObj )
> > then
> >   $anotherObj.setDiscard(true)
> >
> > rule B
> > Salience 5
> > when
> >   eval ($anotherObj.isDiscard() == true)
> > then
> >    ...
> >
> >
> > I am trying to get Rule A executed before Rule B. So when condition in
> > Rule
> > B is valid. However i dont see "Saliene" has any effect. How else i can
> > do
> > the above?
> >
> > thank you
> >
> >
> >
> >
> >     _______________________________________________
> > rules-users mailing list
> > rules-users at lists.jboss.org
> > https://lists.jboss.org/mailman/listinfo/rules-users
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> > _______________________________________________
> > rules-users mailing list
> > rules-users at lists.jboss.org
> > https://lists.jboss.org/mailman/listinfo/rules-users
> >
> >
>
> --
> View this message in context:
> http://www.nabble.com/Salience-not-working-tp17190028p17217969.html
> Sent from the drools - user mailing list archive at Nabble.com.
>
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>



-- 
Edson Tirelli
JBoss Drools Core Development
Office: +55 11 3529-6000
Mobile: +55 11 9287-5646
JBoss, a division of Red Hat @ www.jboss.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20080513/c016f8f3/attachment.html 


More information about the rules-users mailing list