//------------------------------------------------------------------------------ // Copyright (c) 2005, 2007 IBM Corporation and others. // All rights reserved. This program and the accompanying materials // are made available under the terms of the Eclipse Public License v1.0 // which accompanies this distribution, and is available at // http://www.eclipse.org/legal/epl-v10.html // // Contributors: // IBM Corporation - initial implementation //------------------------------------------------------------------------------ package org.eclipse.epf.importing.wizards; import java.util.List; import org.eclipse.epf.common.ui.util.PreferenceUtil; import org.eclipse.epf.common.utils.FileUtil; import org.eclipse.epf.importing.ImportPlugin; import org.eclipse.epf.library.ui.preferences.LibraryUIPreferences; import org.eclipse.jface.preference.IPreferenceStore; /** * Manages the Import UI preferences. * * @author Kelvin Low * @author Bingxue Xu * @since 1.2 */ public class ImportUIPreferences { // The import plug-in directories preference key. private static final String IMPORT_PLUGIN_DIRS = "importPluginDirs"; //$NON-NLS-1$ // The import configuration directories preference key. private static final String IMPORT_CONFIG_DIRS = "importConfigDirs"; //$NON-NLS-1$ // The check base plug-ins preference key public static final String CHECK_BASE_PLUGINS = "checkBasePlugins"; //$NON-NLS-1$ // The default import plug-in directory name. private static final String DEFAULT_IMPORT_PLUGIN_DIR_NAME = "Export" + FileUtil.FILE_SEP + "Plugins"; //$NON-NLS-1$ //$NON-NLS-2$ // The default import configuration directory name. private static final String DEFAULT_IMPORT_CONFIG_DIR_NAME = "Export" + FileUtil.FILE_SEP + "Configurations"; //$NON-NLS-1$ //$NON-NLS-2$ // The default import plug-in directory. private static String defaultImportPluginDir = null; // The default import configuration directory. private static String defaultImportConfigDir = null; // The plug-in specific preference store. private static IPreferenceStore prefStore = ImportPlugin.getDefault() .getPreferenceStore(); static { prefStore.setDefault(IMPORT_PLUGIN_DIRS, getDefaultImportPluginDir()); prefStore.setDefault(IMPORT_CONFIG_DIRS, getDefaultImportConfigDir()); prefStore.setDefault(CHECK_BASE_PLUGINS, true); } /** * Gets the default import plug-in directory. * * @return the default import plug-in directory */ public static String getDefaultImportPluginDir() { if (defaultImportPluginDir == null) { defaultImportPluginDir = System.getProperty("user.home"); //$NON-NLS-1$ String appName = LibraryUIPreferences.getApplicationShortName(); if (appName != null && appName.length() > 0) { defaultImportPluginDir = defaultImportPluginDir + FileUtil.FILE_SEP + appName + FileUtil.FILE_SEP + DEFAULT_IMPORT_PLUGIN_DIR_NAME; } else { defaultImportPluginDir = defaultImportPluginDir + FileUtil.FILE_SEP + DEFAULT_IMPORT_PLUGIN_DIR_NAME; } } return defaultImportPluginDir; } /** * Gets the import plug-in directories preference value. * * @return the preference value */ public static String[] getImportPluginDirs() { return PreferenceUtil.getStringValues(prefStore, IMPORT_PLUGIN_DIRS); } /** * Gets the import plug-in directories preference value. * * @return a collection of import plug-in directories */ public static List<String> getImportPluginDirsList() { return PreferenceUtil.getList(prefStore, IMPORT_PLUGIN_DIRS); } /** * Adds a import directory to the import plug-in directories preference. * * @param dir * an import directory */ public static void addImportPluginDir(String dir) { PreferenceUtil.addToList(prefStore, IMPORT_PLUGIN_DIRS, dir); } /** * Gets the default import configuration directory. * * @return the default import configuration directory */ public static String getDefaultImportConfigDir() { if (defaultImportConfigDir == null) { defaultImportConfigDir = System.getProperty("user.home"); //$NON-NLS-1$ String appName = LibraryUIPreferences.getApplicationShortName(); if (appName != null && appName.length() > 0) { defaultImportConfigDir = defaultImportConfigDir + FileUtil.FILE_SEP + appName + FileUtil.FILE_SEP + DEFAULT_IMPORT_CONFIG_DIR_NAME; } else { defaultImportConfigDir = defaultImportConfigDir + FileUtil.FILE_SEP + DEFAULT_IMPORT_CONFIG_DIR_NAME; } } return defaultImportConfigDir; } /** * Gets the import configuration directories preference value. * * @return the preference value */ public static String[] getImportConfigDirs() { return PreferenceUtil.getStringValues(prefStore, IMPORT_CONFIG_DIRS); } /** * Gets the import configuration directories preference value. * * @return a collection of import configuration directories */ public static List<String> getImportConfigDirsList() { return PreferenceUtil.getList(prefStore, IMPORT_CONFIG_DIRS); } /** * Adds a import directory to the import configuration directories * preference. * * @param dir * an import directory */ public static void addImportConfigDir(String dir) { PreferenceUtil.addToList(prefStore, IMPORT_CONFIG_DIRS, dir); } /** * Gets the check base plug-ins preference value. * * @return the preference value */ public static boolean getCheckBasePlugins() { return prefStore.getBoolean(CHECK_BASE_PLUGINS); } /** * Sets the notCheckBasePlugins option file preference. * * @param value * the preference value */ public static void setCheckBasePlugins(boolean value) { prefStore.setValue(CHECK_BASE_PLUGINS, value); } }