diff options
Diffstat (limited to 'bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodelimpl/CSSProfileImpl.java')
-rw-r--r-- | bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodelimpl/CSSProfileImpl.java | 263 |
1 files changed, 0 insertions, 263 deletions
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodelimpl/CSSProfileImpl.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodelimpl/CSSProfileImpl.java deleted file mode 100644 index 6f8a2d6910..0000000000 --- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/metamodelimpl/CSSProfileImpl.java +++ /dev/null @@ -1,263 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004 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 - *******************************************************************************/ -package org.eclipse.wst.css.core.internal.metamodelimpl; - - - -import java.io.IOException; -import java.io.InputStream; -import java.net.URL; -import java.util.Locale; -import java.util.PropertyResourceBundle; -import java.util.ResourceBundle; -import java.util.Vector; - -import org.eclipse.core.runtime.FileLocator; -import org.eclipse.core.runtime.IPath; -import org.eclipse.core.runtime.Path; -import org.eclipse.core.runtime.Platform; -import org.eclipse.wst.css.core.internal.Logger; -import org.eclipse.wst.css.core.internal.metamodel.CSSMetaModel; -import org.eclipse.wst.css.core.internal.metamodel.CSSProfile; -import org.osgi.framework.Bundle; - - - -class CSSProfileImpl implements CSSProfile { - - /** - * Constructor for CSSMetaModelProfileInfoImpl. - */ - private CSSProfileImpl() { - super(); - } - - /** - * Constructor for CSSMetaModelProfileInfoImpl. - */ - public CSSProfileImpl(String id, URL url) { - this(); - fID = id; - fURL = url; - } - - /** - * Constructor for CSSMetaModelProfileInfoImpl. - */ - CSSProfileImpl(String id, URL url, String relativeURI) { - super(); - fID = id; - fURL = url; - fRelativeURI = relativeURI; - } - - /* - * @see CSSMetaModelProfileInfo#getProfileID() - */ - public String getProfileID() { - return fID; - } - - /* - * @see CSSMetaModelProfileInfo#getProfileName() - */ - public String getProfileName() { - return (fName == null) ? fID : fName; - } - - public CSSMetaModel getMetaModel() { - if (fMetaModel == null) { - try { - InputStream input = getProfileURL().openStream(); - ProfileLoader loader = new ProfileLoader(getResourceBundle(), getLogging()); - fMetaModel = loader.loadProfile(input); - } - catch (IOException e) { - Logger.logException("Cannot open stream for profile", e); //$NON-NLS-1$ - } - } - return fMetaModel; - } - - private ResourceBundle getResourceBundle() { - ResourceBundle resourceBundle = null; - - Bundle bundle = null; - String pluginID = getOwnerPluginID(); - if (pluginID != null) { - bundle = Platform.getBundle(pluginID); - if (bundle != null) { - // needed to work around FileLocator.openStream not looking for - // files with Java naming conventions (BUG103345) - IPath[] paths = getResourceBundlePaths(); - if (paths != null) { - InputStream inStream = null; - int i = 0; - while (i < paths.length && inStream == null) { - IPath path = paths[i]; - try { - inStream = FileLocator.openStream(bundle, path, true); - if (inStream != null) - resourceBundle = new PropertyResourceBundle(inStream); - else - ++i; - } - catch (IOException e) { - // unable to open stream with current path so just - // try next path - ++i; - } - finally { - if (inStream != null) - try { - inStream.close(); - } - catch (IOException e) { - Logger.log(Logger.WARNING_DEBUG, e.getMessage(), e); - } - } - } - } - } - } - return resourceBundle; - } - - /** - * Returns an array of potential resource bundle paths or null if there - * are none - * - * @return IPath[] or null - */ - private IPath[] getResourceBundlePaths() { - IPath[] paths = new IPath[0]; - - if (fRelativeURI != null) { - // original path = location of profile.xml - profile.xml - IPath originalPath = Path.fromOSString(fRelativeURI).removeLastSegments(1); - - String baseName = "cssprofile"; //$NON-NLS-1$ - Vector names = calculateBundleNames(baseName, Locale.getDefault()); - - int a = 0; - paths = new IPath[names.size()]; - for (int i = names.size(); i > 0; --i) { - String bundleName = (String) names.get(i - 1); - IPath path = originalPath.append(bundleName).addFileExtension("properties"); //$NON-NLS-1$ - paths[a] = path; - ++a; - } - } - return paths; - } - - /** - * Calculate the bundles along the search path from the base bundle to the - * bundle specified by baseName and locale.<br /> - * - * @param baseName - * the base bundle name - * @param locale - * the locale - * @param names - * the vector used to return the names of the bundles along the - * search path. - * - */ - private Vector calculateBundleNames(String baseName, Locale locale) { - // this method can be deleted after BUG103345 is fixed - final Vector result = new Vector(4); // default size 4 - final String language = locale.getLanguage(); - final int languageLength = language.length(); - final String country = locale.getCountry(); - final int countryLength = country.length(); - final String variant = locale.getVariant(); - final int variantLength = variant.length(); - - result.addElement(baseName); // at least add base name - if (languageLength + countryLength + variantLength == 0) { - // The locale is "", "", "". - return result; - } - final StringBuffer temp = new StringBuffer(baseName); - temp.append('_'); - temp.append(language); - if (languageLength > 0) { - result.addElement(temp.toString()); - } - - if (countryLength + variantLength == 0) { - return result; - } - temp.append('_'); - temp.append(country); - if (countryLength > 0) { - result.addElement(temp.toString()); - } - - if (variantLength == 0) { - return result; - } - temp.append('_'); - temp.append(variant); - result.addElement(temp.toString()); - - return result; - } - - /* - * @see CSSMetaModelProfileInfo#getProfileURL() - */ - public URL getProfileURL() { - return fURL; - } - - void setProfileName(String name) { - fName = name; - } - - public boolean isDefault() { - return fDefault; - } - - void setDefault(boolean isDefault) { - fDefault = isDefault; - } - - public String getOwnerPluginID() { - return fOwnerPluginID; - } - - void setOwnerPluginID(String pluginID) { - fOwnerPluginID = pluginID; - } - - /** - * hidden option : logging - */ - void setLogging(boolean logging) { - fLogging = logging; - } - - boolean getLogging() { - return fLogging; - } - - - String fID = null; - String fName = null; - URL fURL = null; - CSSMetaModel fMetaModel = null; - String fOwnerPluginID = null; - boolean fDefault = false; - boolean fLogging = false; - private String fRelativeURI = null; -}
\ No newline at end of file |