[170815] product settings ignored.
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 6289fa0..2f54e6e 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
@@ -21,11 +21,13 @@ 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.servlet.ui.internal.wizard.ConvertToWebModuleTypeDialog; import org.eclipse.ui.IWorkbenchWindow; import org.eclipse.ui.IWorkbenchWindowActionDelegate; @@ -37,6 +39,7 @@ 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 @@ -119,20 +122,28 @@ 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 webFv = ProjectFacetsManager.getProjectFacet(IModuleConstants.JST_WEB_MODULE).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); + + IDataModel javaModelCfg = null; + if (ProductManager.shouldUseSingleRootStructure()){ + javaModelCfg = DataModelFactory.createDataModel(new JavaFacetInstallDataModelProvider()); + String webRoot = webModelCfg.getStringProperty(IWebFacetInstallDataModelProperties.CONFIG_FOLDER); + javaModelCfg.setProperty(IJavaFacetInstallDataModelProperties.DEFAULT_OUTPUT_FOLDER_NAME, + webRoot+"/"+ J2EEConstants.WEB_INF_CLASSES); //$NON-NLS-1$ + } + IFacetedProject.Action install = new IFacetedProject.Action(IFacetedProject.Action.Type.INSTALL,webFv,webModelCfg); - IFacetedProject.Action javaInstall = new IFacetedProject.Action(IFacetedProject.Action.Type.INSTALL, javaFv, null); + 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()); } } \ No newline at end of file