[rules-users] Shadow fact problem?

Edson Tirelli tirelli at post.com
Tue Mar 13 18:56:40 EDT 2007


   Mike,

   Yes, that is a "shadow fact unwanted side-effect" (nice name for a 
bug hm? :) ), but I remember fixing something similar as part of another 
ticket I was working on. Is it possible for you to verify if the problem 
is happening in trunk?
   If it is still hapenning, let me know and I will fix it.

   Thank you,
       Edson

Anstis, Michael (M.) wrote:

> Hi,
>
> I am running 3.1-M1 and have (by way of example) two simple rules; A 
> and B as follows:-
>
>       *rule* "A"
>       *when*
>               $a1 : Attribute ( name == Constants.ATTRIBUTES_A, $pa :
>       number )
>               $a2 : Attribute ( name == Constants.ATTRIBUTES_B, $nc :
>       number )
>               $p : Process ( attributesList* contains* $a1,
>       attributesList* contains* $a2 )
>       *then*
>              * double* txy = doSomeMaths($pa, $nc, $p);
>               Attribute a =* new* Attribute(Constants.ATTRIBUTES_C, txy);
>               $p.addAttribute(a);
>              * assertLogical*(a);
>              * modify*($p);
>               System.out.println("Rule 'A' fired");
>       *end*
>                              
>       *rule* "B"
>       *when*
>               $a1 : Attribute ( name == Constants.ATTRIBUTES_C, $txy :
>       number)
>               $p : Process( attributesList* contains* $a1 )    
>                               // <-- Line causing rule not to activate
>
>       *then*
>              * double* m = doSomeMoreMaths($txy, $p);
>               System.out.println("Rule 'B' fired");
>       *end*
>
> Process exposes an ArrayList of Attribute objects (each having a 
> name\value pair).
>
> When the content of the ArrayList held by Process is added to (Rule 
> 'A') the next rule (Rule 'B') is not being activated.
>
> Can anybody provide any insight into how best a workaround can be 
> engineered?
>
> With kind regards,
>
> Mike
>
>------------------------------------------------------------------------
>
>_______________________________________________
>rules-users mailing list
>rules-users at lists.jboss.org
>https://lists.jboss.org/mailman/listinfo/rules-users
>  
>


-- 
 Edson Tirelli
 Software Engineer - JBoss Rules Core Developer
 Office: +55 11 3124-6000
 Mobile: +55 11 9218-4151
 JBoss, a division of Red Hat @ www.jboss.com





More information about the rules-users mailing list