1 package org.columba.addressbook.main; 17 18 import java.util.logging.Logger ; 19 20 import org.apache.commons.cli.CommandLine; 21 import org.apache.commons.cli.Option; 22 import org.columba.addressbook.facade.ContactFacade; 23 import org.columba.addressbook.facade.DialogFacade; 24 import org.columba.addressbook.facade.FolderFacade; 25 import org.columba.addressbook.facade.ModelFacade; 26 import org.columba.addressbook.shutdown.SaveAllAddressbooksPlugin; 27 import org.columba.api.plugin.PluginLoadingFailedException; 28 import org.columba.core.backgroundtask.BackgroundTaskManager; 29 import org.columba.core.component.api.IComponentPlugin; 30 import org.columba.core.facade.ServiceFacadeRegistry; 31 import org.columba.core.gui.frame.FrameManager; 32 import org.columba.core.main.ColumbaCmdLineParser; 33 import org.columba.core.resourceloader.GlobalResourceLoader; 34 import org.columba.core.shutdown.ShutdownManager; 35 36 41 public class AddressbookMain implements IComponentPlugin { 42 43 private static final Logger LOG = Logger 44 .getLogger("org.columba.addressbook.main"); 45 46 private static final String RESOURCE_PATH = "org.columba.addressbook.i18n.global"; 47 48 public AddressbookMain() { 49 } 50 51 54 public void handleCommandLineParameters(CommandLine commandLine) { 55 if (commandLine.hasOption("addressbook")) { 56 try { 57 FrameManager.getInstance().openView("Addressbook"); 58 59 ColumbaCmdLineParser.getInstance().setRestoreLastSession(false); 60 } catch (PluginLoadingFailedException e) { 61 LOG.severe(e.getLocalizedMessage()); 62 } 63 } 64 } 65 66 69 public void init() { 70 74 81 82 Runnable plugin = new SaveAllAddressbooksPlugin(); 83 BackgroundTaskManager.getInstance().register(plugin); 84 ShutdownManager.getInstance().register(plugin); 85 86 ServiceFacadeRegistry.getInstance().register( 87 org.columba.addressbook.facade.IContactFacade.class, 88 new ContactFacade()); 89 ServiceFacadeRegistry.getInstance().register( 90 org.columba.addressbook.facade.IFolderFacade.class, 91 new FolderFacade()); 92 ServiceFacadeRegistry.getInstance().register( 93 org.columba.addressbook.facade.IModelFacade.class, 94 new ModelFacade()); 95 ServiceFacadeRegistry.getInstance().register( 96 org.columba.addressbook.facade.IDialogFacade.class, 97 new DialogFacade()); 98 } 99 100 103 public void postStartup() { 104 } 105 106 109 public void registerCommandLineArguments() { 110 ColumbaCmdLineParser parser = ColumbaCmdLineParser.getInstance(); 111 112 parser.addOption(new Option("addressbook", GlobalResourceLoader 113 .getString(RESOURCE_PATH, "global", "cmdline_addressbook"))); 114 115 } 116 } | Popular Tags |