Let Method call expression accept a nested list of expressions for parameter
mapping in XML DSLs
------------------------------------------------------------------------------------------------
Key: CAMEL-4753
URL: https://issues.apache.org/jira/browse/CAMEL-4753
Project: Camel
Issue Type: New Feature
Components: camel-blueprint, camel-core, camel-spring
Affects Versions: 2.9.0
Reporter: Claus Ibsen
Fix For: 2.10, Future
When using a method call expression, people may want to map parameters.
Currently they can use the method name attribute, which supports this in Camel
2.9 onwards. Using a syntax that is similar to java code. See
http://camel.apache.org/bean-binding.html
However Christian S. suggested to also allow to map using a nested list of
Expression. So you can do
{code:xml}
<method ref="myBean" method="myMethod">
<xpath>/foo/bar</xpath>
<simple>${header.cool}</simple>
</method>
{code}
That will invoke the myMethod with 2 parameters, and the 1st is the xpath, and
the 2nd the simple.
Likewise we could consider improving the <bean> as well, if you want to invoke
a bean in a route, eg like a <to>
{code:xml}
<bean ref="myBean" method="myMethod">
<xpath>/foo/bar</xpath>
<simple>${header.cool}</simple>
</bean>
{code}
And for the Java DSL, we may support this as well by using varargs for the list
of expressions
{code}
.beanRef("myBean", "myMethod", xpath("/foo/bar"), simple("${header.cool"))
{code}
The trick is to support this as well in the scala DSL.
And to ensure backwards compatibility.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira