2010/10/28 赵侃侃 <kevin...@gmail.com> > Hello Wolfgang, > > Index is just like the index in an array. the value can be any from 0 to > the array length. > for the previous example, the length is 1 so index can be either 0 or 1. > but in the real case, the length can be an arbitrary number. > > another question, there are 2 rules here, do both of them have to be > applied? >
One creates and inserts the PatternConsumer which blocks repeated usage of the pair of EventB facts that have been successfully paired. Otherwise a sequence EventB:0, EventB:1, EventB:2 would fire 2 times. If the positive condition is more complex, e.g., you need *all* index values 0,...,L-1 within 2m, then other conditions will be required (and that's what I meant with "more precisesly"). If any pair a,b from [0..L-1] will do, then the modified version (!=) should be OK. -W > > Best Regards, > Kevin Zhao > > 2010/10/28 Wolfgang Laun <wolfgang.l...@gmail.com> > > Kindly state your requirements precisely. >> >> Perhaps >> not ( EventB ( index != $index,... ) >> is what you need. >> -W >> >> 2010/10/28 赵侃侃 <kevin...@gmail.com> >> >> I haven't tested this rule, but what about the case that property index >>> would have arbitrary number of possible values? >>> >>> 2010/10/27 Wolfgang Laun <wolfgang.l...@gmail.com> >>> >>>> Omitting the Entry Points: >>>> >>>> rule "B-0-1-not OK" >>>> when >>>> $b : EventB( $index: index ) >>>> not ( PatternConsumer( id == "B01", events contains $b ) ) >>>> not ( EventB( index == (1 - $index), this after[0s,2m] $b ) ) >>>> then >>>> System.out.println( "B:" + $index + ", but no B:" + (1-$index) ); >>>> end >>>> >>>> rule "B-0-1" >>>> when >>>> $b1 : EventB( $index: index ) >>>> $b2 : EventB( index == (1 - $index), this after[0s,2m] $b1 ) >>>> then >>>> insert( new PatternConsumer( "B01", $b1, $b2 ) ); >>>> System.out.println( "B:" + $index + "+B:" + (1-$index) ); >>>> end >>>> >>>> -W >>>> >>>> 2010/10/27 赵侃侃 <kevin...@gmail.com>: >>>> > Hello, >>>> > With the help from the community I managed to get my first rule >>>> working, and >>>> > I'm trying to write my second rule on my own but it just doesn't seem >>>> to >>>> > work correctly. >>>> > Here is the scenario, what I want is to identify a pattern that >>>> there's no >>>> > EventB coming in within 2 minutes with a particular index value. >>>> > For example, EventB would have a property named index and assume the >>>> value >>>> > of index would be either 0 or 1. >>>> > Before firing the rules, I would manually insert facts of >>>> possibleIndex with >>>> > value 0 and 1 into the workingMemory. >>>> > Within 2 minutes, if there only comes one EventB with index valued 0 >>>> then >>>> > the system should report no EventB coming in with index value 1 in >>>> last 2 >>>> > minutes. >>>> > Vice versa, in the case of only coming one EventB with index valued 1 >>>> then >>>> > the system should report no EventB coming in with index value 0 in >>>> last 2 >>>> > minutes. >>>> > If within 2 minutes, there comes 2 EventB with both value 0 and 1 then >>>> > nothing should report. >>>> > Here is what I wrote, but it doesn't seem to work correctly. >>>> > I used a timer to fire this rule every 10 seconds because I don't >>>> think the >>>> > rule would run automatically if I don't add that. (not too sure >>>> though) >>>> > rule "no B in 2 minutes" >>>> > timer (0 10s) >>>> > when >>>> > possibleIndex( $index : index ) from entry-point "Event stream" >>>> > $p : PatternConsumer ( name == 'no B' && index == $index ) >>>> > not ( EventB( index == $index && this after[0ms,2m] $p) over >>>> window:time(2m) >>>> > from entry-point "Event stream" ) >>>> > then >>>> > PatternConsumer pc = new PatternConsumer( "no B", $index ); >>>> > insert(pc); >>>> > System.out.println("no B in 2 minutes " + $index); >>>> > end >>>> > Best Regards, >>>> > Kevin Zhao >>>> > _______________________________________________ >>>> > 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 >>> >>> >> >> _______________________________________________ >> 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