diff options
Diffstat (limited to 'bundles/org.eclipse.wst.sse.core/src-encoding/org/eclipse/wst/sse/core/internal/encoding/ContentBasedPreferenceGateway.java')
-rw-r--r-- | bundles/org.eclipse.wst.sse.core/src-encoding/org/eclipse/wst/sse/core/internal/encoding/ContentBasedPreferenceGateway.java | 165 |
1 files changed, 0 insertions, 165 deletions
diff --git a/bundles/org.eclipse.wst.sse.core/src-encoding/org/eclipse/wst/sse/core/internal/encoding/ContentBasedPreferenceGateway.java b/bundles/org.eclipse.wst.sse.core/src-encoding/org/eclipse/wst/sse/core/internal/encoding/ContentBasedPreferenceGateway.java deleted file mode 100644 index cd28db3745..0000000000 --- a/bundles/org.eclipse.wst.sse.core/src-encoding/org/eclipse/wst/sse/core/internal/encoding/ContentBasedPreferenceGateway.java +++ /dev/null @@ -1,165 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2001, 2006 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 API and implementation - * Jens Lukowski/Innoopract - initial renaming/restructuring - * - *******************************************************************************/ -package org.eclipse.wst.sse.core.internal.encoding; - -import org.eclipse.core.runtime.IPath; -import org.eclipse.core.runtime.Platform; -import org.eclipse.core.runtime.Plugin; -import org.eclipse.core.runtime.content.IContentType; -import org.eclipse.core.runtime.preferences.DefaultScope; -import org.eclipse.core.runtime.preferences.IEclipsePreferences; -import org.osgi.framework.Bundle; -import org.osgi.service.prefs.Preferences; - - -public class ContentBasedPreferenceGateway { - private static String DEFAULT_LOCATION = "org.eclipse.wst.sse.core"; //$NON-NLS-1$ - private static String RUNTIME_XML_ID = "org.eclipse.core.runtime.xml"; //$NON-NLS-1$ - private static String SSE_XML_ID = "org.eclipse.wst.xml.core.xmlsource"; //$NON-NLS-1$ - - /** - * @param pluginId - * @return - */ - private static boolean bundleExists(String pluginId) { - - // this just verifies there's really a plugin with this ID in "stack" - Bundle bundle = Platform.getBundle(pluginId); - return (!(bundle == null)); - } - - /** - * @param contentType - * @return - */ - private static String getContributorPluginId(IContentType contentType) { - // TODO: need to have registration info here, but for now, we'll use - // simple heuristic to cover the cases we know about. - String fullId = null; - if (contentType == null) { - fullId = DEFAULT_LOCATION; - } else { - fullId = contentType.getId(); - } - // only one known case, so far, of hard coded re-direction - // (not sure this is even needed, but just in case). - // We don't want to store/change runtime.xml preferences - if (RUNTIME_XML_ID.equals(fullId)) { - fullId = SSE_XML_ID; - } - String pluginId = inferPluginId(fullId); - return pluginId; - } - - private static Preferences getDefaultPreferences(IContentType contentType) { - IEclipsePreferences eclipsePreferences = Platform.getPreferencesService().getRootNode(); - // TODO: eventaully need extension mechanism to avoid these hard coded - // mechanism. - // The idea is to load/store based on plugin's preferences, where the - // content type was contributed - // Eventually, too, we could do more "dynamic lookup" to get parent - // types for defaults, etc. - - // Get default plugin preferences - String pluginPreferenceLocation = DefaultScope.SCOPE + IPath.SEPARATOR + getContributorPluginId(contentType); - Preferences pluginPreferences = eclipsePreferences.node(pluginPreferenceLocation); - - // the below code does not work at this time because content type - // preferences are stored in the place as plugin preferences - - // Preferences contentPreferences = null; - // if (contentType != null) { - // contentPreferences = pluginPreferences.node(contentType.getId()); - // } - // else { - // contentPreferences = pluginPreferences.node(DEFAULT_LOCATION ); - // } - // - // return contentPreferences; - - return pluginPreferences; - - } - - private static Preferences getDefaultPreferences(String contentTypeId) { - IContentType contentType = Platform.getContentTypeManager().getContentType(contentTypeId); - return getDefaultPreferences(contentType); - } - - public static Preferences getPreferences(IContentType contentType) { - IEclipsePreferences eclipsePreferences = Platform.getPreferencesService().getRootNode(); - // TODO: eventaully need extension mechanism to avoid these hard coded - // mechanism. - // The idea is to load/store based on plugin's preferences, where the - // content type was contributed - // Eventually, too, we could do more "dynamic lookup" to get parent - // types for defaults, etc. - - // Get instance plugin preferences - String pluginPreferenceLocation = Plugin.PLUGIN_PREFERENCE_SCOPE + IPath.SEPARATOR + getContributorPluginId(contentType); - Preferences pluginPreferences = eclipsePreferences.node(pluginPreferenceLocation); - - // the below code does not work at this time because content type - // preferences are stored in the place as plugin preferences - - // Preferences contentPreferences = null; - // if (contentType != null) { - // contentPreferences = pluginPreferences.node(contentType.getId()); - // } - // else { - // contentPreferences = pluginPreferences.node(DEFAULT_LOCATION ); - // } - // - // return contentPreferences; - return pluginPreferences; - - } - - public static Preferences getPreferences(String contentTypeId) { - IContentType contentType = Platform.getContentTypeManager().getContentType(contentTypeId); - return getPreferences(contentType); - } - - public static String getPreferencesString(IContentType contentType, String key) { - Preferences preferences = getPreferences(contentType); - String value = preferences.get(key, getDefaultPreferences(contentType).get(key, null)); - return value; - } - - public static String getPreferencesString(String contentTypeId, String key) { - Preferences preferences = getPreferences(contentTypeId); - String value = preferences.get(key, getDefaultPreferences(contentTypeId).get(key, null)); - return value; - } - - /** - * @param fullId - * @return - */ - private static String inferPluginId(String fullId) { - // simply trim off last "segment" from full ID. - int lastSegmentPos = fullId.lastIndexOf('.'); - String pluginId = null; - if (lastSegmentPos != -1) { - pluginId = fullId.substring(0, lastSegmentPos); - } else { - // weird case? We'll at least put/get them somewhere - pluginId = DEFAULT_LOCATION; - } - if (!bundleExists(pluginId)) { - // use default location - pluginId = DEFAULT_LOCATION; - } - return pluginId; - } -} |