Changeset 723:7dfb0815f55a

Show
Ignore:
Timestamp:
10/09/09 11:13:10 (4 years ago)
Author:
tgambet
Branch:
default
convert_revision:
svn:cdcfb263-7567-472c-a848-e2c2df3466e7/trunk@724
Message:

changed named from AttachmentOutputFormater? to FileOutputFormater?
+ cleaned up
+ utf-8 support

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • src/org/w3c/unicorn/util/Mail.java

    r714 r723  
     1// $Id: Mail.java,v 1.3 2009-10-09 11:13:10 tgambet Exp $ 
     2// Author: Thomas Gambet 
     3// (c) COPYRIGHT MIT, ERCIM and Keio, 2009. 
     4// Please first read the full copyright statement in file COPYRIGHT.html 
    15package org.w3c.unicorn.util; 
    26 
    37import java.io.ByteArrayOutputStream; 
    4 import java.io.CharArrayWriter; 
    5 import java.io.File; 
    6 import java.io.FileOutputStream; 
    78import java.io.IOException; 
    89import java.io.OutputStreamWriter; 
    9 import java.io.PrintWriter; 
    10 import java.io.StringWriter; 
    1110import java.io.UnsupportedEncodingException; 
    1211import java.util.ArrayList; 
     
    1817import javax.mail.Authenticator; 
    1918import javax.mail.MessagingException; 
    20 import javax.mail.Multipart; 
    2119import javax.mail.Session; 
    2220import javax.mail.Transport; 
     
    2624import javax.mail.internet.MimeMultipart; 
    2725 
    28 import org.apache.commons.lang.StringEscapeUtils; 
    2926import org.w3c.unicorn.exceptions.UnicornException; 
    30 import org.w3c.unicorn.output.AttachmentOutputFormater; 
     27import org.w3c.unicorn.output.FileOutputFormater; 
    3128import org.w3c.unicorn.output.OutputFormater; 
    3229 
     
    6461                                for (OutputFormater outputFormater : outputFormaters) {          
    6562                                        MimeBodyPart bodyPart = new MimeBodyPart(); 
    66                                         if (outputFormater instanceof AttachmentOutputFormater) 
    67                                                 bodyPart.setFileName(((AttachmentOutputFormater) outputFormater).getFileName()); 
     63                                        if (outputFormater instanceof FileOutputFormater) 
     64                                                bodyPart.setFileName(((FileOutputFormater) outputFormater).getFileName()); 
    6865 
    6966                                        ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); 
    7067                                        OutputStreamWriter outputStreamWriter = new OutputStreamWriter(byteArrayOutputStream, "UTF-8"); 
    71                                          
    7268                                        outputFormater.produceOutput(contextObjects, outputStreamWriter); 
    73                                          
    74                                          
    75                                          
    7669                                        try { 
    7770                                                outputStreamWriter.close(); 
     
    8275                                        } 
    8376                                         
    84                                          
    85                                          
    86                                         bodyPart.setContent(byteArrayOutputStream.toString("UTF-8"), outputFormater.getMimeType()); 
    87                                          
    88                                         bodyPart.setHeader("Content-Type", outputFormater.getMimeType() + "; charset=UTF-8"); 
    89                                         bodyPart.setHeader("Content-Transfer-Encoding", "8bit"); 
     77                                        bodyPart.setContent(byteArrayOutputStream.toString("UTF-8"), outputFormater.getMimeType() + "; charset=UTF-8"); 
     78                                        bodyPart.setHeader("Content-Transfer-Encoding", "7bit"); 
    9079                                        mp.addBodyPart(bodyPart); 
    9180                                } 
     
    9483                                ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); 
    9584                                OutputStreamWriter outputStreamWriter = new OutputStreamWriter(byteArrayOutputStream, "UTF-8"); 
    96                                 //CharArrayWriter wr = new CharArrayWriter(); 
    97                                  
    9885                                outputFormaters.get(0).produceOutput(contextObjects, outputStreamWriter); 
    99                                  
    100                                 //outputStreamWriter.write("んのこと仲介手数料もなし"); 
    101                                  
    10286                                try { 
    10387                                        outputStreamWriter.close(); 
     
    10690                                        // TODO Auto-generated catch block 
    10791                                        e.printStackTrace(); 
    108                                 } 
    109                                 System.out.println(byteArrayOutputStream.toString("UTF-8")); 
    110                                  
    111                                  
     92                                }                                
    11293                                msg.setContent(byteArrayOutputStream.toString("UTF-8"), outputFormaters.get(0).getMimeType() + "; charset=UTF-8"); 
    113                                 msg.writeTo(new FileOutputStream(new File(Property.get("UPLOADED_FILES_REPOSITORY") + "/test1.txt"))); 
    114                                 msg.setHeader("Content-Type", outputFormaters.get(0).getMimeType() + "; charset=UTF-8"); 
    11594                                msg.setHeader("Content-Transfer-Encoding", "7bit"); 
    116                                  
    11795                        } 
    118                         msg.writeTo(new FileOutputStream(new File(Property.get("UPLOADED_FILES_REPOSITORY") + "/test.txt"))); 
     96                         
    11997                        Transport.send(msg); 
    12098                } catch (UnsupportedEncodingException e) { 
     
    122100                        e.printStackTrace(); 
    123101                } catch (MessagingException e) { 
    124                         // TODO Auto-generated catch block 
    125                         e.printStackTrace(); 
    126                 } catch (IOException e) { 
    127102                        // TODO Auto-generated catch block 
    128103                        e.printStackTrace();