Re: Java DSL / GroovyExpression / Binding

2013-08-23 Thread Claus Ibsen
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

2013-08-19 Thread Willem jiang
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

2013-08-19 Thread mailingl...@j-b-s.de
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