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 <chana...@wso2.com> 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 <asan...@wso2.com> > 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: asan...@wso2.com <ruch...@wso2.com>, blog: >> cyberwaadiya.blogspot.com >> <http://cyberwaadiya.blogspot.com>, asankastechtalks.wordpress.com >> <http://asankastechtalks.wordpress.com> mobile: +94 71 8373821* >> >> _______________________________________________ >> Architecture mailing list >> architect...@wso2.org >> 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 > Dev@wso2.org > http://wso2.org/cgi-bin/mailman/listinfo/dev > > -- *Asanka DissanayakeSoftware Engineer* *WSO2 Inc. - lean . enterprise . middleware | wso2.com <http://wso2.com/>* *email: asan...@wso2.com <ruch...@wso2.com>, blog: cyberwaadiya.blogspot.com <http://cyberwaadiya.blogspot.com>, asankastechtalks.wordpress.com <http://asankastechtalks.wordpress.com> mobile: +94 71 8373821*
_______________________________________________ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev