diff options
Diffstat (limited to 'jsf/plugins/org.eclipse.jst.jsf.common.ui/src/org/eclipse/jst/jsf/common/ui/internal/utils/FavoriteConfigurations.java')
-rw-r--r-- | jsf/plugins/org.eclipse.jst.jsf.common.ui/src/org/eclipse/jst/jsf/common/ui/internal/utils/FavoriteConfigurations.java | 257 |
1 files changed, 0 insertions, 257 deletions
diff --git a/jsf/plugins/org.eclipse.jst.jsf.common.ui/src/org/eclipse/jst/jsf/common/ui/internal/utils/FavoriteConfigurations.java b/jsf/plugins/org.eclipse.jst.jsf.common.ui/src/org/eclipse/jst/jsf/common/ui/internal/utils/FavoriteConfigurations.java deleted file mode 100644 index aa7744b1c..000000000 --- a/jsf/plugins/org.eclipse.jst.jsf.common.ui/src/org/eclipse/jst/jsf/common/ui/internal/utils/FavoriteConfigurations.java +++ /dev/null @@ -1,257 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006 Sybase, Inc. 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: - * Sybase, Inc. - initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.jsf.common.ui.internal.utils; - -import java.io.FileNotFoundException; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.util.Arrays; -import java.util.HashMap; -import java.util.Iterator; -import java.util.Map; -import java.util.Properties; - -import org.eclipse.core.runtime.IPath; -import org.eclipse.jst.jsf.common.ui.JSFUICommonPlugin; -import org.eclipse.jst.jsf.common.ui.internal.logging.Logger; -import org.eclipse.ui.IMemento; -import org.eclipse.ui.XMLMemento; -import org.eclipse.ui.plugin.AbstractUIPlugin; - -/** - * This provides a means to store common properties for pages. - * - * Holds a <code>List</code> of <code>Properties</code> which can be - * manipulated by the user. - * - * @author mengbo - */ -public class FavoriteConfigurations { - private static Logger _log = JSFUICommonPlugin - .getLogger(FavoriteConfigurations.class); - - private final static String FAV_EXTENSIONS = ".xml"; //$NON-NLS-1$ - - private final static String ELEMENT_ROOT = "favorite"; //$NON-NLS-1$ - - private final static String ELEMENT_CONFIG = "config"; //$NON-NLS-1$ - - private final static String ELEMENT_NAME = "name"; //$NON-NLS-1$ - - private final static String ELEMENT_PROPERTY = "property"; //$NON-NLS-1$ - - private final static String ELEMENT_VALUE = "value"; //$NON-NLS-1$ - - private Map _favorites; - - private IPath _favoriteFile; - - private String _favoriteName; - - /** - * Constructor - * - * @param plugin - * used for location of favorite file. - * @param favoriteName - * used for name of file and for mapping the properties of this - * favorite. - */ - public FavoriteConfigurations(AbstractUIPlugin plugin, String favoriteName) { - super(); - _favoriteFile = plugin.getStateLocation().append( - scanFileName(favoriteName) + FAV_EXTENSIONS); - readFavorites(); - } - - /** - * Returns the favorite entry that is mapped under the given name. - * - * @param name - * the favorite - * @return <code>Properties</code> config entry for the favorite. - */ - public Properties getFavorite(String name) { - return (Properties) _favorites.get(name); - } - - /** - * Stores the Favorites into the plugin directory. - */ - public void saveFavorites() { - FileWriter fw = null; - try { - XMLMemento memento = XMLMemento.createWriteRoot(ELEMENT_ROOT); - for (Iterator it = _favorites.keySet().iterator(); it.hasNext();) { - String favName = (String) it.next(); - Map props = new HashMap((Properties) _favorites.get(favName)); - - IMemento config = memento.createChild(ELEMENT_CONFIG); - config.putString(ELEMENT_NAME, favName); - - for (Iterator it1 = props.keySet().iterator(); it1.hasNext();) { - IMemento entry = config.createChild(ELEMENT_PROPERTY); - String name = (String) it1.next(); - entry.putString(ELEMENT_NAME, name); - entry.putString(ELEMENT_VALUE, (String) props.get(name)); - } - } - fw = new FileWriter(_favoriteFile.toFile()); - memento.save(fw); - } catch (Exception ee) { - // log.FavoriteConfigurations.save.error=Failed to save {0} - // favorites. File={1} - _log.info("log.FavoriteConfigurations.save.error", _favoriteName, //$NON-NLS-1$ - _favoriteFile.toOSString(), ee); - } finally { - if (fw != null) { - try { - fw.close(); - } catch (IOException ee)// NOPMD - { - // nothing to do when IOException throwed in closing files. - } - } - } - } - - /** - * Add the favorite into the internal structure but don't save until - * saveFavorites() is called. - * - * @param name - * @param config - */ - public void addFavorite(String name, Properties config) { - _favorites.put(name, config); - } - - /** - * Removes the Favorite that is mapped under the given name. - * - * @param name - * the name of the configuration - */ - public void removeFavorite(String name) { - _favorites.remove(name); - } - - /** - * Read the favorites from the disk into the memory structure. - */ - protected void readFavorites() { - _favorites = new HashMap(); - FileReader fr = null; - try { - try { - fr = new FileReader(_favoriteFile.toFile()); - } catch (FileNotFoundException ee)// NOPMD - { - // no error here since they don't have to have a favorites... - } - if (fr != null) { - XMLMemento memento = XMLMemento.createReadRoot(fr); - IMemento[] children = memento.getChildren(ELEMENT_CONFIG); - for (int ii = 0; ii < children.length; ii++) { - Properties props = new Properties(); - IMemento config = children[ii]; - String name = config.getString(ELEMENT_NAME); - - IMemento[] configProperties = config - .getChildren(ELEMENT_PROPERTY); - for (int jj = 0; jj < configProperties.length; jj++) { - IMemento entry = configProperties[jj]; - setProperty(props, entry.getString(ELEMENT_NAME), entry - .getString(ELEMENT_VALUE)); - } - _favorites.put(name, props); - } - } - } catch (Exception ee) { - // log.FavoriteConfigurations.read.error=Failed to save {0} - // favorites. File={1} - _log.error("log.FavoriteConfigurations.read.error", _favoriteName, //$NON-NLS-1$ - _favoriteFile.toOSString(), ee); - } finally { - if (fr != null) { - try { - fr.close(); - } catch (IOException ee)// NOPMD - { - // nothing to do when IOException throwed in closing files. - } - } - } - } - - /** - * Set the value in the properties object. - * - * @param props - * @param name - * @param value - */ - private void setProperty(Properties props, String name, String value) { - if (name != null && value != null) { - props.setProperty(name, value); - } - } - - /** - * Get a list of all the favorites stored in this file. - * - * @return list of favorites - */ - public String[] getFavoritesList() { - Object[] objs = _favorites.keySet().toArray(); - String[] names = new String[objs.length]; - - for (int ii = 0; ii < objs.length; ii++) { - names[ii] = (String) objs[ii]; - } - Arrays.sort(names); - - return names; - } - - /** - * scan the file name for any bad character that would fail when trying to - * create the file. We replace bad characters with '_' - */ - private static String scanFileName(String filename) { - StringBuffer strBuf = new StringBuffer(); - char[] chars = filename.toCharArray(); - - for (int ii = 0; ii < chars.length; ii++) { - switch (chars[ii]) { - case '&': - case '\\': - case '/': - case ' ': - case '\t': - case ':': - case '.': - case '\"': - case '\'': - case '@': - strBuf.append('_'); - break; - default: - strBuf.append(chars[ii]); - break; - } - } - - return strBuf.toString(); - } -} |