You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@camel.apache.org by "Hadrian Zbarcea (JIRA)" <ji...@apache.org> on 2011/02/24 04:42:38 UTC
[jira] Resolved: (CAMEL-3713) Duplicate mail attachment names
breaks the Message.getAttachments() interface contract
[ https://issues.apache.org/jira/browse/CAMEL-3713?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Hadrian Zbarcea resolved CAMEL-3713.
------------------------------------
Resolution: Fixed
Patch applied in r1074033 with thanks to Paul Mietz Egli.
Also added a minor checkstyle fix in r1074034.
> Duplicate mail attachment names breaks the Message.getAttachments() interface contract
> --------------------------------------------------------------------------------------
>
> Key: CAMEL-3713
> URL: https://issues.apache.org/jira/browse/CAMEL-3713
> Project: Camel
> Issue Type: Bug
> Components: camel-mail
> Affects Versions: 2.6.0
> Environment: Mac OSX 10.6.6
> java version "1.6.0_22"
> Java(TM) SE Runtime Environment (build 1.6.0_22-b04-307-10M3261)
> Java HotSpot(TM) 64-Bit Server VM (build 17.1-b03-307, mixed mode)
> Reporter: Paul Mietz Egli
> Assignee: Hadrian Zbarcea
> Priority: Critical
> Fix For: 2.7.0
>
> Attachments: camel-3713.diff
>
>
> If the camel-mail component consumes a Multipart email message that contains two parts with the same filename, subsequent calls to {{DataHandler dh = Message.getAttachments().get("filename")}} result in a ClassCastException. This occurs because {{MailBinding.extractAttachmentsFromMultipart()}} calls {{CollectionHelper.appendValue(map, fileName, part.getDataHandler())}} to add an attachment to the Message attachments map. If appendValue is passed a duplicate key, it converts the map value to an ArrayList and adds the existing value and the new value to the list. The result is a Map that contains a mix of <String,DataSource> and <String,ArrayList>.
> Fix is to NOT use CollectionHelper and to check for duplicate keys prior to adding an attachment.
--
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira