Author: scabanovich
Date: 2008-02-27 07:06:40 -0500 (Wed, 27 Feb 2008)
New Revision: 6599
Modified:
trunk/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/operation/WebNatureOperation.java
trunk/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/operation/WebProjectAdoptOperation.java
trunk/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/operation/WebProjectCreationOperation.java
Log:
JBIDE-1714
Modified:
trunk/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/operation/WebNatureOperation.java
===================================================================
---
trunk/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/operation/WebNatureOperation.java 2008-02-27
12:06:29 UTC (rev 6598)
+++
trunk/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/operation/WebNatureOperation.java 2008-02-27
12:06:40 UTC (rev 6599)
@@ -22,7 +22,6 @@
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IProjectDescription;
import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspaceRunnable;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.IProgressMonitor;
@@ -30,7 +29,6 @@
import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.core.runtime.Path;
import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
import org.eclipse.jdt.core.IClasspathEntry;
import org.eclipse.jdt.core.IJavaProject;
import org.eclipse.jdt.core.JavaCore;
@@ -44,18 +42,13 @@
import
org.eclipse.wst.common.componentcore.datamodel.properties.IFacetProjectCreationDataModelProperties;
import
org.eclipse.wst.common.componentcore.datamodel.properties.IFacetProjectCreationDataModelProperties.FacetDataModelMap;
import
org.eclipse.wst.common.componentcore.internal.operation.FacetProjectCreationOperation;
-import org.eclipse.wst.common.componentcore.internal.util.ComponentUtilities;
import org.eclipse.wst.common.frameworks.datamodel.DataModelFactory;
import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
import
org.eclipse.wst.common.frameworks.internal.operations.IProjectCreationPropertiesNew;
import org.eclipse.wst.common.project.facet.core.IFacetedProject;
import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
import org.eclipse.wst.common.project.facet.core.runtime.RuntimeManager;
-import org.eclipse.wst.server.core.IModule;
import org.eclipse.wst.server.core.IRuntime;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.ServerCore;
-import org.eclipse.wst.server.core.ServerUtil;
import org.osgi.framework.Bundle;
import org.jboss.tools.common.meta.action.SpecialWizard;
@@ -224,18 +217,24 @@
createLockFile();
monitor.worked(1);
// create Red Hat Web Nature
- createWebNature();
+ preCreateWebNature();
+// createWebNature();
monitor.worked(4);
// create Java Nature
- createJavaNature(); // create java nature now migrate into create WTP nature @see
createWTPNature()
+ JavaCore.create(getProject());
+// createJavaNature(); // create java nature now migrate into create WTP nature @see
createWTPNature()
monitor.worked(3);
// update version of FileSystem object
- updateVersion();
+// updateVersion();
monitor.worked(1);
// refresh project resource
getProject().refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
monitor.worked(3);
// update model
+ createWebNature();
+ updateJavaNature(); // create java nature now migrate into create WTP nature @see
createWTPNature()
+ updateVersion();
+
model.update();
monitor.worked(2);
model.save();
@@ -245,6 +244,8 @@
// register application
registerServer2(monitor);
///registerServer(monitor);
+
+ postCreateWebNature();
} catch (CoreException e) {
WebModelPlugin.getPluginLog().logError(e);
} finally {
@@ -254,11 +255,6 @@
}
- protected boolean isMultipleModulesProject() {
- // Commented for migration to new WTP
- return false; //FlexibleJavaProjectPreferenceUtil.getMultipleModulesPerProjectProp();
- }
-
protected String[] dotFilesList = {
".classpath", ".project", IModelNature.PROJECT_FILE,
".runtime", ".wtpmodules", ".settings"
};
@@ -316,7 +312,9 @@
}
protected abstract String getNatureID();
+ protected abstract void preCreateWebNature() throws CoreException;
protected abstract void createWebNature() throws CoreException;
+ protected abstract void postCreateWebNature();
/*
*
@@ -349,8 +347,8 @@
/*
*
*/
- private void createJavaNature() throws CoreException {
- JavaCore.create(getProject());
+ private void updateJavaNature() throws CoreException {
+// JavaCore.create(getProject());
EclipseResourceUtil.addNatureToProject(getProject(), JavaCore.NATURE_ID);
try {
SpecialWizard w =
SpecialWizardFactory.createSpecialWizard("org.jboss.tools.common.model.project.ClassPathUpdateWizard");
Modified:
trunk/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/operation/WebProjectAdoptOperation.java
===================================================================
---
trunk/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/operation/WebProjectAdoptOperation.java 2008-02-27
12:06:29 UTC (rev 6598)
+++
trunk/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/operation/WebProjectAdoptOperation.java 2008-02-27
12:06:40 UTC (rev 6599)
@@ -67,9 +67,14 @@
return false;
}
- protected void createWebNature() throws CoreException {
+ protected void preCreateWebNature() throws CoreException {
setWorkspaceHome(getProperty(WebNatureOperation.WEB_INF_LOCATION_ID));
copyLibraries();
+ }
+
+ protected void createWebNature() throws CoreException {
+// setWorkspaceHome(getProperty(WebNatureOperation.WEB_INF_LOCATION_ID));
+// copyLibraries();
EclipseResourceUtil.addNatureToProject(getProject(), getNatureID());
IModelNature nature = (IModelNature)getProject().getNature(getNatureID());
model = nature.getModel(); // model is XModel
@@ -83,6 +88,10 @@
}
}
+ protected void postCreateWebNature() {
+
+ }
+
protected void copyLibraries() {}
protected String getDefaultServletVersion() {
Modified:
trunk/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/operation/WebProjectCreationOperation.java
===================================================================
---
trunk/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/operation/WebProjectCreationOperation.java 2008-02-27
12:06:29 UTC (rev 6598)
+++
trunk/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/operation/WebProjectCreationOperation.java 2008-02-27
12:06:40 UTC (rev 6599)
@@ -65,7 +65,7 @@
protected abstract IWebProjectTemplate createTemplate();
protected abstract void copyTemplate() throws Exception;
- protected void createWebNature() throws CoreException {
+ protected void preCreateWebNature() throws CoreException {
Properties properties = this.getWizardPropertiesAsIs();
properties.setProperty(NewWebProjectContext.ATTR_LOCATION,
getProject().getLocation().toString());
try {
@@ -78,6 +78,21 @@
throw new CoreException(new Status(IStatus.ERROR, ModelUIPlugin.PLUGIN_ID, 1, message,
e));
}
copyProjectFile(properties);
+ }
+
+ protected void createWebNature() throws CoreException {
+ Properties properties = this.getWizardPropertiesAsIs();
+ properties.setProperty(NewWebProjectContext.ATTR_LOCATION,
getProject().getLocation().toString());
+// try {
+// createTemplateModel();
+// copyTemplate();
+// } catch (Exception e) {
+// WebUiPlugin.getPluginLog().logError(e);
+// String message = e.getMessage();
+// if(message == null || message.length() == 0) message = e.getClass().getName();
+// throw new CoreException(new Status(IStatus.ERROR, ModelUIPlugin.PLUGIN_ID, 1,
message, e));
+// }
+// copyProjectFile(properties);
EclipseResourceUtil.addNatureToProject(getProject(), getNatureID());
IModelNature strutsProject = (IModelNature)getProject().getNature(getNatureID());
model = strutsProject.getModel();
@@ -95,6 +110,12 @@
}
}
+ protected void postCreateWebNature() {
+
+ }
+
+ protected File projectFile = null;
+
protected void copyProjectFile(Properties p) {
String templateFolder = template.getProjectTemplatesLocation(
getProperty(TEMPLATE_VERSION_ID)) + "/" +
@@ -103,33 +124,12 @@
String tf = p.getProperty(NewWebProjectContext.ATTR_LOCATION) + "/" +
IModelNature.PROJECT_FILE;
if(sf.exists()) {
FileUtil.copyFile(sf, new File(tf), true);
+ projectFile = new File(tf);
} else {
throw new RuntimeException("Project template must have model configuration
file");
}
-///for wtp Dynamic Project
- adjustProjectFile(new File(tf));
}
- private void adjustProjectFile(File f) {
- if(!isMultipleModulesProject()) return;
-
- String text = FileUtil.readFile(f);
- if(text == null || text.length() == 0) return;
- String match = "\"./WebContent/WEB-INF\"";
- int i = text.indexOf(match);
- if(i >= 0) {
- text = text.substring(0, i) + "\"./" + getProject().getName() +
"/WebContent/WEB-INF\"" + text.substring(i + match.length());
- }
-
- match = XModelConstants.WORKSPACE_REF + "/classes";
- i = text.indexOf(match);
- if(i >= 0) {
- String replace = XModelConstants.WORKSPACE_REF + "/../../../.deployables/" +
getProject().getName() + "/WEB-INF/classes";
- text = text.substring(0, i) + replace + text.substring(i + match.length());
- }
-
- FileUtil.writeFile(f, text);
- }
-
+
protected void createTemplateModel() throws Exception {
if(templateModel != null) return;
String templateLocation = getTemplateLocation();