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-logical-and-with-within-executes-callback-unexpectedly Thanks & Regards, Gobinath On Sat, May 13, 2017 at 8:02 AM, Gobinath <[email protected]> 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/ > 803e4d0f486d7268af117bcfe42f4c704f98b3b5#diff- > 32293ae88907e099f28593e5496e1e67R62 > > > Thanks & Regards, > Gobinath > > On Mon, May 8, 2017 at 1:24 AM, Sriskandarajah Suhothayan <[email protected]> > 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 <[email protected]> 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 <[email protected]> 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 <[email protected]> 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 < >>>>> [email protected]> 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 <[email protected]> >>>>>> wrote: >>>>>> >>>>>>> Looks like a bug to me. I would expect only 1 event. >>>>>>> >>>>>>> On Sun, May 7, 2017 at 8:49 PM, Gobinath <[email protected]> >>>>>>> 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 <[email protected]> >>>>>>>> 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 < >>>>>>>>> [email protected]> 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 <[email protected]> >>>>>>>>>> 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/lgobinath/siddhi/tree/feature-absent- >>>>>>>>>>> event-pattern >>>>>>>>>>> [2] https://github.com/lgobinath/siddhi/blob/feature-absent- >>>>>>>>>>> event-pattern/modules/siddhi-core/src/test/java/org/wso2/sid >>>>>>>>>>> dhi/core/query/pattern/EveryAbsentPatternTestCase.java >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> On Fri, Mar 31, 2017 at 6:28 AM, Gobinath <[email protected]> >>>>>>>>>>> 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 < >>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>> >>>>>>>>>>>>> I have given some feedback on the gsoc site. >>>>>>>>>>>>> >>>>>>>>>>>>> Suho >>>>>>>>>>>>> >>>>>>>>>>>>> On Mon, Mar 27, 2017 at 9:03 PM, Gobinath < >>>>>>>>>>>>> [email protected]> 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 < >>>>>>>>>>>>>> [email protected]> 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 < >>>>>>>>>>>>>>> [email protected]> 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 : [email protected] >>>>>>>>>>>>>>>> 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 : [email protected] >>>>>>>>>>>>>> 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 : [email protected] >>>>>>>>>>>> Mobile : (+1) 416-895-0721 >>>>>>>>>>>> Blog : javahelps.com <http://www.javahelps.com/> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> -- >>>>>>>>>>> *Gobinath** Loganathan* >>>>>>>>>>> Graduate Student, >>>>>>>>>>> Electrical and Computer Engineering, >>>>>>>>>>> Western University. >>>>>>>>>>> Email : [email protected] >>>>>>>>>>> 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 : [email protected] >>>>>>>>> Mobile : (+1) 416-895-0721 >>>>>>>>> Blog : javahelps.com <http://www.javahelps.com/> >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> *Gobinath** Loganathan* >>>>>>>> Graduate Student, >>>>>>>> Electrical and Computer Engineering, >>>>>>>> Western University. >>>>>>>> Email : [email protected] >>>>>>>> Mobile : (+1) 416-895-0721 >>>>>>>> Blog : javahelps.com <http://www.javahelps.com/> >>>>>>>> >>>>>>>> >>>>>>>> _______________________________________________ >>>>>>>> Dev mailing list >>>>>>>> [email protected] >>>>>>>> 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 : [email protected] >>>>> Mobile : (+1) 416-895-0721 >>>>> Blog : javahelps.com <http://www.javahelps.com/> >>>>> >>>>> >>>> >>>> >>>> >>>> -- >>>> *Gobinath** Loganathan* >>>> Graduate Student, >>>> Electrical and Computer Engineering, >>>> Western University. >>>> Email : [email protected] >>>> 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 | 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 : [email protected] > Blog : javahelps.com <http://www.javahelps.com/> > > -- *Gobinath** Loganathan* Graduate Student, Electrical and Computer Engineering, Western University. Email : [email protected] Blog : javahelps.com <http://www.javahelps.com/>
_______________________________________________ Dev mailing list [email protected] http://wso2.org/cgi-bin/mailman/listinfo/dev
