blob: f0829304b36206d67fa09d15faf8b4bf16b56849 [file] [log] [blame]
//------------------------------------------------------------------------------
// 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);
}
}