1 //The contents of this file are subject to the Mozilla Public License Version 1.1 2 //(the "License"); you may not use this file except in compliance with the 3 //License. You may obtain a copy of the License at http://www.mozilla.org/MPL/ 4 // 5 //Software distributed under the License is distributed on an "AS IS" basis, 6 //WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License 7 //for the specific language governing rights and 8 //limitations under the License. 9 // 10 //The Original Code is "The Columba Project" 11 // 12 //The Initial Developers of the Original Code are Frederik Dietz and Timo Stich. 13 //Portions created by Frederik Dietz and Timo Stich are Copyright (C) 2003. 14 // 15 //All Rights Reserved. 16 17 package org.columba.mail.folder.command; 18 19 import java.io.InputStream; 20 21 import org.columba.api.command.ICommandReference; 22 import org.columba.api.command.IWorkerStatusController; 23 import org.columba.core.command.Command; 24 import org.columba.core.command.StatusObservableImpl; 25 import org.columba.core.command.Worker; 26 import org.columba.mail.command.IMailFolderCommandReference; 27 import org.columba.mail.folder.IMailbox; 28 29 /** 30 * Add message to folder 31 * <p> 32 * This command isn't used right now, and will most probably be removed in the 33 * future. 34 * 35 * @author fdietz 36 */ 37 public class AddMessageCommand extends Command { 38 private IMailbox folder; 39 40 private InputStream is; 41 42 /** 43 * Constructor for AddMessageCommand. 44 * 45 * @param references 46 * command arguments. 47 */ 48 public AddMessageCommand(ICommandReference reference, InputStream is) { 49 super(reference); 50 51 this.is = is; 52 53 } 54 55 /** 56 * @see org.columba.api.command.Command#execute(Worker) 57 */ 58 public void execute(IWorkerStatusController worker) throws Exception { 59 // get reference 60 IMailFolderCommandReference r = (IMailFolderCommandReference) getReference(); 61 62 // get source folder 63 folder = (IMailbox) r.getSourceFolder(); 64 65 // register for status events 66 ((StatusObservableImpl) folder.getObservable()).setWorker(worker); 67 68 // add message to folder 69 folder.addMessage(is); 70 is.close(); 71 72 } 73 } 74