diff options
Diffstat (limited to 'jsf/plugins/org.eclipse.jst.pagedesigner.jsf.ui/src/org/eclipse/jst/pagedesigner/jsf/ui/converter/operations/jsf/LoadBundleOperation.java')
-rw-r--r-- | jsf/plugins/org.eclipse.jst.pagedesigner.jsf.ui/src/org/eclipse/jst/pagedesigner/jsf/ui/converter/operations/jsf/LoadBundleOperation.java | 162 |
1 files changed, 0 insertions, 162 deletions
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner.jsf.ui/src/org/eclipse/jst/pagedesigner/jsf/ui/converter/operations/jsf/LoadBundleOperation.java b/jsf/plugins/org.eclipse.jst.pagedesigner.jsf.ui/src/org/eclipse/jst/pagedesigner/jsf/ui/converter/operations/jsf/LoadBundleOperation.java deleted file mode 100644 index 7ae84d4b0..000000000 --- a/jsf/plugins/org.eclipse.jst.pagedesigner.jsf.ui/src/org/eclipse/jst/pagedesigner/jsf/ui/converter/operations/jsf/LoadBundleOperation.java +++ /dev/null @@ -1,162 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2005 Oracle Corporation. - * 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: - * Ian Trimble - initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.pagedesigner.jsf.ui.converter.operations.jsf; - -import java.io.BufferedInputStream; -import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; -import java.io.InputStream; -import java.util.HashMap; -import java.util.PropertyResourceBundle; - -import org.eclipse.core.resources.IProject; -import org.eclipse.core.resources.IResource; -import org.eclipse.core.runtime.IPath; -import org.eclipse.jdt.core.IClasspathEntry; -import org.eclipse.jdt.core.IJavaProject; -import org.eclipse.jdt.core.JavaCore; -import org.eclipse.jdt.core.JavaModelException; -import org.eclipse.jst.jsf.common.ui.IFileFolderConstants; -import org.eclipse.jst.jsf.common.ui.internal.utils.ResourceUtils; -import org.eclipse.jst.jsf.core.internal.tld.IJSFConstants; -import org.eclipse.jst.pagedesigner.PDPlugin; -import org.eclipse.jst.pagedesigner.dtmanager.converter.operations.AbstractTransformOperation; -import org.eclipse.jst.pagedesigner.utils.PreviewUtil; -import org.eclipse.jst.pagedesigner.utils.StructuredModelUtil; -import org.eclipse.wst.common.componentcore.ComponentCore; -import org.eclipse.wst.common.componentcore.resources.IVirtualComponent; -import org.eclipse.wst.common.componentcore.resources.IVirtualFolder; -import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel; -import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode; -import org.w3c.dom.Element; - -/** - * ITransformOperation implementation specifically for the "loadBundle" JSF - * (core) Element. - * - * @author Ian Trimble - Oracle - */ -public class LoadBundleOperation extends AbstractTransformOperation { - - /* - * (non-Javadoc) - * @see org.eclipse.jst.pagedesigner.dtmanager.converter.operations.internal.provisional.AbstractTransformOperation#transform(org.w3c.dom.Element, org.w3c.dom.Element) - */ - public Element transform(Element srcElement, Element curElement) { - if (srcElement != null) { - //get "var" and "basename" attributes of srcElement - String var = srcElement.getAttribute(IJSFConstants.ATTR_VAR); - String basename = srcElement.getAttribute(IJSFConstants.ATTR_BASENAME); - if (var != null && basename != null && var.length() > 0 && basename.length() > 0) { - String basePath = - basename.replace('.', IFileFolderConstants.PATH_SEPARATOR.charAt(0)) + - IFileFolderConstants.DOT + - IFileFolderConstants.EXT_PROPERTIES; - if (srcElement instanceof IDOMNode) { - //get model - IDOMModel model = ((IDOMNode)srcElement).getModel(); - if (model != null) { - //get project - IProject project = StructuredModelUtil.getProjectFor(model); - if (project != null) { - //attempt to locate properties file in "/{WebRoot}/WEB-INF/classes" - IVirtualComponent component = ComponentCore.createComponent(project); - if (component != null) { - IVirtualFolder rootFolder = component.getRootFolder(); - if (rootFolder != null) { - IPath webRootPath = rootFolder.getProjectRelativePath(); - if (webRootPath != null) { - StringBuffer sb = new StringBuffer(webRootPath.toString()); - if (!IFileFolderConstants.PATH_SEPARATOR.equals(webRootPath.toString())) { - sb.append(IFileFolderConstants.PATH_SEPARATOR); - } - sb.append(IFileFolderConstants.FOLDER_WEBINF); - sb.append(IFileFolderConstants.PATH_SEPARATOR); - sb.append(IFileFolderConstants.FOLDER_CLASS); - sb.append(IFileFolderConstants.PATH_SEPARATOR); - sb.append(basePath); - IResource resource = project.findMember(sb.toString()); - if (resource == null) { - resource = findFileInSrcFolder(project, basePath); - if (resource != null) { - //load properties file and configure PreviewUtil - InputStream inputStream = null; - try { - File file = new File(resource.getLocation().toString()); - inputStream = new FileInputStream(file); - if (inputStream != null) { - inputStream = new BufferedInputStream(inputStream); - PropertyResourceBundle bundle = new PropertyResourceBundle(inputStream); - if (bundle != null) { - if (PreviewUtil.getBUNDLE_MAP() == null) { - PreviewUtil.setBUNDLE_MAP(new HashMap()); - } else { - PreviewUtil.getBUNDLE_MAP().clear(); - } - PreviewUtil.getBUNDLE_MAP().put(var, bundle); - PreviewUtil.setBUNDLE(bundle); - PreviewUtil.setVAR(var); - } - } - } catch(IOException ioe) { - PDPlugin.getLogger(LoadBundleOperation.class).error("LoadBundleTagConverter.convertRefresh.IOException", ioe); //$NON-NLS-1$ - } finally { - ResourceUtils.ensureClosed(inputStream); - } - } - } - } - } - } - } - } - } - } - } - //return null to indicate there is no HTML element associated with this tag - return null; - } - - /** - * Find specified file in any source folder of the specified project. - * - * @param project IProject instance. - * @param filePath Source folder-relative path of the file to be located. - * @return the specified file in any source folder of the specified project. - */ - protected IResource findFileInSrcFolder(IProject project, String filePath) { - IResource resource = null; - IJavaProject javaProject = JavaCore.create(project); - if (javaProject != null) { - try { - IClasspathEntry[] classpathEntries = javaProject.getResolvedClasspath(true); - for (int i = 0; i < classpathEntries.length; i++) { - IClasspathEntry classpathEntry = classpathEntries[i]; - if (classpathEntry.getEntryKind() == IClasspathEntry.CPE_SOURCE) { - IPath srcPath = classpathEntry.getPath(); - //srcPath = srcPath.removeFirstSegments(srcPath.matchingFirstSegments(project.getFullPath())); - IPath srcFilePath = srcPath.append(filePath); - IResource tmpResource = project.getParent().findMember(srcFilePath); - if (tmpResource != null) { - resource = tmpResource; - break; - } - } - } - } catch(JavaModelException jme) { - //ignore - returning null from method will indicate failure - } - } - return resource; - } - -} |