diff options
Diffstat (limited to 'jsf/plugins/org.eclipse.jst.jsf.common.ui/src/org/eclipse/jst/jsf/common/ui/internal/utils/WebrootUtil.java')
-rw-r--r-- | jsf/plugins/org.eclipse.jst.jsf.common.ui/src/org/eclipse/jst/jsf/common/ui/internal/utils/WebrootUtil.java | 268 |
1 files changed, 0 insertions, 268 deletions
diff --git a/jsf/plugins/org.eclipse.jst.jsf.common.ui/src/org/eclipse/jst/jsf/common/ui/internal/utils/WebrootUtil.java b/jsf/plugins/org.eclipse.jst.jsf.common.ui/src/org/eclipse/jst/jsf/common/ui/internal/utils/WebrootUtil.java deleted file mode 100644 index 3a99bf308..000000000 --- a/jsf/plugins/org.eclipse.jst.jsf.common.ui/src/org/eclipse/jst/jsf/common/ui/internal/utils/WebrootUtil.java +++ /dev/null @@ -1,268 +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.util.Arrays; -import java.util.Iterator; -import java.util.Set; - -import org.eclipse.core.resources.IContainer; -import org.eclipse.core.resources.IFolder; -import org.eclipse.core.resources.IProject; -import org.eclipse.core.resources.IResource; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IPath; -import org.eclipse.core.runtime.Path; -import org.eclipse.core.runtime.Platform; -import org.eclipse.core.runtime.content.IContentType; -import org.eclipse.core.runtime.content.IContentTypeManager; -import org.eclipse.jst.jsf.common.ui.IFileFolderConstants; -import org.eclipse.jst.jsf.common.ui.JSFUICommonPlugin; -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.common.project.facet.core.IFacetedProject; -import org.eclipse.wst.common.project.facet.core.IProjectFacet; -import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion; -import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager; - -/** - * Web app utility methods - */ -public class WebrootUtil { - - /** - * get the webpath for the project path. The project path is something like - * "/projectname/webroot/filename.jsp", or "/projectname/webroot/folder". - * The project information should be removed from project path, e.g, - * "/filename.jsp" or "/folder/*"; - * - * @param path - * @return the web path - */ - public static String getWebPath(IPath path) { - String strWebrootPath = ""; //$NON-NLS-1$ - IProject project = WorkspaceUtil.getProjectFor(path); - IPath webContentPath = getWebContentPath(project); - if (webContentPath != null && webContentPath.isPrefixOf(path)) { - int start = path.matchingFirstSegments(webContentPath); - String[] segments = path.segments(); - for (int i = start, n = path.segmentCount(); i < n; i++) { - strWebrootPath = strWebrootPath - + IFileFolderConstants.PATH_SEPARATOR + segments[i]; - } - } - return strWebrootPath; - } - - /** - * To see if a resource is under the webcontent folder. - * - * @param resource - * @return true if resource is within the web content folder hierarchy - */ - public static boolean isUnderWebContentFolder(IResource resource) { - IPath webContentPath = getWebContentPath(resource.getProject()); - if (webContentPath != null) { - return webContentPath.isPrefixOf(resource.getFullPath()); - } - return true; - } - - /** - * @param project - * @return full path to web content folder - */ - public static IPath getWebContentPath(IProject project) { - if (project != null) { - IVirtualComponent component = ComponentCore.createComponent(project); - if (component != null) { - IVirtualFolder rootFolder = component.getRootFolder(); - if (rootFolder != null) { - IContainer underlyingFolder = rootFolder.getUnderlyingFolder(); - if (underlyingFolder != null) { - return underlyingFolder.getFullPath(); - } - } - } - } - return null; - } - - /** - * Return the name of the web content folder. i.e, "WebContent" - * - * @param project - * @return the web content folder name - */ - public static String getWebContentFolderName(IProject project) { - IPath webContentPath = getWebContentPath(project); - if (webContentPath != null) - return webContentPath.lastSegment(); - return null; - } - - /** - * @param project - * @return folder where for web content - */ - public static IFolder getWebContentFolder(IProject project) { - IPath webContentPath = getWebContentPath(project); - IFolder folder = null; - if (webContentPath != null) { - folder = project.getFolder(webContentPath.removeFirstSegments(1)); - } - return folder; - } - - /** - * return the depth of webcontent folder. For example, if the webcontent - * folder path is /projectname/webContent, then return 2, if it's - * /projectname/a/webContent, then return 3. - * - * @param project - * @return the depth of webcontent folder - */ - public static int getWebContentFolderDepth(IProject project) { - if (project != null) { - IPath webContentPath = getWebContentPath(project); - if (webContentPath != null) { - return webContentPath.segmentCount(); - } - } - // default to 2 - return 2; - } - - /** - * determine the path of web file is valid or not - * - * @param path - - * the path of web file - * @return - true - valid web file - */ - public static boolean isValidWebFile(IPath path) { - String[] jspExtensions = getJSPFileExtensions(); - - String extension = path.getFileExtension(); - if (extension != null - && Arrays.asList(jspExtensions).contains(extension)) - { - return true; - } - - return false; - } - - /** - * get the webpath for the project path. The project path is something like - * "/projectname/webroot/filename.jsp", or "/projectname/webroot/folder". - * The project information should be removed from project path, e.g, - * "/filename.jsp" or "/folder/*"; - * - * @param strPath - - * the project path - * @return - web path remove from "/projectname/webroot" - * @deprecated use getWebPath(IPath path) instead. - */ - public static String getWebPath(String strPath) { - String strWebrootPath = ""; //$NON-NLS-1$ - if (strPath != null) { - IPath path = new Path(strPath); - return getWebPath(path); - } - return strWebrootPath; - } - - /** - * @param strWebPath - * @return the page name - */ - public static String getPageNameFromWebPath(String strWebPath) { - String pageName = strWebPath; - - if (pageName.startsWith(IFileFolderConstants.PATH_SEPARATOR)) { - pageName = pageName.substring(1); - } - - String[] jspExtensions = getJSPFileExtensions(); - for (int i = 0, n = jspExtensions.length; i < n; i++) { - String extension = IFileFolderConstants.DOT + jspExtensions[i]; - if (pageName.endsWith(extension)) { - pageName = pageName.substring(0, pageName.length() - - extension.length()); - break; - } - } - - return pageName; - } - /** - * Get the JSP file extension from Eclipse preference - * Windows->Preferences->General->Content Types - * - * @return String Array for JSP file extensions - */ - public static String[] getJSPFileExtensions() { - IContentTypeManager typeManager = Platform.getContentTypeManager(); - IContentType jspContentType = typeManager - .getContentType("org.eclipse.jst.jsp.core.jspsource"); //$NON-NLS-1$ - if (jspContentType != null) { - return jspContentType - .getFileSpecs(IContentType.FILE_EXTENSION_SPEC); - } - return null; - } - - /** - * Tests if the passed IProject instance is a valid JSF project in the - * following ways: - * <ul> - * <li>project is not null and is accessible, </li> - * <li>project has the "jst.web" facet set on it.</li> - * </ul> - * - * @param project - * IProject instance to be tested. - * @return true if the IProject instance is a valid JSF project, else false. - */ - public static boolean isValidWebProject(IProject project) { - boolean isValid = false; - // check for null or inaccessible project - if (project != null && project.isAccessible()) { - // TODO: this was jst.jsf before, but we are checking for jst.web - // the javadoc seems out of sync with the method name - // check for "jst.web" facet on project - try { - IFacetedProject facetedProject = ProjectFacetsManager - .create(project); - if (facetedProject != null) { - Set projectFacets = facetedProject.getProjectFacets(); - Iterator itProjectFacets = projectFacets.iterator(); - while (itProjectFacets.hasNext()) { - IProjectFacetVersion projectFacetVersion = (IProjectFacetVersion) itProjectFacets - .next(); - IProjectFacet projectFacet = projectFacetVersion - .getProjectFacet(); - if ("jst.web".equals(projectFacet.getId())) { //$NON-NLS-1$ - isValid = true; - break; - } - } - } - } catch (CoreException ce) { - JSFUICommonPlugin.getLogger(WebrootUtil.class).error("checking web project", ce); //$NON-NLS-1$ - } - } - return isValid; - } -} |