[rules-users] What's wrong with this rule

赵侃侃 kevin223 at gmail.com
Thu Oct 28 04:28:44 EDT 2010


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?

Best Regards,
Kevin Zhao

2010/10/28 Wolfgang Laun <wolfgang.laun at gmail.com>

> Kindly state your requirements precisely.
>
> Perhaps
>    not ( EventB ( index != $index,... )
> is what you need.
> -W
>
> 2010/10/28 赵侃侃 <kevin223 at 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.laun at 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 赵侃侃 <kevin223 at 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 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
>>>
>>
>>
>> _______________________________________________
>> 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
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20101028/920d3d31/attachment.html 


More information about the rules-users mailing list