It should be pretty obvious that the rule should not fire after the
insertion of a single fact.

declare MyEvent
@role(event)
end

rule FaultsCoincide
when
    f1 : MyEvent( key == "type1" ) over window:length( 1 )
    f2 : MyEvent( key == "type2" ) over window:length( 1 )
then
    System.out.println( ">>> f1=" + f1 + " f2=" + f2 );
    if( f2.getKey().equals( "type1" ) ) System.out.println( "*** BUG ***" );
end

insert MyEvent<type1,ALARM>
>>> f1=MyEvent<type1,ALARM> f2=MyEvent<type1,ALARM>
*** BUG ***
insert MyEvent<type2,ALARM>
>>> f1=MyEvent<type2,ALARM> f2=MyEvent<type2,ALARM>
>>> f1=MyEvent<type2,ALARM> f2=MyEvent<type1,ALARM>
*** BUG ***
_______________________________________________
rules-dev mailing list
rules-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-dev

Reply via email to