Hi Asanka,

Sorry for the late reply. I just need to understand the following.

I guess features you mentioned can be covered with enrich mediator. Also
with payloadfactory you can specify expressions inline.

Is there any specific use cases that we can cover with this? Eg: Support
dynamic payload generation?

On Tue, May 3, 2016 at 9:22 AM, Asanka Dissanayake <[email protected]> wrote:

> Hi Chanaka,
> is this the correct place to put the mediator. Wanted to double check ..
>
> wso2-synapse/modules/core/src/main/java/org/apache/synapse/mediators/builtin
>
> Thanks,
> Asanka D
>
> On Wed, Mar 16, 2016 at 10:41 PM, Chanaka Fernando <[email protected]>
> wrote:
>
>> Hi Asanka,
>>
>> you can send your PR to master branch.
>>
>> On Thu, Mar 17, 2016 at 8:06 AM, Asanka Dissanayake <[email protected]>
>> wrote:
>>
>>> Thanks Chanaka, will do.
>>> What is the branch I should send the pull request ?
>>>
>>> Thanks,
>>> Asanka D
>>>
>>> On Wed, Mar 16, 2016 at 12:21 AM, Chanaka Fernando <[email protected]>
>>> wrote:
>>>
>>>> Hi Asanka,
>>>>
>>>> I had a look into the feature set and it looks really useful. Please
>>>> send us a PR and we will include this in a future ESB release.
>>>>
>>>> On Wed, Mar 16, 2016 at 9:05 AM, Asanka Dissanayake <[email protected]>
>>>> wrote:
>>>>
>>>>> Hi All,
>>>>> I am developing a new Mediator for ESB as a pet project. After
>>>>> noticing some draw backs in Payload Factory I thought of writing this one.
>>>>>
>>>>> Code can be found at :
>>>>> https://github.com/asanka88/VelocityTemplateMediator
>>>>>
>>>>> @ESB Team:
>>>>> If this make any sense, I am more than happy to contribute this with
>>>>> more improvements. This is still under development. I will upload samples
>>>>> soon. Your feedback is highly appreciated.
>>>>> Why Velocity Template Mediator ?
>>>>>
>>>>> Currently synapse comes with built in payloadFactory mediator. But
>>>>> there are several drawbacks in it.
>>>>>
>>>>> 1 Doesn’t support arrays : You cannot iterate though an
>>>>> array/collection and add those elements to the payload.
>>>>>
>>>>> 2 Doesn’t support conditional expressions: In case you want to add
>>>>> elements based on conditions payloadFactory doesn’t support it.
>>>>>
>>>>> 3 Readability is less since numbered placeholders like $1,$2 are used
>>>>>
>>>>> <https://github.com/asanka88/VelocityTemplateMediator#how-velocity-template-mediator-solve-them>How
>>>>> Velocity Template Mediator solve them?
>>>>>
>>>>> Velocity template mediator uses well known Apache Velocity as the
>>>>> template engine. You can do whatever you can do with Velocity in side 
>>>>> this.
>>>>> Iterate through collections, check conditions etc. In addition to that
>>>>> since we are using place holders like $name,$age for the variables ,so it
>>>>> improves the readability as well.
>>>>>
>>>>> On the other hand, there was no such a thing in Synapse to create a
>>>>> property out of a template.
>>>>>
>>>>> For Example: When you call a soap back end, suppose you have to send a
>>>>> user name token in SOAP Header. Suppose there are several back end calls
>>>>> you need to make and in every call you need to pass the user name token.
>>>>>
>>>>> With the payload factory , you will have to create that part every
>>>>> time. Instead if you can create a property one time using a template and
>>>>> save it in the message context , you can reuse it without generating again
>>>>> and again.
>>>>>
>>>>> With the Velocity Template Mediator , it supports body,property,soap
>>>>> header,envelope as the targets. You can put the generated output to anyof
>>>>> these. And it supports both xml and json formats
>>>>>
>>>>> Sample Syntax
>>>>>
>>>>> <velocityTemplate media-type="xml|json">
>>>>>    <format>
>>>>>       <person>
>>>>>          <name>$name</name>
>>>>>          <age>$age</age>
>>>>>       </person>
>>>>>    </format>
>>>>>    <args>
>>>>>       <arg name="name" expression="$ctx:name" />
>>>>>       <arg name="age" expression="$ctx:age" />
>>>>>    </args>
>>>>>    <target target-type="property|body|custom|header" name="propertyName" 
>>>>> property-type="string|om" scope="synapse|axis2|operation" />
>>>>> </velocityTemplate>
>>>>>
>>>>>
>>>>> Thanks,
>>>>> Asanka D
>>>>>
>>>>> --
>>>>>
>>>>>
>>>>> *Asanka DissanayakeSoftware Engineer*
>>>>> *WSO2 Inc. - lean . enterprise . middleware |  wso2.com
>>>>> <http://wso2.com/>*
>>>>>
>>>>> *email: [email protected] <[email protected]>,   blog:
>>>>> cyberwaadiya.blogspot.com
>>>>> <http://cyberwaadiya.blogspot.com>, asankastechtalks.wordpress.com
>>>>> <http://asankastechtalks.wordpress.com>  mobile: +94 71 8373821*
>>>>>
>>>>> _______________________________________________
>>>>> Architecture mailing list
>>>>> [email protected]
>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> Thank you and Best Regards,
>>>> Chanaka Fernando
>>>> Senior Technical Lead
>>>> WSO2, Inc.; http://wso2.com
>>>> lean.enterprise.middleware
>>>>
>>>> mobile: +94 773337238
>>>> Blog : http://soatutorials.blogspot.com
>>>> LinkedIn:http://www.linkedin.com/pub/chanaka-fernando/19/a20/5b0
>>>> Twitter:https://twitter.com/chanakaudaya
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> Dev mailing list
>>>> [email protected]
>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>>
>>>>
>>>
>>>
>>> --
>>>
>>>
>>> *Asanka DissanayakeSoftware Engineer*
>>> *WSO2 Inc. - lean . enterprise . middleware |  wso2.com
>>> <http://wso2.com/>*
>>>
>>> *email: [email protected] <[email protected]>,   blog:
>>> cyberwaadiya.blogspot.com
>>> <http://cyberwaadiya.blogspot.com>, asankastechtalks.wordpress.com
>>> <http://asankastechtalks.wordpress.com>  mobile: +94 71 8373821*
>>>
>>
>>
>>
>> --
>> Thank you and Best Regards,
>> Chanaka Fernando
>> Senior Technical Lead
>> WSO2, Inc.; http://wso2.com
>> lean.enterprise.middleware
>>
>> mobile: +94 773337238
>> Blog : http://soatutorials.blogspot.com
>> LinkedIn:http://www.linkedin.com/pub/chanaka-fernando/19/a20/5b0
>> Twitter:https://twitter.com/chanakaudaya
>>
>>
>>
>>
>>
>
>
> --
>
>
> *Asanka DissanayakeSoftware Engineer*
> *WSO2 Inc. - lean . enterprise . middleware |  wso2.com <http://wso2.com/>*
>
> *email: [email protected] <[email protected]>,   blog:
> cyberwaadiya.blogspot.com
> <http://cyberwaadiya.blogspot.com>, asankastechtalks.wordpress.com
> <http://asankastechtalks.wordpress.com>  mobile: +94 71 8373821*
>
> _______________________________________________
> Dev mailing list
> [email protected]
> http://wso2.org/cgi-bin/mailman/listinfo/dev
>
>


-- 

Best Regards,

Malaka Silva
Senior Tech Lead
M: +94 777 219 791
Tel : 94 11 214 5345
Fax :94 11 2145300
Skype : malaka.sampath.silva
LinkedIn : http://www.linkedin.com/pub/malaka-silva/6/33/77
Blog : http://mrmalakasilva.blogspot.com/

WSO2, Inc.
lean . enterprise . middleware
http://www.wso2.com/
http://www.wso2.com/about/team/malaka-silva/
<http://wso2.com/about/team/malaka-silva/>
https://store.wso2.com/store/

Save a tree -Conserve nature & Save the world for your future. Print this
email only if it is absolutely necessary.
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to