Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
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.java268
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;
- }
-}

Back to the top