1 package org.columba.mail.gui.config.mailboximport; 19 20 import java.io.File ; 21 22 import net.javaprog.ui.wizard.DataModel; 23 import net.javaprog.ui.wizard.WizardModelEvent; 24 import net.javaprog.ui.wizard.WizardModelListener; 25 26 import org.columba.api.plugin.IExtension; 27 import org.columba.api.plugin.IExtensionHandler; 28 import org.columba.api.plugin.PluginException; 29 import org.columba.core.command.CommandProcessor; 30 import org.columba.core.logging.Logging; 31 import org.columba.mail.command.ImportFolderCommandReference; 32 import org.columba.mail.folder.IMailFolder; 33 import org.columba.mail.folder.command.ImportMessageCommand; 34 import org.columba.mail.folder.mailboximport.AbstractMailboxImporter; 35 36 class MailboxImporter implements WizardModelListener { 37 protected DataModel data; 38 39 public MailboxImporter(DataModel data) { 40 this.data = data; 41 } 42 43 public void wizardFinished(WizardModelEvent e) { 44 IExtensionHandler pluginHandler = (IExtensionHandler) data 45 .getData("Plugin.handler"); 46 AbstractMailboxImporter importer = null; 47 Object [] args = new Object [] { data.getData("Location.destination"), 48 data.getData("Location.source") }; 49 50 try { 51 IExtension extension = pluginHandler.getExtension((String ) data 52 .getData("Plugin.ID")); 53 54 importer = (AbstractMailboxImporter) extension 55 .instanciateExtension(args); 56 } catch (PluginException e1) { 57 if (Logging.DEBUG) 58 e1.printStackTrace(); 59 60 return; 61 } 62 63 ImportFolderCommandReference r = new ImportFolderCommandReference( 64 (IMailFolder) args[0], (File []) args[1], importer); 65 CommandProcessor.getInstance().addOp(new ImportMessageCommand(r)); 66 } 67 68 public void stepShown(WizardModelEvent e) { 69 } 70 71 public void wizardCanceled(WizardModelEvent e) { 72 } 73 74 public void wizardModelChanged(WizardModelEvent e) { 75 } 76 } | Popular Tags |