Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/tld/LoadBundleUtil.java')
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/tld/LoadBundleUtil.java359
1 files changed, 0 insertions, 359 deletions
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/tld/LoadBundleUtil.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/tld/LoadBundleUtil.java
deleted file mode 100644
index 0b7ed141a..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/tld/LoadBundleUtil.java
+++ /dev/null
@@ -1,359 +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.core.internal.tld;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Locale;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IStorage;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jdt.core.IClasspathContainer;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-
-/**
- * @author mengbo
- */
-public class LoadBundleUtil {
-
- private LoadBundleUtil() {
- // no external instantiation
- }
-
-
- /**
- * @param project
- * @param baseName
- * @return an IStorage pointing to the request bundle or null if not found
- * @throws CoreException if the search for the file encounters a problem
- */
- public static IStorage getLoadBundleResource(final IProject project,
- final String baseName) throws CoreException {
- if (project == null || baseName == null) {
- return null;
- }
- IStorage loadBundleResource = null;
- if (project.hasNature(JavaCore.NATURE_ID)) {
- IJavaProject javaProject = JavaCore.create(project);
- IFile sourceFile = getSourceFile(javaProject, baseName);
- if (sourceFile == null || !sourceFile.exists()) {
- loadBundleResource = getJarFile(javaProject, baseName);
- } else {
- loadBundleResource = sourceFile;
- }
- }
-
- return loadBundleResource;
- }
-
- private static IFile getSourceFile(IJavaProject javaProject, String baseName)
- throws JavaModelException {
- IClasspathEntry[] classpathEntries = javaProject.getRawClasspath();
- for (int i = 0; i < classpathEntries.length; i++) {
- if (classpathEntries[i].getEntryKind() == IClasspathEntry.CPE_SOURCE) {
- final IFile file = getFile(javaProject, baseName,
- classpathEntries, i);
- if (file.exists()) {
- return file;
- }
- } else if (classpathEntries[i].getEntryKind() == IClasspathEntry.CPE_PROJECT) {
- IProject project = ResourcesPlugin.getWorkspace().getRoot()
- .getProject(classpathEntries[i].getPath().toString());
- IJavaProject javaProject3 = JavaCore.create(project);
- final IFile file = getSourceFile(javaProject3, baseName);
- if (file != null && file.exists()) {
- return file;
- }
- }
- else if (classpathEntries[i].getEntryKind() == IClasspathEntry.CPE_CONTAINER && classpathEntries[i].getPath().equals(new Path("org.eclipse.jst.j2ee.internal.module.container"))) //$NON-NLS-1$
- {
- IClasspathContainer container = JavaCore.getClasspathContainer(classpathEntries[i].getPath(), javaProject);
- IClasspathEntry[] classpathEntries2 = container.getClasspathEntries();
- for (int j = 0; j < classpathEntries2.length; j++)
- {
- if (classpathEntries2[j].getEntryKind() == IClasspathEntry.CPE_PROJECT)
- {
- IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(classpathEntries2[j].getPath().toString());
- IJavaProject javaProject3 = JavaCore.create(project);
- final IFile file = getSourceFile(javaProject3, baseName);
- if (file != null && file.exists())
- {
- return file;
- }
- }
- }
- }
- }
- return null;
- }
-
-
- private static IFile getFile(IJavaProject javaProject, String baseName,
- IClasspathEntry[] classpathEntries, int i) {
- IPath path = classpathEntries[i].getPath()
- .append(getFilePath(baseName)).removeFirstSegments(1);
- path = javaProject.getProject().getFullPath().append(path);
- return ResourcesPlugin.getWorkspace().getRoot().getFile(path);
- }
-
- private static IPath getFilePath(String baseName) {
- IPath path = new Path(baseName.replace('.', '/'));
- path = path.addFileExtension("properties");//$NON-NLS-1$
- return path;
- }
-
- private static IStorage getJarFile(IJavaProject javaProject, String baseName)
- throws JavaModelException {
- IClasspathEntry[] roots = javaProject.getRawClasspath();
- return getJarFile(javaProject, baseName, roots);
- }
-
- private static IStorage getJarFile(IJavaProject javaProject, String baseName,
- IClasspathEntry[] roots) throws JavaModelException
- {
- for (int i = 0; i < roots.length; i++) {
- if (roots[i].getEntryKind() == IClasspathEntry.CPE_LIBRARY ||
- roots[i].getEntryKind() == IClasspathEntry.CPE_CONTAINER)
- {
- IStorage storage = getResourceFromLibrary(
- javaProject, baseName, roots[i]);
- if (storage != null)
- {
- return storage;
- }
- }
-// else if ( roots[i].getEntryKind() == IClasspathEntry.CPE_CONTAINER)
-// {
-// IClasspathContainer classpathContainer = JavaCore.getClasspathContainer(roots[i].getPath(), javaProject);
-// final IClasspathEntry[] classpathEntries =
-// classpathContainer.getClasspathEntries();
-// IStorage storage = getJarFile(javaProject, baseName, classpathEntries);
-// if (storage != null)
-// {
-// return storage;
-// }
-// }
- }
- return null;
- }
-
- private static IStorage getResourceFromLibrary(
- IJavaProject javaProject, String baseName, IClasspathEntry entry) throws JavaModelException
- {
- IPackageFragmentRoot[] packageFragmentRoots = javaProject
- .findPackageFragmentRoots(entry);
- for (int j = 0; j < packageFragmentRoots.length; j++) {
- String packageName = getPackageName(baseName);
- Object[] resources = null;
- if (packageName.length() == 0) {
- resources = packageFragmentRoots[j].getNonJavaResources();
- } else {
- IPackageFragment fragment = packageFragmentRoots[j]
- .getPackageFragment(getPackageName(baseName));
- if (fragment != null && fragment.exists()) {
- resources = fragment.getNonJavaResources();
- }
- }
-
- if (resources != null && resources.length > 0) {
- for (int k = 0; k < resources.length; k++) {
- if (resources[k] instanceof IStorage) {
- IStorage storage = (IStorage) resources[k];
- if (getFileName(baseName).equalsIgnoreCase(
- storage.getName())) {
- return storage;
- }
- }
- }
- }
- }
- return null;
- }
-
- private static String getPackageName(String baseName) {
- int index = baseName.lastIndexOf('.');
- if (index == -1) {
- return "";//$NON-NLS-1$
- }
- return baseName.substring(0, index);
- }
-
- private static String getFileName(String baseName) {
- int index = baseName.lastIndexOf('.');
- if (index == -1) {
- return baseName + ".properties"; //$NON-NLS-1$
- }
- return baseName.substring(index + 1).concat(".properties");//$NON-NLS-1$
- }
-
- /**
- * Encapsulates the hiearchy of bundle data sources in the hierarchy
- * for a ResourceBundle base name. In practice this is often simply
- * a single IFile for a
- * @author cbateman
- *
- */
-// public static class BundleHierarchy
-// {
-// // list in order from most specific (first queried) to least,
-// // front to back
-// //private final List _hierarchy;
-//
-// /**
-// * Takes the list *by reference*. Does not take a copy.
-// * @param hierarchy
-// */
-// public BundleHierarchy(List hierarchy)
-// {
-// _hierarchy = hierarchy;
-// }
-//
-// public BundleHierarchy()
-// {
-// _hierarchy = new ArrayList();
-// }
-// }
-
- /**
- * Used to describe the design time approximation of the locale lookup precendence
- * that will be used by ResourceBundle to find a localized resource bundle.
- *
- * See the official JavaDoc for java.util.ResourceBundle.getBundle for docs on search
- * order.
- *
- * @author cbateman
- *
- */
- public static class LocaleDescriptor
- {
- private Locale _locale;
- private List _possibleSuffices;
-
- /**
- * @param language -- must not be null
- */
- public LocaleDescriptor(String language)
- {
- _locale = new Locale(language);
- }
-
- /**
- * All arguments must be non-null. To set a language only descriptor,
- * see others.
- *
- * @param language -- must not be null
- * @param country -- must not be null
- */
- public LocaleDescriptor(String language,
- String country)
- {
- _locale = new Locale(language, country);
- }
-
- /**
- * All arguments must be non-null. Null arguments will cause an exception.
- * To create descriptor without variant and/or country set, see other constructors
- * @param language -- must not be null
- * @param country -- must not be null
- * @param variant -- must not be null
- */
- public LocaleDescriptor(String language,
- String country, String variant)
- {
- _locale = new Locale(language, country, variant);
- }
-
- /**
- * @param baseName
- * @return an iterator through all possible bundle names starting with the most
- * specific and becoming more general for base name based on this locale.
- *
- * i.e. if baseName is "bundle" and the local is en_US_1 then in order the
- * iterator will produce:
- *
- * bundle_en_US_1
- * bundle_en_US
- * bundle_en
- * bundle
- *
- * per the ResourceBundle API
- *
- */
- public Iterator getBundleNameIterator(final String baseName)
- {
-
- return new Iterator()
- {
- final Iterator it = getPossibleBaseNameSuffices().iterator();
-
- public boolean hasNext() {
- return it.hasNext();
- }
-
- public Object next() {
- return baseName+it.next();
- }
-
- public void remove() {
- // delegate; should throw exception
- it.remove();
- }
- };
- }
-
- private synchronized List getPossibleBaseNameSuffices()
- {
- if (_possibleSuffices == null)
- {
- List possibleSuffices = new ArrayList(3);
-
- final String language = _locale.getLanguage();
- final String country = _locale.getCountry();
- final String variant = _locale.getVariant();
-
- possibleSuffices.add(""); //$NON-NLS-1$
- possibleSuffices.add("_"+language); //$NON-NLS-1$
- if (country != null)
- {
- possibleSuffices.add(0, "_"+language + "_" + country); //$NON-NLS-1$ //$NON-NLS-2$
- if (variant != null)
- {
- possibleSuffices.add(0, "_"+language+"_"+country+"_"+variant); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- }
- }
- _possibleSuffices = Collections.unmodifiableList(possibleSuffices);
- }
-
- return _possibleSuffices;
- }
-
- /**
- * @return the local information as a standard locale object
- */
- public Locale getLocale()
- {
- return _locale;
- }
- }
-}

Back to the top