1 package org.columba.mail.gui.tree.command; 19 20 import java.text.MessageFormat ; 21 22 import javax.swing.JOptionPane ; 23 24 import org.columba.api.command.ICommandReference; 25 import org.columba.api.command.IWorkerStatusController; 26 import org.columba.core.command.Command; 27 import org.columba.core.command.Worker; 28 import org.columba.core.gui.frame.FrameManager; 29 import org.columba.mail.command.IMailFolderCommandReference; 30 import org.columba.mail.folder.FolderCreationException; 31 import org.columba.mail.folder.FolderFactory; 32 import org.columba.mail.folder.IMailFolder; 33 import org.columba.mail.util.MailResourceLoader; 34 35 41 public class CreateSubFolderCommand extends Command { 42 43 private IMailFolder parentFolder; 44 45 50 public CreateSubFolderCommand(ICommandReference reference) { 51 super(reference); 52 } 53 54 57 public void execute(IWorkerStatusController worker) throws Exception { 58 parentFolder = (IMailFolder) ((IMailFolderCommandReference) getReference()) 59 .getSourceFolder(); 60 61 String name = ((IMailFolderCommandReference) getReference()) 62 .getFolderName(); 63 String type = ((IMailFolderCommandReference) getReference()) 64 .getFolderType(); 65 66 try { 67 if (type == null) { 68 FolderFactory.getInstance() 69 .createDefaultChild(parentFolder, name); 70 } else { 71 FolderFactory.getInstance() 72 .createChild(parentFolder, name, type); 73 } 74 } catch (FolderCreationException ex) { 75 JOptionPane.showMessageDialog(FrameManager.getInstance() 77 .getActiveFrame(), MessageFormat.format( 78 MailResourceLoader.getString("dialog", "folder", 79 "error_no_subfolder_allowed"), 80 new String [] { parentFolder.getName() }), 81 MailResourceLoader.getString("dialog", "folder", 82 "error_title"), JOptionPane.ERROR_MESSAGE); 83 } 84 } 85 86 } | Popular Tags |