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 (Jira)" <ji...@apache.org> on 2021/04/26 13:14:00 UTC
[jira] [Updated] (CAMEL-16552) yaml dsl - RouteId specification for
property based-template instantiation breaking YAML compatibility?
[ https://issues.apache.org/jira/browse/CAMEL-16552?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Claus Ibsen updated CAMEL-16552:
--------------------------------
Summary: yaml dsl - RouteId specification for property based-template instantiation breaking YAML compatibility? (was: RouteId specification for property based-template instantiation breaking YAML compatibility?)
> yaml dsl - RouteId specification for property based-template instantiation breaking YAML compatibility?
> -------------------------------------------------------------------------------------------------------
>
> Key: CAMEL-16552
> URL: https://issues.apache.org/jira/browse/CAMEL-16552
> Project: Camel
> Issue Type: Improvement
> Components: camel-main
> Affects Versions: 3.7.3
> Reporter: Andreas Klug
> Priority: Minor
>
> In BaseMainSupport.java the route id to be used for routes instantiated based on templates using properties seems to be determined by using square brackets with non-number indices (see CAMEL-15270):
> ...
> > String id = StringHelper.between(entry.getKey(), "[", "]"); ...
> > source.addParameter(id, key, entry.getValue()); ...
> >
> I fear that may break compatibility with YAML formatted application configuration files, or at least I can't figure out how to model it in YAML.
> My attempts are shown in the two YAML excepts below, which will cause
> "binding to target [Bindable@7af327e3 type = java.util.List<java.util.Map<java.lang.String, java.lang.String>> failed".
> The first example results in properties generated i. e. camel.route-template.config[4][0].auto-start, as I can't get around the yaml list.
>
> 1)
> camel:
> route-template:
> config:
> "[4]":
> - template-id: "template-route"
> ...
> 2)
> camel:
> route-template:
> config:
> "[4]":
> template-id: "template-route"
> ...
>
> Pls. provide a possibility or an example to configure routes based on templates in YAML.
>
> Additional remark: I tried to set the route id in a route template definition converter, however, in DefaultModel.java, the id is overwritten after the converter is applied:
> RouteDefinition def = converter.apply(target, prop);
> if (routeId != null) {
> def.setId(routeId);
> }
> Is that intended?
>
>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)