Author: dgolovin
Date: 2007-09-26 05:43:01 -0400 (Wed, 26 Sep 2007)
New Revision: 3805
Modified:
trunk/seam/plugins/org.jboss.tools.seam.core/META-INF/MANIFEST.MF
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/core/J2EEProjects.java
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/core/project/facet/SeamRuntime.java
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/core/project/facet/SeamRuntimeManager.java
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/project/facet/SeamFacetInstallDelegete.java
Log:
http://jira.jboss.com/jira/browse/JBIDE-769
Domain and Generic exporters added based on seam-ge generate-entities ant atrget
http://jira.jboss.com/jira/browse/JBIDE-846
src/action
src/model
added for war config
Modified: trunk/seam/plugins/org.jboss.tools.seam.core/META-INF/MANIFEST.MF
===================================================================
--- trunk/seam/plugins/org.jboss.tools.seam.core/META-INF/MANIFEST.MF 2007-09-26 09:14:13
UTC (rev 3804)
+++ trunk/seam/plugins/org.jboss.tools.seam.core/META-INF/MANIFEST.MF 2007-09-26 09:43:01
UTC (rev 3805)
@@ -38,7 +38,8 @@
org.eclipse.wst.server.core,
org.eclipse.jpt.core,
org.eclipse.jpt.ui,
- org.eclipse.core.filesystem
+ org.eclipse.core.filesystem,
+ org.eclipse.jst.j2ee.ejb
Provide-Package: org.jboss.tools.seam.core,
org.jboss.tools.seam.internal.core,
org.jboss.tools.seam.internal.core.scanner,
Modified:
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/core/J2EEProjects.java
===================================================================
---
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/core/J2EEProjects.java 2007-09-26
09:14:13 UTC (rev 3804)
+++
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/core/J2EEProjects.java 2007-09-26
09:43:01 UTC (rev 3805)
@@ -13,15 +13,24 @@
import java.util.ArrayList;
import java.util.List;
+import org.eclipse.core.resources.IContainer;
import org.eclipse.core.resources.IFolder;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.ProjectScope;
import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.core.runtime.preferences.IEclipsePreferences;
+import org.eclipse.core.runtime.preferences.IScopeContext;
+import org.eclipse.jst.j2ee.ejb.componentcore.util.EJBArtifactEdit;
import org.eclipse.jst.j2ee.internal.project.J2EEProjectUtilities;
import org.eclipse.wst.common.componentcore.ComponentCore;
import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
+import org.eclipse.wst.common.componentcore.resources.IVirtualFolder;
import org.eclipse.wst.common.componentcore.resources.IVirtualReference;
import org.jboss.tools.common.model.util.EclipseResourceUtil;
+import org.jboss.tools.seam.core.project.facet.SeamFacetPreference;
+import org.jboss.tools.seam.internal.core.project.facet.ISeamFacetDataModelProperties;
/**
* Helper class that collects related J2EE projects for
@@ -43,111 +52,167 @@
*/
public class J2EEProjects {
IProject ear;
- List<IProject> wars = new ArrayList<IProject>();
- List<IProject> ejbs = new ArrayList<IProject>();
+ IProject war;
+ IProject ejb;
+ IProject test;
+ IEclipsePreferences prefs;
/**
- * Returns instance of J2EEProjects
- * if parameter project is a J2EE project,
- * otherwise null is returned.
- * If parameter project is EAR, referenced projects
- * are used to fill lists 'wars' and ears'
- * If parameter project is WAR or EJB and has referencing EAR,
- * then that EAR project is considered as current project,
- * otherwise referenced EJB projects are put to 'ears' list.
* @param project
* @return
*/
public static J2EEProjects create(IProject project) {
- boolean isWar = J2EEProjectUtilities.isDynamicWebProject(project);
- boolean isEar = J2EEProjectUtilities.isEARProject(project);
- boolean isEJB = J2EEProjectUtilities.isEJBProject(project);
- if(!isEar && !isEJB && !isWar) return null;
return new J2EEProjects(project);
}
private J2EEProjects(IProject project) {
- if(J2EEProjectUtilities.isDynamicWebProject(project)) {
- wars.add(project);
- } else if(J2EEProjectUtilities.isEARProject(project)) {
- ear = project;
- } else if(J2EEProjectUtilities.isEJBProject(project)) {
- ejbs.add(project);
+
+ IScopeContext projectScope = new ProjectScope(project);
+ prefs = projectScope.getNode(SeamCorePlugin.PLUGIN_ID);
+
+ war = project;
+
+ String earName = prefs.get(
+ ISeamFacetDataModelProperties.SEAM_EAR_PROJECT,project.getName()+"-ear");
+ if(earName!=null && !"".equals(earName.trim())) {
+ ear = (IProject)project.getWorkspace().getRoot().findMember(earName);
}
- if(ear == null) {
- IProject[] ps = J2EEProjectUtilities.getReferencingEARProjects(project);
- if(ps != null && ps.length > 0) ear = ps[0];
+ String ejbName = prefs.get(
+ ISeamFacetDataModelProperties.SEAM_EJB_PROJECT,project.getName()+"-ejb");
+ if(ejbName!=null && !"".equals(ejbName.trim())) {
+ ejb = (IProject)project.getWorkspace().getRoot().findMember(ejbName);
}
- if(ear != null || wars.size() > 0) {
- IProject seed = (ear != null) ? ear : project;
- IVirtualComponent component = ComponentCore.createComponent(seed);
- IVirtualReference[] rs = component.getReferences();
- for (int i = 0; i < rs.length; i++) {
- IVirtualComponent c = rs[i].getReferencedComponent();
- if(c == null) continue;
- IProject p = c.getProject();
- if(J2EEProjectUtilities.isDynamicWebProject(p)) {
- if(!wars.contains(p)) wars.add(p);
- } else if(J2EEProjectUtilities.isEJBProject(project)) {
- if(!ejbs.contains(p)) ejbs.add(p);
- }
- }
+ String testName = prefs.get(
+ ISeamFacetDataModelProperties.SEAM_TEST_PROJECT,project.getName()+"test");
+ if(testName!=null && !"".equals(testName)) {
+ test = (IProject)project.getWorkspace().getRoot().findMember(testName);
}
}
+ public boolean isWarConfiguration() {
+ return prefs.get(
+ ISeamFacetDataModelProperties.JBOSS_AS_DEPLOY_AS,
+ ISeamFacetDataModelProperties.DEPLOY_AS_WAR)
+ .equals(ISeamFacetDataModelProperties.DEPLOY_AS_WAR);
+ }
+
/**
+ * Returns list of WAR projects.
+ * @return
+ */
+ public IProject getWarProject() {
+ return war;
+ }
+
+ /**
* Returns EAR project or null, if WAR project is not used by EAR.
* @return
*/
- public IProject getEARProject() {
+ public IProject getEarProject() {
return ear;
}
-
+
/**
- * Returns Content folder of EAR project or null
- * if EAR is not available.
+ * Returns list of EJB projects.
* @return
- */
- public IFolder getEARContentFolder() {
- if(ear == null) return null;
- IVirtualComponent component = ComponentCore.createComponent(ear);
- IPath path = component.getRootFolder().getProjectRelativePath();
- return path == null ? null : ear.getFolder(path);
+ */
+ public IProject getEJBProject() {
+ return ejb;
}
/**
- * Returns list of WAR projects.
+ * Returns list of EJB projects.
* @return
*/
- public List<IProject> getWARProjects() {
- return wars;
+ public IProject getTestProject() {
+ return test;
}
-
+
/**
+ * Returns Content folder of EAR project or null
+ * if EAR is not available.
+ * @return
+ */
+ public IFolder getActionsFolder() {
+ IFolder actionsFolder = null;
+ if(isWarConfiguration()) {
+ IVirtualComponent com = ComponentCore.createComponent(war);
+ IVirtualFolder webRootFolder = com.getRootFolder().getFolder(new
Path("/"));
+ final IVirtualFolder srcRootFolder = com.getRootFolder().getFolder(new
Path("/WEB-INF/classes"));
+ IContainer[] folder = webRootFolder.getUnderlyingFolders();
+ if(folder.length==1) {
+ actionsFolder = (IFolder)folder[0];
+ } else if(folder.length>1) {
+ IContainer parent = folder[0].getParent();
+ IResource actions = parent.findMember("actions");
+ if(actions!=null && actions instanceof IFolder) {
+ actionsFolder = (IFolder)actions;
+ } else {
+ actionsFolder = (IFolder)folder[0];
+ }
+ }
+ } else {
+ IVirtualComponent com = ComponentCore.createComponent(ejb);
+ IVirtualFolder ejbRootFolder = com.getRootFolder().getFolder(new
Path("/"));
+ actionsFolder = (IFolder)ejbRootFolder.getUnderlyingFolder();
+ }
+ return actionsFolder;
+ }
+
+ /**
* Returns Content folder for first found WAR project.
* @return
*/
- public IFolder getWARContentFolder() {
- if(wars.size() == 0) return null;
- IVirtualComponent component = ComponentCore.createComponent(wars.get(0));
- IPath path = component.getRootFolder().getProjectRelativePath();
- return path == null ? null : wars.get(0).getFolder(path);
+ public IFolder getBeansFolder() {
+ IFolder actionsFolder = null;
+ if(isWarConfiguration()) {
+ IVirtualComponent com = ComponentCore.createComponent(war);
+ final IVirtualFolder srcRootFolder = com.getRootFolder().getFolder(new
Path("/WEB-INF/classes"));
+ IContainer[] folder = srcRootFolder.getUnderlyingFolders();
+ if(folder.length==1) {
+ actionsFolder = (IFolder)folder[0];
+ } else if(folder.length>1) {
+ IContainer parent = folder[0].getParent();
+ IResource actions = parent.findMember("model");
+ if(actions!=null && actions instanceof IFolder) {
+ actionsFolder = (IFolder)actions;
+ } else {
+ actionsFolder = (IFolder)folder[0];
+ }
+ }
+ } else {
+ IVirtualComponent com = ComponentCore.createComponent(ejb);
+ IVirtualFolder ejbRootFolder = com.getRootFolder().getFolder(new
Path("/"));
+ actionsFolder = (IFolder)ejbRootFolder.getUnderlyingFolder();
+ }
+ return actionsFolder;
}
/**
- * Returns list of EJB projects.
+ * Returns source roots for first found EJB project.
* @return
*/
- public List<IProject> getEJBProjects() {
- return ejbs;
+ public IFolder getViewsFolder() {
+ IVirtualComponent com = ComponentCore.createComponent(war);
+ IVirtualFolder webRootFolder = com.getRootFolder().getFolder(new Path("/"));
+ return (IFolder)webRootFolder.getUnderlyingFolder();
}
-
+
/**
* Returns source roots for first found EJB project.
* @return
*/
- public IResource[] getEJBSourceRoots() {
- return ejbs.size() == 0 ? new IResource[0] :
EclipseResourceUtil.getJavaSourceRoots(ejbs.get(0));
+ public IFolder getTestsFolder() {
+ IResource testRes = test.findMember("test-src");
+ IFolder testFolder = null;
+ if(testRes instanceof IFolder) {
+ testFolder = (IFolder)testRes;
+ }
+ return testFolder;
}
+ public String getEntityPackage(){
+ return prefs.get(ISeamFacetDataModelProperties.ENTITY_BEAN_PACKAGE_NAME,
"entity");
+ }
+
}
Modified:
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/core/project/facet/SeamRuntime.java
===================================================================
---
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/core/project/facet/SeamRuntime.java 2007-09-26
09:14:13 UTC (rev 3804)
+++
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/core/project/facet/SeamRuntime.java 2007-09-26
09:43:01 UTC (rev 3805)
@@ -104,4 +104,16 @@
public boolean isDefault() {
return defaultRt;
}
+
+ public String getSeamGenDir() {
+ return getHomeDir()+"/seam-gen";
+ }
+
+ public String getSrcTemplatesDir() {
+ return getSeamGenDir()+"/src";
+ }
+
+ public String getViewTemplatesDir() {
+ return getSeamGenDir()+"/view";
+ }
}
Modified:
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/core/project/facet/SeamRuntimeManager.java
===================================================================
---
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/core/project/facet/SeamRuntimeManager.java 2007-09-26
09:14:13 UTC (rev 3804)
+++
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/core/project/facet/SeamRuntimeManager.java 2007-09-26
09:43:01 UTC (rev 3805)
@@ -88,6 +88,10 @@
* @param runtime
*/
public void addRuntime(SeamRuntime runtime) {
+ if(runtimes.size()==0) {
+ runtime.setDefault(true);
+ }
+
if(getDefaultRuntime()!=null && runtime.isDefault()) {
getDefaultRuntime().setDefault(false);
}
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-26
09:14:13 UTC (rev 3804)
+++
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/project/facet/SeamFacetInstallDelegete.java 2007-09-26
09:43:01 UTC (rev 3805)
@@ -30,6 +30,7 @@
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.Path;
+import org.eclipse.core.runtime.Platform;
import org.eclipse.core.runtime.jobs.Job;
import org.eclipse.core.runtime.preferences.IEclipsePreferences;
import org.eclipse.core.runtime.preferences.IScopeContext;
@@ -193,6 +194,10 @@
.include("seam\\.properties")
.include("messages_en\\.properties");
+ public static AntCopyUtils.FileSet JBOOS_EJB_WEB_INF_CLASSES_SET = new
AntCopyUtils.FileSet()
+ .include("import\\.sql")
+ .include("seam\\.properties");
+
public static AntCopyUtils.FileSet JBOSS_EAR_META_INF_SET = new AntCopyUtils.FileSet()
.include("META-INF/jboss-app\\.xml");
@@ -207,12 +212,10 @@
final IDataModel model = (IDataModel)config;
// get WebContents folder path from DWP model
- WebArtifactEdit edit = WebArtifactEdit.getWebArtifactEditForRead(project);
IVirtualComponent com = ComponentCore.createComponent(project);
IVirtualFolder webRootFolder = com.getRootFolder().getFolder(new Path("/"));
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");
@@ -223,7 +226,7 @@
final File webInfClassesMetaInf = new File(webInfClasses, "META-INF");
webInfClassesMetaInf.mkdirs();
final File webLibFolder = new File(webContentFolder,WEB_LIBRARIES_RELATED_PATH);
- final File srcFolder = srcRootFolder.getUnderlyingFolder().getLocation().toFile();
+ final File srcFolder = isWarConfiguration(model)?new
File(srcRootFolder.getUnderlyingFolder().getLocation().toFile(),"model"):srcRootFolder.getUnderlyingFolder().getLocation().toFile();
final File webMetaInf = new File(webContentFolder, "META-INF");
final SeamRuntime selectedRuntime =
SeamRuntimeManager.getInstance().findRuntimeByName(model.getProperty(ISeamFacetDataModelProperties.SEAM_RUNTIME_NAME).toString());
@@ -232,6 +235,8 @@
final File seamHomeFolder = new File(seamHomePath);
final File seamLibFolder = new File(seamHomePath,SEAM_LIB_RELATED_PATH);
final File seamGenResFolder = new File(seamHomePath,"seam-gen/resources");
+ final File seamGenResMetainfFolder = new File(seamGenResFolder,"META-INF");
+
final File droolsLibFolder = new File(seamHomePath,DROOLS_LIB_SEAM_RELATED_PATH);
final File seamGenHomeFolder = new File(seamHomePath,"seam-gen");
final File seamGenViewSource = new File(seamGenHomeFolder,"view");
@@ -244,7 +249,7 @@
final File persistenceFile = new
File(seamGenResFolder,"META-INF/persistence-" +
(isWarConfiguration(model)?DEV_WAR_PROFILE:DEV_EAR_PROFILE) + ".xml");
final File applicationFile = new
File(seamGenResFolder,"META-INF/application.xml");
-
+
final FilterSet jdbcFilterSet = SeamFacetFilterSetFactory.createJdbcFilterSet(model);
final FilterSet projectFilterSet =
SeamFacetFilterSetFactory.createProjectFilterSet(model);
final FilterSet filtersFilterSet =
SeamFacetFilterSetFactory.createFiltersFilterSet(model);
@@ -277,23 +282,26 @@
AntCopyUtils.copyFilesAndFolders(
seamGenResFolder,webContentFolder,new AntCopyUtils.FileSetFileFilter(webInfSet),
viewFilterSetCollection, true);
- AntCopyUtils.FileSet webInfClassesSet = new
AntCopyUtils.FileSet(JBOOS_WAR_WEB_INF_CLASSES_SET).dir(seamGenResFolder);
- AntCopyUtils.copyFilesAndFolders(
- seamGenResFolder,srcFolder,new AntCopyUtils.FileSetFileFilter(webInfClassesSet),
viewFilterSetCollection, true);
final FilterSetCollection hibernateDialectFilterSet = new FilterSetCollection();
hibernateDialectFilterSet.addFilterSet(jdbcFilterSet);
hibernateDialectFilterSet.addFilterSet(projectFilterSet);
hibernateDialectFilterSet.addFilterSet(SeamFacetFilterSetFactory.createHibernateDialectFilterSet(model));
- createComponentsProperties(srcFolder,
isWarConfiguration(model)?"":project.getName()+"-ear", false);
+
createTestProject(model,project,selectedRuntime);
//
********************************************************************************************
// Handle WAR/EAR configurations
//
********************************************************************************************
if(isWarConfiguration(model)) {
+
+ AntCopyUtils.FileSet webInfClassesSet = new
AntCopyUtils.FileSet(JBOOS_WAR_WEB_INF_CLASSES_SET).dir(seamGenResFolder);
+ AntCopyUtils.copyFilesAndFolders(
+ seamGenResFolder,srcFolder,new AntCopyUtils.FileSetFileFilter(webInfClassesSet),
viewFilterSetCollection, true);
+ createComponentsProperties(srcFolder,
isWarConfiguration(model)?"":project.getName()+"-ear", false);
+
AntCopyUtils.copyFileToFolder(
hibernateConsolePref,
new File(project.getLocation().toFile(),".settings"),
@@ -310,22 +318,20 @@
//
********************************************************************************************
AntCopyUtils.copyFileToFolder(new File(seamGenResFolder,"seam.properties"),
srcFolder, true);
+ IContainer source = srcRootFolder.getUnderlyingFolder();
+ WtpUtils.createSourceFolder(project, new
Path(source.getFullPath().lastSegment()+"/action"),new
Path(source.getFullPath().lastSegment()));
+ WtpUtils.createSourceFolder(project, new
Path(source.getFullPath().lastSegment()+"/model"),new
Path(source.getFullPath().lastSegment()));
-// 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"),
- new File(project.getLocation().toFile(),"src/" +
model.getProperty(ISeamFacetDataModelProperties.SESION_BEAN_PACKAGE_NAME).toString().replace('.',
'/')+"/"+"Authenticator.java"),
+ new File(seamGenHomeFolder,"src/modelAuthenticator.java"),
+ new
File(project.getLocation().toFile(),source.getFullPath().lastSegment()+"/model/"
+
model.getProperty(ISeamFacetDataModelProperties.SESION_BEAN_PACKAGE_NAME).toString().replace('.',
'/')+"/"+"Authenticator.java"),
new FilterSetCollection(filtersFilterSet), true);
AntCopyUtils.copyFileToFile(
persistenceFile,
- new File(project.getLocation().toFile(),"src/META-INF/persistence.xml"),
+ new File(srcFolder,"META-INF/persistence.xml"),
viewFilterSetCollection, true);
AntCopyUtils.copyFileToFile(
@@ -361,8 +367,8 @@
AntCopyUtils.copyFiles(seamHomeFolder,webLibFolder,new
AntCopyUtils.FileSetFileFilter(new
AntCopyUtils.FileSet(JBOSS_WAR_LIB_FILESET_EAR_CONFIG).dir(seamHomeFolder)));
AntCopyUtils.copyFiles(seamLibFolder,webLibFolder,new
AntCopyUtils.FileSetFileFilter(new
AntCopyUtils.FileSet(JBOSS_WAR_LIB_FILESET_EAR_CONFIG).dir(seamLibFolder)));
AntCopyUtils.copyFiles(droolsLibFolder,webLibFolder,new
AntCopyUtils.FileSetFileFilter(new
AntCopyUtils.FileSet(JBOSS_WAR_LIB_FILESET_EAR_CONFIG).dir(droolsLibFolder)));
+ AntCopyUtils.copyFileToFolder(new
File(seamGenResFolder,"messages_en.properties"),srcFolder, true);
-
File ear = new
File(project.getLocation().removeLastSegments(1).toFile(),model.getProperty(ISeamFacetDataModelProperties.SEAM_PROJECT_NAME)+"-ear");
File ejb = new
File(project.getLocation().removeLastSegments(1).toFile(),model.getProperty(ISeamFacetDataModelProperties.SEAM_PROJECT_NAME)+"-ejb");
ear.mkdir();
@@ -396,6 +402,14 @@
persistenceFile,
new File(ejb,"ejbModule/META-INF/persistence.xml"),
viewFilterSetCollection, true);
+
+ createComponentsProperties(new File(ejb,"ejbModule"),
isWarConfiguration(model)?"":project.getName()+"-ear", false);
+
+ AntCopyUtils.FileSet ejbSrcResourcesSet = new
AntCopyUtils.FileSet(JBOOS_EJB_WEB_INF_CLASSES_SET).dir(seamGenResFolder);
+ AntCopyUtils.copyFilesAndFolders(
+ seamGenResFolder,new File(ejb,"ejbModule"),new
AntCopyUtils.FileSetFileFilter(ejbSrcResourcesSet), viewFilterSetCollection, true);
+
+
//
********************************************************************************************
// Copy seam project indicator
//
********************************************************************************************
@@ -430,13 +444,15 @@
hibernateDialectFilterSet, true);
File earContentsFolder = new File(ear,"EarContent");
-
- AntCopyUtils.copyFilesAndFolders(
- seamGenResFolder,
- earContentsFolder,
- new AntCopyUtils.FileSetFileFilter(new
AntCopyUtils.FileSet(JBOSS_EAR_META_INF_SET).dir(seamGenResFolder)),
- viewFilterSetCollection,true);
+ FilterSet earFilterSet = new FilterSet();
+ earFilterSet.addFilter("projectName",ear.getName()+".ear");
+
+ AntCopyUtils.copyFileToFolder(
+ new File(seamGenResFolder,"META-INF/jboss-app.xml"),
+ new File(earContentsFolder,"META-INF"),
+ new FilterSetCollection(earFilterSet),true);
+
// Copy configuration files from template
AntCopyUtils.copyFilesAndFolders(
new File(SeamFacetInstallDataModelProvider.getTemplatesFolder(),"ear"),