Hi Greg, Many thanks for the response. Works great!
Cheers, Paul On Mon, Jan 18, 2010 at 6:24 AM, Greg Barton <greg_bar...@yahoo.com> wrote: > Yeah, you'll have to reinsert events into the stream, or another stream. > Probably the latter would be better. > > rule "DetectedFooAverageOver1" > when > $f : Double(doubleValue > 1.0) from accumulate( Event($v : value, name == > "Foo") over window:time ( 10s ) from entry-point EntryPoint, average($v)) > then > entryPoints["DetectedStuff"].insert(new ComplexEvent("FooAvg", $f)); > end > > Then a similar rule for the Bar average, and a rule to test the coincidence > of the complex events: > > rule "ComplexAvgBarPrettySoonAfterComplexAvgFoo" > when > $foo : ComplexEvent(name == "FooAvg") from entry-point DetectedStuff > $bar : ComplexEvent(name == "BarAvg", this after[0s,1s] $foo) from > entry-point DetectedStuff > then > System.out.println("Uf, dah!"); > end > > And more fun can be had with this event aggregation idea. > > --- On Sun, 1/17/10, Paul R. <reverselo...@gmail.com> wrote: > > > From: Paul R. <reverselo...@gmail.com> > > Subject: Re: [rules-users] Accumulate + Temporal Operators > > To: "Rules Users List" <rules-users@lists.jboss.org> > > Date: Sunday, January 17, 2010, 12:29 PM > > I've declared an @expires of 30s for > > both events. However, my problem is that within a 30 second > > window it doesn't seem possible to ascertain whether > > both of the events occur simultaneously. I could change the > > @expires to 10 seconds for the above rule, which would make > > it work. However, I would like to be to perform more > > complicated matches, e.g. matching sequences of events which > > occur after another. > > > > > > $f : Double(doubleValue > 1.0) from > > accumulate( Event($v : value, name == "Foo") over > > window:time ( 10s ) > > > > from entry-point EntryPoint, > > average($v)) > > > > // following event must start immediately > > _after_ the above. > > > > $b : Double(doubleValue < 1.0) from > > accumulate( Event($v : value, name == "Bar") over > > window:time ( 20s ) > > > > from entry-point EntryPoint, > > average($v)) > > > > Any suggestions how I can achieve this kind of > > functionality? > > > > Many Thanks, > > > > Paul > > > > > > On Sun, Jan 17, 2010 at 4:19 AM, > > Greg Barton <greg_bar...@yahoo.com> > > wrote: > > > > Do your Foo and Bar events declare > > an @expires value? If their expiration is less than 10 > > seconds then the rule below won't work properly. (And by > > default an event's expiration is 0, which makes the rule > > below go wacky if @expires hasn't been declared...) If > > the @expires is 10s or greater for both events it should > > work. > > > > > > > > > > --- On Thu, 1/14/10, Paul R. <reverselo...@gmail.com> > > wrote: > > > > > > > > > From: Paul R. <reverselo...@gmail.com> > > > > > Subject: [rules-users] Accumulate + Temporal > > Operators > > > > > To: rules-users@lists.jboss.org > > > > > Date: Thursday, January 14, 2010, 1:56 PM > > > > > Hi, > > > > > > > > > > I'm using accumulate with sliding windows to > > verify > > > > > that certain event conditions are present for a > > specified > > > > > period of time, which works fine, however > > > > > I need to verify that both conditions are present at > > the > > > > > same time, i.e Foo.value > 1 for 10 seconds and > > Bar.value > > > > > < 1 for 10 seconds. There doesn't > > > > > > > > > > appear to be an obvious way to use the temporal > > operators > > > > > in this situation. Can anybody offer any suggestions? > > > > > > > > > > rule test no-loop true > > > > > when > > > > > $f : Double(doubleValue > 1.0) from > > > > > accumulate( Foo($v : value) over window:time ( 10s ) > > > > > > > > > > from entry-point EntryPoint, > > > > > min($v)) > > > > > $b : Double(doubleValue < 1.0) from > > > > > accumulate( Bar($v : value) over window:time ( 10s ) > > > > > from entry-point EntryPoint, > > > > > max($v)) > > > > > then > > > > > > > > > > // ... > > > > > end > > > > > > > > > > Any help greatly appreciated. > > > > > > > > > > Thanks, > > > > > > > > > > Paul > > > > > > > > > > > > > > > -----Inline Attachment Follows----- > > > > > > > > > > _______________________________________________ > > > > > 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 > > > > > > > > > > -----Inline Attachment Follows----- > > > > _______________________________________________ > > 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