diff options
author | canderson | 2008-10-16 19:51:39 +0000 |
---|---|---|
committer | canderson | 2008-10-16 19:51:39 +0000 |
commit | 47a1497eeee7f673fa39e64de8013e21e44c26cb (patch) | |
tree | d58b4f7555b7ea6d4d852bb9192f391b1180fdaf /plugins/org.eclipse.jst.servlet.ui/servlet_ui/org/eclipse/jst/servlet/ui/internal | |
parent | c7b9e33e7778125fa007cd5f6d8a05fb1cbeac63 (diff) | |
download | webtools.javaee-47a1497eeee7f673fa39e64de8013e21e44c26cb.tar.gz webtools.javaee-47a1497eeee7f673fa39e64de8013e21e44c26cb.tar.xz webtools.javaee-47a1497eeee7f673fa39e64de8013e21e44c26cb.zip |
[249645] Need to make org.eclipse.jst.servlet.ui.internal.actions.ConvertToWebModuleTypeAction extensible
Diffstat (limited to 'plugins/org.eclipse.jst.servlet.ui/servlet_ui/org/eclipse/jst/servlet/ui/internal')
-rw-r--r-- | plugins/org.eclipse.jst.servlet.ui/servlet_ui/org/eclipse/jst/servlet/ui/internal/actions/ConvertToWebModuleTypeAction.java | 70 |
1 files changed, 10 insertions, 60 deletions
diff --git a/plugins/org.eclipse.jst.servlet.ui/servlet_ui/org/eclipse/jst/servlet/ui/internal/actions/ConvertToWebModuleTypeAction.java b/plugins/org.eclipse.jst.servlet.ui/servlet_ui/org/eclipse/jst/servlet/ui/internal/actions/ConvertToWebModuleTypeAction.java index bb2d1770c..fdf1f5141 100644 --- a/plugins/org.eclipse.jst.servlet.ui/servlet_ui/org/eclipse/jst/servlet/ui/internal/actions/ConvertToWebModuleTypeAction.java +++ b/plugins/org.eclipse.jst.servlet.ui/servlet_ui/org/eclipse/jst/servlet/ui/internal/actions/ConvertToWebModuleTypeAction.java @@ -1,7 +1,7 @@ package org.eclipse.jst.servlet.ui.internal.actions; /******************************************************************************* - * Copyright (c) 2003, 2007 IBM Corporation and others. + * Copyright (c) 2003, 2008 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 @@ -11,9 +11,6 @@ package org.eclipse.jst.servlet.ui.internal.actions; * IBM Corporation - initial API and implementation *******************************************************************************/ -import java.util.HashSet; -import java.util.Set; - import org.eclipse.core.resources.IProject; import org.eclipse.core.runtime.NullProgressMonitor; import org.eclipse.jface.action.Action; @@ -21,30 +18,16 @@ import org.eclipse.jface.action.IAction; import org.eclipse.jface.viewers.ISelection; import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.jface.window.Window; -import org.eclipse.jst.common.project.facet.IJavaFacetInstallDataModelProperties; -import org.eclipse.jst.common.project.facet.JavaFacetInstallDataModelProvider; -import org.eclipse.jst.common.project.facet.JavaFacetUtils; -import org.eclipse.jst.j2ee.internal.J2EEConstants; -import org.eclipse.jst.j2ee.internal.project.J2EEProjectUtilities; -import org.eclipse.jst.j2ee.web.project.facet.IWebFacetInstallDataModelProperties; -import org.eclipse.jst.j2ee.web.project.facet.WebFacetInstallDataModelProvider; -import org.eclipse.jst.j2ee.web.project.facet.WebFacetUtils; +import org.eclipse.jst.j2ee.project.JavaEEProjectUtilities; +import org.eclipse.jst.j2ee.web.datamodel.properties.IConvertStaticWebToDyamnicDataModelProperties; import org.eclipse.jst.servlet.ui.internal.wizard.ConvertToWebModuleTypeDialog; import org.eclipse.ui.IWorkbenchWindow; import org.eclipse.ui.IWorkbenchWindowActionDelegate; import org.eclipse.ui.PlatformUI; -import org.eclipse.wst.common.componentcore.ComponentCore; -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.DataModelFactory; import org.eclipse.wst.common.frameworks.datamodel.IDataModel; -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; -import org.eclipse.wst.project.facet.ProductManager; import org.eclipse.wst.web.ui.internal.Logger; + /** * Convert a simple static web project to a J2EE Dynamic Web Project */ @@ -65,7 +48,7 @@ public class ConvertToWebModuleTypeAction extends Action implements IWorkbenchWi * make sure a web project is selected. */ protected boolean isValidProject(IProject aProject) { - return J2EEProjectUtilities.isStaticWebProject(aProject); + return JavaEEProjectUtilities.isStaticWebProject(aProject); } /** @@ -121,45 +104,12 @@ public class ConvertToWebModuleTypeAction extends Action implements IWorkbenchWi } protected void doConvert(String selectedVersion) throws Exception { - IFacetedProject facetedProject = ProjectFacetsManager.create(project); - Set fixedFacets = new HashSet(); - fixedFacets.addAll(facetedProject.getFixedProjectFacets()); - IProjectFacet webFacet = ProjectFacetsManager.getProjectFacet(IModuleConstants.WST_WEB_MODULE); - fixedFacets.remove(webFacet); - fixedFacets.add(WebFacetUtils.WEB_FACET); - fixedFacets.add(JavaFacetUtils.JAVA_FACET); - facetedProject.setFixedProjectFacets(fixedFacets); - IProjectFacetVersion webFv = WebFacetUtils.WEB_FACET.getVersion(selectedVersion); - IProjectFacetVersion javaFv = JavaFacetUtils.compilerLevelToFacet(JavaFacetUtils.getCompilerLevel(project)); - IFacetedProject.Action uninstall = new IFacetedProject.Action(IFacetedProject.Action.Type.UNINSTALL, facetedProject.getInstalledVersion(webFacet), null); - IDataModel webModelCfg = DataModelFactory.createDataModel(new WebFacetInstallDataModelProvider()); - webModelCfg.setBooleanProperty(IWebFacetInstallDataModelProperties.ADD_TO_EAR, false); - // Get the default web root folder name (just in case the .component file doesn't exist for some reason) - String webRoot = webModelCfg.getStringProperty(IWebFacetInstallDataModelProperties.CONFIG_FOLDER); - IVirtualComponent c = ComponentCore.createComponent(project); - c.create(0, null); - if (c.exists()) { - // Get the web root folder from the .component file - IVirtualFolder root = c.getRootFolder(); - webRoot = root.getUnderlyingFolder().getName(); - // Store the name into the properties for use during facet instal - webModelCfg.setStringProperty(IWebFacetInstallDataModelProperties.CONFIG_FOLDER, webRoot); - } - - IDataModel javaModelCfg = null; - if (ProductManager.shouldUseSingleRootStructure()){ - javaModelCfg = DataModelFactory.createDataModel(new JavaFacetInstallDataModelProvider()); - javaModelCfg.setProperty(IJavaFacetInstallDataModelProperties.DEFAULT_OUTPUT_FOLDER_NAME, - webRoot+"/"+ J2EEConstants.WEB_INF_CLASSES); //$NON-NLS-1$ - } + IDataModel model = DataModelFactory.createDataModel(IConvertStaticWebToDyamnicDataModelProperties.class); + model.setProperty(IConvertStaticWebToDyamnicDataModelProperties.PROJECT, project); + model.setStringProperty(IConvertStaticWebToDyamnicDataModelProperties.CONVERT_TO_WEB_VERSION, ConvertToWebModuleTypeDialog.getSelectedVersion()); + model.getDefaultOperation().execute(new NullProgressMonitor(), null); - IFacetedProject.Action install = new IFacetedProject.Action(IFacetedProject.Action.Type.INSTALL,webFv,webModelCfg); - IFacetedProject.Action javaInstall = new IFacetedProject.Action(IFacetedProject.Action.Type.INSTALL, javaFv, javaModelCfg); - Set set = new HashSet(); - set.add(uninstall); - set.add(install); - set.add(javaInstall); - facetedProject.modify(set, new NullProgressMonitor()); } + } |