| //------------------------------------------------------------------------------ |
| // 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); |
| } |
| |
| } |