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@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@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
>
>

--
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.

_______________________________________________



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