Re: Java DSL / GroovyExpression / Binding
You are welcome to provide patches and improve the groovy dsl. We love contributions http://camel.apache.org/contributing.html On Mon, Aug 19, 2013 at 8:52 AM, mailingl...@j-b-s.de mailingl...@j-b-s.de wrote: Hi Willem, thanks for your answer, unfortunately overriding eval is not sufficient as this method initializes everything and calls several private methods. By copy I meant: new ctor, copy eval, copy instantiateScript and copy createBinding to make it work which feels wrong. Furthermore my class needs to be placed in a package org.apache.camel.language.groovy which feels odd, too. Seems to me like expressions are considered internal camel functionality... Jens Sent from my iPhone On 19.08.2013, at 08:33, Willem jiang willem.ji...@gmail.com wrote: Hi, You don't need to copy the class, you can just override the evaluate method to setup the binding as you want. -- Willem Jiang Red Hat, Inc. Web: http://www.redhat.com Blog: http://willemjiang.blogspot.com (http://willemjiang.blogspot.com/) (English) http://jnn.iteye.com (http://jnn.javaeye.com/) (Chinese) Twitter: willemjiang Weibo: 姜宁willem On Monday, August 19, 2013 at 12:47 PM, mailingl...@j-b-s.de wrote: Hi all! Is there any chance to extend the binding of a GroovyExpression? Currently (in camel 2.11.1) the Groovy binding is defined on runtime based on the exchange only and I did not find an extension point. My current solutions is to use a GroovyExpression2 class which is a copy of the original class and provided a new constructor method accepting a MapString,Object parameter which is added to Binding. This allows me to add additional parameters at time of route creation but I doubt this is the right way. Due to the fact createBinding method is private and not protected I can not derive from GroovyExpression and need to copy the class. Thanks in advance Jens Von meinem iPad gesendet -- Claus Ibsen - Red Hat, Inc. Email: cib...@redhat.com Twitter: davsclaus Blog: http://davsclaus.com Author of Camel in Action: http://www.manning.com/ibsen
Re: Java DSL / GroovyExpression / Binding
Hi, You don't need to copy the class, you can just override the evaluate method to setup the binding as you want. -- Willem Jiang Red Hat, Inc. Web: http://www.redhat.com Blog: http://willemjiang.blogspot.com (http://willemjiang.blogspot.com/) (English) http://jnn.iteye.com (http://jnn.javaeye.com/) (Chinese) Twitter: willemjiang Weibo: 姜宁willem On Monday, August 19, 2013 at 12:47 PM, mailingl...@j-b-s.de wrote: Hi all! Is there any chance to extend the binding of a GroovyExpression? Currently (in camel 2.11.1) the Groovy binding is defined on runtime based on the exchange only and I did not find an extension point. My current solutions is to use a GroovyExpression2 class which is a copy of the original class and provided a new constructor method accepting a MapString,Object parameter which is added to Binding. This allows me to add additional parameters at time of route creation but I doubt this is the right way. Due to the fact createBinding method is private and not protected I can not derive from GroovyExpression and need to copy the class. Thanks in advance Jens Von meinem iPad gesendet
Re: Java DSL / GroovyExpression / Binding
Hi Willem, thanks for your answer, unfortunately overriding eval is not sufficient as this method initializes everything and calls several private methods. By copy I meant: new ctor, copy eval, copy instantiateScript and copy createBinding to make it work which feels wrong. Furthermore my class needs to be placed in a package org.apache.camel.language.groovy which feels odd, too. Seems to me like expressions are considered internal camel functionality... Jens Sent from my iPhone On 19.08.2013, at 08:33, Willem jiang willem.ji...@gmail.com wrote: Hi, You don't need to copy the class, you can just override the evaluate method to setup the binding as you want. -- Willem Jiang Red Hat, Inc. Web: http://www.redhat.com Blog: http://willemjiang.blogspot.com (http://willemjiang.blogspot.com/) (English) http://jnn.iteye.com (http://jnn.javaeye.com/) (Chinese) Twitter: willemjiang Weibo: 姜宁willem On Monday, August 19, 2013 at 12:47 PM, mailingl...@j-b-s.de wrote: Hi all! Is there any chance to extend the binding of a GroovyExpression? Currently (in camel 2.11.1) the Groovy binding is defined on runtime based on the exchange only and I did not find an extension point. My current solutions is to use a GroovyExpression2 class which is a copy of the original class and provided a new constructor method accepting a MapString,Object parameter which is added to Binding. This allows me to add additional parameters at time of route creation but I doubt this is the right way. Due to the fact createBinding method is private and not protected I can not derive from GroovyExpression and need to copy the class. Thanks in advance Jens Von meinem iPad gesendet