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 2019/08/07 07:34:00 UTC
[jira] [Updated] (CAMEL-13741) Map to Iterable converter regression
[ https://issues.apache.org/jira/browse/CAMEL-13741?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Claus Ibsen updated CAMEL-13741:
--------------------------------
Priority: Minor (was: Major)
> Map to Iterable converter regression
> ------------------------------------
>
> Key: CAMEL-13741
> URL: https://issues.apache.org/jira/browse/CAMEL-13741
> Project: Camel
> Issue Type: Improvement
> Components: camel-core
> Affects Versions: 2.20.0
> Reporter: Antoine DESSAIGNE
> Priority: Minor
> Time Spent: 0.5h
> Remaining Estimate: 0h
>
> When converting a {{Map}} to an {{Iterable}} the results is no longer the same since CAMEL-11379.
> Given the following context
> {code}
> <?xml version="1.0" encoding="UTF-8"?>
> <routes xmlns="http://camel.apache.org/schema/spring">
> <route>
> <from uri="timer:single?repeatCount=1"/>
> <setBody>
> <groovy>[A: 'aa', B: 'bb', C: 'cc', D: 'dd']</groovy>
> </setBody>
> <convertBodyTo type="java.lang.Iterable"/>
> <split>
> <simple>${body}</simple>
> <log message="${body}"/>
> </split>
> </route>
> </routes>
> {code}
> It produces 4 log messages in camel 2.18.3 using the converter {{CollectionConverter.toSet(java.util.Map<K,V>)}}. Using camel 2.24.1 it produces only one message containing the whole list. This is due to {{ObjectConverterOptimised}} calling {{ObjectHelper.createIterable(java.lang.Object)}} which has a fallback to {{Collections.singletonList(value)}} thus producing a single entry with the whole Map.
> The fix is probably to add in {{ObjectHelper.createIterable(java.lang.Object)}} the following code
> {code}
> if (value instanceof Map) {
> return ((Map)value).entrySet();
> }
> {code}
> but I would like to know what you think about it before doing a pull request.
> Thanks
--
This message was sent by Atlassian JIRA
(v7.6.14#76016)