uncommenting some of the JpaModelTests to see if they are fixed in the build after recent changes.
diff --git a/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/model/JpaModelTests.java b/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/model/JpaModelTests.java
index 0e15812..ebcf897 100644
--- a/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/model/JpaModelTests.java
+++ b/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/model/JpaModelTests.java
@@ -9,8 +9,10 @@
  ******************************************************************************/
 package org.eclipse.jpt.core.tests.internal.model;
 
+import java.io.BufferedInputStream;
+import java.io.ByteArrayInputStream;
+import java.io.InputStream;
 import junit.framework.TestCase;
-
 import org.eclipse.core.resources.IFile;
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.resources.ResourcesPlugin;
@@ -123,14 +125,14 @@
 		assertNotNull(jpaProject);
 
 		this.testProject.getProject().close(null);
-		assertFalse(this.testProject.getProject().isOpen());
+		assertFalse("Project is not closed", this.testProject.getProject().isOpen());
 		jpaProject = JptCorePlugin.getJpaProject(this.testProject.getProject());
-		assertNull(jpaProject);
+		assertNull("JpaProject is not null", jpaProject);
 
 		this.testProject.getProject().open(null);
 		assertTrue(this.testProject.getProject().isOpen());
 		jpaProject = JptCorePlugin.getJpaProject(this.testProject.getProject());
-		assertNotNull(jpaProject);
+		assertNotNull("JpaProject is null", jpaProject);
 		assertEquals(4, jpaProject.jpaFilesSize());
 		assertNotNull(jpaProject.getJpaFile(this.getFile(this.testProject, "src/test/pkg/TestEntity.java")));
 		assertNotNull(jpaProject.getJpaFile(this.getFile(this.testProject, "src/test/pkg/TestEntity2.java")));
@@ -187,9 +189,7 @@
 		assertNull(jpaProject);
 	}
 
-	//TODO - Commented out this test, since it was failing in the I-Build and we're not sure why.
-	//See bug 221757 and bug 289149
-/*	public void testEditFacetSettingsFile() throws Exception {
+	public void testEditFacetSettingsFileAddThenRemoveJpaFacet() throws Exception {
 		assertNull(JptCorePlugin.getJpaProject(this.testProject.getProject()));
 
 		// add the JPA facet by modifying the facet settings file directly
@@ -207,35 +207,65 @@
 
 		facetSettingsFile.setContents(new ByteArrayInputStream(newDocument.getBytes()), false, false, null);
 
-		// TODO moved more stuff to the error console until we can figure out why it fails intermittently  ~kfb
-//		assertEquals(1, JptCorePlugin.getJpaModel().jpaProjectsSize());
-//		JpaProject jpaProject = JptCorePlugin.getJpaProject(this.testProject.getProject());
-//		assertNotNull(jpaProject);
-//		// persistence.xml and orm.xml do not get created in this situation (?)
-//		assertEquals(2, jpaProject.jpaFilesSize());
-//		assertNotNull(jpaProject.getJpaFile(this.getFile(this.testProject, "src/test/pkg/TestEntity.java")));
-//		assertNotNull(jpaProject.getJpaFile(this.getFile(this.testProject, "src/test/pkg/TestEntity2.java")));
+		assertEquals(1, JptCorePlugin.getJpaModel().getJpaProjectsSize());
+		JpaProject jpaProject = JptCorePlugin.getJpaProject(this.testProject.getProject());
+		assertNotNull(jpaProject);
+		// persistence.xml and orm.xml do not get created in this situation (?)
+		assertEquals(2, jpaProject.jpaFilesSize());
+		assertNotNull(jpaProject.getJpaFile(this.getFile(this.testProject, "src/test/pkg/TestEntity.java")));
+		assertNotNull(jpaProject.getJpaFile(this.getFile(this.testProject, "src/test/pkg/TestEntity2.java")));
 ////		assertNotNull(jpaProject.getJpaFile(this.getFile(this.testProject, "src/META-INF/persistence.xml")));
 ////		assertNotNull(jpaProject.getJpaFile(this.getFile(this.testProject, "src/META-INF/orm.xml")));
-		int size = JptCorePlugin.getJpaModel().jpaProjectsSize();
-		if (size != 1) {
-			System.err.println("bogus size: " + size);
-			System.err.println("bogus project: " + JptCorePlugin.getJpaProject(this.testProject.getProject()));
-		}
+//		int size = JptCorePlugin.getJpaModel().getJpaProjectsSize();
+//		if (size != 1) {
+//			System.err.println("bogus size: " + size);
+//			System.err.println("bogus project: " + JptCorePlugin.getJpaProject(this.testProject.getProject()));
+//		}
 
 		// now remove the JPA facet
 		facetSettingsFile.setContents(new ByteArrayInputStream(oldDocument.getBytes()), false, false, null);
-// TODO moved this stuff to the error console until we can figure out why it fails intermittently  ~bjv
-//		assertEquals(0, JptCorePlugin.jpaModel().jpaProjectsSize());
-//		jpaProject = JptCorePlugin.jpaProject(testProject.getProject());
-//		assertNull(jpaProject);
-		int newSize = JptCorePlugin.getJpaModel().jpaProjectsSize();
-		if (newSize != 0) {
-			System.err.println("bogus size: " + newSize);
-			System.err.println("bogus project: " + JptCorePlugin.getJpaProject(this.testProject.getProject()));
-		}
+		assertEquals(0, JptCorePlugin.getJpaModel().getJpaProjectsSize());
+		jpaProject = JptCorePlugin.getJpaProject(this.testProject.getProject());
+		assertNull(jpaProject);
+//		int newSize = JptCorePlugin.getJpaModel().getJpaProjectsSize();
+//		if (newSize != 0) {
+//			System.err.println("bogus size: " + newSize);
+//			System.err.println("bogus project: " + JptCorePlugin.getJpaProject(this.testProject.getProject()));
+//		}
 	}
-*/
+	
+	public void testEditFacetSettingsFileRemoveThenAddJpaFacet() throws Exception {
+		this.testProject.installFacet(JptCorePlugin.FACET_ID, "1.0", buildJpaConfigDataModel());
+		JpaProject jpaProject = JptCorePlugin.getJpaProject(this.testProject.getProject());
+		assertNotNull(jpaProject);
 
+		// remove the JPA facet by modifying the facet settings file directly
+		IFile facetSettingsFile = this.getFile(this.testProject, ".settings/org.eclipse.wst.common.project.facet.core.xml");
+		InputStream inStream = new BufferedInputStream(facetSettingsFile.getContents());
+		int fileSize = inStream.available();
+		byte[] buf = new byte[fileSize];
+		inStream.read(buf);
+		inStream.close();
 
+		String oldDocument = new String(buf);
+		String oldString = "<installed facet=\"jst.utility\" version=\"1.0\"/>" + CR + "  " + "<installed facet=\"jpt.jpa\" version=\"1.0\"/>";
+		String newString = "<installed facet=\"jst.utility\" version=\"1.0\"/>";
+		String newDocument = oldDocument.replaceAll(oldString, newString);
+
+		facetSettingsFile.setContents(new ByteArrayInputStream(newDocument.getBytes()), false, false, null);
+		assertEquals(0, JptCorePlugin.getJpaModel().getJpaProjectsSize());
+		jpaProject = JptCorePlugin.getJpaProject(this.testProject.getProject());
+		assertNull(jpaProject);
+
+		// now add the JPA facet back
+		facetSettingsFile.setContents(new ByteArrayInputStream(oldDocument.getBytes()), false, false, null);
+		assertEquals(1, JptCorePlugin.getJpaModel().getJpaProjectsSize());
+		jpaProject = JptCorePlugin.getJpaProject(this.testProject.getProject());
+		assertNotNull(jpaProject);
+		assertEquals(4, jpaProject.jpaFilesSize());
+		assertNotNull(jpaProject.getJpaFile(this.getFile(this.testProject, "src/test/pkg/TestEntity.java")));
+		assertNotNull(jpaProject.getJpaFile(this.getFile(this.testProject, "src/test/pkg/TestEntity2.java")));
+		assertNotNull(jpaProject.getJpaFile(this.getFile(this.testProject, "src/META-INF/persistence.xml")));
+		assertNotNull(jpaProject.getJpaFile(this.getFile(this.testProject, "src/META-INF/orm.xml")));
+	}
 }