You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@servicemix.apache.org by "Jamie Goodyear (JIRA)" <ji...@apache.org> on 2008/02/09 18:07:36 UTC

[jira] Updated: (SM-1186) NormalizedMessageImpl.getAttachment() returns DataHandler when it should return null

     [ https://issues.apache.org/activemq/browse/SM-1186?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jamie Goodyear updated SM-1186:
-------------------------------

    Attachment: SM1186_patch.txt

 Created patch for the issue described in SM-1186 based upon Alex Vigdor's suggested solution. The relevant JBI spec indicates a null return if attachment with specified identifier is not found [1]. 

 File Modified:
 /x2/trunk/core/servicemix-core/src/main/java/org/apache/servicemix/jbi/messaging/NormalizedMessageImpl.java

Tested on Mac OSX 10.5.2
Java: 1.5.0_13

 [1] http://java.sun.com/integration/1.0/docs/sdk/api/javax/jbi/messaging/NormalizedMessage.html#getAttachment(java.lang.String)

> NormalizedMessageImpl.getAttachment() returns DataHandler when it should return null
> ------------------------------------------------------------------------------------
>
>                 Key: SM-1186
>                 URL: https://issues.apache.org/activemq/browse/SM-1186
>             Project: ServiceMix
>          Issue Type: Bug
>          Components: servicemix-core
>    Affects Versions: 3.2.1
>         Environment: any
>            Reporter: Alex Vigdor
>             Fix For: 3.1.3, 3.2.2, 3.3
>
>         Attachments: SM1186_patch.txt
>
>
> The current implementation of getAttachment() in NormalizedMessageImpl always returns a DataHandler if the message has any attachments, even if it does not have an attachment with the given ID:
>     public DataHandler getAttachment(String id) {
>         if (attachments != null) {
>             return new DataHandler((DataSource) attachments.get(id));
>         }
>         return null;
>     }
> According to the JBI javadocs, getAttachment should return "DataHandler representing attachment content, or null if an attachment with the specified identifier is not found".
> Thus, the implementation should add an additional check
> if(attachments !=null && attachments.get(id) != null){
>     return new DataHandler((DataSource) attachments.get(id));
> }

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.