[jbosstools-commits] JBoss Tools SVN: r40887 - in trunk/seam: tests/org.jboss.tools.seam.base.test/src/org/jboss/tools/seam/core/test/project/facet and 3 other directories.

jbosstools-commits at lists.jboss.org jbosstools-commits at lists.jboss.org
Wed May 9 15:59:02 EDT 2012


Author: akazakov
Date: 2012-05-09 15:59:01 -0400 (Wed, 09 May 2012)
New Revision: 40887

Added:
   trunk/seam/tests/org.jboss.tools.seam.base.test/src/org/jboss/tools/seam/core/test/project/facet/AbstractSeam2FacetInstallDelegateTest.java
   trunk/seam/tests/org.jboss.tools.seam.base.test/src/org/jboss/tools/seam/core/test/project/facet/Seam2FacetInstallDelegateTest.java
Removed:
   trunk/seam/tests/org.jboss.tools.seam.base.test/src/org/jboss/tools/seam/core/test/project/facet/Seam2FacetInstallDelegateTest.java
Modified:
   trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/project/facet/Seam23FacetInstallDelegate.java
   trunk/seam/tests/org.jboss.tools.seam.base.test/src/org/jboss/tools/seam/core/test/project/facet/AbstractSeamFacetTest.java
   trunk/seam/tests/org.jboss.tools.seam.base.test/src/org/jboss/tools/seam/core/test/project/facet/Seam20XFacetTestSuite201GA.java
   trunk/seam/tests/org.jboss.tools.seam201GA.core.test/src/org/jboss/tools/seam/core/test/project/facet/Seam20XFacetTestSuite201GA.java
   trunk/seam/tests/org.jboss.tools.seam230.core.test/META-INF/MANIFEST.MF
   trunk/seam/tests/org.jboss.tools.seam230.core.test/src/org/jboss/tools/seam/core/test/project/facet/Seam230FacetInstallDelegateTest.java
Log:
https://issues.jboss.org/browse/JBIDE-11490 tests for Seam 2.3

Modified: trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/project/facet/Seam23FacetInstallDelegate.java
===================================================================
--- trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/project/facet/Seam23FacetInstallDelegate.java	2012-05-09 19:35:57 UTC (rev 40886)
+++ trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/project/facet/Seam23FacetInstallDelegate.java	2012-05-09 19:59:01 UTC (rev 40887)
@@ -107,18 +107,30 @@
 
 	public static AntCopyUtils.FileSet getEarLibFileSet(IDataModel model) {
 		SeamRuntime runtime = getSeamRuntime(model);
+		return getEarLibFileSet(runtime);
+	}
+
+	public static AntCopyUtils.FileSet getWarLibFileSet(IDataModel model) {
+		SeamRuntime runtime = getSeamRuntime(model);
+		return getWarLibFileSet(runtime);
+	}
+
+	public static AntCopyUtils.FileSet getWarLibFileSetForEar(IDataModel model) {
+		SeamRuntime runtime = getSeamRuntime(model);
+		return getWarLibFileSetForEar(runtime);
+	}
+
+	public static AntCopyUtils.FileSet getEarLibFileSet(SeamRuntime runtime) {
 		String path = runtime.getDeployedJarsEarListFile();
 		return getFileSetOfJars(path);
 	}
 
-	public static AntCopyUtils.FileSet getWarLibFileSet(IDataModel model) {
-		SeamRuntime runtime = getSeamRuntime(model);
+	public static AntCopyUtils.FileSet getWarLibFileSet(SeamRuntime runtime) {
 		String path = runtime.getDeployedJarsWarListFile();
 		return getFileSetOfJars(path);
 	}
 
-	public static AntCopyUtils.FileSet getWarLibFileSetForEar(IDataModel model) {
-		SeamRuntime runtime = getSeamRuntime(model);
+	public static AntCopyUtils.FileSet getWarLibFileSetForEar(SeamRuntime runtime) {
 		String path = runtime.getDeployedJarsEarWarListFile();
 		return getFileSetOfJars(path);
 	}

Copied: trunk/seam/tests/org.jboss.tools.seam.base.test/src/org/jboss/tools/seam/core/test/project/facet/AbstractSeam2FacetInstallDelegateTest.java (from rev 40854, trunk/seam/tests/org.jboss.tools.seam.base.test/src/org/jboss/tools/seam/core/test/project/facet/Seam2FacetInstallDelegateTest.java)
===================================================================
--- trunk/seam/tests/org.jboss.tools.seam.base.test/src/org/jboss/tools/seam/core/test/project/facet/AbstractSeam2FacetInstallDelegateTest.java	                        (rev 0)
+++ trunk/seam/tests/org.jboss.tools.seam.base.test/src/org/jboss/tools/seam/core/test/project/facet/AbstractSeam2FacetInstallDelegateTest.java	2012-05-09 19:59:01 UTC (rev 40887)
@@ -0,0 +1,586 @@
+/******************************************************************************* 
+ * Copyright (c) 2007 Red Hat, Inc. 
+ * Distributed under license by Red Hat, Inc. All rights reserved. 
+ * This program is made available under the terms of the 
+ * Eclipse Public License v1.0 which accompanies this distribution, 
+ * and is available at http://www.eclipse.org/legal/epl-v10.html 
+ * 
+ * Contributors: 
+ * Red Hat, Inc. - initial API and implementation 
+ ******************************************************************************/
+package org.jboss.tools.seam.core.test.project.facet;
+
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.HashSet;
+import java.util.Set;
+
+import org.eclipse.core.resources.IContainer;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.IResourceChangeEvent;
+import org.eclipse.core.resources.IResourceProxy;
+import org.eclipse.core.resources.IResourceProxyVisitor;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.Path;
+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.validation.ValidationFramework;
+import org.eclipse.wst.validation.internal.EventManager;
+import org.jboss.tools.seam.core.SeamProjectsSet;
+import org.jboss.tools.seam.core.project.facet.SeamRuntimeManager;
+import org.jboss.tools.seam.core.project.facet.SeamVersion;
+import org.jboss.tools.seam.internal.core.project.facet.ISeamFacetDataModelProperties;
+
+public abstract class AbstractSeam2FacetInstallDelegateTest extends AbstractSeamFacetTest {
+
+	protected static final String SEAM_2_0_0 = "Seam 2.0.0";
+	IFacetedProject warProject;
+	IFacetedProject earProject;
+
+	protected IProjectFacet seam2Facet;
+	protected IProjectFacetVersion seam2FacetVersion;
+	protected boolean suspendAllValidation;
+
+	public AbstractSeam2FacetInstallDelegateTest(String name) {
+		super(name);
+	}
+
+	@Override
+	protected void setUp() throws Exception {
+		suspendAllValidation = ValidationFramework.getDefault().isSuspended();
+		ValidationFramework.getDefault().suspendAllValidation(true);
+
+		ResourcesPlugin.getWorkspace().removeResourceChangeListener(
+				EventManager.getManager());
+		// commented to run tests on wtp 3.0.4 build
+		// ws.removeResourceChangeListener( ValManager.getDefault() );
+		// EventManager.getManager().shutdown();
+
+		assertSeamHomeAvailable();
+
+		seam2Facet = ProjectFacetsManager.getProjectFacet("jst.seam");
+		seam2FacetVersion = seam2Facet.getVersion("2.0");
+
+		File folder = getSeamHomeFolder();
+
+		SeamRuntimeManager.getInstance().addRuntime(SEAM_2_0_0,
+				folder.getAbsolutePath(), SeamVersion.SEAM_2_0, true);
+		SeamRuntimeManager.getInstance().findRuntimeByName(SEAM_2_0_0);
+		IProject war = (IProject) ResourcesPlugin.getWorkspace().getRoot()
+				.findMember("warprj");
+		warProject = (war != null ? ProjectFacetsManager.create(war, false,
+				null) : createSeamWarProject("warprj"));
+		IProject ear = (IProject) ResourcesPlugin.getWorkspace().getRoot()
+				.findMember("earprj");
+		earProject = (ear != null ? ProjectFacetsManager.create(ear, false,
+				null) : createSeamEarProject("earprj"));
+
+		// warProject.getProject().getWorkspace().getRoot().refreshLocal(IResource.DEPTH_INFINITE,
+		// null);
+	}
+
+	@Override
+	protected void tearDown() throws Exception {
+		super.tearDown();
+		ValidationFramework.getDefault().suspendAllValidation(
+				suspendAllValidation);
+
+		ResourcesPlugin.getWorkspace().addResourceChangeListener(
+				EventManager.getManager(),
+				IResourceChangeEvent.PRE_CLOSE
+						| IResourceChangeEvent.PRE_DELETE
+						| IResourceChangeEvent.POST_BUILD
+						| IResourceChangeEvent.PRE_BUILD
+						| IResourceChangeEvent.POST_CHANGE);
+		// ws.addResourceChangeListener(ValOperationManager.getDefault(),
+		// IResourceChangeEvent.POST_BUILD | IResourceChangeEvent.PRE_BUILD);
+
+	}
+
+	public static final String SEAM_201GA_HOME_PROPERY = "jbosstools.test.seam.2.0.1.GA.home";
+
+	protected String getSystemPropertyName() {
+		return SEAM_201GA_HOME_PROPERY;
+	}
+
+	@Override
+	protected IDataModel createSeamDataModel(String deployType) {
+
+		IDataModel dataModel = super.createSeamDataModel(deployType);
+		dataModel.setStringProperty(
+				ISeamFacetDataModelProperties.SEAM_RUNTIME_NAME, SEAM_2_0_0);
+		dataModel.setBooleanProperty(ISeamFacetDataModelProperties.SEAM_RUNTIME_LIBRARIES_COPYING, true);
+
+		return dataModel;
+	}
+
+	protected Set<String> getWarLibs() {
+		Set<String> seamgenlibs = new HashSet<String>();
+
+		seamgenlibs.add("antlr-runtime.jar");
+		seamgenlibs.add("commons-beanutils.jar");
+		seamgenlibs.add("commons-digester.jar");
+		seamgenlibs.add("drools-compiler.jar");
+		seamgenlibs.add("drools-core.jar");
+		seamgenlibs.add("core.jar");
+		seamgenlibs.add("jboss-el.jar");
+		seamgenlibs.add("jboss-seam-debug.jar");
+		seamgenlibs.add("jboss-seam-ioc.jar");
+		seamgenlibs.add("jboss-seam.jar");
+		seamgenlibs.add("jboss-seam-mail.jar");
+		seamgenlibs.add("jboss-seam-pdf.jar");
+		seamgenlibs.add("jboss-seam-remoting.jar");
+		seamgenlibs.add("jboss-seam-ui.jar");
+		seamgenlibs.add("jbpm-jpdl.jar");
+		seamgenlibs.add("jsf-facelets.jar");
+		seamgenlibs.add("mvel14.jar");
+		seamgenlibs.add("richfaces-api.jar");
+		seamgenlibs.add("richfaces-impl.jar");
+		seamgenlibs.add("richfaces-ui.jar");
+		seamgenlibs.add("itext.jar");
+		seamgenlibs.add("jfreechart.jar");
+		seamgenlibs.add("jcommon.jar");
+
+		return seamgenlibs;
+	}
+
+	public void testWarLibs() throws CoreException {
+
+		Set<String> seamgenlibs = getWarLibs();
+
+		final IContainer warLibs = (IContainer) warProject.getProject()
+				.findMember("WebContent/WEB-INF/lib").getAdapter(
+						IContainer.class);
+		assertOnlyContainsTheseFiles(seamgenlibs, warLibs);
+	}
+	
+	
+	/**
+	 * if(SEAM_TEMPLATES_AND_LIBRARIES_COPYING){
+	 * 
+	 * 		COPY_TEMPLATES();
+	 * 
+	 *  	if(SEAM_RUNTIME_LIBRARIES_COPYING){
+	 *  		COPY_LIBRARIES();
+	 *  	}
+	 * }
+	 * 
+	 * Case 1. Add Seam Facet to new project + "Copy libraries From Seam Runtime to the project" option 
+	 * 
+	 * SEAM_TEMPLATES_AND_LIBRARIES_COPYING - true
+	 * SEAM_RUNTIME_LIBRARIES_COPYING       - true
+	 * 
+	 * Case 2. Add Seam Facet to new project + "Configure Later" option
+	 *
+  	 * SEAM_TEMPLATES_AND_LIBRARIES_COPYING - true
+	 * SEAM_RUNTIME_LIBRARIES_COPYING       - false
+	 * 
+	 * Case 3. Add Seam Facet to existing project
+	 * 
+  	 * SEAM_TEMPLATES_AND_LIBRARIES_COPYING - false
+	 * SEAM_RUNTIME_LIBRARIES_COPYING       - false
+	 * 
+	 */
+	
+	private final static int CASE_1 = 1;
+	private final static int CASE_2 = 2;
+	private final static int CASE_3 = 3;
+	
+	public void testWarTemplatesAndLibrariesCopying() throws CoreException{
+		checkWarLibrariesInSeamProject(CASE_1, "warTemplLibPrj");
+	}
+
+	public void testWarTemplatesAndLibrariesNotCopying() throws CoreException{
+		checkWarLibrariesInSeamProject(CASE_3, "warNoTemplLibPrj");
+	}
+
+	public void testEarTemplatesAndLibrariesCopying() throws CoreException{
+		checkEarLibrariesInSeamProject(CASE_1, "earTemplLibPrj");
+	}
+
+	public void testWarLibrariesCopying() throws CoreException{
+		checkWarLibrariesInSeamProject(CASE_1, "warLibPrj");
+	}
+
+	public void testWarLibrariesNotCopying() throws CoreException{
+		checkWarLibrariesInSeamProject(CASE_2, "warNoLibPrj");
+	}
+
+	public void testEarLibrariesCopying() throws CoreException{
+		checkEarLibrariesInSeamProject(CASE_1, "earLibPrj");
+	}
+
+	public void testEarLibrariesNotCopying() throws CoreException{
+		checkEarLibrariesInSeamProject(CASE_2, "earNoLibPrj");
+	}
+
+	protected void checkWarLibrariesInSeamProject(int caseNumber, String warName) throws CoreException{
+		IDataModel warModel = createSeamDataModel("war");
+		
+		boolean copyTemplate = false;
+		boolean copyLibraries = false;
+		switch(caseNumber){
+		case CASE_1:
+			warModel.setBooleanProperty(ISeamFacetDataModelProperties.SEAM_TEMPLATES_AND_LIBRARIES_COPYING, true);
+			warModel.setBooleanProperty(ISeamFacetDataModelProperties.SEAM_RUNTIME_LIBRARIES_COPYING, true);
+			copyTemplate = true;
+			copyLibraries = true;
+			break;
+		case CASE_2:
+			warModel.setBooleanProperty(ISeamFacetDataModelProperties.SEAM_TEMPLATES_AND_LIBRARIES_COPYING, true);
+			warModel.setBooleanProperty(ISeamFacetDataModelProperties.SEAM_RUNTIME_LIBRARIES_COPYING, false);
+			copyTemplate = true;
+			break;
+		case CASE_3:
+			warModel.setBooleanProperty(ISeamFacetDataModelProperties.SEAM_TEMPLATES_AND_LIBRARIES_COPYING, false);
+			warModel.setBooleanProperty(ISeamFacetDataModelProperties.SEAM_RUNTIME_LIBRARIES_COPYING, false);
+			break;
+		}
+
+		IFacetedProject wProject = createSeamProject(warName, warModel);
+		IProject war = wProject.getProject();
+		
+		Set<String> onlyInWar = getWarLibs();
+
+		final IContainer warLibs = (IContainer) war.findMember("WebContent/WEB-INF/lib");
+
+		if(copyLibraries){
+			assertOnlyContainsTheseFiles(onlyInWar, warLibs);
+		}else{
+			assertContainsNoneOfTheseFiles(onlyInWar, warLibs);
+		}
+	}
+
+	protected boolean shouldCheckJBossAppXML() {
+		return true;
+	}
+
+	protected void checkEarLibrariesInSeamProject(int caseNumber, String earName) throws CoreException{
+		IDataModel earModel = createSeamDataModel("ear");
+		
+		boolean copyTemplate = false;
+		boolean copyLibraries = false;
+		switch(caseNumber){
+		case CASE_1:
+			earModel.setBooleanProperty(ISeamFacetDataModelProperties.SEAM_TEMPLATES_AND_LIBRARIES_COPYING, true);
+			earModel.setBooleanProperty(ISeamFacetDataModelProperties.SEAM_RUNTIME_LIBRARIES_COPYING, true);
+			copyTemplate = true;
+			copyLibraries = true;
+			break;
+		case CASE_2:
+			earModel.setBooleanProperty(ISeamFacetDataModelProperties.SEAM_TEMPLATES_AND_LIBRARIES_COPYING, true);
+			earModel.setBooleanProperty(ISeamFacetDataModelProperties.SEAM_RUNTIME_LIBRARIES_COPYING, false);
+			copyTemplate = true;
+			break;
+		case CASE_3:
+			earModel.setBooleanProperty(ISeamFacetDataModelProperties.SEAM_TEMPLATES_AND_LIBRARIES_COPYING, false);
+			earModel.setBooleanProperty(ISeamFacetDataModelProperties.SEAM_RUNTIME_LIBRARIES_COPYING, false);
+			break;
+		}
+		
+		IFacetedProject eProject = createSeamProject(earName, earModel);
+		IProject war = eProject.getProject();
+		
+		SeamProjectsSet seamProjectsSet = new SeamProjectsSet(war);
+		
+		assertTrue(seamProjectsSet.getWarProject().exists());
+		assertTrue(seamProjectsSet.getTestProject().exists());
+		assertTrue(seamProjectsSet.getEjbProject().exists());
+		assertTrue(seamProjectsSet.getEarProject().exists());
+
+		IProject ear = seamProjectsSet.getEarProject();
+		IProject ejb = seamProjectsSet.getEjbProject();
+		IProject test = seamProjectsSet.getTestProject();
+		
+		Set<String> onlyInWar = getEarWarLibs();
+		Set<String> onlyInEar = getEarLibs();
+		Set<String> onlyInTest = getTestLibs();
+		Set<String> onlyInEarSeam = new HashSet<String>();
+		Set<String> onlyInEjbSrc = new HashSet<String>();
+		Set<String> onlyInEarMeta = new HashSet<String>();
+		
+		if(caseNumber == CASE_1 || caseNumber == CASE_3){
+			if(shouldCheckJBossAppXML()) {
+				onlyInEarMeta.add("jboss-app.xml");
+			}
+			onlyInEarMeta.add("application.xml");
+	
+			onlyInEjbSrc.add("security.drl");
+			onlyInEjbSrc.add("seam.properties");
+			onlyInEjbSrc.add("import.sql");
+			onlyInEjbSrc.add("components.properties");
+		}
+
+		onlyInEarSeam.add("jboss-seam.jar");
+		
+		if(copyLibraries){
+			onlyInEarSeam.add("lib");
+			onlyInEarSeam.add("META-INF");
+			onlyInEjbSrc.add("META-INF");
+			onlyInEjbSrc.add("org");
+			
+		}
+		
+		final IContainer earMeta = (IContainer) ear.findMember("EarContent/META-INF");
+
+		final IContainer warLibs = (IContainer) war.findMember("WebContent/WEB-INF/lib");
+
+		final IContainer earLibsSeam = (IContainer) ear.findMember("EarContent");
+
+		final IContainer earLibs = (IContainer) ear.findMember("EarContent/lib");
+		
+		final IContainer ejbSrc = (IContainer) ejb.findMember("ejbModule");
+
+		final IContainer testLibs = (IContainer) test.findMember("lib");
+
+		if(copyLibraries){
+			assertOnlyContainsTheseFiles(onlyInEjbSrc, ejbSrc);
+			
+			assertOnlyContainsTheseFiles(onlyInEarMeta, earMeta);
+			
+			assertOnlyContainsTheseFiles(onlyInEarSeam, earLibsSeam);
+
+			assertOnlyContainsTheseFiles(onlyInEar, earLibs);
+
+			assertOnlyContainsTheseFiles(onlyInWar, warLibs);
+			
+			assertOnlyContainsTheseFiles(onlyInTest, testLibs);
+		}else{
+			assertContainsNoneOfTheseFiles(onlyInEjbSrc, ejbSrc);
+			
+			assertContainsNoneOfTheseFiles(onlyInEarMeta, earMeta);
+			
+			assertContainsNoneOfTheseFiles(onlyInEarSeam, earLibsSeam);
+
+			assertContainsNoneOfTheseFiles(onlyInEar, earLibs);
+
+			assertContainsNoneOfTheseFiles(onlyInWar, warLibs);
+			
+			assertContainsNoneOfTheseFiles(onlyInTest, testLibs);
+		}
+	}
+
+	protected Set<String> getTestLibs() {
+		Set<String> libs = new HashSet<String>();
+		return libs;
+	}
+
+	protected Set<String> getEarLibs() {
+		Set<String> onlyInEar = new HashSet<String>();
+
+		onlyInEar.add("commons-beanutils.jar");
+		onlyInEar.add("antlr-runtime.jar");
+		onlyInEar.add("drools-compiler.jar");
+		onlyInEar.add("drools-core.jar");
+		onlyInEar.add("jboss-el.jar");
+		onlyInEar.add("jboss-seam-remoting.jar");
+		onlyInEar.add("mvel14.jar");
+		onlyInEar.add("richfaces-api.jar");
+		onlyInEar.add("jbpm-jpdl.jar");
+
+		return onlyInEar;
+	}
+
+	protected Set<String> getEarWarLibs() {
+		Set<String> onlyInWar = new HashSet<String>();
+
+		onlyInWar.add("commons-digester.jar");
+		onlyInWar.add("jboss-seam-debug.jar");
+		onlyInWar.add("jboss-seam-ioc.jar");
+		onlyInWar.add("jboss-seam-mail.jar");
+		onlyInWar.add("jboss-seam-pdf.jar");
+		onlyInWar.add("jboss-seam-ui.jar");
+		onlyInWar.add("jsf-facelets.jar");
+		onlyInWar.add("richfaces-impl.jar");
+		onlyInWar.add("richfaces-ui.jar");
+		onlyInWar.add("itext.jar");
+		onlyInWar.add("jfreechart.jar");
+		onlyInWar.add("jcommon.jar");
+
+		return onlyInWar;
+	}
+
+	public void testEarLibs() throws CoreException {
+		IProject war = earProject.getProject();
+
+		SeamProjectsSet seamProjectsSet = new SeamProjectsSet(earProject
+				.getProject());
+
+		IProject ear = seamProjectsSet.getEarProject();
+
+		Set<String> onlyInWar = getEarWarLibs();
+		Set<String> onlyInEar = getEarLibs();
+		Set<String> onlyInEarSeam = new HashSet<String>();
+		Set<String> onlyInEjbSrc = new HashSet<String>();
+
+		onlyInEarSeam.add("jboss-seam.jar");
+		onlyInEarSeam.add("lib");
+		onlyInEarSeam.add("META-INF");
+
+		final IContainer earLibsSeam = (IContainer) ear.findMember(
+				new Path("EarContent")).getAdapter(IContainer.class);
+
+		assertOnlyContainsTheseFiles(onlyInEarSeam, earLibsSeam);
+
+		final IContainer earLibs = (IContainer) ear.findMember(
+				new Path("EarContent").append("lib")).getAdapter(
+				IContainer.class);
+
+		assertOnlyContainsTheseFiles(onlyInEar, earLibs);
+
+		final IContainer earMeta = (IContainer) ear.findMember(
+				"EarContent/META-INF").getAdapter(IContainer.class);
+
+		Set<String> onlyInEarMeta = new HashSet<String>();
+
+		if(shouldCheckJBossAppXML()) {
+			onlyInEarMeta.add("jboss-app.xml");
+		}
+		onlyInEarMeta.add("application.xml");
+
+		assertOnlyContainsTheseFiles(onlyInEarMeta, earMeta);
+
+		assertOnlyContainsTheseFiles(onlyInWar, (IContainer) war.findMember(
+				"WebContent/WEB-INF/lib").getAdapter(IContainer.class));
+
+		IProject ejb = seamProjectsSet.getEjbProject();
+
+		onlyInEjbSrc.add("security.drl");
+		onlyInEjbSrc.add("seam.properties");
+		onlyInEjbSrc.add("import.sql");
+		onlyInEjbSrc.add("components.properties");
+		onlyInEjbSrc.add("META-INF"); // JBIDE-2431: META-INF dir is always
+										// created by Seam 2.0 seamgen
+		onlyInEjbSrc.add("org"); // JBIDE-2431: org dir is always created by
+									// Seam 2.0 seamgen
+
+		assertOnlyContainsTheseFiles(onlyInEjbSrc, (IContainer) ejb.findMember(
+				"ejbModule").getAdapter(IContainer.class));
+	}
+
+	/**
+	 * https://issues.jboss.org/browse/JBIDE-7932
+	 * @throws CoreException
+	 * @throws IOException
+	 */
+	public void testEarManifestFiles() throws CoreException, IOException {
+		IProject war = earProject.getProject();
+
+		SeamProjectsSet seamProjectsSet = new SeamProjectsSet(earProject
+				.getProject());
+
+		IProject ejb = seamProjectsSet.getEjbProject();
+
+		IFile ejbManifest = (IFile)ejb.findMember(new Path("ejbModule/META-INF/MANIFEST.MF"));
+		assertNotNull("Can't find ejbModule/META-INF/MANIFEST.MF", ejbManifest);
+		assertTrue("ejbModule/META-INF/MANIFEST.MF is not accessible.", ejbManifest.isAccessible());
+		String content = getContents(ejbManifest);
+		assertEquals("Found jboss-seam.jar in ejbModule/META-INF/MANIFEST.MF", -1, content.indexOf("jboss-seam.jar"));
+
+		IFile warManifest = (IFile)war.findMember(new Path("WebContent/META-INF/MANIFEST.MF"));
+		assertNotNull("Can't find WebContent/META-INF/MANIFEST.MF", warManifest);
+		assertTrue("WebContent/META-INF/MANIFEST.MF is not accessible.", warManifest.isAccessible());
+		content = getContents(warManifest);
+		assertFalse("Didn't find jboss-seam.jar in WebContent/META-INF/MANIFEST.MF", content.indexOf("jboss-seam.jar")==-1);
+	}
+
+	private String getContents(IFile file) throws IOException, CoreException {
+		StringBuffer sb = new StringBuffer();
+		InputStream is = file.getContents();
+		int i = 0;
+		while(i!=-1) {
+			i = is.read();
+			sb.append((char)i);
+		}
+		return sb.toString();
+	}
+
+	/**
+	 * Fails if set of fileNames is not found in dir or some other filename is
+	 * found in dir.
+	 * 
+	 * @param fileNames
+	 *            set of strings
+	 * @param dir
+	 *            directory to scan
+	 * @throws CoreException
+	 */
+	protected void assertOnlyContainsTheseFiles(Set<String> fileNames,
+			final IResource dir) throws CoreException {
+
+		final Set<String> foundFiles = new HashSet<String>();
+		dir.accept(new IResourceProxyVisitor() {
+
+			public boolean visit(IResourceProxy proxy) throws CoreException {
+				if (dir.getName().equals(proxy.getName()))
+					return true;
+				foundFiles.add(proxy.getName());
+				return false;
+			}
+
+		}, IResource.DEPTH_ZERO);
+
+		if (!foundFiles.containsAll(fileNames)) {
+			fileNames.removeAll(foundFiles);
+			fail("Did not find " + fileNames + " in " + dir);
+		}
+
+		foundFiles.removeAll(fileNames);
+
+		assertTrue("Found additional files (" + foundFiles + " in " + dir
+				+ " at " + dir.getLocation(), foundFiles.isEmpty());
+	}
+
+	protected void assertContainsNoneOfTheseFiles(Set<String> fileNames,
+			final IResource dir) throws CoreException {
+		
+		if(dir == null)
+			return;
+		
+		final Set<String> foundFiles = new HashSet<String>();
+		dir.accept(new IResourceProxyVisitor() {
+
+			public boolean visit(IResourceProxy proxy) throws CoreException {
+				if (dir.getName().equals(proxy.getName()))
+					return true;
+				foundFiles.add(proxy.getName());
+				return false;
+			}
+
+		}, IResource.DEPTH_ZERO);
+		
+		for(String fileName : fileNames){
+			if(foundFiles.contains(fileName)){
+				fail("Found library: "+fileName);
+			}
+		}
+
+	}
+
+	public void testSeamProperties() {
+		SeamProjectsSet warPs = new SeamProjectsSet(warProject.getProject());
+
+		IProject warProject = warPs.getWarProject();
+		assertTrue(warProject.exists());
+
+		assertNotNull(warProject.findMember("src/main/seam.properties"));
+		IResource findMember = warProject.findMember("src/hot/seam.properties");
+		assertNotNull(findMember);
+		assertTrue(findMember instanceof IFile);
+	}
+
+	public void testCreateEar() throws CoreException, IOException {
+	}
+
+	@Override
+	protected IProjectFacetVersion getSeamFacetVersion() {
+		return seam2FacetVersion;
+	}
+}
\ No newline at end of file

Modified: trunk/seam/tests/org.jboss.tools.seam.base.test/src/org/jboss/tools/seam/core/test/project/facet/AbstractSeamFacetTest.java
===================================================================
--- trunk/seam/tests/org.jboss.tools.seam.base.test/src/org/jboss/tools/seam/core/test/project/facet/AbstractSeamFacetTest.java	2012-05-09 19:35:57 UTC (rev 40886)
+++ trunk/seam/tests/org.jboss.tools.seam.base.test/src/org/jboss/tools/seam/core/test/project/facet/AbstractSeamFacetTest.java	2012-05-09 19:59:01 UTC (rev 40887)
@@ -51,7 +51,7 @@
 	
 	protected static final IWorkspace ws = ResourcesPlugin.getWorkspace();
 	
-	private SeamRuntime seamRuntime;
+	protected SeamRuntime seamRuntime;
 	
 	protected static final String SEAM_1_2_0 = "Seam 1.2.0";
 	protected static final String SEAM_2_0_0 = "Seam 2.0.0";

Modified: trunk/seam/tests/org.jboss.tools.seam.base.test/src/org/jboss/tools/seam/core/test/project/facet/Seam20XFacetTestSuite201GA.java
===================================================================
--- trunk/seam/tests/org.jboss.tools.seam.base.test/src/org/jboss/tools/seam/core/test/project/facet/Seam20XFacetTestSuite201GA.java	2012-05-09 19:35:57 UTC (rev 40886)
+++ trunk/seam/tests/org.jboss.tools.seam.base.test/src/org/jboss/tools/seam/core/test/project/facet/Seam20XFacetTestSuite201GA.java	2012-05-09 19:59:01 UTC (rev 40887)
@@ -10,13 +10,13 @@
  ******************************************************************************/
 package org.jboss.tools.seam.core.test.project.facet;
 
-import org.jboss.tools.test.util.JobUtils;
-
 import junit.extensions.TestSetup;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
+import org.jboss.tools.test.util.JobUtils;
 
+
 /**
  * @author eskimo
  *
@@ -24,13 +24,13 @@
 public class Seam20XFacetTestSuite201GA {
 	public static Test suite() {
 		TestSuite suite = new TestSuite("Seam 2.0.X tests");
-		suite.addTest(new Seam2FacetInstallDelegateTestSetup(new TestSuite(Seam2FacetInstallDelegateTest.class)));
+		suite.addTest(new Seam2FacetInstallDelegateTestSetup(new TestSuite(AbstractSeam2FacetInstallDelegateTest.class)));
 		return suite;
 	}
 	
 	public static class Seam2FacetInstallDelegateTestSetup extends TestSetup {
 
-		Seam2FacetInstallDelegateTest delegate = new Seam2FacetInstallDelegateTest("Delegate");
+		AbstractSeam2FacetInstallDelegateTest delegate = new Seam2FacetInstallDelegateTest("Delegate");
 		@Override
 		protected void setUp() throws Exception {
 			delegate.setUp();

Deleted: trunk/seam/tests/org.jboss.tools.seam.base.test/src/org/jboss/tools/seam/core/test/project/facet/Seam2FacetInstallDelegateTest.java
===================================================================
--- trunk/seam/tests/org.jboss.tools.seam.base.test/src/org/jboss/tools/seam/core/test/project/facet/Seam2FacetInstallDelegateTest.java	2012-05-09 19:35:57 UTC (rev 40886)
+++ trunk/seam/tests/org.jboss.tools.seam.base.test/src/org/jboss/tools/seam/core/test/project/facet/Seam2FacetInstallDelegateTest.java	2012-05-09 19:59:01 UTC (rev 40887)
@@ -1,706 +0,0 @@
-/******************************************************************************* 
- * Copyright (c) 2007 Red Hat, Inc. 
- * Distributed under license by Red Hat, Inc. All rights reserved. 
- * This program is made available under the terms of the 
- * Eclipse Public License v1.0 which accompanies this distribution, 
- * and is available at http://www.eclipse.org/legal/epl-v10.html 
- * 
- * Contributors: 
- * Red Hat, Inc. - initial API and implementation 
- ******************************************************************************/
-package org.jboss.tools.seam.core.test.project.facet;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.HashSet;
-import java.util.Set;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceChangeEvent;
-import org.eclipse.core.resources.IResourceProxy;
-import org.eclipse.core.resources.IResourceProxyVisitor;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jdt.core.IClasspathEntry;
-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.validation.ValidationFramework;
-import org.eclipse.wst.validation.internal.EventManager;
-import org.jboss.tools.common.model.util.EclipseResourceUtil;
-import org.jboss.tools.seam.core.SeamProjectsSet;
-import org.jboss.tools.seam.core.project.facet.SeamRuntimeManager;
-import org.jboss.tools.seam.core.project.facet.SeamVersion;
-import org.jboss.tools.seam.internal.core.project.facet.ISeamFacetDataModelProperties;
-import org.jboss.tools.seam.internal.core.project.facet.SeamProjectCreator;
-
-public class Seam2FacetInstallDelegateTest extends AbstractSeamFacetTest {
-
-	protected static final String SEAM_2_0_0 = "Seam 2.0.0";
-	IFacetedProject warProject;
-	IFacetedProject earProject;
-
-	private IProjectFacet seam2Facet;
-	private IProjectFacetVersion seam2FacetVersion;
-	private boolean suspendAllValidation;
-
-	public Seam2FacetInstallDelegateTest(String name) {
-		super(name);
-	}
-
-	@Override
-	protected void setUp() throws Exception {
-		suspendAllValidation = ValidationFramework.getDefault().isSuspended();
-		ValidationFramework.getDefault().suspendAllValidation(true);
-
-		ResourcesPlugin.getWorkspace().removeResourceChangeListener(
-				EventManager.getManager());
-		// commented to run tests on wtp 3.0.4 build
-		// ws.removeResourceChangeListener( ValManager.getDefault() );
-		// EventManager.getManager().shutdown();
-
-		assertSeamHomeAvailable();
-
-		seam2Facet = ProjectFacetsManager.getProjectFacet("jst.seam");
-		seam2FacetVersion = seam2Facet.getVersion("2.0");
-
-		File folder = getSeamHomeFolder();
-
-		SeamRuntimeManager.getInstance().addRuntime(SEAM_2_0_0,
-				folder.getAbsolutePath(), SeamVersion.SEAM_2_0, true);
-		SeamRuntimeManager.getInstance().findRuntimeByName(SEAM_2_0_0);
-		IProject war = (IProject) ResourcesPlugin.getWorkspace().getRoot()
-				.findMember("warprj");
-		warProject = (war != null ? ProjectFacetsManager.create(war, false,
-				null) : createSeamWarProject("warprj"));
-		IProject ear = (IProject) ResourcesPlugin.getWorkspace().getRoot()
-				.findMember("earprj");
-		earProject = (ear != null ? ProjectFacetsManager.create(ear, false,
-				null) : createSeamEarProject("earprj"));
-
-		// warProject.getProject().getWorkspace().getRoot().refreshLocal(IResource.DEPTH_INFINITE,
-		// null);
-	}
-
-	@Override
-	protected void tearDown() throws Exception {
-		super.tearDown();
-		ValidationFramework.getDefault().suspendAllValidation(
-				suspendAllValidation);
-
-		ResourcesPlugin.getWorkspace().addResourceChangeListener(
-				EventManager.getManager(),
-				IResourceChangeEvent.PRE_CLOSE
-						| IResourceChangeEvent.PRE_DELETE
-						| IResourceChangeEvent.POST_BUILD
-						| IResourceChangeEvent.PRE_BUILD
-						| IResourceChangeEvent.POST_CHANGE);
-		// ws.addResourceChangeListener(ValOperationManager.getDefault(),
-		// IResourceChangeEvent.POST_BUILD | IResourceChangeEvent.PRE_BUILD);
-
-	}
-
-	public static final String SEAM_201GA_HOME_PROPERY = "jbosstools.test.seam.2.0.1.GA.home";
-
-	protected String getSystemPropertyName() {
-		return SEAM_201GA_HOME_PROPERY;
-	}
-
-	@Override
-	protected IDataModel createSeamDataModel(String deployType) {
-
-		IDataModel dataModel = super.createSeamDataModel(deployType);
-		dataModel.setStringProperty(
-				ISeamFacetDataModelProperties.SEAM_RUNTIME_NAME, SEAM_2_0_0);
-		dataModel.setBooleanProperty(ISeamFacetDataModelProperties.SEAM_RUNTIME_LIBRARIES_COPYING, true);
-
-		return dataModel;
-	}
-
-	protected Set<String> getWarLibs() {
-		Set<String> seamgenlibs = new HashSet<String>();
-
-		seamgenlibs.add("antlr-runtime.jar");
-		seamgenlibs.add("commons-beanutils.jar");
-		seamgenlibs.add("commons-digester.jar");
-		seamgenlibs.add("drools-compiler.jar");
-		seamgenlibs.add("drools-core.jar");
-		seamgenlibs.add("core.jar");
-		seamgenlibs.add("jboss-el.jar");
-		seamgenlibs.add("jboss-seam-debug.jar");
-		seamgenlibs.add("jboss-seam-ioc.jar");
-		seamgenlibs.add("jboss-seam.jar");
-		seamgenlibs.add("jboss-seam-mail.jar");
-		seamgenlibs.add("jboss-seam-pdf.jar");
-		seamgenlibs.add("jboss-seam-remoting.jar");
-		seamgenlibs.add("jboss-seam-ui.jar");
-		seamgenlibs.add("jbpm-jpdl.jar");
-		seamgenlibs.add("jsf-facelets.jar");
-		seamgenlibs.add("mvel14.jar");
-		seamgenlibs.add("richfaces-api.jar");
-		seamgenlibs.add("richfaces-impl.jar");
-		seamgenlibs.add("richfaces-ui.jar");
-		seamgenlibs.add("itext.jar");
-		seamgenlibs.add("jfreechart.jar");
-		seamgenlibs.add("jcommon.jar");
-
-		return seamgenlibs;
-	}
-
-	public void testWarLibs() throws CoreException {
-
-		Set<String> seamgenlibs = getWarLibs();
-
-		final IContainer warLibs = (IContainer) warProject.getProject()
-				.findMember("WebContent/WEB-INF/lib").getAdapter(
-						IContainer.class);
-		assertOnlyContainsTheseFiles(seamgenlibs, warLibs);
-	}
-	
-	
-	/**
-	 * if(SEAM_TEMPLATES_AND_LIBRARIES_COPYING){
-	 * 
-	 * 		COPY_TEMPLATES();
-	 * 
-	 *  	if(SEAM_RUNTIME_LIBRARIES_COPYING){
-	 *  		COPY_LIBRARIES();
-	 *  	}
-	 * }
-	 * 
-	 * Case 1. Add Seam Facet to new project + "Copy libraries From Seam Runtime to the project" option 
-	 * 
-	 * SEAM_TEMPLATES_AND_LIBRARIES_COPYING - true
-	 * SEAM_RUNTIME_LIBRARIES_COPYING       - true
-	 * 
-	 * Case 2. Add Seam Facet to new project + "Configure Later" option
-	 *
-  	 * SEAM_TEMPLATES_AND_LIBRARIES_COPYING - true
-	 * SEAM_RUNTIME_LIBRARIES_COPYING       - false
-	 * 
-	 * Case 3. Add Seam Facet to existing project
-	 * 
-  	 * SEAM_TEMPLATES_AND_LIBRARIES_COPYING - false
-	 * SEAM_RUNTIME_LIBRARIES_COPYING       - false
-	 * 
-	 */
-	
-	private final static int CASE_1 = 1;
-	private final static int CASE_2 = 2;
-	private final static int CASE_3 = 3;
-	
-	public void testWarTemplatesAndLibrariesCopying() throws CoreException{
-		checkWarLibrariesInSeamProject(CASE_1, "warTemplLibPrj");
-	}
-
-	public void testWarTemplatesAndLibrariesNotCopying() throws CoreException{
-		checkWarLibrariesInSeamProject(CASE_3, "warNoTemplLibPrj");
-	}
-
-	public void testEarTemplatesAndLibrariesCopying() throws CoreException{
-		checkEarLibrariesInSeamProject(CASE_1, "earTemplLibPrj");
-	}
-
-	public void testWarLibrariesCopying() throws CoreException{
-		checkWarLibrariesInSeamProject(CASE_1, "warLibPrj");
-	}
-
-	public void testWarLibrariesNotCopying() throws CoreException{
-		checkWarLibrariesInSeamProject(CASE_2, "warNoLibPrj");
-	}
-
-	public void testEarLibrariesCopying() throws CoreException{
-		checkEarLibrariesInSeamProject(CASE_1, "earLibPrj");
-	}
-
-	public void testEarLibrariesNotCopying() throws CoreException{
-		checkEarLibrariesInSeamProject(CASE_2, "earNoLibPrj");
-	}
-
-	protected void checkWarLibrariesInSeamProject(int caseNumber, String warName) throws CoreException{
-		IDataModel warModel = createSeamDataModel("war");
-		
-		boolean copyTemplate = false;
-		boolean copyLibraries = false;
-		switch(caseNumber){
-		case CASE_1:
-			warModel.setBooleanProperty(ISeamFacetDataModelProperties.SEAM_TEMPLATES_AND_LIBRARIES_COPYING, true);
-			warModel.setBooleanProperty(ISeamFacetDataModelProperties.SEAM_RUNTIME_LIBRARIES_COPYING, true);
-			copyTemplate = true;
-			copyLibraries = true;
-			break;
-		case CASE_2:
-			warModel.setBooleanProperty(ISeamFacetDataModelProperties.SEAM_TEMPLATES_AND_LIBRARIES_COPYING, true);
-			warModel.setBooleanProperty(ISeamFacetDataModelProperties.SEAM_RUNTIME_LIBRARIES_COPYING, false);
-			copyTemplate = true;
-			break;
-		case CASE_3:
-			warModel.setBooleanProperty(ISeamFacetDataModelProperties.SEAM_TEMPLATES_AND_LIBRARIES_COPYING, false);
-			warModel.setBooleanProperty(ISeamFacetDataModelProperties.SEAM_RUNTIME_LIBRARIES_COPYING, false);
-			break;
-		}
-
-		IFacetedProject wProject = createSeamProject(warName, warModel);
-		IProject war = wProject.getProject();
-		
-		Set<String> onlyInWar = getWarLibs();
-
-		final IContainer warLibs = (IContainer) war.findMember("WebContent/WEB-INF/lib");
-
-		if(copyLibraries){
-			assertOnlyContainsTheseFiles(onlyInWar, warLibs);
-		}else{
-			assertContainsNoneOfTheseFiles(onlyInWar, warLibs);
-		}
-	}
-	
-	protected void checkEarLibrariesInSeamProject(int caseNumber, String earName) throws CoreException{
-		IDataModel earModel = createSeamDataModel("ear");
-		
-		boolean copyTemplate = false;
-		boolean copyLibraries = false;
-		switch(caseNumber){
-		case CASE_1:
-			earModel.setBooleanProperty(ISeamFacetDataModelProperties.SEAM_TEMPLATES_AND_LIBRARIES_COPYING, true);
-			earModel.setBooleanProperty(ISeamFacetDataModelProperties.SEAM_RUNTIME_LIBRARIES_COPYING, true);
-			copyTemplate = true;
-			copyLibraries = true;
-			break;
-		case CASE_2:
-			earModel.setBooleanProperty(ISeamFacetDataModelProperties.SEAM_TEMPLATES_AND_LIBRARIES_COPYING, true);
-			earModel.setBooleanProperty(ISeamFacetDataModelProperties.SEAM_RUNTIME_LIBRARIES_COPYING, false);
-			copyTemplate = true;
-			break;
-		case CASE_3:
-			earModel.setBooleanProperty(ISeamFacetDataModelProperties.SEAM_TEMPLATES_AND_LIBRARIES_COPYING, false);
-			earModel.setBooleanProperty(ISeamFacetDataModelProperties.SEAM_RUNTIME_LIBRARIES_COPYING, false);
-			break;
-		}
-		
-		IFacetedProject eProject = createSeamProject(earName, earModel);
-		IProject war = eProject.getProject();
-		
-		SeamProjectsSet seamProjectsSet = new SeamProjectsSet(war);
-		
-		assertTrue(seamProjectsSet.getWarProject().exists());
-		assertTrue(seamProjectsSet.getTestProject().exists());
-		assertTrue(seamProjectsSet.getEjbProject().exists());
-		assertTrue(seamProjectsSet.getEarProject().exists());
-
-		IProject ear = seamProjectsSet.getEarProject();
-		IProject ejb = seamProjectsSet.getEjbProject();
-		IProject test = seamProjectsSet.getTestProject();
-		
-		Set<String> onlyInWar = getEarWarLibs();
-		Set<String> onlyInEar = getEarLibs();
-		Set<String> onlyInTest = getTestLibs();
-		Set<String> onlyInEarSeam = new HashSet<String>();
-		Set<String> onlyInEjbSrc = new HashSet<String>();
-		Set<String> onlyInEarMeta = new HashSet<String>();
-		
-		if(caseNumber == CASE_1 || caseNumber == CASE_3){
-			onlyInEarMeta.add("jboss-app.xml");
-			onlyInEarMeta.add("application.xml");
-	
-			onlyInEjbSrc.add("security.drl");
-			onlyInEjbSrc.add("seam.properties");
-			onlyInEjbSrc.add("import.sql");
-			onlyInEjbSrc.add("components.properties");
-		}
-
-		onlyInEarSeam.add("jboss-seam.jar");
-		
-		if(copyLibraries){
-			onlyInEarSeam.add("lib");
-			onlyInEarSeam.add("META-INF");
-			onlyInEjbSrc.add("META-INF");
-			onlyInEjbSrc.add("org");
-			
-		}
-		
-		final IContainer earMeta = (IContainer) ear.findMember("EarContent/META-INF");
-
-		final IContainer warLibs = (IContainer) war.findMember("WebContent/WEB-INF/lib");
-
-		final IContainer earLibsSeam = (IContainer) ear.findMember("EarContent");
-
-		final IContainer earLibs = (IContainer) ear.findMember("EarContent/lib");
-		
-		final IContainer ejbSrc = (IContainer) ejb.findMember("ejbModule");
-
-		final IContainer testLibs = (IContainer) test.findMember("lib");
-
-		if(copyLibraries){
-			assertOnlyContainsTheseFiles(onlyInEjbSrc, ejbSrc);
-			
-			assertOnlyContainsTheseFiles(onlyInEarMeta, earMeta);
-			
-			assertOnlyContainsTheseFiles(onlyInEarSeam, earLibsSeam);
-
-			assertOnlyContainsTheseFiles(onlyInEar, earLibs);
-
-			assertOnlyContainsTheseFiles(onlyInWar, warLibs);
-			
-			assertOnlyContainsTheseFiles(onlyInTest, testLibs);
-		}else{
-			assertContainsNoneOfTheseFiles(onlyInEjbSrc, ejbSrc);
-			
-			assertContainsNoneOfTheseFiles(onlyInEarMeta, earMeta);
-			
-			assertContainsNoneOfTheseFiles(onlyInEarSeam, earLibsSeam);
-
-			assertContainsNoneOfTheseFiles(onlyInEar, earLibs);
-
-			assertContainsNoneOfTheseFiles(onlyInWar, warLibs);
-			
-			assertContainsNoneOfTheseFiles(onlyInTest, testLibs);
-		}
-	}
-	
-	public void testMvelWarJars() {
-		final IContainer warLibs = (IContainer) warProject.getProject()
-				.findMember("WebContent/WEB-INF/lib").getAdapter(
-						IContainer.class);
-		try {
-			for (IResource resource : warLibs.members()) {
-				if (resource.getName().matches("mvel.*\\.jar")) {
-					return;
-				}
-			}
-			fail("mvel*.jar weren't found in seam 2.0. WAR project");
-		} catch (CoreException e) {
-			fail("Error occured during search mvel libraries in lib folder");
-		}
-	}
-
-	protected Set<String> getEarLibs() {
-		Set<String> onlyInEar = new HashSet<String>();
-
-		onlyInEar.add("commons-beanutils.jar");
-		onlyInEar.add("antlr-runtime.jar");
-		onlyInEar.add("drools-compiler.jar");
-		onlyInEar.add("drools-core.jar");
-		onlyInEar.add("jboss-el.jar");
-		onlyInEar.add("jboss-seam-remoting.jar");
-		onlyInEar.add("mvel14.jar");
-		onlyInEar.add("richfaces-api.jar");
-		onlyInEar.add("jbpm-jpdl.jar");
-
-		return onlyInEar;
-	}
-
-	protected Set<String> getEarWarLibs() {
-		Set<String> onlyInWar = new HashSet<String>();
-
-		onlyInWar.add("commons-digester.jar");
-		onlyInWar.add("jboss-seam-debug.jar");
-		onlyInWar.add("jboss-seam-ioc.jar");
-		onlyInWar.add("jboss-seam-mail.jar");
-		onlyInWar.add("jboss-seam-pdf.jar");
-		onlyInWar.add("jboss-seam-ui.jar");
-		onlyInWar.add("jsf-facelets.jar");
-		onlyInWar.add("richfaces-impl.jar");
-		onlyInWar.add("richfaces-ui.jar");
-		onlyInWar.add("itext.jar");
-		onlyInWar.add("jfreechart.jar");
-		onlyInWar.add("jcommon.jar");
-
-		return onlyInWar;
-	}
-
-	public void testEarLibs() throws CoreException {
-		IProject war = earProject.getProject();
-
-		SeamProjectsSet seamProjectsSet = new SeamProjectsSet(earProject
-				.getProject());
-
-		IProject ear = seamProjectsSet.getEarProject();
-
-		Set<String> onlyInWar = getEarWarLibs();
-		Set<String> onlyInEar = getEarLibs();
-		Set<String> onlyInEarSeam = new HashSet<String>();
-		Set<String> onlyInEjbSrc = new HashSet<String>();
-
-		onlyInEarSeam.add("jboss-seam.jar");
-		onlyInEarSeam.add("lib");
-		onlyInEarSeam.add("META-INF");
-
-		final IContainer earLibsSeam = (IContainer) ear.findMember(
-				new Path("EarContent")).getAdapter(IContainer.class);
-
-		assertOnlyContainsTheseFiles(onlyInEarSeam, earLibsSeam);
-
-		final IContainer earLibs = (IContainer) ear.findMember(
-				new Path("EarContent").append("lib")).getAdapter(
-				IContainer.class);
-
-		assertOnlyContainsTheseFiles(onlyInEar, earLibs);
-
-		final IContainer earMeta = (IContainer) ear.findMember(
-				"EarContent/META-INF").getAdapter(IContainer.class);
-
-		Set<String> onlyInEarMeta = new HashSet<String>();
-
-		onlyInEarMeta.add("jboss-app.xml");
-		onlyInEarMeta.add("application.xml");
-
-		assertOnlyContainsTheseFiles(onlyInEarMeta, earMeta);
-
-		assertOnlyContainsTheseFiles(onlyInWar, (IContainer) war.findMember(
-				"WebContent/WEB-INF/lib").getAdapter(IContainer.class));
-
-		IProject ejb = seamProjectsSet.getEjbProject();
-
-		onlyInEjbSrc.add("security.drl");
-		onlyInEjbSrc.add("seam.properties");
-		onlyInEjbSrc.add("import.sql");
-		onlyInEjbSrc.add("components.properties");
-		onlyInEjbSrc.add("META-INF"); // JBIDE-2431: META-INF dir is always
-										// created by Seam 2.0 seamgen
-		onlyInEjbSrc.add("org"); // JBIDE-2431: org dir is always created by
-									// Seam 2.0 seamgen
-
-		assertOnlyContainsTheseFiles(onlyInEjbSrc, (IContainer) ejb.findMember(
-				"ejbModule").getAdapter(IContainer.class));
-	}
-
-	/**
-	 * https://issues.jboss.org/browse/JBIDE-7932
-	 * @throws CoreException
-	 * @throws IOException
-	 */
-	public void testEarManifestFiles() throws CoreException, IOException {
-		IProject war = earProject.getProject();
-
-		SeamProjectsSet seamProjectsSet = new SeamProjectsSet(earProject
-				.getProject());
-
-		IProject ejb = seamProjectsSet.getEjbProject();
-
-		IFile ejbManifest = (IFile)ejb.findMember(new Path("ejbModule/META-INF/MANIFEST.MF"));
-		assertNotNull("Can't find ejbModule/META-INF/MANIFEST.MF", ejbManifest);
-		assertTrue("ejbModule/META-INF/MANIFEST.MF is not accessible.", ejbManifest.isAccessible());
-		String content = getContents(ejbManifest);
-		assertEquals("Found jboss-seam.jar in ejbModule/META-INF/MANIFEST.MF", -1, content.indexOf("jboss-seam.jar"));
-
-		IFile warManifest = (IFile)war.findMember(new Path("WebContent/META-INF/MANIFEST.MF"));
-		assertNotNull("Can't find WebContent/META-INF/MANIFEST.MF", warManifest);
-		assertTrue("WebContent/META-INF/MANIFEST.MF is not accessible.", warManifest.isAccessible());
-		content = getContents(warManifest);
-		assertFalse("Didn't find jboss-seam.jar in WebContent/META-INF/MANIFEST.MF", content.indexOf("jboss-seam.jar")==-1);
-	}
-
-	private String getContents(IFile file) throws IOException, CoreException {
-		StringBuffer sb = new StringBuffer();
-		InputStream is = file.getContents();
-		int i = 0;
-		while(i!=-1) {
-			i = is.read();
-			sb.append((char)i);
-		}
-		return sb.toString();
-	}
-
-	public void testMvelEarJars() {
-		IProject war = earProject.getProject();
-
-		SeamProjectsSet seamProjectsSet = new SeamProjectsSet(earProject
-				.getProject());
-
-		IProject ear = seamProjectsSet.getEarProject();
-		final IContainer earLibs = (IContainer) ear.findMember(
-				new Path("EarContent").append("lib")).getAdapter(
-				IContainer.class);
-		try {
-			for (IResource resource : earLibs.members()) {
-				if (resource.getName().matches("mvel.*\\.jar")) {
-					return;
-				}
-			}
-			fail("mvel*.jar weren't found in seam 2.0. EAR project");
-		} catch (CoreException e) {
-			fail("Error occured during search mvel libraries in lib folder");
-		}
-	}
-
-	/**
-	 * Fails if set of fileNames is not found in dir or some other filename is
-	 * found in dir.
-	 * 
-	 * @param fileNames
-	 *            set of strings
-	 * @param dir
-	 *            directory to scan
-	 * @throws CoreException
-	 */
-	protected void assertOnlyContainsTheseFiles(Set<String> fileNames,
-			final IResource dir) throws CoreException {
-
-		final Set<String> foundFiles = new HashSet<String>();
-		dir.accept(new IResourceProxyVisitor() {
-
-			public boolean visit(IResourceProxy proxy) throws CoreException {
-				if (dir.getName().equals(proxy.getName()))
-					return true;
-				foundFiles.add(proxy.getName());
-				return false;
-			}
-
-		}, IResource.DEPTH_ZERO);
-
-		if (!foundFiles.containsAll(fileNames)) {
-			fileNames.removeAll(foundFiles);
-			fail("Did not find " + fileNames + " in " + dir);
-		}
-
-		foundFiles.removeAll(fileNames);
-
-		assertTrue("Found additional files (" + foundFiles + " in " + dir
-				+ " at " + dir.getLocation(), foundFiles.isEmpty());
-	}
-
-	protected void assertContainsNoneOfTheseFiles(Set<String> fileNames,
-			final IResource dir) throws CoreException {
-		
-		if(dir == null)
-			return;
-		
-		final Set<String> foundFiles = new HashSet<String>();
-		dir.accept(new IResourceProxyVisitor() {
-
-			public boolean visit(IResourceProxy proxy) throws CoreException {
-				if (dir.getName().equals(proxy.getName()))
-					return true;
-				foundFiles.add(proxy.getName());
-				return false;
-			}
-
-		}, IResource.DEPTH_ZERO);
-		
-		for(String fileName : fileNames){
-			if(foundFiles.contains(fileName)){
-				fail("Found library: "+fileName);
-			}
-		}
-
-	}
-
-	public void testBootstrapDirPresent() throws CoreException, IOException {
-		SeamProjectsSet warPs = new SeamProjectsSet(warProject.getProject());
-
-		IProject testProject = warPs.getTestProject();
-		assertTrue(testProject.exists());
-
-		assertNotNull(testProject.findMember("bootstrap"));
-		// assertNotNull(testProject.findMember("bootstrap/data"));
-
-		assertNull("embedded-ejb should not be installed for seam2",
-				testProject.findMember("embedded-ejb"));
-	}
-
-	protected Set<String> getTestLibs() {
-		Set<String> libs = new HashSet<String>();
-
-		libs.add("testng.jar");
-		libs.add("hibernate-all.jar");
-		// libs.add("jboss-deployers.jar"); // JBIDE-2431: There is no such jar
-		// created by Seam 2.0 seamgen
-		libs.add("jboss-embedded-all.jar");
-		libs.add("thirdparty-all.jar");
-		libs.add("jboss-embedded-api.jar");
-		libs.add("core.jar");
-
-		return libs;
-	}
-
-	public void testTestLibs() throws CoreException, IOException {
-		SeamProjectsSet warPs = new SeamProjectsSet(warProject.getProject());
-
-		IProject testProject = warPs.getTestProject();
-		assertTrue(testProject.exists());
-
-		Set<String> libs = getTestLibs();
-
-		assertOnlyContainsTheseFiles(libs, testProject.findMember("lib"));
-
-		// JBIDE-2431: The following block is commented because it duplicates
-		// the call to assertOnlyContainsTheseFiles()
-		/*
-		 * assertNotNull(testProject.findMember("lib/testng.jar"));
-		 * assertNotNull(testProject.findMember("lib/hibernate-all.jar")); //
-		 * assertNotNull(testProject.findMember("lib/jboss-deployers.jar")); //
-		 * JBIDE-2431: There is no such jar created by Seam 2.0 seamgen
-		 * assertNotNull(testProject.findMember("lib/jboss-embedded-all.jar"));
-		 * assertNotNull(testProject.findMember("lib/thirdparty-all.jar"));
-		 * assertNotNull(testProject.findMember("lib/core.jar")); // JBIDE-2431:
-		 * lib/core.jar file is always created by Seam 2.0 seamgen
-		 */
-	}
-
-	/**
-	 * See https://issues.jboss.org/browse/JBIDE-8076
-	 * 
-	 * @throws CoreException
-	 * @throws IOException
-	 */
-	public void testTestProjectClassPath() throws CoreException, IOException {
-		SeamProjectsSet warPs = new SeamProjectsSet(warProject.getProject());
-
-		IProject testProject = warPs.getTestProject();
-		assertTrue(testProject.exists());
-
-		IClasspathEntry warCpe = SeamProjectCreator.getJreContainer(warProject.getProject());
-		assertNotNull(warCpe);
-
-		IClasspathEntry testCpe = SeamProjectCreator.getJreContainer(testProject);
-		assertNotNull(testCpe);
-
-		assertEquals(warCpe.getPath(), testCpe.getPath());
-	}
-
-	public void testSeamProperties() {
-		SeamProjectsSet warPs = new SeamProjectsSet(warProject.getProject());
-
-		IProject warProject = warPs.getWarProject();
-		assertTrue(warProject.exists());
-
-		assertNotNull(warProject.findMember("src/main/seam.properties"));
-		IResource findMember = warProject.findMember("src/hot/seam.properties");
-		assertNotNull(findMember);
-		assertTrue(findMember instanceof IFile);
-	}
-
-	public void testJbpmPresent() throws CoreException, IOException {
-		SeamProjectsSet earPs = new SeamProjectsSet(earProject.getProject());
-
-		IProject project = earPs.getEarProject();
-		assertTrue(project.exists());
-
-		assertNotNull(project.findMember("EarContent/lib/jbpm-jpdl.jar"));
-	}
-
-	public void testDroolsPresent() throws CoreException, IOException {
-		IProject earRoot = earProject.getProject();
-		SeamProjectsSet seamProjectsSet = new SeamProjectsSet(earRoot);
-
-		// JBIDE-2431: security.drl is always created in <EJBProject>/ejbModule
-		// directory by Seam 2.0 seamgen
-		IProject ejbProject = seamProjectsSet.getEjbProject();
-		assertNotNull(ejbProject.findMember("ejbModule/security.drl"));
-	}
-
-	public void testCreateEar() throws CoreException, IOException {
-	}
-
-	@Override
-	protected IProjectFacetVersion getSeamFacetVersion() {
-		return seam2FacetVersion;
-	}
-}
\ No newline at end of file

Added: trunk/seam/tests/org.jboss.tools.seam.base.test/src/org/jboss/tools/seam/core/test/project/facet/Seam2FacetInstallDelegateTest.java
===================================================================
--- trunk/seam/tests/org.jboss.tools.seam.base.test/src/org/jboss/tools/seam/core/test/project/facet/Seam2FacetInstallDelegateTest.java	                        (rev 0)
+++ trunk/seam/tests/org.jboss.tools.seam.base.test/src/org/jboss/tools/seam/core/test/project/facet/Seam2FacetInstallDelegateTest.java	2012-05-09 19:59:01 UTC (rev 40887)
@@ -0,0 +1,169 @@
+/******************************************************************************* 
+ * Copyright (c) 2012 Red Hat, Inc. 
+ * Distributed under license by Red Hat, Inc. All rights reserved. 
+ * This program is made available under the terms of the 
+ * Eclipse Public License v1.0 which accompanies this distribution, 
+ * and is available at http://www.eclipse.org/legal/epl-v10.html 
+ * 
+ * Contributors: 
+ * Red Hat, Inc. - initial API and implementation 
+ ******************************************************************************/
+package org.jboss.tools.seam.core.test.project.facet;
+
+import java.io.IOException;
+import java.util.HashSet;
+import java.util.Set;
+
+import org.eclipse.core.resources.IContainer;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.jdt.core.IClasspathEntry;
+import org.jboss.tools.seam.core.SeamProjectsSet;
+import org.jboss.tools.seam.internal.core.project.facet.SeamProjectCreator;
+
+/**
+ * @author Alexey Kazakov
+ */
+public class Seam2FacetInstallDelegateTest extends AbstractSeam2FacetInstallDelegateTest {
+
+	public Seam2FacetInstallDelegateTest(String name) {
+		super(name);
+	}
+
+	public void testMvelWarJars() {
+		final IContainer warLibs = (IContainer) warProject.getProject()
+				.findMember("WebContent/WEB-INF/lib").getAdapter(
+						IContainer.class);
+		try {
+			for (IResource resource : warLibs.members()) {
+				if (resource.getName().matches("mvel.*\\.jar")) {
+					return;
+				}
+			}
+			fail("mvel*.jar weren't found in seam 2.0. WAR project");
+		} catch (CoreException e) {
+			fail("Error occured during search mvel libraries in lib folder");
+		}
+	}
+
+	public void testMvelEarJars() {
+		IProject war = earProject.getProject();
+
+		SeamProjectsSet seamProjectsSet = new SeamProjectsSet(earProject
+				.getProject());
+
+		IProject ear = seamProjectsSet.getEarProject();
+		final IContainer earLibs = (IContainer) ear.findMember(
+				new Path("EarContent").append("lib")).getAdapter(
+				IContainer.class);
+		try {
+			for (IResource resource : earLibs.members()) {
+				if (resource.getName().matches("mvel.*\\.jar")) {
+					return;
+				}
+			}
+			fail("mvel*.jar weren't found in seam 2.0. EAR project");
+		} catch (CoreException e) {
+			fail("Error occured during search mvel libraries in lib folder");
+		}
+	}
+
+	public void testBootstrapDirPresent() throws CoreException, IOException {
+		SeamProjectsSet warPs = new SeamProjectsSet(warProject.getProject());
+
+		IProject testProject = warPs.getTestProject();
+		assertTrue(testProject.exists());
+
+		assertNotNull(testProject.findMember("bootstrap"));
+		// assertNotNull(testProject.findMember("bootstrap/data"));
+
+		assertNull("embedded-ejb should not be installed for seam2",
+				testProject.findMember("embedded-ejb"));
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * @see org.jboss.tools.seam.core.test.project.facet.AbstractSeam2FacetInstallDelegateTest#getTestLibs()
+	 */
+	@Override
+	protected Set<String> getTestLibs() {
+		Set<String> libs = new HashSet<String>();
+
+		libs.add("testng.jar");
+		libs.add("hibernate-all.jar");
+		// libs.add("jboss-deployers.jar"); // JBIDE-2431: There is no such jar
+		// created by Seam 2.0 seamgen
+		libs.add("jboss-embedded-all.jar");
+		libs.add("thirdparty-all.jar");
+		libs.add("jboss-embedded-api.jar");
+		libs.add("core.jar");
+
+		return libs;
+	}
+
+	public void testTestLibs() throws CoreException, IOException {
+		SeamProjectsSet warPs = new SeamProjectsSet(warProject.getProject());
+
+		IProject testProject = warPs.getTestProject();
+		assertTrue(testProject.exists());
+
+		Set<String> libs = getTestLibs();
+
+		assertOnlyContainsTheseFiles(libs, testProject.findMember("lib"));
+
+		// JBIDE-2431: The following block is commented because it duplicates
+		// the call to assertOnlyContainsTheseFiles()
+		/*
+		 * assertNotNull(testProject.findMember("lib/testng.jar"));
+		 * assertNotNull(testProject.findMember("lib/hibernate-all.jar")); //
+		 * assertNotNull(testProject.findMember("lib/jboss-deployers.jar")); //
+		 * JBIDE-2431: There is no such jar created by Seam 2.0 seamgen
+		 * assertNotNull(testProject.findMember("lib/jboss-embedded-all.jar"));
+		 * assertNotNull(testProject.findMember("lib/thirdparty-all.jar"));
+		 * assertNotNull(testProject.findMember("lib/core.jar")); // JBIDE-2431:
+		 * lib/core.jar file is always created by Seam 2.0 seamgen
+		 */
+	}
+
+	/**
+	 * See https://issues.jboss.org/browse/JBIDE-8076
+	 * 
+	 * @throws CoreException
+	 * @throws IOException
+	 */
+	public void testTestProjectClassPath() throws CoreException, IOException {
+		SeamProjectsSet warPs = new SeamProjectsSet(warProject.getProject());
+
+		IProject testProject = warPs.getTestProject();
+		assertTrue(testProject.exists());
+
+		IClasspathEntry warCpe = SeamProjectCreator.getJreContainer(warProject.getProject());
+		assertNotNull(warCpe);
+
+		IClasspathEntry testCpe = SeamProjectCreator.getJreContainer(testProject);
+		assertNotNull(testCpe);
+
+		assertEquals(warCpe.getPath(), testCpe.getPath());
+	}
+
+	public void testJbpmPresent() throws CoreException, IOException {
+		SeamProjectsSet earPs = new SeamProjectsSet(earProject.getProject());
+
+		IProject project = earPs.getEarProject();
+		assertTrue(project.exists());
+
+		assertNotNull(project.findMember("EarContent/lib/jbpm-jpdl.jar"));
+	}
+
+	public void testDroolsPresent() throws CoreException, IOException {
+		IProject earRoot = earProject.getProject();
+		SeamProjectsSet seamProjectsSet = new SeamProjectsSet(earRoot);
+
+		// JBIDE-2431: security.drl is always created in <EJBProject>/ejbModule
+		// directory by Seam 2.0 seamgen
+		IProject ejbProject = seamProjectsSet.getEjbProject();
+		assertNotNull(ejbProject.findMember("ejbModule/security.drl"));
+	}
+}
\ No newline at end of file


Property changes on: trunk/seam/tests/org.jboss.tools.seam.base.test/src/org/jboss/tools/seam/core/test/project/facet/Seam2FacetInstallDelegateTest.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Modified: trunk/seam/tests/org.jboss.tools.seam201GA.core.test/src/org/jboss/tools/seam/core/test/project/facet/Seam20XFacetTestSuite201GA.java
===================================================================
--- trunk/seam/tests/org.jboss.tools.seam201GA.core.test/src/org/jboss/tools/seam/core/test/project/facet/Seam20XFacetTestSuite201GA.java	2012-05-09 19:35:57 UTC (rev 40886)
+++ trunk/seam/tests/org.jboss.tools.seam201GA.core.test/src/org/jboss/tools/seam/core/test/project/facet/Seam20XFacetTestSuite201GA.java	2012-05-09 19:59:01 UTC (rev 40887)
@@ -10,13 +10,13 @@
  ******************************************************************************/
 package org.jboss.tools.seam.core.test.project.facet;
 
-import org.jboss.tools.test.util.JobUtils;
-
 import junit.extensions.TestSetup;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
+import org.jboss.tools.test.util.JobUtils;
 
+
 /**
  * @author eskimo
  *
@@ -24,13 +24,13 @@
 public class Seam20XFacetTestSuite201GA {
 	public static Test suite() {
 		TestSuite suite = new TestSuite("Seam 2.0.X tests");
-		suite.addTest(new Seam2FacetInstallDelegateTestSetup(new TestSuite(Seam2FacetInstallDelegateTest.class)));
+		suite.addTest(new Seam2FacetInstallDelegateTestSetup(new TestSuite(AbstractSeam2FacetInstallDelegateTest.class)));
 		return suite;
 	}
 	
 	public static class Seam2FacetInstallDelegateTestSetup extends TestSetup {
 
-		Seam2FacetInstallDelegateTest delegate = new Seam2FacetInstallDelegateTest("Delegate");
+		AbstractSeam2FacetInstallDelegateTest delegate = new Seam2FacetInstallDelegateTest("Delegate");
 		@Override
 		protected void setUp() throws Exception {
 			delegate.setUp();

Modified: trunk/seam/tests/org.jboss.tools.seam230.core.test/META-INF/MANIFEST.MF
===================================================================
--- trunk/seam/tests/org.jboss.tools.seam230.core.test/META-INF/MANIFEST.MF	2012-05-09 19:35:57 UTC (rev 40886)
+++ trunk/seam/tests/org.jboss.tools.seam230.core.test/META-INF/MANIFEST.MF	2012-05-09 19:59:01 UTC (rev 40887)
@@ -5,13 +5,30 @@
 Bundle-Version: 3.3.0.qualifier
 Bundle-Vendor: %Bundle-Vendor.0
 Export-Package: org.jboss.tools.seam.core.test.project.facet
-Require-Bundle: 
- org.junit,
- org.jboss.tools.tests,
- org.eclipse.wst.validation,
+Require-Bundle: org.eclipse.core.resources,
+ org.eclipse.core.runtime,
+ org.eclipse.jst.common.project.facet.core,
  org.eclipse.wst.common.project.facet.core,
- org.eclipse.core.runtime,
+ org.eclipse.wst.common.modulecore,
  org.eclipse.wst.common.frameworks,
+ org.jboss.tools.seam.core,
+ org.jboss.tools.tests,
+ org.junit,
+ org.jboss.tools.seam.ui,
+ org.eclipse.ui,
+ org.jboss.tools.common,
+ org.eclipse.debug.core,
+ org.eclipse.ui.ide,
+ org.jboss.tools.common.ui,
+ org.jboss.tools.common.model,
+ org.eclipse.jst.j2ee,
+ org.eclipse.jst.j2ee.core,
+ org.eclipse.jst.j2ee.ejb,
+ org.eclipse.jst.j2ee.web,
+ org.eclipse.jst.jee,
+ org.eclipse.jst.jee.ejb,
+ org.eclipse.jst.jee.ui,
+ org.eclipse.jst.jee.web,
  org.jboss.tools.seam.base.test
 Bundle-Localization: plugin
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6

Modified: trunk/seam/tests/org.jboss.tools.seam230.core.test/src/org/jboss/tools/seam/core/test/project/facet/Seam230FacetInstallDelegateTest.java
===================================================================
--- trunk/seam/tests/org.jboss.tools.seam230.core.test/src/org/jboss/tools/seam/core/test/project/facet/Seam230FacetInstallDelegateTest.java	2012-05-09 19:35:57 UTC (rev 40886)
+++ trunk/seam/tests/org.jboss.tools.seam230.core.test/src/org/jboss/tools/seam/core/test/project/facet/Seam230FacetInstallDelegateTest.java	2012-05-09 19:59:01 UTC (rev 40887)
@@ -10,33 +10,87 @@
  ******************************************************************************/
 package org.jboss.tools.seam.core.test.project.facet;
 
+import java.io.File;
 import java.util.HashSet;
+import java.util.List;
 import java.util.Set;
+import java.util.regex.Pattern;
 
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
+import org.eclipse.wst.validation.ValidationFramework;
+import org.eclipse.wst.validation.internal.EventManager;
+import org.jboss.tools.seam.core.project.facet.SeamRuntimeManager;
+import org.jboss.tools.seam.core.project.facet.SeamVersion;
+import org.jboss.tools.seam.internal.core.project.facet.AntCopyUtils;
+import org.jboss.tools.seam.internal.core.project.facet.Seam23FacetInstallDelegate;
+
 /**
  * @author Alexey Kazakov
  */
-public class Seam230FacetInstallDelegateTest extends Seam220CR1FacetInstallDelegateTest {
+public class Seam230FacetInstallDelegateTest extends AbstractSeam2FacetInstallDelegateTest {
 
+	protected static final String SEAM_2_2_3 = "Seam 2.2.3";
+
 	public Seam230FacetInstallDelegateTest(String name) {
 		super(name);
 	}
 
-	/*
-	 * (non-Javadoc)
-	 * @see org.jboss.tools.seam.core.test.project.facet.Seam2FacetInstallDelegateTest#getTestLibs()
-	 */
 	@Override
-	protected Set<String> getTestLibs() {
-		Set<String> libs = new HashSet<String>();
+	protected void setUp() throws Exception {
+		suspendAllValidation = ValidationFramework.getDefault().isSuspended();
+		ValidationFramework.getDefault().suspendAllValidation(true);
 
-		libs.add("testng-jdk15.jar");
-		libs.add("hibernate-all.jar");
-		libs.add("jboss-embedded-all.jar");
-		libs.add("thirdparty-all.jar");
-		libs.add("jboss-embedded-api.jar");
-		libs.add("core.jar");
+		ResourcesPlugin.getWorkspace().removeResourceChangeListener(EventManager.getManager());
+		// commented to run tests on wtp 3.0.4 build
+		// ws.removeResourceChangeListener( ValManager.getDefault() );
+		// EventManager.getManager().shutdown();
 
-		return libs;
+		assertSeamHomeAvailable();
+
+		seam2Facet = ProjectFacetsManager.getProjectFacet("jst.seam");
+		seam2FacetVersion = seam2Facet.getVersion("2.3");
+
+		File folder = getSeamHomeFolder();
+
+		SeamRuntimeManager.getInstance().addRuntime(SEAM_2_2_3,	folder.getAbsolutePath(), SeamVersion.SEAM_2_3, true);
+		seamRuntime = SeamRuntimeManager.getInstance().findRuntimeByName(SEAM_2_2_3);
+		IProject war = (IProject) ResourcesPlugin.getWorkspace().getRoot().findMember("warprj");
+		warProject = (war != null ? ProjectFacetsManager.create(war, false, null) : createSeamWarProject("warprj"));
+		IProject ear = (IProject) ResourcesPlugin.getWorkspace().getRoot().findMember("earprj");
+		earProject = (ear != null ? ProjectFacetsManager.create(ear, false, null) : createSeamEarProject("earprj"));
 	}
+
+	private static Set<String> convertToStrings(AntCopyUtils.FileSet fileSet) {
+		Set<String> seamgenlibs = new HashSet<String>();
+		List<Pattern> list = fileSet.getIncluded();
+		for (Pattern pattern : list) {
+			seamgenlibs.add(pattern.pattern());
+		}
+		return seamgenlibs;
+	}
+
+	@Override
+	protected Set<String> getWarLibs() {
+		AntCopyUtils.FileSet fileSet = Seam23FacetInstallDelegate.getWarLibFileSet(seamRuntime);
+		return convertToStrings(fileSet);
+	}
+
+	@Override
+	protected Set<String> getEarLibs() {
+		AntCopyUtils.FileSet fileSet = Seam23FacetInstallDelegate.getEarLibFileSet(seamRuntime);
+		return convertToStrings(fileSet);
+	}
+
+	@Override
+	protected Set<String> getEarWarLibs() {
+		AntCopyUtils.FileSet fileSet = Seam23FacetInstallDelegate.getWarLibFileSetForEar(seamRuntime);
+		return convertToStrings(fileSet);
+	}
+
+	@Override
+	protected boolean shouldCheckJBossAppXML() {
+		return false;
+	}
 }
\ No newline at end of file



More information about the jbosstools-commits mailing list