diff options
Diffstat (limited to 'plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/project/facet/SimpleWebFacetInstallDelegate.java')
-rw-r--r-- | plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/project/facet/SimpleWebFacetInstallDelegate.java | 98 |
1 files changed, 0 insertions, 98 deletions
diff --git a/plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/project/facet/SimpleWebFacetInstallDelegate.java b/plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/project/facet/SimpleWebFacetInstallDelegate.java deleted file mode 100644 index 00c56f48c..000000000 --- a/plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/project/facet/SimpleWebFacetInstallDelegate.java +++ /dev/null @@ -1,98 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2006 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.project.facet; - -import org.eclipse.core.commands.ExecutionException; -import org.eclipse.core.resources.IFolder; -import org.eclipse.core.resources.IProject; -import org.eclipse.core.resources.IProjectDescription; -import org.eclipse.core.resources.IWorkspace; -import org.eclipse.core.resources.ResourcesPlugin; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IPath; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.Path; -import org.eclipse.jem.util.logger.proxy.Logger; -import org.eclipse.wst.common.componentcore.ComponentCore; -import org.eclipse.wst.common.componentcore.datamodel.FacetDataModelProvider; -import org.eclipse.wst.common.componentcore.internal.util.ComponentUtilities; -import org.eclipse.wst.common.componentcore.internal.util.IModuleConstants; -import org.eclipse.wst.common.componentcore.resources.IVirtualComponent; -import org.eclipse.wst.common.componentcore.resources.IVirtualFolder; -import org.eclipse.wst.common.frameworks.datamodel.IDataModel; -import org.eclipse.wst.common.frameworks.datamodel.IDataModelOperation; -import org.eclipse.wst.common.project.facet.core.IDelegate; -import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion; - -public class SimpleWebFacetInstallDelegate implements IDelegate { - - public void execute(IProject project, IProjectFacetVersion fv, Object config, IProgressMonitor monitor) throws CoreException { - if (monitor != null) - monitor.beginTask("", 1); //$NON-NLS-1$ - try { - IDataModel model = (IDataModel) config; - addNatures(project); - final IVirtualComponent c = ComponentCore.createComponent(project, false); - c.create(0, null); - - final IWorkspace ws = ResourcesPlugin.getWorkspace(); - final IPath pjpath = project.getFullPath(); - final IPath contentdir = setContentPropertyIfNeeded(model, pjpath, project); - mkdirs(ws.getRoot().getFolder(contentdir)); - - final IVirtualFolder webroot = c.getRootFolder(); - if (webroot.getProjectRelativePath().equals(new Path("/"))) { //$NON-NLS-1$ - webroot.createLink(new Path("/" + model.getStringProperty(ISimpleWebFacetInstallDataModelProperties.CONTENT_DIR)), 0, null); //$NON-NLS-1$ - } - - ComponentUtilities.setServerContextRoot(project,model.getStringProperty(ISimpleWebFacetInstallDataModelProperties.CONTEXT_ROOT)); - - try { - ((IDataModelOperation) model.getProperty(FacetDataModelProvider.NOTIFICATION_OPERATION)).execute(monitor, null); - } catch (ExecutionException e) { - Logger.getLogger().logError(e); - } - } finally { - if (monitor != null) - monitor.done(); - } - } - - private IPath setContentPropertyIfNeeded(final IDataModel model, final IPath pjpath, IProject project) { - IVirtualComponent c = ComponentCore.createComponent(project); - if (c.exists()) { - if( !c.getRootFolder().getProjectRelativePath().isRoot() ){ - return c.getRootFolder().getUnderlyingResource().getFullPath(); - } - } - return pjpath.append(model.getStringProperty(ISimpleWebFacetInstallDataModelProperties.CONTENT_DIR)); - } - - private void addNatures(final IProject project) throws CoreException { - final IProjectDescription desc = project.getDescription(); - final String[] current = desc.getNatureIds(); - final String[] replacement = new String[current.length + 1]; - System.arraycopy(current, 0, replacement, 0, current.length); - replacement[current.length] = IModuleConstants.MODULE_NATURE_ID; - desc.setNatureIds(replacement); - project.setDescription(desc, null); - } - - private static void mkdirs(final IFolder folder) throws CoreException { - if (!folder.exists()) { - if (folder.getParent() instanceof IFolder) { - mkdirs((IFolder) folder.getParent()); - } - folder.create(true, true, null); - } - } - -} |