Author: dgolovin
Date: 2007-09-12 05:59:21 -0400 (Wed, 12 Sep 2007)
New Revision: 3579
Added:
trunk/seam/plugins/org.jboss.tools.seam.core/templates/test/
trunk/seam/plugins/org.jboss.tools.seam.core/templates/test/.project
trunk/seam/plugins/org.jboss.tools.seam.core/templates/test/embedded-ejb/
trunk/seam/plugins/org.jboss.tools.seam.core/templates/test/lib/
Modified:
trunk/seam/plugins/org.jboss.tools.seam.core/build.properties
trunk/seam/plugins/org.jboss.tools.seam.core/plugin.xml
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/project/facet/AntCopyUtils.java
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/project/facet/ISeamFacetDataModelProperties.java
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/project/facet/SeamFacetInstallDataModelProvider.java
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/project/facet/SeamFacetInstallDelegete.java
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/project/facet/SeamFacetPostInstallDelegate.java
Log:
http://jira.jboss.org/jira/browse/JBIDE-825
Modified: trunk/seam/plugins/org.jboss.tools.seam.core/build.properties
===================================================================
--- trunk/seam/plugins/org.jboss.tools.seam.core/build.properties 2007-09-12 09:59:14 UTC
(rev 3578)
+++ trunk/seam/plugins/org.jboss.tools.seam.core/build.properties 2007-09-12 09:59:21 UTC
(rev 3579)
@@ -3,11 +3,13 @@
META-INF/,\
seam-core.jar,\
plugin.properties,\
- templates/
+ templates/,\
+ about.html
jars.compile.order = seam-core.jar
src.includes = templates/,\
src/,\
plugin.xml,\
plugin.properties,\
build.properties,\
- META-INF/
+ META-INF/,\
+ about.html
Modified: trunk/seam/plugins/org.jboss.tools.seam.core/plugin.xml
===================================================================
--- trunk/seam/plugins/org.jboss.tools.seam.core/plugin.xml 2007-09-12 09:59:14 UTC (rev
3578)
+++ trunk/seam/plugins/org.jboss.tools.seam.core/plugin.xml 2007-09-12 09:59:21 UTC (rev
3579)
@@ -142,11 +142,11 @@
point="org.eclipse.wst.common.project.facet.core.runtimes">
<supported>
<runtime-component
- id="org.jboss.ide.eclipse.as.runtime.component.40"
+ id="org.jboss.ide.eclipse.as.runtime.component"
version="4.0">
</runtime-component>
<runtime-component
- id="org.jboss.ide.eclipse.as.runtime.component.42"
+ id="org.jboss.ide.eclipse.as.runtime.component"
version="4.2">
</runtime-component>
<facet
Modified:
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/project/facet/AntCopyUtils.java
===================================================================
---
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/project/facet/AntCopyUtils.java 2007-09-12
09:59:14 UTC (rev 3578)
+++
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/project/facet/AntCopyUtils.java 2007-09-12
09:59:21 UTC (rev 3579)
@@ -151,6 +151,9 @@
}
}
}
+ if(files.length==0 && !destinationFolder.exists()) {
+ destinationFolder.mkdir();
+ }
}
public static void copyFileToFolder(File source, File dest, boolean override) {
Modified:
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/project/facet/ISeamFacetDataModelProperties.java
===================================================================
---
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/project/facet/ISeamFacetDataModelProperties.java 2007-09-12
09:59:14 UTC (rev 3578)
+++
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/project/facet/ISeamFacetDataModelProperties.java 2007-09-12
09:59:21 UTC (rev 3579)
@@ -26,6 +26,8 @@
public static final String SEAM_CONNECTION_PROFILE =
"seam.project.connection.profile";
+ public static final String SEAM_RUNTIME_NAME = "seam.runtime.name";
+
public static final String JBOSS_AS_HOME = "jboss.home";
public static final String JBOSS_AS_DEPLOY_AS =
"seam.project.deployment.type";
@@ -68,4 +70,13 @@
public static final String WEB_CONTENTS_FOLDER =
"seam.project.web.root.folder";
+ public static final String SEAM_EJB_PROJECT = "seam.ejb.project";
+
+ public static final String SEAM_TEST_PROJECT = "seam.test.project";
+
+ public static final String SEAM_EAR_PROJECT = "seam.ear.project";
+
+ public static final String DEPLOY_AS_WAR = "war";
+
+ public static final String DEPLOY_AS_EAR = "ear";
}
Modified:
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/project/facet/SeamFacetInstallDataModelProvider.java
===================================================================
---
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/project/facet/SeamFacetInstallDataModelProvider.java 2007-09-12
09:59:14 UTC (rev 3578)
+++
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/project/facet/SeamFacetInstallDataModelProvider.java 2007-09-12
09:59:21 UTC (rev 3579)
@@ -77,7 +77,10 @@
names.add(ISeamFacetDataModelProperties.WEB_CONTENTS_FOLDER);
names.add(ISeamFacetDataModelProperties.SEAM_PROJECT_NAME);
names.add(ISeamFacetDataModelProperties.SEAM_CONNECTION_PROFILE);
-
+ names.add(ISeamFacetDataModelProperties.SEAM_EAR_PROJECT);
+ names.add(ISeamFacetDataModelProperties.SEAM_EJB_PROJECT);
+ names.add(ISeamFacetDataModelProperties.SEAM_TEST_PROJECT);
+ names.add(ISeamFacetDataModelProperties.SEAM_RUNTIME_NAME);
return names;
}
Modified:
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/project/facet/SeamFacetInstallDelegete.java
===================================================================
---
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/project/facet/SeamFacetInstallDelegete.java 2007-09-12
09:59:14 UTC (rev 3578)
+++
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/project/facet/SeamFacetInstallDelegete.java 2007-09-12
09:59:21 UTC (rev 3579)
@@ -209,7 +209,9 @@
final IVirtualFolder srcRootFolder = com.getRootFolder().getFolder(new
Path("/WEB-INF/classes"));
IContainer folder = webRootFolder.getUnderlyingFolder();
edit.dispose();
+
model.setProperty(ISeamFacetDataModelProperties.SEAM_PROJECT_NAME, project.getName());
+ model.setProperty(ISeamFacetDataModelProperties.SEAM_TEST_PROJECT,
project.getName()+"-test");
final File webContentFolder = folder.getLocation().toFile();
final File webInfFolder = new File(webContentFolder,"WEB-INF");
@@ -219,7 +221,7 @@
final File webLibFolder = new File(webContentFolder,WEB_LIBRARIES_RELATED_PATH);
final File srcFolder = srcRootFolder.getUnderlyingFolder().getLocation().toFile();
final File webMetaInf = new File(webContentFolder, "META-INF");
- final SeamRuntime selectedRuntime =
SeamRuntimeManager.getInstance().findRuntimeByName(model.getProperty(ISeamFacetDataModelProperties.JBOSS_SEAM_HOME).toString());
+ final SeamRuntime selectedRuntime =
SeamRuntimeManager.getInstance().findRuntimeByName(model.getProperty(ISeamFacetDataModelProperties.SEAM_RUNTIME_NAME).toString());
final String seamHomePath = selectedRuntime.getHomeDir();
@@ -303,9 +305,9 @@
//
********************************************************************************************
AntCopyUtils.copyFileToFolder(new File(seamGenResFolder,"seam.properties"),
srcFolder, true);
- WtpUtils.createSourceFolder(project, new Path("src/test"),new
Path("src"));
- WtpUtils.createSourceFolder(project, new Path("src/action"),new
Path("src"));
- WtpUtils.createSourceFolder(project, new Path("src/model"),new
Path("src"));
+// WtpUtils.createSourceFolder(project, new Path("src/test"),new
Path("src"));
+// WtpUtils.createSourceFolder(project, new Path("src/action"),new
Path("src"));
+// WtpUtils.createSourceFolder(project, new Path("src/model"),new
Path("src"));
// Copy sources to src
AntCopyUtils.copyFileToFile(
new File(seamGenHomeFolder,"src/Authenticator.java"),
@@ -396,6 +398,8 @@
create.schedule();
} else {
+ model.setProperty(ISeamFacetDataModelProperties.SEAM_EJB_PROJECT,
project.getName()+"-ejb");
+ model.setProperty(ISeamFacetDataModelProperties.SEAM_EAR_PROJECT,
project.getName()+"-ear");
// In case of EAR configuration
AntCopyUtils.copyFiles(seamHomeFolder,webLibFolder,new
AntCopyUtils.FileSetFileFilter(new
AntCopyUtils.FileSet(JBOSS_WAR_LIB_FILESET_EAR_CONFIG).dir(seamHomeFolder)));
@@ -516,6 +520,11 @@
create.setRule(ResourcesPlugin.getWorkspace().getRoot());
create.schedule();
}
+ Job createTest = new CreateTestProject(model,project,selectedRuntime);
+ createTest.setUser(true);
+ createTest.setRule(ResourcesPlugin.getWorkspace().getRoot());
+ createTest.schedule();
+
ClasspathHelper.addClasspathEntries(project, fv);
EclipseResourceUtil.addNatureToProject(project, ISeamProject.NATURE_ID);
@@ -530,7 +539,9 @@
public class CreateTestProject extends Job {
IDataModel model = null;
+
IProject seamWebProject = null;
+
SeamRuntime seamRuntime = null;
/**
@@ -550,12 +561,26 @@
protected IStatus run(IProgressMonitor monitor) {
String projectName =
model.getProperty(ISeamFacetDataModelProperties.SEAM_PROJECT_NAME).toString();
IProject test = WtpUtils.createEclipseProject(projectName+"-test",
monitor);
- File testProjectDir = seamWebProject.getLocation().toFile();
+ File testProjectDir = test.getLocation().toFile();
+ File seamProjectDir = seamWebProject.getLocation().toFile();
File testLibDir = new File(testProjectDir,"lib");
File embededEjbDir = new File(testProjectDir,"embedded-ejb");
FilterSet filterSet = new FilterSet();
filterSet.addFilter("projectName", projectName);
filterSet.addFilter("runtimeName",
WtpUtils.getServerRuntimeName(seamWebProject));
+
+ AntCopyUtils.FileSet includeLibs
+ = new AntCopyUtils.FileSet(JBOSS_TEST_LIB_FILESET)
+ .dir(new File(seamRuntime.getHomeDir(),"lib"));
+ File[] libs = includeLibs.getDir().listFiles(new
AntCopyUtils.FileSetFileFilter(includeLibs));
+ StringBuffer testLibraries = new StringBuffer();
+
+ for (File file : libs) {
+ testLibraries.append("\t<classpathentry kind=\"lib\"
path=\"lib/" + file.getName() + "\"/>\n");
+ }
+
+ filterSet.addFilter("testLibraries",testLibraries.toString());
+
File testTemplateDir = null;
try {
testTemplateDir = new
File(SeamFacetInstallDataModelProvider.getTemplatesFolder(),"test");
@@ -563,7 +588,8 @@
SeamCorePlugin.getPluginLog().logError(e);
return new
Status(IStatus.ERROR,SeamCorePlugin.PLUGIN_ID,e.getMessage()+"");
}
- AntCopyUtils.FileSet excludeCvsSvn = new
AntCopyUtils.FileSet(CVS_SVN).dir(testTemplateDir);
+ AntCopyUtils.FileSet excludeCvsSvn
+ = new AntCopyUtils.FileSet(CVS_SVN).dir(testTemplateDir);
AntCopyUtils.copyFilesAndFolders(
testTemplateDir,
@@ -571,10 +597,23 @@
new AntCopyUtils.FileSetFileFilter(excludeCvsSvn),
new FilterSetCollection(filterSet), true);
- AntCopyUtils.FileSet includeLibs = new
AntCopyUtils.FileSet(CVS_SVN).dir(testTemplateDir);
+ excludeCvsSvn.dir(new File(seamRuntime.getHomeDir(),"embedded-ejb/conf"));
+ AntCopyUtils.copyFiles(
+ new File(seamRuntime.getHomeDir(),"embedded-ejb/conf"),
+ embededEjbDir,
+ new AntCopyUtils.FileSetFileFilter(excludeCvsSvn));
+
+ AntCopyUtils.copyFiles(
+ new File(seamRuntime.getHomeDir(),"lib"),
+ testLibDir,
+ new AntCopyUtils.FileSetFileFilter(includeLibs));
+ try {
+ test.refreshLocal(IResource.DEPTH_INFINITE, monitor);
+ } catch (CoreException e) {
+ SeamCorePlugin.getPluginLog().logError(e);
+ }
return Status.OK_STATUS;
}
-
}
}
Modified:
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/project/facet/SeamFacetPostInstallDelegate.java
===================================================================
---
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/project/facet/SeamFacetPostInstallDelegate.java 2007-09-12
09:59:14 UTC (rev 3578)
+++
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/project/facet/SeamFacetPostInstallDelegate.java 2007-09-12
09:59:21 UTC (rev 3579)
@@ -40,7 +40,7 @@
*
*/
public class SeamFacetPostInstallDelegate implements
- IDelegate {
+ IDelegate, ISeamFacetDataModelProperties{
/* (non-Javadoc)
* @see
org.eclipse.wst.common.project.facet.core.IDelegate#execute(org.eclipse.core.resources.IProject,
org.eclipse.wst.common.project.facet.core.IProjectFacetVersion, java.lang.Object,
org.eclipse.core.runtime.IProgressMonitor)
@@ -49,15 +49,43 @@
Object config, IProgressMonitor monitor) throws CoreException {
IEclipsePreferences prefs = SeamCorePlugin.getSeamFacetPreferences(project);
final IDataModel model = (IDataModel)config;
- for (Object propertyName : model.getAllProperties()) {
- Object value = model.getProperty(propertyName.toString());
- prefs.put(propertyName.toString(), value==null?"":value.toString());
+
+ prefs.put(JBOSS_AS_DEPLOY_AS, model.getProperty(JBOSS_AS_DEPLOY_AS).toString());
+
+ prefs.put(SEAM_RUNTIME_NAME, model.getProperty(SEAM_RUNTIME_NAME).toString());
+
+ prefs.put(SEAM_CONNECTION_PROFILE,model.getProperty(SEAM_CONNECTION_PROFILE).toString());
+
+ prefs.put(SESION_BEAN_PACKAGE_NAME,
model.getProperty(SESION_BEAN_PACKAGE_NAME).toString());
+
+ prefs.put(ENTITY_BEAN_PACKAGE_NAME,
model.getProperty(ENTITY_BEAN_PACKAGE_NAME).toString());
+
+ prefs.put(TEST_CASES_PACKAGE_NAME,
model.getProperty(TEST_CASES_PACKAGE_NAME).toString());
+
+ prefs.put(SEAM_TEST_PROJECT,
+ model.getProperty(SEAM_TEST_PROJECT)==null?
+ "":model.getProperty(SEAM_TEST_PROJECT).toString());
+
+ if(DEPLOY_AS_EAR.equals(model.getProperty(JBOSS_AS_DEPLOY_AS))) {
+ prefs.put(SEAM_EJB_PROJECT,
+ model.getProperty(SEAM_EJB_PROJECT)==null?
+ "":model.getProperty(SEAM_EJB_PROJECT).toString());
+
+ prefs.put(SEAM_EAR_PROJECT,
+ model.getProperty(SEAM_EAR_PROJECT)==null?
+ "":model.getProperty(SEAM_EAR_PROJECT).toString());
}
+
try {
prefs.flush();
} catch (BackingStoreException e) {
SeamCorePlugin.getPluginLog().logError(e);
}
-
}
+
+ /**
+ * @see org.eclipse.wst.common.project.facet.core.IActionConfigFactory#create()
+ */
+ public Object create() throws CoreException {return null; }
+
}
Added: trunk/seam/plugins/org.jboss.tools.seam.core/templates/test/.project
===================================================================
--- trunk/seam/plugins/org.jboss.tools.seam.core/templates/test/.project
(rev 0)
+++ trunk/seam/plugins/org.jboss.tools.seam.core/templates/test/.project 2007-09-12
09:59:21 UTC (rev 3579)
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>lamp-test</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.jboss.ide.eclipse.archives.core.archivesBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.jboss.ide.eclipse.archives.core.archivesNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
Property changes on: trunk/seam/plugins/org.jboss.tools.seam.core/templates/test/.project
___________________________________________________________________
Name: svn:mime-type
+ text/plain