blob: 6498ee66bcfe0fdf7f2f523f9863b21c81b71ce6 [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.export.wizards;
import java.util.List;
import org.eclipse.epf.common.ui.util.PreferenceUtil;
import org.eclipse.epf.common.utils.FileUtil;
import org.eclipse.epf.export.ExportPlugin;
import org.eclipse.epf.library.ui.preferences.LibraryUIPreferences;
import org.eclipse.jface.preference.IPreferenceStore;
/**
* Manages the Export UI preferences.
*
* @author Kelvin Low
* @since 1.2
*/
public class ExportUIPreferences {
// The export plug-in directories preference key.
private static final String EXPORT_PLUGIN_DIRS = "exportPluginDirs"; //$NON-NLS-1$
// The export configuration directories preference key.
private static final String EXPORT_CONFIG_DIRS = "exportConfigDirs"; //$NON-NLS-1$
// The default export plug-in directory name.
private static final String DEFAULT_EXPORT_PLUGIN_DIR_NAME = "Export" + FileUtil.FILE_SEP + "Plugins"; //$NON-NLS-1$ //$NON-NLS-2$
// The default export configuration directory name.
private static final String DEFAULT_EXPORT_CONFIG_DIR_NAME = "Export" + FileUtil.FILE_SEP + "Configurations"; //$NON-NLS-1$ //$NON-NLS-2$
// The default export plug-in directory.
private static String defaultExportPluginDir = null;
// The default export configuration directory.
private static String defaultExportConfigDir = null;
// The plug-in specific preference store.
private static IPreferenceStore prefStore = ExportPlugin.getDefault()
.getPreferenceStore();
static {
prefStore.setDefault(EXPORT_PLUGIN_DIRS, getDefaultExportPluginDir());
prefStore.setDefault(EXPORT_CONFIG_DIRS, getDefaultExportConfigDir());
}
/**
* Gets the default export plug-in directory.
*
* @return the default export plug-in directory
*/
public static String getDefaultExportPluginDir() {
if (defaultExportPluginDir == null) {
defaultExportPluginDir = System.getProperty("user.home"); //$NON-NLS-1$
String appName = LibraryUIPreferences.getApplicationShortName();
if (appName != null && appName.length() > 0) {
defaultExportPluginDir = defaultExportPluginDir
+ FileUtil.FILE_SEP + appName + FileUtil.FILE_SEP
+ DEFAULT_EXPORT_PLUGIN_DIR_NAME;
} else {
defaultExportPluginDir = defaultExportPluginDir
+ FileUtil.FILE_SEP + DEFAULT_EXPORT_PLUGIN_DIR_NAME;
}
}
return defaultExportPluginDir;
}
/**
* Gets the export plug-in directories preference value.
*
* @return the preference value
*/
public static String[] getExportPluginDirs() {
return PreferenceUtil.getStringValues(prefStore, EXPORT_PLUGIN_DIRS);
}
/**
* Gets the export plug-in directories preference value.
*
* @return a collection of export plug-in directories
*/
public static List<String> getExportPluginDirsList() {
return PreferenceUtil.getList(prefStore, EXPORT_PLUGIN_DIRS);
}
/**
* Adds a export directory to the export plug-in directories preference.
*
* @param dir
* an export directory
*/
public static void addExportPluginDir(String dir) {
PreferenceUtil.addToList(prefStore, EXPORT_PLUGIN_DIRS, dir);
}
/**
* Gets the default export configuration directory.
*
* @return the default export configuration directory
*/
public static String getDefaultExportConfigDir() {
if (defaultExportConfigDir == null) {
defaultExportConfigDir = System.getProperty("user.home"); //$NON-NLS-1$
String appName = LibraryUIPreferences.getApplicationShortName();
if (appName != null && appName.length() > 0) {
defaultExportConfigDir = defaultExportConfigDir
+ FileUtil.FILE_SEP + appName + FileUtil.FILE_SEP
+ DEFAULT_EXPORT_CONFIG_DIR_NAME;
} else {
defaultExportConfigDir = defaultExportConfigDir
+ FileUtil.FILE_SEP + DEFAULT_EXPORT_CONFIG_DIR_NAME;
}
}
return defaultExportConfigDir;
}
/**
* Gets the export configuration directories preference value.
*
* @return the preference value
*/
public static String[] getExportConfigDirs() {
return PreferenceUtil.getStringValues(prefStore, EXPORT_CONFIG_DIRS);
}
/**
* Gets the export configuration directories preference value.
*
* @return a collection of export configuration directories
*/
public static List<String> getExportConfigDirsList() {
return PreferenceUtil.getList(prefStore, EXPORT_CONFIG_DIRS);
}
/**
* Adds a export directory to the export configuration directories
* preference.
*
* @param dir
* an export directory
*/
public static void addExportConfigDir(String dir) {
PreferenceUtil.addToList(prefStore, EXPORT_CONFIG_DIRS, dir);
}
}