You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicemix.apache.org by gn...@apache.org on 2009/03/19 21:33:14 UTC
svn commit: r756178 -
/servicemix/components/bindings/servicemix-mail/trunk/src/main/java/org/apache/servicemix/mail/marshaler/DefaultMailMarshaler.java
Author: gnodet
Date: Thu Mar 19 20:33:14 2009
New Revision: 756178
URL: http://svn.apache.org/viewvc?rev=756178&view=rev
Log:
SMXCOMP-472: fix bad retrieval of the attachment name with geronimo javamail provider
Modified:
servicemix/components/bindings/servicemix-mail/trunk/src/main/java/org/apache/servicemix/mail/marshaler/DefaultMailMarshaler.java
Modified: servicemix/components/bindings/servicemix-mail/trunk/src/main/java/org/apache/servicemix/mail/marshaler/DefaultMailMarshaler.java
URL: http://svn.apache.org/viewvc/servicemix/components/bindings/servicemix-mail/trunk/src/main/java/org/apache/servicemix/mail/marshaler/DefaultMailMarshaler.java?rev=756178&r1=756177&r2=756178&view=diff
==============================================================================
--- servicemix/components/bindings/servicemix-mail/trunk/src/main/java/org/apache/servicemix/mail/marshaler/DefaultMailMarshaler.java (original)
+++ servicemix/components/bindings/servicemix-mail/trunk/src/main/java/org/apache/servicemix/mail/marshaler/DefaultMailMarshaler.java Thu Mar 19 20:33:14 2009
@@ -22,6 +22,7 @@
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
+import java.io.UnsupportedEncodingException;
import java.text.DateFormat;
import java.text.ParseException;
import java.util.Date;
@@ -43,6 +44,7 @@
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
+import javax.mail.internet.MimeUtility;
import javax.mail.util.ByteArrayDataSource;
import org.apache.commons.logging.Log;
@@ -487,7 +489,19 @@
// from part.getDisposition() are clearly attachments
DataHandler att = part.getDataHandler();
// this is clearly a attachment
- nmsg.addAttachment(att.getName(), att);
+ // Try to find the correct name to work around some bugs in the geronimo javamail
+ String name = att.getName();
+ if (name == null || name.length() == 0) {
+ name = part.getFileName();
+ }
+ if (name != null) {
+ try {
+ name = MimeUtility.decodeText(name);
+ } catch (UnsupportedEncodingException e) {
+ // ignore it
+ }
+ }
+ nmsg.addAttachment(name, att);
} else {
// inline part without name?
text = part.getContent() != null ? part.getContent().toString() : "null";