Hi Suho,

I have added the test cases to all the cases you have mentioned except the
four listed below because having more than two pattern operands is not
supported by Siddhi. I hope it is okay to skip those test cases. WDYT?


   - every ( (not C and D) and B ) -> A
   - every ((not C and D) or B ) -> A
   - every (B and (not C and D) ) -> A
   - every (B or (not C and D) ) -> A


If there are no more cases to test, may I start with the SEQUENCE?


Thanks & Regards,
Gobinath

On Mon, Jul 3, 2017 at 2:32 PM, Gobinath <slgobin...@gmail.com> wrote:

> Hi,
> Sure. I will add test cases for each of these cases.
>
>
> Thanks & Regards,
> Gobinath
>
> On Mon, Jul 3, 2017 at 2:23 PM, Sriskandarajah Suhothayan <s...@wso2.com>
> wrote:
>
>>
>>
>> On Mon, Jul 3, 2017 at 5:18 PM, Gobinath <slgobin...@gmail.com> wrote:
>>
>>> Hi,
>>>
>>> The following absent event cases are implemented and tested so far and
>>> now I am focusing on testing these patterns in the form of *Sequence*.
>>> If you find any cases that I missed or any improvements, please share them.
>>>
>>>
>>>
>>> A not B for 1sec
>>>
>>> After the arrival of A, wait for 1 sec & B not arrived
>>>
>>> A → not B and C
>>>
>>> When C arrive if B is not available
>>>
>>> A → (not B and C) within 1sec
>>>
>>> If B not arrived but C arrived within 1 sec from A
>>>
>>> A → (not B for 1sec  and C) within 2sec
>>>
>>> Wait for 1 sec from the arrival of A; if B not arrived and C arrived and
>>> both happened within 2 sec from A
>>>
>>> not A for 1sec → B
>>>
>>> Wait for 1 sec; if A not arrived but B arrived after 1sec
>>>
>>> not A and B → C
>>>
>>> When B arrive if A is not available followed by C
>>>
>>> every ( not B and  A)  → C
>>>
>>> Every combination of the previous case
>>>
>>> every ( not B for 1sec) → C
>>>
>>> Check and emit C every second, if B not arrive
>>>
>>> A → not B  for 1 sec and not C for 1 sec
>>>
>>> After A, both B and C are not received within 1 sec
>>>
>>> not A  for 1 sec and not B for 1 sec → C
>>>
>>> A and B are not received for 1 sec and then C
>>>
>>> A → not B   for 1 sec or not C for 1 sec
>>>
>>> After A, wait for 1 sec B or C not received
>>>
>>> not A  for 1 sec or not B for 1 sec → C
>>>
>>> Wait for 1 sec; A or B not received followed by C
>>>
>>> A → not B for 1 sec or C
>>>
>>> After A, if C arrives, emit it otherwise emit after 1 sec if B not
>>> arrived
>>>
>>> not A for 1 sec or B → C
>>>
>>> Same as previous but the other way around
>>>
>>> I think these will also work but better if you can check them too via
>> testcase.
>>
>> A → C or not B for 1 sec
>>
>> B or not A for 1 sec → C
>>
>> every (not B  for 1 sec and not C for 1 sec ) -> A
>>
>> every (not B  for 1 sec or not C for 1 sec ) -> A
>>
>> every (B *and* not C for 1 sec ) -> A
>>
>> every (not C for 1 sec *and* B ) -> A
>>
>> every (B *or* not C for 1 sec ) -> A
>>
>> every (not C for 1 sec *or* B ) -> A
>>
>> every (B *and* (not C and D) ) -> A
>>
>> every ( (not C and D) *and* B ) -> A
>>
>> every (B *or* (not C and D) ) -> A
>>
>> every ((not C and D) *or* B ) -> A
>>
>>
>>>
>>> Thanks & Regards,
>>> Gobinath
>>>
>>> On Sun, Jul 2, 2017 at 6:34 AM, Gobinath <slgobin...@gmail.com> wrote:
>>>
>>>> Thanks, Suho.
>>>>
>>>> Sure I will.
>>>>
>>>>
>>>> Thanks & Regards,
>>>> Gobinath
>>>>
>>>> On Sun, Jul 2, 2017 at 6:32 AM, Sriskandarajah Suhothayan <
>>>> s...@wso2.com> wrote:
>>>>
>>>>> Thanks merged the PR.
>>>>>
>>>>> Can you inform in SOF that you have fixed this issue, and this is the
>>>>> PR.
>>>>>
>>>>> Thanks
>>>>> Suho
>>>>>
>>>>> On Sun, Jul 2, 2017 at 6:21 AM, Gobinath <slgobin...@gmail.com> wrote:
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> Please find the PR [1] fixing the following issues in Siddhi.
>>>>>>
>>>>>> 1. Logical pattern not obeying the '*within*' keyword
>>>>>>
>>>>>> 2. Sequence not obeying the '*every*' keyword
>>>>>>
>>>>>> 3. Logical pattern '*from* *A or B select...*' not producing the
>>>>>> output
>>>>>>
>>>>>> With this fix, the problems asked in Stack Overflow [2] are resolved.
>>>>>>
>>>>>>
>>>>>> [1] https://github.com/wso2/siddhi/pull/436
>>>>>>
>>>>>> [2] https://stackoverflow.com/questions/41557227/siddhi-logi
>>>>>> cal-and-with-within-executes-callback-unexpectedly
>>>>>>
>>>>>>
>>>>>> Thanks & Regards,
>>>>>> Gobinath
>>>>>>
>>>>>>
>>>>>> On Sat, May 13, 2017 at 8:02 AM, Gobinath <slgobin...@gmail.com>
>>>>>> wrote:
>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> I've fixed the duplicate output with 'OR' in the PR #354 [1].
>>>>>>> According to this fix, the *addState* method of
>>>>>>> *LogicalPreStateProcessor* treats both PATTERN and SEQUENCE in the
>>>>>>> same way [2]. It does not break any existing tests but please check 
>>>>>>> whether
>>>>>>> it makes sense or not.
>>>>>>>
>>>>>>>
>>>>>>> [1] https://github.com/wso2/siddhi/pull/354
>>>>>>>
>>>>>>> [2] https://github.com/wso2/siddhi/pull/354/commits/803e4d0f
>>>>>>> 486d7268af117bcfe42f4c704f98b3b5#diff-32293ae88907e099f28593
>>>>>>> e5496e1e67R62
>>>>>>>
>>>>>>>
>>>>>>> Thanks & Regards,
>>>>>>> Gobinath
>>>>>>>
>>>>>>> On Mon, May 8, 2017 at 1:24 AM, Sriskandarajah Suhothayan <
>>>>>>> s...@wso2.com> wrote:
>>>>>>>
>>>>>>>> I have merged that. +1 this also should give 1 output.
>>>>>>>>
>>>>>>>> Thanks for the fixes.
>>>>>>>>
>>>>>>>> Regards
>>>>>>>> Suho
>>>>>>>>
>>>>>>>> On Mon, May 8, 2017 at 10:18 AM, Nirmal Fernando <nir...@wso2.com>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>> Again, I'd only expect one o/p;
>>>>>>>>> Event{timestamp=1494203709496, data=[WSO2, null, 4.7],
>>>>>>>>> isExpired=false}
>>>>>>>>>
>>>>>>>>> On Mon, May 8, 2017 at 6:25 AM, Gobinath <slgobin...@gmail.com>
>>>>>>>>> wrote:
>>>>>>>>>
>>>>>>>>>> Hi,
>>>>>>>>>>
>>>>>>>>>> I've found a minor bug and sent the PR [1] with the fix. Similar
>>>>>>>>>> behavior is noticed with *or* operator as well (Even after the
>>>>>>>>>> fix). I have given the code and the output below for your concern.
>>>>>>>>>>
>>>>>>>>>> // Query: e1 or e2 -> e3
>>>>>>>>>>
>>>>>>>>>> define stream Stream1 (symbol string, price float, volume int);
>>>>>>>>>> define stream Stream2 (symbol string, price float, volume int);
>>>>>>>>>>
>>>>>>>>>> @info(name = 'query1')
>>>>>>>>>> from e1=Stream1[price > 20] or e2=Stream2[price >30] ->
>>>>>>>>>> e3=Stream2['IBM' == symbol]
>>>>>>>>>> select e1.symbol as symbol1, e2.price as price2, e3.price as
>>>>>>>>>> price3
>>>>>>>>>> insert into OutputStream;
>>>>>>>>>>
>>>>>>>>>> // Input
>>>>>>>>>> Stream1.send(new Object[]{"WSO2", 55.6f, 100});
>>>>>>>>>> Stream2.send(new Object[]{"GOOG", 72.7f, 100});
>>>>>>>>>> Stream2.send(new Object[]{"IBM", 4.7f, 100});
>>>>>>>>>>
>>>>>>>>>> // Output
>>>>>>>>>> Event{timestamp=1494203709496, data=[WSO2, null, 4.7],
>>>>>>>>>> isExpired=false}
>>>>>>>>>> Event{timestamp=1494203709496, data=[WSO2, null, 4.7],
>>>>>>>>>> isExpired=false}
>>>>>>>>>>
>>>>>>>>>> If it is also a bug, please do let me know without merging the
>>>>>>>>>> PR. I will fix it under the same PR.
>>>>>>>>>>
>>>>>>>>>> [1] https://github.com/wso2/siddhi/pull/345
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Thanks & Regards,
>>>>>>>>>> Gobinath
>>>>>>>>>>
>>>>>>>>>> On Sun, May 7, 2017 at 2:06 PM, Gobinath <slgobin...@gmail.com>
>>>>>>>>>> wrote:
>>>>>>>>>>
>>>>>>>>>>> Sure. I'll check the issue and send a separate PR with the fix.
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Thanks & Regards,
>>>>>>>>>>> Gobinath
>>>>>>>>>>>
>>>>>>>>>>> On Sun, May 7, 2017 at 1:51 PM, Sriskandarajah Suhothayan <
>>>>>>>>>>> s...@wso2.com> wrote:
>>>>>>>>>>>
>>>>>>>>>>>> Yes, it looks like a bug to me, can you check why it's
>>>>>>>>>>>> happening.
>>>>>>>>>>>>
>>>>>>>>>>>> Regards
>>>>>>>>>>>> Suho
>>>>>>>>>>>>
>>>>>>>>>>>> On Sun, May 7, 2017 at 8:56 PM, Nirmal Fernando <
>>>>>>>>>>>> nir...@wso2.com> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> Looks like a bug to me. I would expect only 1 event.
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Sun, May 7, 2017 at 8:49 PM, Gobinath <slgobin...@gmail.com
>>>>>>>>>>>>> > wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>>> Hi,
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Thanks for accepting my proposal. I have a question regarding
>>>>>>>>>>>>>> the behavior of *and* in a pattern.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> // Query: e1 and e2 -> e3
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> define stream Stream1 (symbol string, price float, volume
>>>>>>>>>>>>>> int);
>>>>>>>>>>>>>> define stream Stream2 (symbol string, price float, volume
>>>>>>>>>>>>>> int);
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> @info(name = 'query1')
>>>>>>>>>>>>>> from e1=Stream1[price > 50.0f] and e2=Stream2['IBM' ==
>>>>>>>>>>>>>> symbol] -> e3=Stream2[price > 20]
>>>>>>>>>>>>>> select e1.symbol as symbol1, e2.price as price2, e3.price as
>>>>>>>>>>>>>> price3
>>>>>>>>>>>>>> insert into OutputStream;
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> // Input
>>>>>>>>>>>>>> Stream1.send(new Object[]{"GOOGLE", 72.7f, 100});
>>>>>>>>>>>>>> Stream2.send(new Object[]{"IBM", 4.7f, 100});
>>>>>>>>>>>>>> Stream2.send(new Object[]{"WSO2", 55.6f, 100});
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> // Output
>>>>>>>>>>>>>> Event{timestamp=1494169305631, data=[GOOGLE, 4.7, 55.6],
>>>>>>>>>>>>>> isExpired=false}
>>>>>>>>>>>>>> Event{timestamp=1494169305631, data=[GOOGLE, 4.7, 55.6],
>>>>>>>>>>>>>> isExpired=false}
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Is this the expected output?. Note that the output contains
>>>>>>>>>>>>>> two exactly similar events but the pattern *e1 -> e2 and e3*
>>>>>>>>>>>>>> outputs a single event [1].
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> [1] https://github.com/wso2/siddhi/blob/master/modules/siddh
>>>>>>>>>>>>>> i-core/src/test/java/org/wso2/siddhi/core/query/pattern/Logi
>>>>>>>>>>>>>> calPatternTestCase.java#L98
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Thanks & Regards,
>>>>>>>>>>>>>> Gobinath
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On Mon, Apr 17, 2017 at 7:58 AM, Gobinath <
>>>>>>>>>>>>>> slgobin...@gmail.com> wrote:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Hi,
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Please see the PR at [1]. Please do not merge it.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Thanks & Regards,
>>>>>>>>>>>>>>> Gobinath
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> [1] https://github.com/wso2/siddhi/pull/313
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> On Mon, Apr 17, 2017 at 7:44 AM, Sriskandarajah Suhothayan <
>>>>>>>>>>>>>>> s...@wso2.com> wrote:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Based on first look, it looks great.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Can you send it as a PR so I can see the exact
>>>>>>>>>>>>>>>> implementations and also give comments.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Regards
>>>>>>>>>>>>>>>> Suho
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> On Mon, Apr 17, 2017 at 5:30 AM, Gobinath <
>>>>>>>>>>>>>>>> slgobin...@gmail.com> wrote:
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Hi,
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> A prototype is implemented and available at [1]. Currently
>>>>>>>>>>>>>>>>> the query support for absent patterns and two simple pattern
>>>>>>>>>>>>>>>>> identifications (e1 -> not e2 and not e1 -> e2) are
>>>>>>>>>>>>>>>>> implemented. Please have a look at the unit test [2] to get 
>>>>>>>>>>>>>>>>> the idea. Class
>>>>>>>>>>>>>>>>> names and variable names are subject to change (will finalize 
>>>>>>>>>>>>>>>>> later). I am
>>>>>>>>>>>>>>>>> waiting for your feedback.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Thanks & Regards,
>>>>>>>>>>>>>>>>> Gobinath
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> [1] https://github.com/lgobina
>>>>>>>>>>>>>>>>> th/siddhi/tree/feature-absent-event-pattern
>>>>>>>>>>>>>>>>> [2] https://github.com/lgobina
>>>>>>>>>>>>>>>>> th/siddhi/blob/feature-absent-
>>>>>>>>>>>>>>>>> event-pattern/modules/siddhi-c
>>>>>>>>>>>>>>>>> ore/src/test/java/org/wso2/sid
>>>>>>>>>>>>>>>>> dhi/core/query/pattern/EveryAbsentPatternTestCase.java
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> On Fri, Mar 31, 2017 at 6:28 AM, Gobinath <
>>>>>>>>>>>>>>>>> slgobin...@gmail.com> wrote:
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Hi all,
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Thanks Suho for your feedback. I have made the changes
>>>>>>>>>>>>>>>>>> based on your suggestions and submitted the final proposal. 
>>>>>>>>>>>>>>>>>> Started working
>>>>>>>>>>>>>>>>>> on a prototype and will update you soon with the results.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Thanks & Regards,
>>>>>>>>>>>>>>>>>> Gobinath
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> On Thu, Mar 30, 2017 at 12:28 PM, Sriskandarajah
>>>>>>>>>>>>>>>>>> Suhothayan <s...@wso2.com> wrote:
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> I have given some feedback on the gsoc site.
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> Suho
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> On Mon, Mar 27, 2017 at 9:03 PM, Gobinath <
>>>>>>>>>>>>>>>>>>> slgobin...@gmail.com> wrote:
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> Hi all,
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> Thanks. I have shared the draft of my proposal titled
>>>>>>>>>>>>>>>>>>>> "Non-Occurrence of Events for Siddhi Patterns" with WSO2 
>>>>>>>>>>>>>>>>>>>> through GSoC
>>>>>>>>>>>>>>>>>>>> dashboard and requesting your feedback on this.
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> Thanks & Regards,
>>>>>>>>>>>>>>>>>>>> Gobinath
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> On Wed, Mar 15, 2017 at 1:30 PM, Sriskandarajah
>>>>>>>>>>>>>>>>>>>> Suhothayan <s...@wso2.com> wrote:
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> Thanks for the GSoC idea, I hope this will be a good
>>>>>>>>>>>>>>>>>>>>> way to improve the Siddhi language and make it more 
>>>>>>>>>>>>>>>>>>>>> powerfull.
>>>>>>>>>>>>>>>>>>>>> If time permits we can also add other use-cases of
>>>>>>>>>>>>>>>>>>>>> patterns & sequences and improve it further.
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> Since you are still not a commuter I hope these
>>>>>>>>>>>>>>>>>>>>> contributions will help you be a committer to Siddhi as 
>>>>>>>>>>>>>>>>>>>>> well :)
>>>>>>>>>>>>>>>>>>>>> I'll make this as a formal idea, do work on a proposal
>>>>>>>>>>>>>>>>>>>>> as well.
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> Regards
>>>>>>>>>>>>>>>>>>>>> Suho
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> On Wed, Mar 15, 2017 at 6:09 PM, Gobinath <
>>>>>>>>>>>>>>>>>>>>> slgobin...@gmail.com> wrote:
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> Hi team,
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> This is Gobinath a former software engineer at WSO2
>>>>>>>>>>>>>>>>>>>>>> currently doing masters at Western University. This time 
>>>>>>>>>>>>>>>>>>>>>> I plan to do GSoC
>>>>>>>>>>>>>>>>>>>>>> with WSO2 and this is the basic idea of what I have 
>>>>>>>>>>>>>>>>>>>>>> discussed with Suho.
>>>>>>>>>>>>>>>>>>>>>> Based on Suho's suggestion, I come up with a
>>>>>>>>>>>>>>>>>>>>>> proposal to implement detecting non-occurring events 
>>>>>>>>>>>>>>>>>>>>>> using Siddhi patterns.
>>>>>>>>>>>>>>>>>>>>>> The current Siddhi patterns allow identifying the 
>>>>>>>>>>>>>>>>>>>>>> patterns that present.
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> See an example:
>>>>>>>>>>>>>>>>>>>>>> from every e1=Stream1[price>20] ->
>>>>>>>>>>>>>>>>>>>>>> e2=Stream2[price>e1.price] within 1 sec
>>>>>>>>>>>>>>>>>>>>>> select e1.symbol as symbol1, e2.symbol as symbol2
>>>>>>>>>>>>>>>>>>>>>> insert into OutputStream;
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> Detecting the absence of a pattern is not natively
>>>>>>>>>>>>>>>>>>>>>> supported by Siddhi patterns for the moment. In other 
>>>>>>>>>>>>>>>>>>>>>> words, identifying
>>>>>>>>>>>>>>>>>>>>>> event_a not followed by event_b within 2 minutes is not 
>>>>>>>>>>>>>>>>>>>>>> possible using the
>>>>>>>>>>>>>>>>>>>>>> current patterns implementation (Note that a time frame 
>>>>>>>>>>>>>>>>>>>>>> is required
>>>>>>>>>>>>>>>>>>>>>> otherwise we have to wait for infinite time to say 
>>>>>>>>>>>>>>>>>>>>>> event_b has not
>>>>>>>>>>>>>>>>>>>>>> arrived). The current workaround [1] to detect 
>>>>>>>>>>>>>>>>>>>>>> non-delivered items is shown
>>>>>>>>>>>>>>>>>>>>>> below:
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> from arrivals_stream#window.time(2 minutes)
>>>>>>>>>>>>>>>>>>>>>> select *
>>>>>>>>>>>>>>>>>>>>>> insert expired events into overdue_deliveries_stream;
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> from every arrivalEvent = arrivals_stream ->
>>>>>>>>>>>>>>>>>>>>>> deliveryEvent = deliveries_stream[arrivalEvent.trackingId
>>>>>>>>>>>>>>>>>>>>>> == trackingId]
>>>>>>>>>>>>>>>>>>>>>>     or overdue_delivery =
>>>>>>>>>>>>>>>>>>>>>> overdue_deliveries_stream[arrivalEvent.trackingId ==
>>>>>>>>>>>>>>>>>>>>>> trackingId]
>>>>>>>>>>>>>>>>>>>>>> select arrivalEvent.trackingId as trackingId,
>>>>>>>>>>>>>>>>>>>>>> arrivalEvent.customerName as customerName, 
>>>>>>>>>>>>>>>>>>>>>> arrivalEvent.telephoneNo as
>>>>>>>>>>>>>>>>>>>>>> telephoneNo, deliveryEvent.trackingId as deliveryId
>>>>>>>>>>>>>>>>>>>>>> insert into filter_stream;
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> from filter_stream [ (deliveryId is null)]
>>>>>>>>>>>>>>>>>>>>>> select trackingId, customerName, telephoneNo
>>>>>>>>>>>>>>>>>>>>>> insert into alert_stream;
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> This solution requires a time window and it is
>>>>>>>>>>>>>>>>>>>>>> inefficient if we are interested only on one occurrence 
>>>>>>>>>>>>>>>>>>>>>> of such a pattern
>>>>>>>>>>>>>>>>>>>>>> (In other words same query without every keyword). 
>>>>>>>>>>>>>>>>>>>>>> Further, the query is
>>>>>>>>>>>>>>>>>>>>>> more complex and not user-friendly.
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> If we provide patterns to detect absence of patterns,
>>>>>>>>>>>>>>>>>>>>>> the above query can be rewritten as below:
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> from every arrivalEvent = arrivals_stream ->  (not
>>>>>>>>>>>>>>>>>>>>>> deliveries_stream[arrivalEvent.trackingId ==
>>>>>>>>>>>>>>>>>>>>>> trackingId] within 2 min )
>>>>>>>>>>>>>>>>>>>>>> select arrivalEvent.trackingId as trackingId,
>>>>>>>>>>>>>>>>>>>>>> arrivalEvent.customerName as customerName, 
>>>>>>>>>>>>>>>>>>>>>> arrivalEvent.telephoneNo as
>>>>>>>>>>>>>>>>>>>>>> telephoneNo
>>>>>>>>>>>>>>>>>>>>>> insert into alert_stream;
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> As you can see, we can use the existing language
>>>>>>>>>>>>>>>>>>>>>> components like not & within. This can be achieved by 
>>>>>>>>>>>>>>>>>>>>>> extending the
>>>>>>>>>>>>>>>>>>>>>> existing StreamPreStateProcessors and 
>>>>>>>>>>>>>>>>>>>>>> StreamPostStateProcessors with an
>>>>>>>>>>>>>>>>>>>>>> internal timer so that they can expire their internal 
>>>>>>>>>>>>>>>>>>>>>> list of events based
>>>>>>>>>>>>>>>>>>>>>> on the time limit. It is somewhat similar to time 
>>>>>>>>>>>>>>>>>>>>>> windows but the processor
>>>>>>>>>>>>>>>>>>>>>> can turn off the timer and ignore the events if it is a 
>>>>>>>>>>>>>>>>>>>>>> one time pattern
>>>>>>>>>>>>>>>>>>>>>> detection.
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> I hope it gives the basic idea and I am waiting for
>>>>>>>>>>>>>>>>>>>>>> your suggestions and feedback.
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> [1] https://docs.wso2.com/disp
>>>>>>>>>>>>>>>>>>>>>> lay/CEP400/Sample+0111+-+Detec
>>>>>>>>>>>>>>>>>>>>>> ting+non-occurrences+with+Patterns
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> Thanks & Regards,
>>>>>>>>>>>>>>>>>>>>>> Gobinath
>>>>>>>>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>>>>>>>> *Gobinath** Loganathan*
>>>>>>>>>>>>>>>>>>>>>> Graduate Student,
>>>>>>>>>>>>>>>>>>>>>> Electrical and Computer Engineering,
>>>>>>>>>>>>>>>>>>>>>> Western University.
>>>>>>>>>>>>>>>>>>>>>> Email  : slgobin...@gmail.com
>>>>>>>>>>>>>>>>>>>>>> Mobile : (+1) 416-895-0721
>>>>>>>>>>>>>>>>>>>>>> Blog    : javahelps.com <http://www.javahelps.com/>
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> *S. Suhothayan*
>>>>>>>>>>>>>>>>>>>>> Associate Director / Architect & Team Lead of WSO2
>>>>>>>>>>>>>>>>>>>>> Complex Event Processor
>>>>>>>>>>>>>>>>>>>>> *WSO2 Inc. *http://wso2.com
>>>>>>>>>>>>>>>>>>>>> * <http://wso2.com/>*
>>>>>>>>>>>>>>>>>>>>> lean . enterprise . middleware
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> *cell: (+94) 779 756 757 <077%20975%206757> | blog:
>>>>>>>>>>>>>>>>>>>>> http://suhothayan.blogspot.com/ 
>>>>>>>>>>>>>>>>>>>>> <http://suhothayan.blogspot.com/>twitter:
>>>>>>>>>>>>>>>>>>>>> http://twitter.com/suhothayan 
>>>>>>>>>>>>>>>>>>>>> <http://twitter.com/suhothayan> | linked-in:
>>>>>>>>>>>>>>>>>>>>> http://lk.linkedin.com/in/suhothayan 
>>>>>>>>>>>>>>>>>>>>> <http://lk.linkedin.com/in/suhothayan>*
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>>>>>> *Gobinath** Loganathan*
>>>>>>>>>>>>>>>>>>>> Graduate Student,
>>>>>>>>>>>>>>>>>>>> Electrical and Computer Engineering,
>>>>>>>>>>>>>>>>>>>> Western University.
>>>>>>>>>>>>>>>>>>>> Email  : slgobin...@gmail.com
>>>>>>>>>>>>>>>>>>>> Mobile : (+1) 416-895-0721
>>>>>>>>>>>>>>>>>>>> Blog    : javahelps.com <http://www.javahelps.com/>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> *S. Suhothayan*
>>>>>>>>>>>>>>>>>>> Associate Director / Architect
>>>>>>>>>>>>>>>>>>> *WSO2 Inc. *http://wso2.com
>>>>>>>>>>>>>>>>>>> * <http://wso2.com/>*
>>>>>>>>>>>>>>>>>>> lean . enterprise . middleware
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> *cell: (+94) 779 756 757 <077%20975%206757> | blog:
>>>>>>>>>>>>>>>>>>> http://suhothayan.blogspot.com/ 
>>>>>>>>>>>>>>>>>>> <http://suhothayan.blogspot.com/>twitter:
>>>>>>>>>>>>>>>>>>> http://twitter.com/suhothayan 
>>>>>>>>>>>>>>>>>>> <http://twitter.com/suhothayan> | linked-in:
>>>>>>>>>>>>>>>>>>> http://lk.linkedin.com/in/suhothayan 
>>>>>>>>>>>>>>>>>>> <http://lk.linkedin.com/in/suhothayan>*
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>>>> *Gobinath** Loganathan*
>>>>>>>>>>>>>>>>>> Graduate Student,
>>>>>>>>>>>>>>>>>> Electrical and Computer Engineering,
>>>>>>>>>>>>>>>>>> Western University.
>>>>>>>>>>>>>>>>>> Email  : slgobin...@gmail.com
>>>>>>>>>>>>>>>>>> Mobile : (+1) 416-895-0721
>>>>>>>>>>>>>>>>>> Blog    : javahelps.com <http://www.javahelps.com/>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>>> *Gobinath** Loganathan*
>>>>>>>>>>>>>>>>> Graduate Student,
>>>>>>>>>>>>>>>>> Electrical and Computer Engineering,
>>>>>>>>>>>>>>>>> Western University.
>>>>>>>>>>>>>>>>> Email  : slgobin...@gmail.com
>>>>>>>>>>>>>>>>> Mobile : (+1) 416-895-0721
>>>>>>>>>>>>>>>>> Blog    : javahelps.com <http://www.javahelps.com/>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> *S. Suhothayan*
>>>>>>>>>>>>>>>> Associate Director / Architect
>>>>>>>>>>>>>>>> *WSO2 Inc. *http://wso2.com
>>>>>>>>>>>>>>>> * <http://wso2.com/>*
>>>>>>>>>>>>>>>> lean . enterprise . middleware
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> *cell: (+94) 779 756 757 <+94%2077%20975%206757> | blog:
>>>>>>>>>>>>>>>> http://suhothayan.blogspot.com/ 
>>>>>>>>>>>>>>>> <http://suhothayan.blogspot.com/>twitter:
>>>>>>>>>>>>>>>> http://twitter.com/suhothayan <http://twitter.com/suhothayan> 
>>>>>>>>>>>>>>>> | linked-in:
>>>>>>>>>>>>>>>> http://lk.linkedin.com/in/suhothayan 
>>>>>>>>>>>>>>>> <http://lk.linkedin.com/in/suhothayan>*
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>> *Gobinath** Loganathan*
>>>>>>>>>>>>>>> Graduate Student,
>>>>>>>>>>>>>>> Electrical and Computer Engineering,
>>>>>>>>>>>>>>> Western University.
>>>>>>>>>>>>>>> Email  : slgobin...@gmail.com
>>>>>>>>>>>>>>> Mobile : (+1) 416-895-0721
>>>>>>>>>>>>>>> Blog    : javahelps.com <http://www.javahelps.com/>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> --
>>>>>>>>>>>>>> *Gobinath** Loganathan*
>>>>>>>>>>>>>> Graduate Student,
>>>>>>>>>>>>>> Electrical and Computer Engineering,
>>>>>>>>>>>>>> Western University.
>>>>>>>>>>>>>> Email  : slgobin...@gmail.com
>>>>>>>>>>>>>> Mobile : (+1) 416-895-0721
>>>>>>>>>>>>>> Blog    : javahelps.com <http://www.javahelps.com/>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>>> Dev mailing list
>>>>>>>>>>>>>> Dev@wso2.org
>>>>>>>>>>>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> --
>>>>>>>>>>>>>
>>>>>>>>>>>>> Thanks & regards,
>>>>>>>>>>>>> Nirmal
>>>>>>>>>>>>>
>>>>>>>>>>>>> Technical Lead, WSO2 Inc.
>>>>>>>>>>>>> Mobile: +94715779733 <071%20577%209733>
>>>>>>>>>>>>> Blog: http://nirmalfdo.blogspot.com/
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> --
>>>>>>>>>>>>
>>>>>>>>>>>> *S. Suhothayan*
>>>>>>>>>>>> Associate Director / Architect
>>>>>>>>>>>> *WSO2 Inc. *http://wso2.com
>>>>>>>>>>>> * <http://wso2.com/>*
>>>>>>>>>>>> lean . enterprise . middleware
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> *cell: (+94) 779 756 757 <+94%2077%20975%206757> | blog:
>>>>>>>>>>>> http://suhothayan.blogspot.com/ 
>>>>>>>>>>>> <http://suhothayan.blogspot.com/>twitter:
>>>>>>>>>>>> http://twitter.com/suhothayan <http://twitter.com/suhothayan> | 
>>>>>>>>>>>> linked-in:
>>>>>>>>>>>> http://lk.linkedin.com/in/suhothayan 
>>>>>>>>>>>> <http://lk.linkedin.com/in/suhothayan>*
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> --
>>>>>>>>>>> *Gobinath** Loganathan*
>>>>>>>>>>> Graduate Student,
>>>>>>>>>>> Electrical and Computer Engineering,
>>>>>>>>>>> Western University.
>>>>>>>>>>> Email  : slgobin...@gmail.com
>>>>>>>>>>> Mobile : (+1) 416-895-0721
>>>>>>>>>>> Blog    : javahelps.com <http://www.javahelps.com/>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> *Gobinath** Loganathan*
>>>>>>>>>> Graduate Student,
>>>>>>>>>> Electrical and Computer Engineering,
>>>>>>>>>> Western University.
>>>>>>>>>> Email  : slgobin...@gmail.com
>>>>>>>>>> Mobile : (+1) 416-895-0721
>>>>>>>>>> Blog    : javahelps.com <http://www.javahelps.com/>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>>
>>>>>>>>> Thanks & regards,
>>>>>>>>> Nirmal
>>>>>>>>>
>>>>>>>>> Technical Lead, WSO2 Inc.
>>>>>>>>> Mobile: +94715779733 <071%20577%209733>
>>>>>>>>> Blog: http://nirmalfdo.blogspot.com/
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>>
>>>>>>>> *S. Suhothayan*
>>>>>>>> Associate Director / Architect
>>>>>>>> *WSO2 Inc. *http://wso2.com
>>>>>>>> * <http://wso2.com/>*
>>>>>>>> lean . enterprise . middleware
>>>>>>>>
>>>>>>>>
>>>>>>>> *cell: (+94) 779 756 757 <077%20975%206757> | blog:
>>>>>>>> http://suhothayan.blogspot.com/ 
>>>>>>>> <http://suhothayan.blogspot.com/>twitter:
>>>>>>>> http://twitter.com/suhothayan <http://twitter.com/suhothayan> | 
>>>>>>>> linked-in:
>>>>>>>> http://lk.linkedin.com/in/suhothayan 
>>>>>>>> <http://lk.linkedin.com/in/suhothayan>*
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> *Gobinath** Loganathan*
>>>>>>> Graduate Student,
>>>>>>> Electrical and Computer Engineering,
>>>>>>> Western University.
>>>>>>> Email  : slgobin...@gmail.com
>>>>>>> Blog    : javahelps.com <http://www.javahelps.com/>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> *Gobinath** Loganathan*
>>>>>> Graduate Student,
>>>>>> Electrical and Computer Engineering,
>>>>>> Western University.
>>>>>> Email  : slgobin...@gmail.com
>>>>>> Blog    : javahelps.com <http://www.javahelps.com/>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>>
>>>>> *S. Suhothayan*
>>>>> Associate Director / Architect
>>>>> *WSO2 Inc. *http://wso2.com
>>>>> * <http://wso2.com/>*
>>>>> lean . enterprise . middleware
>>>>>
>>>>>
>>>>> *cell: (+94) 779 756 757 <077%20975%206757> | blog:
>>>>> http://suhothayan.blogspot.com/ <http://suhothayan.blogspot.com/>twitter:
>>>>> http://twitter.com/suhothayan <http://twitter.com/suhothayan> | linked-in:
>>>>> http://lk.linkedin.com/in/suhothayan 
>>>>> <http://lk.linkedin.com/in/suhothayan>*
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> *Gobinath** Loganathan*
>>>> Graduate Student,
>>>> Electrical and Computer Engineering,
>>>> Western University.
>>>> Email  : slgobin...@gmail.com
>>>> Blog    : javahelps.com <http://www.javahelps.com/>
>>>>
>>>>
>>>
>>>
>>>
>>> --
>>> *Gobinath** Loganathan*
>>> Graduate Student,
>>> Electrical and Computer Engineering,
>>> Western University.
>>> Email  : slgobin...@gmail.com
>>> Blog    : javahelps.com <http://www.javahelps.com/>
>>>
>>>
>>
>>
>>
>> --
>>
>> *S. Suhothayan*
>> Associate Director / Architect
>> *WSO2 Inc. *http://wso2.com
>> * <http://wso2.com/>*
>> lean . enterprise . middleware
>>
>>
>> *cell: (+94) 779 756 757 | blog: http://suhothayan.blogspot.com/
>> <http://suhothayan.blogspot.com/>twitter: http://twitter.com/suhothayan
>> <http://twitter.com/suhothayan> | linked-in:
>> http://lk.linkedin.com/in/suhothayan <http://lk.linkedin.com/in/suhothayan>*
>>
>
>
>
> --
> *Gobinath** Loganathan*
> Graduate Student,
> Electrical and Computer Engineering,
> Western University.
> Email  : slgobin...@gmail.com
> Blog    : javahelps.com <http://www.javahelps.com/>
>
>



-- 
*Gobinath** Loganathan*
Graduate Student,
Electrical and Computer Engineering,
Western University.
Email  : slgobin...@gmail.com
Blog    : javahelps.com <http://www.javahelps.com/>
_______________________________________________
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to