You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Claus Ibsen (Created) (JIRA)" <ji...@apache.org> on 2011/12/08 13:56:39 UTC

[jira] [Created] (CAMEL-4753) Let Method call expression accept a nested list of expressions for parameter mapping in XML DSLs

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

        

[jira] [Updated] (CAMEL-4753) Let Method call expression accept a nested list of expressions for parameter mapping in XML DSLs

Posted by "Claus Ibsen (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CAMEL-4753?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Claus Ibsen updated CAMEL-4753:
-------------------------------

    Fix Version/s:     (was: 2.10.0)
                       (was: Future)
                   3.0.0

Let the DSL API be as current, so moving to 3.0
                
> 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
>              Labels: dsl
>             Fix For: 3.0.0
>
>
> 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