[208088] EMF Tests need fixing
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/AllDOMTests.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/AllDOMTests.java
index 3049b94..49b7420 100644
--- a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/AllDOMTests.java
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/AllDOMTests.java
@@ -5,45 +5,40 @@
 package org.eclipse.jst.j2ee.archive.emftests;
 
 import junit.framework.Test;
-import junit.framework.TestCase;
 import junit.framework.TestSuite;
 
 import org.eclipse.wst.common.internal.emf.resource.EMF2DOMRendererFactory;
-import org.eclipse.wst.common.internal.emf.resource.RendererFactory;
 
 /**
  * @author Administrator
  */
-public class AllDOMTests extends TestCase{
+public class AllDOMTests extends TestSuite {
 	
-	private RendererFactory defaultRendererFactory;
+//	private RendererFactory defaultRendererFactory;
 
-    public AllDOMTests(String name) {
-		super(name);
-	}
+//    public AllDOMTests(String name) {
+//		super(name);
+//	}
 	
-	public AllDOMTests(String name, RendererFactory rf) {
-		super(name);
-		this.defaultRendererFactory = rf;
-	}
+//	public AllDOMTests(String name, RendererFactory rf) {
+//		super(name);
+//		this.defaultRendererFactory = rf;
+//	}
 	
 	public static Test suite() {
-		TestSuite suite = new TestSuite("Test for com.ibm.etools.archive.emftest");
+		TestSuite suite = new TestSuite("All DOM Tests for com.ibm.etools.archive.emftest");
 		//$JUnit-BEGIN$
-		suite.addTest(new AllDOMTests("testSwitchRenderer", RendererFactory.getDefaultRendererFactory()));
-		suite.addTest(AppClientEMFEditTest.suite());
-		suite.addTest(AppClientEMFTest.suite());
-		suite.addTest(EarEMFEditTest.suite());
-		suite.addTest(EarEMFTest.suite()); //
-		suite.addTest(EjbEMFEditTest.suite());
-		suite.addTest(EjbEMFTest.suite());
-		suite.addTest(RarEMFEditTest.suite());
-		suite.addTest(RarEMFTest.suite());
-		suite.addTest(WarEMFEditTest.suite());
-		suite.addTest(WarEMFTest.suite());
-		suite.addTest(WebServicesEMFTest.suite());
-		suite.addTest(new AllDOMTests("testSwitchRendererBack", RendererFactory.getDefaultRendererFactory()));
- 
+		suite.addTest(AppClientEMFEditTest.suite(EMF2DOMRendererFactory.INSTANCE));
+		suite.addTest(AppClientEMFTest.suite(EMF2DOMRendererFactory.INSTANCE));
+		suite.addTest(EarEMFEditTest.suite(EMF2DOMRendererFactory.INSTANCE));
+		suite.addTest(EarEMFTest.suite(EMF2DOMRendererFactory.INSTANCE)); //
+		suite.addTest(EjbEMFEditTest.suite(EMF2DOMRendererFactory.INSTANCE));
+		suite.addTest(EjbEMFTest.suite(EMF2DOMRendererFactory.INSTANCE));
+		suite.addTest(RarEMFEditTest.suite(EMF2DOMRendererFactory.INSTANCE));
+		suite.addTest(RarEMFTest.suite(EMF2DOMRendererFactory.INSTANCE));
+		suite.addTest(WarEMFEditTest.suite(EMF2DOMRendererFactory.INSTANCE));
+		suite.addTest(WarEMFTest.suite(EMF2DOMRendererFactory.INSTANCE));
+		suite.addTest(WebServicesEMFTest.suite(EMF2DOMRendererFactory.INSTANCE));
 		//$JUnit-END$
 		return suite;
 	}
@@ -52,13 +47,13 @@
 		 junit.textui.TestRunner.main(new String[] { AllDOMTests.class.getName() });
 	}	
 	
-	public void testSwitchRenderer() {
-		RendererFactory.setDefaultRendererFactory(EMF2DOMRendererFactory.INSTANCE);
-	
-	}
-
-	public void testSwitchRendererBack() {
-		RendererFactory.setDefaultRendererFactory(defaultRendererFactory);
-	}
+//	public void testSwitchRenderer() {
+//		RendererFactory.setDefaultRendererFactory(EMF2DOMRendererFactory.INSTANCE);
+//	
+//	}
+//
+//	public void testSwitchRendererBack() {
+//		RendererFactory.setDefaultRendererFactory(defaultRendererFactory);
+//	}
 
 }
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/AllSAXTests.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/AllSAXTests.java
index 74c326f..a59f66f 100644
--- a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/AllSAXTests.java
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/AllSAXTests.java
@@ -5,47 +5,42 @@
 package org.eclipse.jst.j2ee.archive.emftests;
 
 import junit.framework.Test;
-import junit.framework.TestCase;
 import junit.framework.TestSuite;
 
 import org.eclipse.wst.common.internal.emf.resource.EMF2SAXRendererFactory;
-import org.eclipse.wst.common.internal.emf.resource.RendererFactory;
 
 /**
  * @author Administrator
  */
-public class AllSAXTests extends TestCase{
+public class AllSAXTests extends TestSuite{
 
-	private RendererFactory defaultRendererFactory;
-	
-	AllTests tests = new AllTests(); // force the class to load if this test is loaded 
-  
-	public AllSAXTests(String name) {
-		super(name);
-	} 
-
-	public AllSAXTests(String name, RendererFactory rf) {
-		super(name);
-		this.defaultRendererFactory = rf;
-	}
+//	private RendererFactory defaultRendererFactory;
+//	
+//	AllTests tests = new AllTests(); // force the class to load if this test is loaded 
+//  
+//	public AllSAXTests(String name) {
+//		super(name);
+//	} 
+//
+//	public AllSAXTests(String name, RendererFactory rf) {
+//		super(name);
+//		this.defaultRendererFactory = rf;
+//	}
 	
 	public static Test suite() {
-		TestSuite suite = new TestSuite("Test for com.ibm.etools.archive.emftest");
+		TestSuite suite = new TestSuite("All SAX Tests for com.ibm.etools.archive.emftest");
 		//$JUnit-BEGIN$
-		suite.addTest(new AllSAXTests("testSwitchRenderer", RendererFactory.getDefaultRendererFactory()));
-		suite.addTest(AppClientEMFEditTest.suite());
-		suite.addTest(AppClientEMFTest.suite());
-		suite.addTest(EarEMFEditTest.suite());
-		suite.addTest(EarEMFTest.suite()); //
-		suite.addTest(EjbEMFEditTest.suite());
-		suite.addTest(EjbEMFTest.suite());
-		suite.addTest(RarEMFEditTest.suite());
-		suite.addTest(RarEMFTest.suite());
-		suite.addTest(WarEMFEditTest.suite());
-		suite.addTest(WarEMFTest.suite());
-		suite.addTest(WebServicesEMFTest.suite());
-		suite.addTest(new AllSAXTests("testSwitchRendererBack", RendererFactory.getDefaultRendererFactory()));
-
+		suite.addTest(AppClientEMFEditTest.suite(EMF2SAXRendererFactory.INSTANCE));
+		suite.addTest(AppClientEMFTest.suite(EMF2SAXRendererFactory.INSTANCE));
+		suite.addTest(EarEMFEditTest.suite(EMF2SAXRendererFactory.INSTANCE));
+		suite.addTest(EarEMFTest.suite(EMF2SAXRendererFactory.INSTANCE)); //
+		suite.addTest(EjbEMFEditTest.suite(EMF2SAXRendererFactory.INSTANCE));
+		suite.addTest(EjbEMFTest.suite(EMF2SAXRendererFactory.INSTANCE));
+		suite.addTest(RarEMFEditTest.suite(EMF2SAXRendererFactory.INSTANCE));
+		suite.addTest(RarEMFTest.suite(EMF2SAXRendererFactory.INSTANCE));
+		suite.addTest(WarEMFEditTest.suite(EMF2SAXRendererFactory.INSTANCE));
+		suite.addTest(WarEMFTest.suite(EMF2SAXRendererFactory.INSTANCE));
+		suite.addTest(WebServicesEMFTest.suite(EMF2SAXRendererFactory.INSTANCE));
 		//$JUnit-END$
 		return suite;
 	}
@@ -54,11 +49,11 @@
 		 junit.textui.TestRunner.main(new String[] { AllSAXTests.class.getName() });
 	}	
 	
-	public void testSwitchRenderer() {
-		RendererFactory.setDefaultRendererFactory(EMF2SAXRendererFactory.INSTANCE); 
-	}
-	
-	public void testSwitchRendererBack() {
-		RendererFactory.setDefaultRendererFactory(defaultRendererFactory);
-	}
+//	public void testSwitchRenderer() {
+//		RendererFactory.setDefaultRendererFactory(EMF2SAXRendererFactory.INSTANCE); 
+//	}
+//	
+//	public void testSwitchRendererBack() {
+//		RendererFactory.setDefaultRendererFactory(defaultRendererFactory);
+//	}
 }
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/AppClientEMFEditTest.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/AppClientEMFEditTest.java
index 029f061..28679d4 100644
--- a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/AppClientEMFEditTest.java
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/AppClientEMFEditTest.java
@@ -1,25 +1,16 @@
 package org.eclipse.jst.j2ee.archive.emftests;
 
-import java.util.HashSet;
-
 import junit.framework.TestSuite;
 import junit.swingui.TestRunner;
 
-import org.eclipse.jst.j2ee.application.ApplicationFactory;
-import org.eclipse.jst.j2ee.application.ApplicationPackage;
 import org.eclipse.jst.j2ee.client.ApplicationClientResource;
 import org.eclipse.jst.j2ee.commonarchivecore.internal.ApplicationClientFile;
 import org.eclipse.jst.j2ee.commonarchivecore.internal.Archive;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchiveFactory;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchivePackage;
 import org.eclipse.jst.j2ee.commonarchivecore.internal.EARFile;
 import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.DuplicateObjectException;
 import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.OpenFailureException;
 import org.eclipse.jst.j2ee.core.tests.bvt.AutomatedBVT;
-import org.eclipse.jst.j2ee.ejb.EjbFactory;
-import org.eclipse.jst.j2ee.ejb.EjbPackage;
-import org.eclipse.jst.j2ee.webapplication.WebapplicationFactory;
-import org.eclipse.jst.j2ee.webapplication.WebapplicationPackage;
+import org.eclipse.wst.common.internal.emf.resource.RendererFactory;
 
 
 public class AppClientEMFEditTest extends GeneralEMFEditingTest {
@@ -29,33 +20,22 @@
     public AppClientEMFEditTest(String name) {
         super(name);
     }
-
-    public CommonarchiveFactory getArchiveFactory() {
-        return CommonarchivePackage.eINSTANCE.getCommonarchiveFactory();
+    
+    public AppClientEMFEditTest(String name, RendererFactory factory) {
+    	super(name, factory);
     }
-
-    public EjbFactory getEjbFactory() {
-        return EjbPackage.eINSTANCE.getEjbFactory();
-    }
-
-    public ApplicationFactory getApplicationFactory() {
-        return ApplicationPackage.eINSTANCE.getApplicationFactory();
-    }
-
-    public WebapplicationFactory getWebAppFactory() {
-        return WebapplicationPackage.eINSTANCE.getWebapplicationFactory();
-    }
-
+    
     public static void main(java.lang.String[] args) {
         String[] className = { "com.ibm.etools.archive.test.AppClientEMFEditTest", "-noloading" };
         TestRunner.main(className);
     }
-    public static junit.framework.Test suite() {
-        TestSuite suite = new TestSuite();
-        suite.addTest(new AppClientEMFEditTest("testApplicationClientEdit"));
+    
+    public static junit.framework.Test suite(RendererFactory factory) {
+        TestSuite suite = new TestSuite(AppClientEMFEditTest.class.getName());
+        suite.addTest(new AppClientEMFEditTest("testApplicationClientEdit", factory));
         return suite;
     }
-
+    
     public void testApplicationClientEdit() throws Exception {
         getAppClient();
         assertEquals("1.3", appClientFile.getDeploymentDescriptor().getVersion());
@@ -81,10 +61,4 @@
         String in = AutomatedBVT.baseDirectory + "loose_module_workspace/LooseEARApp/fooAPP/";
         appClientFile = getArchiveFactory().openApplicationClientFile(in);
     }
-    
-	public HashSet ignorableAttributes(){
-		HashSet set = new HashSet();
-		set.add("id");
-		return set;
-	}
 }
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/AppClientEMFTest.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/AppClientEMFTest.java
index 0a263a9..53b8850 100644
--- a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/AppClientEMFTest.java
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/AppClientEMFTest.java
@@ -10,28 +10,19 @@
  *******************************************************************************/
 package org.eclipse.jst.j2ee.archive.emftests;
 
-import java.util.HashSet;
-
 import junit.framework.TestSuite;
 import junit.swingui.TestRunner;
 
-import org.eclipse.jst.j2ee.application.ApplicationFactory;
-import org.eclipse.jst.j2ee.application.ApplicationPackage;
 import org.eclipse.jst.j2ee.archive.testutilities.EMFAttributeFeatureGenerator;
 import org.eclipse.jst.j2ee.client.ApplicationClientResource;
 import org.eclipse.jst.j2ee.commonarchivecore.internal.ApplicationClientFile;
 import org.eclipse.jst.j2ee.commonarchivecore.internal.Archive;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchiveFactory;
 import org.eclipse.jst.j2ee.commonarchivecore.internal.EARFile;
 import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.DuplicateObjectException;
 import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.OpenFailureException;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.impl.CommonarchiveFactoryImpl;
 import org.eclipse.jst.j2ee.core.tests.bvt.AutomatedBVT;
-import org.eclipse.jst.j2ee.ejb.EjbFactory;
-import org.eclipse.jst.j2ee.ejb.EjbPackage;
 import org.eclipse.jst.j2ee.internal.J2EEVersionConstants;
-import org.eclipse.jst.j2ee.webapplication.WebapplicationFactory;
-import org.eclipse.jst.j2ee.webapplication.WebapplicationPackage;
+import org.eclipse.wst.common.internal.emf.resource.RendererFactory;
 
 
 public class AppClientEMFTest extends GeneralEMFPopulationTest {
@@ -43,33 +34,20 @@
     public AppClientEMFTest(String name) {
         super(name);
     }
-
-    public CommonarchiveFactory getArchiveFactory() {
-        return CommonarchiveFactoryImpl.getActiveFactory();
+    
+    public AppClientEMFTest(String name, RendererFactory factory) {
+    	super(name, factory);
     }
-
-    public EjbFactory getEjbFactory() {
-        return EjbPackage.eINSTANCE.getEjbFactory();
-    }
-
-    public ApplicationFactory getApplicationFactory() {
-        return ApplicationPackage.eINSTANCE.getApplicationFactory();
-    }
-
-    public WebapplicationFactory getWebAppFactory() {
-        return WebapplicationPackage.eINSTANCE.getWebapplicationFactory();
-    }
-
+    
     public static void main(java.lang.String[] args) {
         String[] className = { "com.ibm.etools.archive.test.AppClientEMFTest", "-noloading" };
         TestRunner.main(className);
     }
-    public static junit.framework.Test suite() {
-        TestSuite suite = new TestSuite();
-        suite.addTest(new AppClientEMFTest("testApplicationClientPopulation"));
-/* xsd problem - see bugzilla 152355
-        suite.addTest(new AppClientEMFTest("test14ApplicationClientPopulation"));
-*/
+
+    public static junit.framework.Test suite(RendererFactory factory) {
+        TestSuite suite = new TestSuite(AppClientEMFTest.class.getName());
+        suite.addTest(new AppClientEMFTest("testApplicationClientPopulation", factory));
+        suite.addTest(new AppClientEMFTest("test14ApplicationClientPopulation", factory));
         return suite;
     }
 
@@ -143,11 +121,4 @@
 		String in = AutomatedBVT.baseDirectory + "testOutput/TestAppEAR14/fooAPP";
 		appClientFile14 = getArchiveFactory().openApplicationClientFile(in);
 	}
-    
-    public HashSet ignorableAttributes(){
-    	HashSet set = new HashSet();
-    	set.add("id");
-    	return set;
-    }
-    
 }
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/EarEMFEditTest.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/EarEMFEditTest.java
index f41160e..9bd5791 100644
--- a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/EarEMFEditTest.java
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/EarEMFEditTest.java
@@ -1,7 +1,5 @@
 package org.eclipse.jst.j2ee.archive.emftests;
 
-import java.util.HashSet;
-
 import junit.framework.TestSuite;
 import junit.swingui.TestRunner;
 
@@ -9,18 +7,12 @@
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.emf.ecore.EReference;
 import org.eclipse.jst.j2ee.application.ApplicationFactory;
-import org.eclipse.jst.j2ee.application.ApplicationPackage;
 import org.eclipse.jst.j2ee.application.ApplicationResource;
 import org.eclipse.jst.j2ee.commonarchivecore.internal.Archive;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchiveFactory;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchivePackage;
 import org.eclipse.jst.j2ee.commonarchivecore.internal.EARFile;
 import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.OpenFailureException;
 import org.eclipse.jst.j2ee.core.tests.bvt.AutomatedBVT;
-import org.eclipse.jst.j2ee.ejb.EjbFactory;
-import org.eclipse.jst.j2ee.ejb.EjbPackage;
-import org.eclipse.jst.j2ee.webapplication.WebapplicationFactory;
-import org.eclipse.jst.j2ee.webapplication.WebapplicationPackage;
+import org.eclipse.wst.common.internal.emf.resource.RendererFactory;
 
 
 public class EarEMFEditTest extends GeneralEMFEditingTest {
@@ -32,30 +24,19 @@
     public EarEMFEditTest(String name) {
         super(name);
     }
-
-    public CommonarchiveFactory getArchiveFactory() {
-        return CommonarchivePackage.eINSTANCE.getCommonarchiveFactory();
+    
+    public EarEMFEditTest(String name, RendererFactory factory) {
+    	super(name, factory);
     }
-
-    public EjbFactory getEjbFactory() {
-        return EjbPackage.eINSTANCE.getEjbFactory();
-    }
-
-    public ApplicationFactory getApplicationFactory() {
-        return ApplicationPackage.eINSTANCE.getApplicationFactory();
-    }
-
-    public WebapplicationFactory getWebAppFactory() {
-        return WebapplicationPackage.eINSTANCE.getWebapplicationFactory();
-    }
-
+	
     public static void main(java.lang.String[] args) {
         String[] className = { "com.ibm.etools.archive.test.EarEMFEditTest", "-noloading" };
         TestRunner.main(className);
     }
-    public static junit.framework.Test suite() {
-        TestSuite suite = new TestSuite();
-        suite.addTest(new EarEMFEditTest("testEAREdit"));
+
+    public static junit.framework.Test suite(RendererFactory factory) {
+        TestSuite suite = new TestSuite(EarEMFEditTest.class.getName());
+        suite.addTest(new EarEMFEditTest("testEAREdit", factory));
         return suite;
     }
 
@@ -86,12 +67,6 @@
         earFile = getArchiveFactory().openEARFile(in);
         assertTrue(earFile.getDeploymentDescriptor() != null);
     }
-    
-	public HashSet ignorableAttributes(){
-		HashSet set = new HashSet();
-		set.add("id");
-		return set;
-	}
 
 	public EObject createInstance(EClass eClassifier) {
 		if (eClassifier.getName().equals("Module")) {
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/EarEMFTest.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/EarEMFTest.java
index b6d9dc7..ec33d89 100644
--- a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/EarEMFTest.java
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/EarEMFTest.java
@@ -10,8 +10,6 @@
  *******************************************************************************/
 package org.eclipse.jst.j2ee.archive.emftests;
 
-import java.util.HashSet;
-
 import junit.framework.TestSuite;
 import junit.swingui.TestRunner;
 
@@ -20,20 +18,14 @@
 import org.eclipse.emf.ecore.EReference;
 import org.eclipse.emf.ecore.EStructuralFeature;
 import org.eclipse.jst.j2ee.application.ApplicationFactory;
-import org.eclipse.jst.j2ee.application.ApplicationPackage;
 import org.eclipse.jst.j2ee.application.ApplicationResource;
 import org.eclipse.jst.j2ee.archive.testutilities.EMFAttributeFeatureGenerator;
 import org.eclipse.jst.j2ee.commonarchivecore.internal.Archive;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchiveFactory;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchivePackage;
 import org.eclipse.jst.j2ee.commonarchivecore.internal.EARFile;
 import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.OpenFailureException;
 import org.eclipse.jst.j2ee.core.tests.bvt.AutomatedBVT;
-import org.eclipse.jst.j2ee.ejb.EjbFactory;
-import org.eclipse.jst.j2ee.ejb.EjbPackage;
 import org.eclipse.jst.j2ee.internal.J2EEVersionConstants;
-import org.eclipse.jst.j2ee.webapplication.WebapplicationFactory;
-import org.eclipse.jst.j2ee.webapplication.WebapplicationPackage;
+import org.eclipse.wst.common.internal.emf.resource.RendererFactory;
 
 
 public class EarEMFTest extends GeneralEMFPopulationTest {
@@ -45,33 +37,20 @@
     public EarEMFTest(String name) {
         super(name);
     }
-
-    public CommonarchiveFactory getArchiveFactory() {
-        return CommonarchivePackage.eINSTANCE.getCommonarchiveFactory();
+    
+    public EarEMFTest(String name, RendererFactory factory) {
+    	super(name, factory);
     }
-
-    public EjbFactory getEjbFactory() {
-        return EjbPackage.eINSTANCE.getEjbFactory();
-    }
-
-    public ApplicationFactory getApplicationFactory() {
-        return ApplicationPackage.eINSTANCE.getApplicationFactory();
-    }
-
-    public WebapplicationFactory getWebAppFactory() {
-        return WebapplicationPackage.eINSTANCE.getWebapplicationFactory();
-    }
-
+    
     public static void main(java.lang.String[] args) {
         String[] className = { "com.ibm.etools.archive.test.EarEMFTest", "-noloading" };
         TestRunner.main(className);
     }
-    public static junit.framework.Test suite() {
-        TestSuite suite = new TestSuite();
-        suite.addTest(new EarEMFTest("testEARPopulation"));
-/* xsd problem - see bugzilla 152355
-		suite.addTest(new EarEMFTest("test14EARPopulation"));
-*/
+
+    public static junit.framework.Test suite(RendererFactory factory) {
+        TestSuite suite = new TestSuite(EarEMFTest.class.getName());
+        suite.addTest(new EarEMFTest("testEARPopulation", factory));
+		suite.addTest(new EarEMFTest("test14EARPopulation", factory));
         return suite;
     }
 
@@ -140,12 +119,6 @@
 		earFile = getArchiveFactory().openEARFile(in);
 		assertTrue(earFile.getDeploymentDescriptor() != null);
 	}
-	
-	public HashSet ignorableAttributes(){
-		HashSet set = new HashSet();
-		set.add("id");
-		return set;
-	}
 
     public EObject createInstance(EReference ref, EObject eObject) {
 		EClass eClassifier = (EClass)ref.getEType();
@@ -194,5 +167,4 @@
             return NUM_MODULES;
         return super.getDepthForAttribute(ref);
     }
-
 }
\ No newline at end of file
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/EjbEMFEditTest.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/EjbEMFEditTest.java
index d5cf369..a00cf1b 100644
--- a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/EjbEMFEditTest.java
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/EjbEMFEditTest.java
@@ -10,7 +10,6 @@
  *******************************************************************************/
 package org.eclipse.jst.j2ee.archive.emftests;
 
-import java.util.HashSet;
 import java.util.List;
 
 import junit.framework.TestSuite;
@@ -21,14 +20,10 @@
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.emf.ecore.EReference;
 import org.eclipse.emf.ecore.EcorePackage;
-import org.eclipse.jst.j2ee.application.ApplicationFactory;
-import org.eclipse.jst.j2ee.application.ApplicationPackage;
 import org.eclipse.jst.j2ee.archive.testutilities.EMFAttributeFeatureGenerator;
 import org.eclipse.jst.j2ee.common.CommonFactory;
 import org.eclipse.jst.j2ee.common.SecurityIdentity;
 import org.eclipse.jst.j2ee.commonarchivecore.internal.Archive;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchiveFactory;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchivePackage;
 import org.eclipse.jst.j2ee.commonarchivecore.internal.EARFile;
 import org.eclipse.jst.j2ee.commonarchivecore.internal.EJBJarFile;
 import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.DuplicateObjectException;
@@ -42,8 +37,6 @@
 import org.eclipse.jst.j2ee.ejb.RoleSource;
 import org.eclipse.jst.j2ee.ejb.internal.impl.MethodPermissionImpl;
 import org.eclipse.jst.j2ee.ejb.internal.impl.QueryMethodImpl;
-import org.eclipse.jst.j2ee.webapplication.WebapplicationFactory;
-import org.eclipse.jst.j2ee.webapplication.WebapplicationPackage;
 import org.eclipse.wst.common.internal.emf.resource.EMF2SAXRendererFactory;
 import org.eclipse.wst.common.internal.emf.resource.RendererFactory;
 
@@ -66,36 +59,19 @@
     public EjbEMFEditTest(String name) {
         super(name);
     }
-
-    public CommonarchiveFactory getArchiveFactory() {
-        return CommonarchivePackage.eINSTANCE.getCommonarchiveFactory();
+    
+    public EjbEMFEditTest(String name, RendererFactory factory) {
+    	super(name, factory);
     }
-
-    public EjbFactory getEjbFactory() {
-        return EjbPackage.eINSTANCE.getEjbFactory();
-    }
-
-    public ApplicationFactory getApplicationFactory() {
-        return ApplicationPackage.eINSTANCE.getApplicationFactory();
-    }
-
-    public WebapplicationFactory getWebAppFactory() {
-        return WebapplicationPackage.eINSTANCE.getWebapplicationFactory();
-    }
-
+    
     public static void main(java.lang.String[] args) {
 		junit.textui.TestRunner.main(new String[] { EjbEMFEditTest.class.getName() }); 
     }
-    public static junit.framework.Test suite() {
-        TestSuite suite = new TestSuite();
-        
-        /*System.out.println("Switching to SAX Renderer in " + EjbEMFEditTest.class.getName());
-		suite.addTest(new AllSAXTests("testSwitchRenderer"));*/
-		
-        suite.addTest(new EjbEMFEditTest("testEJBJarEdit"));
-        suite.addTest(new EjbEMFEditTest("testWCCMJar"));
-        /*suite.addTest(new EjbEMFEditTest("testWCCMProvidedCase"));*/
-        
+
+    public static junit.framework.Test suite(RendererFactory factory) {
+        TestSuite suite = new TestSuite(EjbEMFEditTest.class.getName());
+        suite.addTest(new EjbEMFEditTest("testEJBJarEdit",factory));
+        suite.addTest(new EjbEMFEditTest("testWCCMJar",factory));
         return suite;
     }
 
@@ -329,12 +305,6 @@
 		super.populateSharedReference(eObject, ref);
 	}
 
-	public HashSet ignorableAttributes(){
-		HashSet set = new HashSet();
-		set.add("id");
-		return set;
-	}
-
 	/* (non-Javadoc)
 	 * @see junit.framework.TestCase#tearDown()
 	 */
@@ -348,5 +318,4 @@
 
 		super.tearDown();
 	}
-
 }
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/EjbEMFTest.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/EjbEMFTest.java
index de8b092..d3bffce 100644
--- a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/EjbEMFTest.java
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/EjbEMFTest.java
@@ -11,7 +11,6 @@
 package org.eclipse.jst.j2ee.archive.emftests;
 
 import java.util.HashMap;
-import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
 
@@ -25,14 +24,10 @@
 import org.eclipse.emf.ecore.EStructuralFeature;
 import org.eclipse.emf.ecore.EcorePackage;
 import org.eclipse.jem.java.internal.impl.JavaClassImpl;
-import org.eclipse.jst.j2ee.application.ApplicationFactory;
-import org.eclipse.jst.j2ee.application.ApplicationPackage;
 import org.eclipse.jst.j2ee.archive.testutilities.EMFAttributeFeatureGenerator;
 import org.eclipse.jst.j2ee.common.CommonFactory;
 import org.eclipse.jst.j2ee.common.SecurityIdentity;
 import org.eclipse.jst.j2ee.commonarchivecore.internal.Archive;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchiveFactory;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchivePackage;
 import org.eclipse.jst.j2ee.commonarchivecore.internal.EARFile;
 import org.eclipse.jst.j2ee.commonarchivecore.internal.EJBJarFile;
 import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.DuplicateObjectException;
@@ -50,8 +45,7 @@
 import org.eclipse.jst.j2ee.ejb.internal.impl.QueryMethodImpl;
 import org.eclipse.jst.j2ee.internal.J2EEInit;
 import org.eclipse.jst.j2ee.internal.J2EEVersionConstants;
-import org.eclipse.jst.j2ee.webapplication.WebapplicationFactory;
-import org.eclipse.jst.j2ee.webapplication.WebapplicationPackage;
+import org.eclipse.wst.common.internal.emf.resource.RendererFactory;
 
 
 public class EjbEMFTest extends GeneralEMFPopulationTest {
@@ -72,38 +66,23 @@
 	protected int createdSecurityIdentities = 0;
 	boolean mpFlag = false;
 	boolean firstReturnTypeMapping = true;
+	
 	public EjbEMFTest(String name) {
 		super(name);
 	}
-
-	public CommonarchiveFactory getArchiveFactory() {
-		return CommonarchivePackage.eINSTANCE.getCommonarchiveFactory();
-	}
-
-	public EjbFactory getEjbFactory() {
-		return EJB_PKG.getEjbFactory();
-	}
-
-	public ApplicationFactory getApplicationFactory() {
-		return ApplicationPackage.eINSTANCE.getApplicationFactory();
-	}
-
-	public WebapplicationFactory getWebAppFactory() {
-		return WebapplicationPackage.eINSTANCE.getWebapplicationFactory();
-	}
-
+	
+    public EjbEMFTest(String name, RendererFactory factory) {
+    	super(name, factory);
+    }
+	
 	public static void main(java.lang.String[] args) {
 		junit.textui.TestRunner.main(new String[] { EjbEMFTest.class.getName()});
 	}
-	public static junit.framework.Test suite() {
-		TestSuite suite = new TestSuite();
 
-		/*System.out.println("Switching to SAX Renderer in " + EjbEMFTest.class.getName());
-		suite.addTest(new AllSAXTests("testSwitchRenderer"));*/
-		suite.addTest(new EjbEMFTest("testEJBJarPopulation"));
-/* xsd problem - see bugzilla 152355
-		suite.addTest(new EjbEMFTest("test14EJBJarPopulation"));
-*/
+	public static junit.framework.Test suite(RendererFactory factory) {
+		TestSuite suite = new TestSuite(EjbEMFTest.class.getName());
+		suite.addTest(new EjbEMFTest("testEJBJarPopulation",factory));
+		suite.addTest(new EjbEMFTest("test14EJBJarPopulation",factory));
 		return suite;
 	}
 
@@ -340,12 +319,6 @@
 		super.populateSharedReference(eObject, ref);
 	}
 
-	public HashSet ignorableAttributes(){
-		HashSet set = new HashSet();
-		set.add("id");
-		return set;
-	}
-
 	/* (non-Javadoc)
 	 * @see com.ibm.etools.archive.emftest.GeneralEMFPopulationTest#createAttributeValue(org.eclipse.emf.ecore.EAttribute, org.eclipse.emf.ecore.EObject)
 	 */
@@ -370,7 +343,5 @@
 		entityBean = null;
 		secID = null;
 		roleSource = null;
-
-		
-}
+	}
 }
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/GeneralEMFEditingTest.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/GeneralEMFEditingTest.java
index 168efd7..36a22db 100644
--- a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/GeneralEMFEditingTest.java
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/GeneralEMFEditingTest.java
@@ -39,10 +39,9 @@
 import org.eclipse.jst.j2ee.common.CommonPackage;
 import org.eclipse.jst.j2ee.core.tests.bvt.AutomatedBVT;
 import org.eclipse.wst.common.internal.emf.resource.RendererFactory;
-import org.eclipse.wst.common.tests.BaseTestCase;
 
 
-public class GeneralEMFEditingTest extends BaseTestCase {
+public class GeneralEMFEditingTest extends GeneralEMFTest {
 	//inner class to handle deffered shared references
 	protected class DeferredSharedReferenceAction {
 		EObject owner;
@@ -83,6 +82,10 @@
 	public GeneralEMFEditingTest(String name) {
 		super(name);
 	}
+	
+    public GeneralEMFEditingTest(String name, RendererFactory factory) {
+    	super(name, factory);
+    }
 
 	public void editRoot(EObject eObject) {
 		editFeatures(eObject);
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/GeneralEMFPopulationTest.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/GeneralEMFPopulationTest.java
index 7f3c42b..9886889 100644
--- a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/GeneralEMFPopulationTest.java
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/GeneralEMFPopulationTest.java
@@ -48,10 +48,10 @@
 import org.eclipse.jst.j2ee.ejb.EjbPackage;
 import org.eclipse.jst.j2ee.ejb.MessageDriven;
 import org.eclipse.jst.j2ee.ejb.MethodElementKind;
-import org.eclipse.wst.common.tests.BaseTestCase;
+import org.eclipse.wst.common.internal.emf.resource.RendererFactory;
 
 
-public class GeneralEMFPopulationTest extends BaseTestCase {
+public class GeneralEMFPopulationTest extends GeneralEMFTest {
     //inner class to handle deffered shared references
     protected class DeferredSharedReferenceAction {
         EObject owner;
@@ -90,6 +90,10 @@
     public GeneralEMFPopulationTest(String name) {
         super(name);
     }
+    
+    public GeneralEMFPopulationTest(String name, RendererFactory factory) {
+    	super(name, factory);
+    }
 
     public void populateRoot(EObject eObject) {
         populateFeatures(eObject);
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/GeneralEMFTest.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/GeneralEMFTest.java
new file mode 100644
index 0000000..d349972
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/GeneralEMFTest.java
@@ -0,0 +1,76 @@
+/**
+ * 
+ */
+package org.eclipse.jst.j2ee.archive.emftests;
+
+import java.util.HashSet;
+
+import org.eclipse.jst.j2ee.application.ApplicationFactory;
+import org.eclipse.jst.j2ee.application.ApplicationPackage;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchiveFactory;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchivePackage;
+import org.eclipse.jst.j2ee.ejb.EjbFactory;
+import org.eclipse.jst.j2ee.ejb.EjbPackage;
+import org.eclipse.jst.j2ee.webapplication.WebapplicationFactory;
+import org.eclipse.jst.j2ee.webapplication.WebapplicationPackage;
+import org.eclipse.wst.common.internal.emf.resource.RendererFactory;
+import org.eclipse.wst.common.tests.BaseTestCase;
+
+/**
+ * @author itewk
+ *
+ */
+public abstract class GeneralEMFTest extends BaseTestCase {
+	private RendererFactory testingFactory;
+	private RendererFactory defaultFactory;
+	
+	public GeneralEMFTest(String name) {
+		super(name);
+		
+		defaultFactory = RendererFactory.getDefaultRendererFactory();
+		testingFactory = RendererFactory.getDefaultRendererFactory();
+	}
+	
+	public GeneralEMFTest(String name, RendererFactory factory) {
+		super(name);
+		
+		defaultFactory = RendererFactory.getDefaultRendererFactory();
+		testingFactory = factory;
+	}
+	
+	protected void setUp() throws Exception {
+		//set the default factory to the factory needed for this test run
+		RendererFactory.setDefaultRendererFactory(testingFactory);
+		
+		super.setUp();
+	}
+	
+	protected void tearDown() throws Exception {
+		//set the default factory back to the orginal default
+		RendererFactory.setDefaultRendererFactory(defaultFactory);
+		
+		super.setUp();
+	}
+	
+	protected CommonarchiveFactory getArchiveFactory() {
+        return CommonarchivePackage.eINSTANCE.getCommonarchiveFactory();
+    }
+
+	protected EjbFactory getEjbFactory() {
+        return EjbPackage.eINSTANCE.getEjbFactory();
+    }
+
+	protected ApplicationFactory getApplicationFactory() {
+        return ApplicationPackage.eINSTANCE.getApplicationFactory();
+    }
+
+	protected WebapplicationFactory getWebAppFactory() {
+        return WebapplicationPackage.eINSTANCE.getWebapplicationFactory();
+    }
+    
+	protected HashSet ignorableAttributes(){
+		HashSet set = new HashSet();
+		set.add("id");
+		return set;
+	}
+}
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/RarEMFEditTest.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/RarEMFEditTest.java
index 58a6ce0..fb4463e 100644
--- a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/RarEMFEditTest.java
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/RarEMFEditTest.java
@@ -1,24 +1,15 @@
 package org.eclipse.jst.j2ee.archive.emftests;
 
-import java.util.HashSet;
-
 import junit.framework.TestSuite;
 import junit.swingui.TestRunner;
 
-import org.eclipse.jst.j2ee.application.ApplicationFactory;
-import org.eclipse.jst.j2ee.application.ApplicationPackage;
 import org.eclipse.jst.j2ee.commonarchivecore.internal.Archive;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchiveFactory;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchivePackage;
 import org.eclipse.jst.j2ee.commonarchivecore.internal.RARFile;
 import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.DuplicateObjectException;
 import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.OpenFailureException;
 import org.eclipse.jst.j2ee.core.tests.bvt.AutomatedBVT;
-import org.eclipse.jst.j2ee.ejb.EjbFactory;
-import org.eclipse.jst.j2ee.ejb.EjbPackage;
 import org.eclipse.jst.j2ee.jca.ConnectorResource;
-import org.eclipse.jst.j2ee.webapplication.WebapplicationFactory;
-import org.eclipse.jst.j2ee.webapplication.WebapplicationPackage;
+import org.eclipse.wst.common.internal.emf.resource.RendererFactory;
 
 
 public class RarEMFEditTest extends GeneralEMFEditingTest {
@@ -27,30 +18,19 @@
     public RarEMFEditTest(String name) {
         super(name);
     }
-
-    public CommonarchiveFactory getArchiveFactory() {
-        return CommonarchivePackage.eINSTANCE.getCommonarchiveFactory();
+    
+    public RarEMFEditTest(String name, RendererFactory factory) {
+    	super(name, factory);
     }
-
-    public EjbFactory getEjbFactory() {
-        return EjbPackage.eINSTANCE.getEjbFactory();
-    }
-
-    public ApplicationFactory getApplicationFactory() {
-        return ApplicationPackage.eINSTANCE.getApplicationFactory();
-    }
-
-    public WebapplicationFactory getWebAppFactory() {
-        return WebapplicationPackage.eINSTANCE.getWebapplicationFactory();
-    }
-
+    
     public static void main(java.lang.String[] args) {
         String[] className = { "com.ibm.etools.archive.test.RarEMFEditTest", "-noloading" };
         TestRunner.main(className);
     }
-    public static junit.framework.Test suite() {
-        TestSuite suite = new TestSuite();
-        suite.addTest(new RarEMFEditTest("testRAREdit"));
+
+    public static junit.framework.Test suite(RendererFactory factory) {
+        TestSuite suite = new TestSuite(RarEMFEditTest.class.getName());
+        suite.addTest(new RarEMFEditTest("testRAREdit",factory));
         return suite;
     }
 
@@ -80,9 +60,4 @@
         rarFile = getArchiveFactory().openRARFile(in);
         assertTrue(rarFile.getDeploymentDescriptor() != null);
     }
-	public HashSet ignorableAttributes(){
-		HashSet set = new HashSet();
-		set.add("id");
-		return set;
-	}
 }
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/RarEMFTest.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/RarEMFTest.java
index 73d20a4..2994fde 100644
--- a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/RarEMFTest.java
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/RarEMFTest.java
@@ -10,31 +10,22 @@
  *******************************************************************************/
 package org.eclipse.jst.j2ee.archive.emftests;
 
-import java.util.HashSet;
-
 import junit.framework.TestSuite;
 import junit.swingui.TestRunner;
 
 import org.eclipse.emf.ecore.EAttribute;
 import org.eclipse.emf.ecore.EObject;
-import org.eclipse.jst.j2ee.application.ApplicationFactory;
-import org.eclipse.jst.j2ee.application.ApplicationPackage;
 import org.eclipse.jst.j2ee.archive.testutilities.EMFAttributeFeatureGenerator;
 import org.eclipse.jst.j2ee.commonarchivecore.internal.Archive;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchiveFactory;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchivePackage;
 import org.eclipse.jst.j2ee.commonarchivecore.internal.EARFile;
 import org.eclipse.jst.j2ee.commonarchivecore.internal.RARFile;
 import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.DuplicateObjectException;
 import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.OpenFailureException;
 import org.eclipse.jst.j2ee.core.tests.bvt.AutomatedBVT;
-import org.eclipse.jst.j2ee.ejb.EjbFactory;
-import org.eclipse.jst.j2ee.ejb.EjbPackage;
 import org.eclipse.jst.j2ee.internal.J2EEVersionConstants;
 import org.eclipse.jst.j2ee.jca.ConnectorResource;
 import org.eclipse.jst.j2ee.jca.JcaPackage;
-import org.eclipse.jst.j2ee.webapplication.WebapplicationFactory;
-import org.eclipse.jst.j2ee.webapplication.WebapplicationPackage;
+import org.eclipse.wst.common.internal.emf.resource.RendererFactory;
 
 
 public class RarEMFTest extends GeneralEMFPopulationTest {
@@ -44,33 +35,20 @@
 	public RarEMFTest(String name) {
 		super(name);
 	}
-
-	public CommonarchiveFactory getArchiveFactory() {
-		return CommonarchivePackage.eINSTANCE.getCommonarchiveFactory();
-	}
-
-	public EjbFactory getEjbFactory() {
-		return EjbPackage.eINSTANCE.getEjbFactory();
-	}
-
-	public ApplicationFactory getApplicationFactory() {
-		return ApplicationPackage.eINSTANCE.getApplicationFactory();
-	}
-
-	public WebapplicationFactory getWebAppFactory() {
-		return WebapplicationPackage.eINSTANCE.getWebapplicationFactory();
-	}
+	
+    public RarEMFTest(String name, RendererFactory factory) {
+    	super(name, factory);
+    }
 
 	public static void main(java.lang.String[] args) {
 		String[] className = { "com.ibm.etools.archive.test.RarEMFTest", "-noloading" };
 		TestRunner.main(className);
 	}
-	public static junit.framework.Test suite() {
-		TestSuite suite = new TestSuite();
-		suite.addTest(new RarEMFTest("testRARPopulation"));
-/* xsd problem - see bugzilla 152355
-		suite.addTest(new RarEMFTest("test14RARPopulation"));
-*/
+
+	public static junit.framework.Test suite(RendererFactory factory) {
+		TestSuite suite = new TestSuite(RarEMFTest.class.getName());
+		suite.addTest(new RarEMFTest("testRARPopulation",factory));
+		suite.addTest(new RarEMFTest("test14RARPopulation",factory));
 		return suite;
 	}
 
@@ -146,12 +124,6 @@
 		assertTrue(earFile.getDeploymentDescriptor() != null);
 	}
 
-	public HashSet ignorableAttributes() {
-		HashSet set = new HashSet();
-		set.add("id");
-		return set;
-	}
-
 	/* (non-Javadoc)
 	 * @see com.ibm.etools.archive.emftest.GeneralEMFPopulationTest#createAttributeValue(org.eclipse.emf.ecore.EAttribute)
 	 */
@@ -166,5 +138,4 @@
 		else
 			return super.createAttributeValue(att, eObject);
 	}
-
 }
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/ResolverTest.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/ResolverTest.java
index ec50dcf..87b059e 100644
--- a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/ResolverTest.java
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/ResolverTest.java
@@ -1,6 +1,5 @@
 package org.eclipse.jst.j2ee.archive.emftests;
 
-import java.util.HashSet;
 import java.util.List;
 
 import junit.framework.TestSuite;
@@ -11,14 +10,10 @@
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.emf.ecore.EReference;
 import org.eclipse.emf.ecore.EcorePackage;
-import org.eclipse.jst.j2ee.application.ApplicationFactory;
-import org.eclipse.jst.j2ee.application.ApplicationPackage;
 import org.eclipse.jst.j2ee.archive.testutilities.EMFAttributeFeatureGenerator;
 import org.eclipse.jst.j2ee.common.CommonFactory;
 import org.eclipse.jst.j2ee.common.SecurityIdentity;
 import org.eclipse.jst.j2ee.commonarchivecore.internal.Archive;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchiveFactory;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchivePackage;
 import org.eclipse.jst.j2ee.commonarchivecore.internal.EARFile;
 import org.eclipse.jst.j2ee.commonarchivecore.internal.EJBJarFile;
 import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.DuplicateObjectException;
@@ -31,8 +26,6 @@
 import org.eclipse.jst.j2ee.ejb.RoleSource;
 import org.eclipse.jst.j2ee.ejb.internal.impl.MethodPermissionImpl;
 import org.eclipse.jst.j2ee.ejb.internal.impl.QueryMethodImpl;
-import org.eclipse.jst.j2ee.webapplication.WebapplicationFactory;
-import org.eclipse.jst.j2ee.webapplication.WebapplicationPackage;
 import org.eclipse.wst.common.internal.emf.resource.RendererFactory;
 
 
@@ -67,32 +60,19 @@
     public ResolverTest(String name) {
         super(name);
     }
-
-    public CommonarchiveFactory getArchiveFactory() {
-        return CommonarchivePackage.eINSTANCE.getCommonarchiveFactory();
-    }
-
-    public EjbFactory getEjbFactory() {
-        return EjbPackage.eINSTANCE.getEjbFactory();
-    }
-
-    public ApplicationFactory getApplicationFactory() {
-        return ApplicationPackage.eINSTANCE.getApplicationFactory();
-    }
-
-    public WebapplicationFactory getWebAppFactory() {
-        return WebapplicationPackage.eINSTANCE.getWebapplicationFactory();
+    
+    public ResolverTest(String name, RendererFactory factory) {
+    	super(name, factory);
     }
 
     public static void main(java.lang.String[] args) {
         junit.textui.TestRunner.main(new String[] { ResolverTest.class.getName()});
     }
 
-    public static junit.framework.Test suite() {
-        TestSuite suite = new TestSuite();
-        /*suite.addTest(new AllSAXTests("testSwitchRenderer"));*/
-        suite.addTest(new ResolverTest("testResolver"));
-        suite.addTest(new ResolverTest("testResolverNoSchemaLocation"));
+    public static junit.framework.Test suite(RendererFactory factory) {
+        TestSuite suite = new TestSuite(ResolverTest.class.getName());
+        suite.addTest(new ResolverTest("testResolver",factory));
+        suite.addTest(new ResolverTest("testResolverNoSchemaLocation",factory));
         return suite;
     }
 
@@ -265,12 +245,6 @@
         super.populateSharedReference(eObject, ref);
     }
 
-    public HashSet ignorableAttributes() {
-        HashSet set = new HashSet();
-        set.add("id");
-        return set;
-    }
-
     /*
      * (non-Javadoc)
      * 
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/WarEMFEditTest.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/WarEMFEditTest.java
index 563e38f..6c2c935 100644
--- a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/WarEMFEditTest.java
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/WarEMFEditTest.java
@@ -1,6 +1,5 @@
 package org.eclipse.jst.j2ee.archive.emftests;
 
-import java.util.HashSet;
 import java.util.List;
 
 import junit.framework.TestSuite;
@@ -10,24 +9,19 @@
 import org.eclipse.emf.ecore.EClass;
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.emf.ecore.EReference;
-import org.eclipse.jst.j2ee.application.ApplicationFactory;
-import org.eclipse.jst.j2ee.application.ApplicationPackage;
 import org.eclipse.jst.j2ee.commonarchivecore.internal.Archive;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchiveFactory;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchivePackage;
 import org.eclipse.jst.j2ee.commonarchivecore.internal.EARFile;
 import org.eclipse.jst.j2ee.commonarchivecore.internal.WARFile;
 import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.DuplicateObjectException;
 import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.OpenFailureException;
 import org.eclipse.jst.j2ee.core.tests.bvt.AutomatedBVT;
-import org.eclipse.jst.j2ee.ejb.EjbFactory;
-import org.eclipse.jst.j2ee.ejb.EjbPackage;
 import org.eclipse.jst.j2ee.webapplication.ErrorPage;
 import org.eclipse.jst.j2ee.webapplication.WebAppResource;
 import org.eclipse.jst.j2ee.webapplication.WebType;
 import org.eclipse.jst.j2ee.webapplication.WebapplicationFactory;
 import org.eclipse.jst.j2ee.webapplication.WebapplicationPackage;
 import org.eclipse.jst.j2ee.webapplication.internal.impl.FilterMappingImpl;
+import org.eclipse.wst.common.internal.emf.resource.RendererFactory;
 
 
 public class WarEMFEditTest extends GeneralEMFEditingTest {
@@ -40,30 +34,18 @@
     public WarEMFEditTest(String name) {
         super(name);
     }
-
-    public CommonarchiveFactory getArchiveFactory() {
-        return CommonarchivePackage.eINSTANCE.getCommonarchiveFactory();
-    }
-
-    public EjbFactory getEjbFactory() {
-        return EjbPackage.eINSTANCE.getEjbFactory();
-    }
-
-    public ApplicationFactory getApplicationFactory() {
-        return ApplicationPackage.eINSTANCE.getApplicationFactory();
-    }
-
-    public WebapplicationFactory getWebAppFactory() {
-        return WebapplicationPackage.eINSTANCE.getWebapplicationFactory();
+    
+    public WarEMFEditTest(String name, RendererFactory factory) {
+    	super(name, factory);
     }
 
     public static void main(java.lang.String[] args) {
         String[] className = { "com.ibm.etools.archive.test.WarEMFTest", "-noloading" };
         TestRunner.main(className);
     }
-    public static junit.framework.Test suite() {
-        TestSuite suite = new TestSuite();
-        suite.addTest(new WarEMFEditTest("testWAREdit"));
+    public static junit.framework.Test suite(RendererFactory factory) {
+        TestSuite suite = new TestSuite(WarEMFEditTest.class.getName());
+        suite.addTest(new WarEMFEditTest("testWAREdit",factory));
         return suite;
     }
 
@@ -154,10 +136,4 @@
 		}
 		super.populateSharedReference(eObject, ref);
 	}
-	
-	public HashSet ignorableAttributes(){
-		HashSet set = new HashSet();
-		set.add("id");
-		return set;
-	}
 }
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/WarEMFTest.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/WarEMFTest.java
index 66676c1..30fdc9c 100644
--- a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/WarEMFTest.java
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/WarEMFTest.java
@@ -11,7 +11,6 @@
 package org.eclipse.jst.j2ee.archive.emftests;
 
 import java.util.HashMap;
-import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
 
@@ -20,21 +19,15 @@
 import org.eclipse.emf.ecore.EAttribute;
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.emf.ecore.EReference;
-import org.eclipse.jst.j2ee.application.ApplicationFactory;
-import org.eclipse.jst.j2ee.application.ApplicationPackage;
 import org.eclipse.jst.j2ee.archive.testutilities.EMFAttributeFeatureGenerator;
 import org.eclipse.jst.j2ee.common.ResAuthTypeBase;
 import org.eclipse.jst.j2ee.commonarchivecore.internal.Archive;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchiveFactory;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchivePackage;
 import org.eclipse.jst.j2ee.commonarchivecore.internal.EARFile;
 import org.eclipse.jst.j2ee.commonarchivecore.internal.WARFile;
 import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.DuplicateObjectException;
 import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.OpenFailureException;
 import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ArchiveOptions;
 import org.eclipse.jst.j2ee.core.tests.bvt.AutomatedBVT;
-import org.eclipse.jst.j2ee.ejb.EjbFactory;
-import org.eclipse.jst.j2ee.ejb.EjbPackage;
 import org.eclipse.jst.j2ee.internal.J2EEVersionConstants;
 import org.eclipse.jst.j2ee.webapplication.ErrorPage;
 import org.eclipse.jst.j2ee.webapplication.WebAppResource;
@@ -42,6 +35,7 @@
 import org.eclipse.jst.j2ee.webapplication.WebapplicationFactory;
 import org.eclipse.jst.j2ee.webapplication.WebapplicationPackage;
 import org.eclipse.jst.j2ee.webapplication.internal.impl.FilterMappingImpl;
+import org.eclipse.wst.common.internal.emf.resource.RendererFactory;
 
 
 public class WarEMFTest extends GeneralEMFPopulationTest {
@@ -50,33 +44,23 @@
     protected int createdWebTypes = 0;
     protected int createdErrorPages = 0;
 	protected boolean fmFlag = false;
+	
     public WarEMFTest(String name) {
         super(name);
     }
-    public CommonarchiveFactory getArchiveFactory() {
-        return CommonarchivePackage.eINSTANCE.getCommonarchiveFactory();
-    }
-
-    public EjbFactory getEjbFactory() {
-        return EjbPackage.eINSTANCE.getEjbFactory();
-    }
-
-    public ApplicationFactory getApplicationFactory() {
-        return ApplicationPackage.eINSTANCE.getApplicationFactory();
-    }
-
-    public WebapplicationFactory getWebAppFactory() {
-        return WebapplicationPackage.eINSTANCE.getWebapplicationFactory();
+    
+    public WarEMFTest(String name, RendererFactory factory) {
+    	super(name, factory);
     }
 
     public static void main(java.lang.String[] args) {
-        
         junit.textui.TestRunner.main(new String[]{ WarEMFTest.class.getName() });
     }
-    public static junit.framework.Test suite() {
-        TestSuite suite = new TestSuite();
-        suite.addTest(new WarEMFTest("testWARPopulation"));
-		suite.addTest(new WarEMFTest("test14WARPopulation"));
+    
+    public static junit.framework.Test suite(RendererFactory factory) {
+        TestSuite suite = new TestSuite(WarEMFTest.class.getName());
+        suite.addTest(new WarEMFTest("testWARPopulation",factory));
+		suite.addTest(new WarEMFTest("test14WARPopulation",factory));
         return suite;
     }
 
@@ -230,13 +214,6 @@
 		super.populateSharedReference(eObject, ref);
 	}
 	
-	public HashSet ignorableAttributes(){
-		HashSet set = new HashSet();
-		set.add("id");
-		return set;
-	}
-
-
 	protected boolean isValidAuth(ResAuthTypeBase auth) {
 		if (version == VERSION_1_2)
 			return auth == ResAuthTypeBase.SERVLET_LITERAL || auth == ResAuthTypeBase.CONTAINER_LITERAL;
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/WebServicesEMFTest.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/WebServicesEMFTest.java
index ba99ca2..a7f9fe5 100644
--- a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/WebServicesEMFTest.java
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/WebServicesEMFTest.java
@@ -16,8 +16,6 @@
  */
 package org.eclipse.jst.j2ee.archive.emftests;
 
-import java.util.HashSet;
-
 import junit.framework.TestSuite;
 import junit.swingui.TestRunner;
 
@@ -25,23 +23,15 @@
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.emf.ecore.EReference;
 import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.jst.j2ee.application.ApplicationFactory;
-import org.eclipse.jst.j2ee.application.ApplicationPackage;
 import org.eclipse.jst.j2ee.archive.testutilities.EMFAttributeFeatureGenerator;
 import org.eclipse.jst.j2ee.common.internal.impl.J2EEResourceFactoryRegistry;
 import org.eclipse.jst.j2ee.commonarchivecore.internal.Archive;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchiveFactory;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchivePackage;
 import org.eclipse.jst.j2ee.commonarchivecore.internal.EARFile;
 import org.eclipse.jst.j2ee.commonarchivecore.internal.EJBJarFile;
 import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.DuplicateObjectException;
 import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.OpenFailureException;
 import org.eclipse.jst.j2ee.core.tests.bvt.AutomatedBVT;
-import org.eclipse.jst.j2ee.ejb.EjbFactory;
-import org.eclipse.jst.j2ee.ejb.EjbPackage;
 import org.eclipse.jst.j2ee.internal.J2EEVersionConstants;
-import org.eclipse.jst.j2ee.webapplication.WebapplicationFactory;
-import org.eclipse.jst.j2ee.webapplication.WebapplicationPackage;
 import org.eclipse.jst.j2ee.webservice.jaxrpcmap.InterfaceMapping;
 import org.eclipse.jst.j2ee.webservice.jaxrpcmap.JavaWSDLMapping;
 import org.eclipse.jst.j2ee.webservice.jaxrpcmap.JaxrpcmapFactory;
@@ -69,53 +59,21 @@
 	public WebServicesEMFTest(String name) {
 		super(name);
 	}
-
-	public CommonarchiveFactory getArchiveFactory() {
-		return CommonarchivePackage.eINSTANCE.getCommonarchiveFactory();
-	}
-
-	public EjbFactory getEjbFactory() {
-		return EjbPackage.eINSTANCE.getEjbFactory();
-	}
-
-	public ApplicationFactory getApplicationFactory() {
-		return ApplicationPackage.eINSTANCE.getApplicationFactory();
-	}
-
-	public WebapplicationFactory getWebAppFactory() {
-		return WebapplicationPackage.eINSTANCE.getWebapplicationFactory();
-	}
-	public EObject createInstance(EReference ref,EObject eObject) {
-
-        if (JaxrpcmapPackage.eINSTANCE.getInterfaceMapping().equals(ref.getEType()))
-            return createInterfaceMap();
-
-        return super.createInstance(ref, eObject);
-    }
-    /* The web type is abstract.  Alternate between servlet-class
-     * and jsp-file
-     */
-    public InterfaceMapping createInterfaceMap() {
-        createdInterfaceMaps++;
-        if ((createdInterfaceMaps & 1) == 0)
-            return JaxrpcmapFactory.eINSTANCE.createServiceEndpointInterfaceMapping();
-        else
-            return JaxrpcmapFactory.eINSTANCE.createServiceEndpointInterfaceMapping();
-
+	
+    public WebServicesEMFTest(String name, RendererFactory factory) {
+    	super(name, factory);
     }
 
 	public static void main(java.lang.String[] args) {
 		String[] className = { "com.ibm.etools.archive.test.WebServicesEMFTest", "-noloading" };
 		TestRunner.main(className);
 	}
-	public static junit.framework.Test suite() {
-		TestSuite suite = new TestSuite();
-		suite.addTest(new WebServicesEMFTest("test13WebServicesClientPopulation"));
-		suite.addTest(new WebServicesEMFTest("test13WebServicesDDPopulation"));
-		suite.addTest(new WebServicesEMFTest("test14WebServicesDDPopulation"));
-/* xsd problem - see bugzilla 152355
-		suite.addTest(new WebServicesEMFTest("testJaxRPCMapPopulation"));
-*/
+	public static junit.framework.Test suite(RendererFactory factory) {
+		TestSuite suite = new TestSuite(WebServicesEMFTest.class.getName());
+		suite.addTest(new WebServicesEMFTest("test13WebServicesClientPopulation",factory));
+		suite.addTest(new WebServicesEMFTest("test13WebServicesDDPopulation",factory));
+		suite.addTest(new WebServicesEMFTest("test14WebServicesDDPopulation",factory));
+		suite.addTest(new WebServicesEMFTest("testJaxRPCMapPopulation",factory));
 		return suite;
 	}
 	
@@ -166,8 +124,6 @@
 
 	}
 	
-	
-	
 	public void test13WebServicesDDPopulation() throws Exception {
 		EMFAttributeFeatureGenerator.reset();
 		currentVersion = J2EEVersionConstants.J2EE_1_3_ID;
@@ -203,6 +159,27 @@
 		earFile.close();
 
 	}
+	
+	public EObject createInstance(EReference ref,EObject eObject) {
+
+        if (JaxrpcmapPackage.eINSTANCE.getInterfaceMapping().equals(ref.getEType()))
+            return createInterfaceMap();
+
+        return super.createInstance(ref, eObject);
+    }
+	
+    /* The web type is abstract.  Alternate between servlet-class
+     * and jsp-file
+     */
+    public InterfaceMapping createInterfaceMap() {
+        createdInterfaceMaps++;
+        if ((createdInterfaceMaps & 1) == 0)
+            return JaxrpcmapFactory.eINSTANCE.createServiceEndpointInterfaceMapping();
+        else
+            return JaxrpcmapFactory.eINSTANCE.createServiceEndpointInterfaceMapping();
+
+    }
+	
 	public String getProjectLocation() {
 		if (currentVersion == J2EEVersionConstants.J2EE_1_3_ID)
 			return "testOutput/TestWebServices";
@@ -225,10 +202,4 @@
 		earFile = getArchiveFactory().createEARFileInitialized(earName);
 		assertTrue(earFile.getDeploymentDescriptor() != null);
 	}
-    
-	public HashSet ignorableAttributes(){
-		HashSet set = new HashSet();
-		set.add("id");
-		return set;
-	}
 }