diff options
Diffstat (limited to 'jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/model/JpaModelTests.java')
-rw-r--r-- | jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/model/JpaModelTests.java | 190 |
1 files changed, 93 insertions, 97 deletions
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 8b611e5559..640b33814d 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 @@ -47,7 +47,7 @@ public class JpaModelTests extends TestCase { } private boolean debug() { - Boolean debug = (Boolean) ClassTools.getStaticFieldValue(JpaModelManager.class, "DEBUG"); + Boolean debug = (Boolean) ClassTools.staticFieldValue(JpaModelManager.class, "DEBUG"); return debug.booleanValue(); } @@ -120,103 +120,99 @@ public class JpaModelTests extends TestCase { assertNull(jpaProject); } -/* Commented out the following three tests as they are unreliable on linux running on the IBM JDK - * which describes the current build/test environment. - */ - -// public void testProjectCloseReopen() throws Exception { -// TestFacetedProject testProject = this.buildTestProject(); -// testProject.installFacet("jpt.jpa", "1.0"); -// -// testProject.getProject().close(null); -// assertFalse(testProject.getProject().isOpen()); -// IJpaProject jpaProject = JptCorePlugin.jpaProject(testProject.getProject()); -// assertNull(jpaProject); -// -// testProject.getProject().open(null); -// jpaProject = JptCorePlugin.jpaProject(testProject.getProject()); -// assertNotNull(jpaProject); -//// assertEquals(4, jpaProject.jpaFilesSize()); -// assertNotNull(jpaProject.jpaFile(this.file(testProject, "src/test.pkg/TestEntity.java"))); -// assertNotNull(jpaProject.jpaFile(this.file(testProject, "src/test.pkg/TestEntity2.java"))); -// // persistence.xml and orm.xml are created in the background, so they probably -// // won't be there yet... -//// assertNotNull(jpaProject.jpaFile(this.file(testProject, "src/META-INF/persistence.xml"))); -//// assertNotNull(jpaProject.jpaFile(this.file(testProject, "src/META-INF/orm.xml"))); -// } -// -// public void testProjectDeleteReimport() throws Exception { -// TestFacetedProject testProject = this.buildTestProject(); -// testProject.installFacet("jpt.jpa", "1.0"); -// IJpaProject jpaProject = JptCorePlugin.jpaProject(testProject.getProject()); -// assertNotNull(jpaProject); -// assertEquals(1, JptCorePlugin.jpaModel().jpaProjectsSize()); -// -// testProject.getProject().delete(false, true, null); + public void testProjectCloseReopen() throws Exception { + TestFacetedProject testProject = this.buildTestProject(); + testProject.installFacet("jpt.jpa", "1.0"); + + testProject.getProject().close(null); + assertFalse(testProject.getProject().isOpen()); + IJpaProject jpaProject = JptCorePlugin.jpaProject(testProject.getProject()); + assertNull(jpaProject); + + testProject.getProject().open(null); + jpaProject = JptCorePlugin.jpaProject(testProject.getProject()); + assertNotNull(jpaProject); +// assertEquals(4, jpaProject.jpaFilesSize()); + assertNotNull(jpaProject.jpaFile(this.file(testProject, "src/test.pkg/TestEntity.java"))); + assertNotNull(jpaProject.jpaFile(this.file(testProject, "src/test.pkg/TestEntity2.java"))); + // persistence.xml and orm.xml are created in the background, so they probably + // won't be there yet... +// assertNotNull(jpaProject.jpaFile(this.file(testProject, "src/META-INF/persistence.xml"))); +// assertNotNull(jpaProject.jpaFile(this.file(testProject, "src/META-INF/orm.xml"))); + } + + public void testProjectDeleteReimport() throws Exception { + TestFacetedProject testProject = this.buildTestProject(); + testProject.installFacet("jpt.jpa", "1.0"); + IJpaProject jpaProject = JptCorePlugin.jpaProject(testProject.getProject()); + assertNotNull(jpaProject); + assertEquals(1, JptCorePlugin.jpaModel().jpaProjectsSize()); + + testProject.getProject().delete(false, true, null); + jpaProject = JptCorePlugin.jpaProject(testProject.getProject()); + assertNull(jpaProject); + assertEquals(0, JptCorePlugin.jpaModel().jpaProjectsSize()); + assertEquals(0, ResourcesPlugin.getWorkspace().getRoot().getProjects().length); + + IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(testProject.getProject().getName()); + project.create(null); + assertEquals(1, ResourcesPlugin.getWorkspace().getRoot().getProjects().length); + project.open(null); + + assertTrue(project.isOpen()); + assertTrue(JptCorePlugin.projectHasJpaFacet(project)); + jpaProject = JptCorePlugin.jpaProject(project); + assertNotNull(jpaProject); +// assertEquals(4, jpaProject.jpaFilesSize()); + assertNotNull(jpaProject.jpaFile(this.file(testProject, "src/test.pkg/TestEntity.java"))); + assertNotNull(jpaProject.jpaFile(this.file(testProject, "src/test.pkg/TestEntity2.java"))); + // persistence.xml and orm.xml are created in the background, so they probably + // won't be there yet... +// assertNotNull(jpaProject.jpaFile(this.file(testProject, "src/META-INF/persistence.xml"))); +// assertNotNull(jpaProject.jpaFile(this.file(testProject, "src/META-INF/orm.xml"))); + } + + public void testEditFacetSettingsFile() throws Exception { + TestFacetedProject testProject = this.buildTestProject(); + assertNull(JptCorePlugin.jpaProject(testProject.getProject())); + + // add the JPA facet by modifying the facet settings file directly + IFile facetSettingsFile = this.file(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\"/>"; + String newString = oldString + CR + " " + "<installed facet=\"jpt.jpa\" version=\"1.0\"/>"; + String newDocument = oldDocument.replaceAll(oldString, newString); + + facetSettingsFile.setContents(new ByteArrayInputStream(newDocument.getBytes()), false, false, null); + + assertEquals(1, JptCorePlugin.jpaModel().jpaProjectsSize()); + IJpaProject jpaProject = JptCorePlugin.jpaProject(testProject.getProject()); + assertNotNull(jpaProject); + // persistence.xml and orm.xml do not get created in this situation (?) + assertEquals(2, jpaProject.jpaFilesSize()); + assertNotNull(jpaProject.jpaFile(this.file(testProject, "src/test.pkg/TestEntity.java"))); + assertNotNull(jpaProject.jpaFile(this.file(testProject, "src/test.pkg/TestEntity2.java"))); + // assertNotNull(jpaProject.jpaFile(this.file(testProject, "src/META-INF/persistence.xml"))); + // assertNotNull(jpaProject.jpaFile(this.file(testProject, "src/META-INF/orm.xml"))); + + // 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); -// assertEquals(0, JptCorePlugin.jpaModel().jpaProjectsSize()); -// assertEquals(0, ResourcesPlugin.getWorkspace().getRoot().getProjects().length); -// -// IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(testProject.getProject().getName()); -// project.create(null); -// assertEquals(1, ResourcesPlugin.getWorkspace().getRoot().getProjects().length); -// project.open(null); -// -// assertTrue(project.isOpen()); -// assertTrue(JptCorePlugin.projectHasJpaFacet(project)); -// jpaProject = JptCorePlugin.jpaProject(project); -// assertNotNull(jpaProject); -//// assertEquals(4, jpaProject.jpaFilesSize()); -// assertNotNull(jpaProject.jpaFile(this.file(testProject, "src/test.pkg/TestEntity.java"))); -// assertNotNull(jpaProject.jpaFile(this.file(testProject, "src/test.pkg/TestEntity2.java"))); -// // persistence.xml and orm.xml are created in the background, so they probably -// // won't be there yet... -//// assertNotNull(jpaProject.jpaFile(this.file(testProject, "src/META-INF/persistence.xml"))); -//// assertNotNull(jpaProject.jpaFile(this.file(testProject, "src/META-INF/orm.xml"))); -// } - -// public void testEditFacetSettingsFile() throws Exception { -// TestFacetedProject testProject = this.buildTestProject(); -// assertNull(JptCorePlugin.jpaProject(testProject.getProject())); -// -// // add the JPA facet by modifying the facet settings file directly -// IFile facetSettingsFile = this.file(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\"/>"; -// String newString = oldString + CR + " " + "<installed facet=\"jpt.jpa\" version=\"1.0\"/>"; -// String newDocument = oldDocument.replaceAll(oldString, newString); -// -// facetSettingsFile.setContents(new ByteArrayInputStream(newDocument.getBytes()), false, false, null); -// -// assertEquals(1, JptCorePlugin.jpaModel().jpaProjectsSize()); -// IJpaProject jpaProject = JptCorePlugin.jpaProject(testProject.getProject()); -// assertNotNull(jpaProject); -// // persistence.xml and orm.xml do not get created in this situation (?) -// assertEquals(2, jpaProject.jpaFilesSize()); -// assertNotNull(jpaProject.jpaFile(this.file(testProject, "src/test.pkg/TestEntity.java"))); -// assertNotNull(jpaProject.jpaFile(this.file(testProject, "src/test.pkg/TestEntity2.java"))); -// // assertNotNull(jpaProject.jpaFile(this.file(testProject, "src/META-INF/persistence.xml"))); -// // assertNotNull(jpaProject.jpaFile(this.file(testProject, "src/META-INF/orm.xml"))); -// -// // 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 size = JptCorePlugin.jpaModel().jpaProjectsSize(); -// if (size != 0) { -// System.err.println("bogus size: " + size); -// System.err.println("bogus project: " + JptCorePlugin.jpaProject(testProject.getProject())); -// } -// } + int size = JptCorePlugin.jpaModel().jpaProjectsSize(); + if (size != 0) { + System.err.println("bogus size: " + size); + System.err.println("bogus project: " + JptCorePlugin.jpaProject(testProject.getProject())); + } + } /** * make sure the DEBUG constants are 'false' before checking in the code @@ -228,7 +224,7 @@ public class JpaModelTests extends TestCase { private void verifyDEBUG(Class<?> clazz) { assertFalse("Recompile with \"DEBUG = false\": " + clazz.getName(), - ((Boolean) ClassTools.getStaticFieldValue(clazz, "DEBUG")).booleanValue()); + ((Boolean) ClassTools.staticFieldValue(clazz, "DEBUG")).booleanValue()); } } |