[ 
https://issues.apache.org/jira/browse/CAMEL-13741?focusedWorklogId=275911&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-275911
 ]

ASF GitHub Bot logged work on CAMEL-13741:
------------------------------------------

                Author: ASF GitHub Bot
            Created on: 12/Jul/19 13:22
            Start Date: 12/Jul/19 13:22
    Worklog Time Spent: 10m 
      Work Description: oscerd commented on pull request #3035: CAMEL-13741 - 
Allow to convert a Map to an Iterable
URL: https://github.com/apache/camel/pull/3035
 
 
   
 
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


Issue Time Tracking
-------------------

    Worklog Id:     (was: 275911)
    Time Spent: 0.5h  (was: 20m)

> 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: Major
>          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)

Reply via email to