Return-Path: Delivered-To: apmail-geronimo-scm-archive@www.apache.org Received: (qmail 48605 invoked from network); 8 Nov 2007 10:56:43 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 8 Nov 2007 10:56:43 -0000 Received: (qmail 74492 invoked by uid 500); 8 Nov 2007 10:56:31 -0000 Delivered-To: apmail-geronimo-scm-archive@geronimo.apache.org Received: (qmail 74451 invoked by uid 500); 8 Nov 2007 10:56:31 -0000 Mailing-List: contact scm-help@geronimo.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: Reply-To: dev@geronimo.apache.org List-Id: Delivered-To: mailing list scm@geronimo.apache.org Received: (qmail 74440 invoked by uid 99); 8 Nov 2007 10:56:31 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 08 Nov 2007 02:56:31 -0800 X-ASF-Spam-Status: No, hits=-100.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.3] (HELO eris.apache.org) (140.211.11.3) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 08 Nov 2007 10:57:16 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 5BCF01A9832; Thu, 8 Nov 2007 02:56:20 -0800 (PST) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r593128 - /geronimo/specs/trunk/geronimo-javamail_1.4_spec/src/main/java/org/apache/geronimo/mail/handlers/TextHandler.java Date: Thu, 08 Nov 2007 10:56:20 -0000 To: scm@geronimo.apache.org From: rickmcguire@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20071108105620.5BCF01A9832@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: rickmcguire Date: Thu Nov 8 02:56:19 2007 New Revision: 593128 URL: http://svn.apache.org/viewvc?rev=593128&view=rev Log: GERONIMO-3590 javamail TextHandler fails when content stream is ByteArrayInputStream. Modified: geronimo/specs/trunk/geronimo-javamail_1.4_spec/src/main/java/org/apache/geronimo/mail/handlers/TextHandler.java Modified: geronimo/specs/trunk/geronimo-javamail_1.4_spec/src/main/java/org/apache/geronimo/mail/handlers/TextHandler.java URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-javamail_1.4_spec/src/main/java/org/apache/geronimo/mail/handlers/TextHandler.java?rev=593128&r1=593127&r2=593128&view=diff ============================================================================== --- geronimo/specs/trunk/geronimo-javamail_1.4_spec/src/main/java/org/apache/geronimo/mail/handlers/TextHandler.java (original) +++ geronimo/specs/trunk/geronimo-javamail_1.4_spec/src/main/java/org/apache/geronimo/mail/handlers/TextHandler.java Thu Nov 8 02:56:19 2007 @@ -20,7 +20,9 @@ package org.apache.geronimo.mail.handlers; import java.awt.datatransfer.DataFlavor; +import java.io.ByteArrayOutputStream; import java.io.IOException; +import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.OutputStreamWriter; @@ -95,19 +97,24 @@ * @throws IOException */ public Object getContent(DataSource datasource) throws IOException { - InputStreamReader reader; + InputStream is = datasource.getInputStream(); + ByteArrayOutputStream os = new ByteArrayOutputStream(); + + int count; + byte[] buffer = new byte[1000]; + try { - String s = getCharSet(datasource.getContentType()); - reader = new InputStreamReader(datasource.getInputStream(), s); - } catch (Exception ex) { - throw new UnsupportedEncodingException(ex.toString()); + while ((count = is.read(buffer, 0, buffer.length)) > 0) { + os.write(buffer, 0, count); + } + } finally { + is.close(); } - StringWriter writer = new StringWriter(); - int ch; - while ((ch = reader.read()) != -1) { - writer.write(ch); + try { + return os.toString(getCharSet(datasource.getContentType())); + } catch (ParseException e) { + throw new UnsupportedEncodingException(e.getMessage()); } - return writer.getBuffer().toString(); } /**