Based on the chat with Johann he suggested to support claims at event
publisher.
@Indunil, can you get the full requirements and update the thread.

Regards
Suho

On Mon, Aug 1, 2016 at 11:24 PM, Mohanadarshan Vivekanandalingam <
[email protected]> wrote:

>
>
> On Mon, Aug 1, 2016 at 8:38 PM, Indunil Upeksha Rathnayake <
> [email protected]> wrote:
>
>> Hi Suhothayan,
>>
>> Hi Indunil,
>
> I like to add some comments on this.. Please find them below..
>
>
>> There was an issue in EventPublisherServiceDS where
>> setConfigurationContextService() method get invoked after the bundle get
>> activated. Due to that, when we are trying to invoke
>> deployEventPublisherConfiguration() of EventPublisherService from the
>> activate method of an osgi bundle in IS side, it's receiving a null
>> pointer(Since it refers the ConfigurationContextService object in
>> EventPublisherServiceValueHolder). I think you can resolve it by
>> changing the osgi reference cardinality in [1] as "1..1"(Mandatory), if
>> there is no specific reason for making it optional.
>>
>
> There is a valid reason for this..
> I believe, as you know we cannot guarantee about OSGI bundle loading in
> carbon environment.. In this case, there is a possibility where axis2
> deployment can start before bundle activation of a OSGI component. To avoid
> this we'll follow a similar approach like below,
>
> <Axis2RequiredServices>
>
>            org.wso2.carbon.event.publisher.core.EventPublisherService
>
>             </Axis2RequiredServices>
>
> Here, we are adding the reference of the corresponding OSGI service which
> is exposed by relevant OSGI module.. If you want to use above approach
> (Axis2RequiredServices), we cannot have 1..1 mapping for
> ConfigurationContextService since it causes cyclic dependency and affects
> bundle loading..
>
> In IS side we were able to get rid of the null pointer by adding an osgi
>> reference for ConfigurationContextService in the service component and
>> invoked the deployEventPublisherConfiguration() in activate() method.
>>
>
> No, above solution is not correct and will not work all the time.. There
> is a possibility where you'll encounter same issue when
> ConfigurationContextService is bind to you component first and takes
> sometime to resolve for Event Publisher..
>
> What is the usecase for creating an Event Publisher in server restart ?
> Can you ship the pack with an Event Publisher or deploy an event publisher
> for first event if it is not there..
>
>
>> And also there was an issue in filling out dynamic properties of an
>> output adapter from the arbitrary data values, and sent a PR for that.
>> Please review and merge the PR in [2].
>>
>
> Thanks, Merged it..
>
> Regards,
> Mohan
>
>
>>
>> [1] https://github.com/wso2/carbon-analytics-common/blob/
>> master/components/event-publisher/org.wso2.carbon.
>> event.publisher.core/src/main/java/org/wso2/carbon/event/
>> publisher/core/internal/ds/EventPublisherServiceDS.java#L56
>> [2] https://github.com/wso2/carbon-analytics-common/pull/306/files
>>
>> Thanks and Regards
>>
>> On Mon, Aug 1, 2016 at 3:06 PM, Sriskandarajah Suhothayan <[email protected]>
>> wrote:
>>
>>> HI Indunil
>>>
>>> Any update on this? Was the provided solution working?
>>>
>>> We released CEP 4.2-RC1. If we need new features/improvements for this
>>> effort, we can incorporate them in the next component release.
>>>
>>> Regards
>>> Suho
>>>
>>> On Fri, Jul 22, 2016 at 3:10 PM, Sriskandarajah Suhothayan <
>>> [email protected]> wrote:
>>>
>>>>
>>>>
>>>> On Fri, Jul 22, 2016 at 3:00 PM, Johann Nallathamby <[email protected]>
>>>> wrote:
>>>>
>>>>>
>>>>>
>>>>> On Fri, Jul 22, 2016 at 8:33 AM, Indunil Upeksha Rathnayake <
>>>>> [email protected]> wrote:
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> On Fri, Jul 22, 2016 at 12:28 PM, Sriskandarajah Suhothayan <
>>>>>> [email protected]> wrote:
>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Fri, Jul 22, 2016 at 12:00 PM, Indunil Upeksha Rathnayake <
>>>>>>> [email protected]> wrote:
>>>>>>>
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> Please find the meeting notes in [1].  I have following
>>>>>>>> considerations regarding the improvements we have discussed.
>>>>>>>>
>>>>>>>> (1) Even though we have configured to load the email template from
>>>>>>>> EventPublisher(analytics side), the placeholder values has to be sent 
>>>>>>>> as
>>>>>>>> meta data/correlation data/payload data/arbitrary data, since in 
>>>>>>>> analytics
>>>>>>>> side, the user claim values are not getting from the user store.
>>>>>>>> In order to send the placeholder values from IS side, anyway we
>>>>>>>> have to load the email template and retrieve the placeholders. So as I 
>>>>>>>> have
>>>>>>>> understood, for email notifications, it's not needed to use the email
>>>>>>>> template loading part in analytics, since it'll be a redundant task. 
>>>>>>>> (Refer
>>>>>>>> [2])
>>>>>>>>
>>>>>>>
>>>>>>> Here we can set the claim values as arbitrary data, and the
>>>>>>> notification specific details as the meta, correlation & payload data.
>>>>>>> Then we can use the template loading only at the analytics side.
>>>>>>>
>>>>>> In this case, from IS side, without parsing only the user claims
>>>>>> needed for a particular email template(i.e.user claim values for the
>>>>>> placeholders in email template), we have to pass all the user claims as
>>>>>> arbitrary data values. In that case there's no need for loading the
>>>>>> template from the registry in IS side. So that in analytics side, all the
>>>>>> values needed for filling out the template will be there. Will check on
>>>>>> that.
>>>>>>
>>>>>
>>>>> I don't think it will be a good solution. There can be sensitive
>>>>> information in the claims which we can't send. So for this release it's OK
>>>>> if we read the template in both sides - security is more important than
>>>>> performance; or read it only in IS side - but additionally send all those
>>>>> claims as arbitrary data as well, so if some one wants can use them in CEP
>>>>> side by their output adaptors.
>>>>>
>>>>
>>>> I think then we can have a common configuration in IS side to specify
>>>> what are the claims that should be added to notifications.
>>>>
>>>> Regards
>>>> Suho
>>>>
>>>>
>>>>>
>>>>>
>>>>>>>
>>>>>>>> (2) The email templates has to be changed as follows.
>>>>>>>>     i) if the value will be provided in an arbitrary data map, the
>>>>>>>> placeholder should be with a prefix "arbitrary_"
>>>>>>>> (ex:{{arbitrary_givenname}})
>>>>>>>>
>>>>>>>     ii) if the value will be provided in an meta data map, the
>>>>>>>> placeholder should be changed as {{...}} (ex:{{givenname}})
>>>>>>>>
>>>>>>>> No we should not use "arbitrary_" for any cases, its internal
>>>>>>> information and the names should not have "arbitrary_" even if its in
>>>>>>> arbitrary data map or otherwise.
>>>>>>>
>>>>>>> (3) Only Text OutputMapping Content can be filled from a value in an
>>>>>>>> arbitrary data map using prefix "arbitrary_" .  It's not possible to 
>>>>>>>> use a
>>>>>>>> value of an arbitrary data map, in a Dynamic adapter properties, only a
>>>>>>>> value from a meta data/correlation data/payload data map can be used. I
>>>>>>>> think that need to be extended to use even an arbitrary value as a 
>>>>>>>> dynamic
>>>>>>>> adapter property.(Refer [3])
>>>>>>>>
>>>>>>>
>>>>>>> @Gobi can you please fix this if that's the case.
>>>>>>>
>>>>>>>
>>>>>>>>
>>>>>>>> (4) The default stream definitions and publisher definitions has to
>>>>>>>> be deployed on super tenant as well as other tenants as well. And when 
>>>>>>>> a
>>>>>>>> new tenant is added, those streams and publishers has to be deployed 
>>>>>>>> for
>>>>>>>> that particular tenant as well.
>>>>>>>>
>>>>>>>> We can have a tenant creation handler to do this copying during
>>>>>>> that tenant creation time. WDYT?
>>>>>>>
>>>>>>> Really appreciate your ideas/suggestions regarding the above
>>>>>>>> mentioned concerns.
>>>>>>>>
>>>>>>>> [1] Invitation: [Architecture] [Discussion] Improvement to use
>>>>>>>> Siddhi str... @ Wed Jul 20, 2016 4:30pm - 5:30pm (IST) (
>>>>>>>> [email protected])
>>>>>>>>
>>>>>>>> [2] https://github.com/wso2/carbon-analytics-common/blob/
>>>>>>>> master/components/event-publisher/org.wso2.carbon.
>>>>>>>> event.publisher.core/src/main/java/org/wso2/carbon/event/
>>>>>>>> publisher/core/internal/type/text/TextOutputMapper.java#L108
>>>>>>>>
>>>>>>>> [3] https://github.com/wso2/carbon-analytics-common/blob/
>>>>>>>> master/components/event-publisher/org.wso2.carbon.
>>>>>>>> event.publisher.core/src/main/java/org/wso2/carbon/event/
>>>>>>>> publisher/core/internal/EventPublisher.java#L311
>>>>>>>>
>>>>>>>> Thanks and Regards
>>>>>>>> --
>>>>>>>> Indunil Upeksha Rathnayake
>>>>>>>> Software Engineer | WSO2 Inc
>>>>>>>> Email    [email protected]
>>>>>>>> Mobile   0772182255
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>>
>>>>>>> *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 <%28%2B94%29%20779%20756%20757> | 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>*
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Indunil Upeksha Rathnayake
>>>>>> Software Engineer | WSO2 Inc
>>>>>> Email    [email protected]
>>>>>> Mobile   0772182255
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Thanks & Regards,
>>>>>
>>>>> *Johann Dilantha Nallathamby*
>>>>> Technical Lead & Product Lead of WSO2 Identity Server
>>>>> Governance Technologies Team
>>>>> WSO2, Inc.
>>>>> lean.enterprise.middleware
>>>>>
>>>>> Mobile - *+94777776950*
>>>>> Blog - *http://nallaa.wordpress.com <http://nallaa.wordpress.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 <%28%2B94%29%20779%20756%20757> | 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>*
>>>>
>>>
>>>
>>>
>>> --
>>>
>>> *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 <%28%2B94%29%20779%20756%20757> | 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>*
>>>
>>
>>
>>
>> --
>> Indunil Upeksha Rathnayake
>> Software Engineer | WSO2 Inc
>> Email    [email protected]
>> Mobile   0772182255
>>
>> _______________________________________________
>> Dev mailing list
>> [email protected]
>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>
>>
>
>
> --
> *V. Mohanadarshan*
> *Associate Tech Lead,*
> *Data Technologies Team,*
> *WSO2, Inc. http://wso2.com <http://wso2.com> *
> *lean.enterprise.middleware.*
>
> email: [email protected]
> phone:(+94) 771117673
>



-- 

*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 | 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>*
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to