1 package org.columba.mail.gui.composer.command; 19 20 import java.io.InputStream ; 21 22 import org.columba.api.command.ICommandReference; 23 import org.columba.api.command.IWorkerStatusController; 24 import org.columba.mail.command.MailFolderCommandReference; 25 import org.columba.mail.folder.IMailbox; 26 import org.columba.mail.gui.composer.ComposerModel; 27 import org.columba.ristretto.message.InputStreamMimePart; 28 import org.columba.ristretto.message.MimeHeader; 29 import org.columba.ristretto.message.MimeType; 30 31 37 public class ReplyAsAttachmentCommand extends ReplyCommand { 38 39 45 public ReplyAsAttachmentCommand(ICommandReference reference) { 46 super(reference); 47 } 48 49 public void execute(IWorkerStatusController worker) throws Exception { 50 model = new ComposerModel(); 52 53 IMailbox folder = (IMailbox) ((MailFolderCommandReference) getReference()) 55 .getSourceFolder(); 56 57 Object [] uids = ((MailFolderCommandReference) getReference()).getUids(); 59 60 MailFolderCommandReference ref = new MailFolderCommandReference(folder, uids); 64 model.setSourceReference(ref); 65 66 initHeader(folder, uids); 68 69 MimeHeader mimeHeader = new MimeHeader(); 71 mimeHeader.setMimeType(new MimeType("message", "rfc822")); 72 mimeHeader.setContentDescription((String )folder.getAttribute(uids[0],"columba.subject")); 73 74 76 InputStream messageSourceStream = folder 77 .getMessageSourceStream(uids[0]); 78 model.addMimePart(new InputStreamMimePart(mimeHeader, 79 messageSourceStream)); 80 messageSourceStream.close(); 81 } 82 } | Popular Tags |