Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorcanderson2008-10-16 19:51:39 +0000
committercanderson2008-10-16 19:51:39 +0000
commit47a1497eeee7f673fa39e64de8013e21e44c26cb (patch)
treed58b4f7555b7ea6d4d852bb9192f391b1180fdaf /plugins/org.eclipse.jst.servlet.ui/servlet_ui/org/eclipse/jst/servlet/ui/internal
parentc7b9e33e7778125fa007cd5f6d8a05fb1cbeac63 (diff)
downloadwebtools.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.java70
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());
}
+
}

Back to the top