Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbvosburgh2007-10-10 16:25:28 +0000
committerbvosburgh2007-10-10 16:25:28 +0000
commit4575fe951ae35c03d3b72756563ebcda9a77d656 (patch)
tree2f6fbf32056c4d0bc7ce4f6f6addfcfef370606a /jpa/tests/org.eclipse.jpt.core.tests
parentce78078caefe4a478e47e72e8d1fcdd768210ae2 (diff)
downloadwebtools.dali-4575fe951ae35c03d3b72756563ebcda9a77d656.tar.gz
webtools.dali-4575fe951ae35c03d3b72756563ebcda9a77d656.tar.xz
webtools.dali-4575fe951ae35c03d3b72756563ebcda9a77d656.zip
[201159] model rework
Diffstat (limited to 'jpa/tests/org.eclipse.jpt.core.tests')
-rw-r--r--jpa/tests/org.eclipse.jpt.core.tests/META-INF/MANIFEST.MF2
-rw-r--r--jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/content/java/mappings/JpaJavaTestCase.java12
-rw-r--r--jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/model/ModelInitializationTests.java36
-rw-r--r--jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/platform/BaseJpaPlatformTests.java17
-rw-r--r--jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/platform/JpaPlatformExtensionTests.java21
-rw-r--r--jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/platform/JpaPlatformTests.java91
-rw-r--r--jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/projects/TestFacetedProject.java20
-rw-r--r--jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/projects/TestJavaProject.java40
-rw-r--r--jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/projects/TestJpaProject.java41
-rw-r--r--jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/projects/TestPlatformProject.java60
10 files changed, 138 insertions, 202 deletions
diff --git a/jpa/tests/org.eclipse.jpt.core.tests/META-INF/MANIFEST.MF b/jpa/tests/org.eclipse.jpt.core.tests/META-INF/MANIFEST.MF
index 1123842f52..c9ccb4ebfb 100644
--- a/jpa/tests/org.eclipse.jpt.core.tests/META-INF/MANIFEST.MF
+++ b/jpa/tests/org.eclipse.jpt.core.tests/META-INF/MANIFEST.MF
@@ -15,6 +15,8 @@ Require-Bundle: org.eclipse.core.resources,
org.eclipse.jpt.core.tests.extension.resource,
org.eclipse.jpt.utility,
org.eclipse.wst.common.emf,
+ org.eclipse.wst.common.frameworks,
+ org.eclipse.wst.common.modulecore,
org.eclipse.wst.common.project.facet.core,
org.junit
Bundle-RequiredExecutionEnvironment: J2SE-1.5
diff --git a/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/content/java/mappings/JpaJavaTestCase.java b/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/content/java/mappings/JpaJavaTestCase.java
index b2f08d0723..86ce68f602 100644
--- a/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/content/java/mappings/JpaJavaTestCase.java
+++ b/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/content/java/mappings/JpaJavaTestCase.java
@@ -9,6 +9,8 @@
******************************************************************************/
package org.eclipse.jpt.core.tests.internal.content.java.mappings;
+import java.util.Iterator;
+
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.jdt.core.JavaCore;
@@ -40,12 +42,10 @@ public abstract class JpaJavaTestCase extends AnnotationTestCase {
}
protected JavaPersistentType javaPersistentTypeNamed(String typeName) {
- for (IJpaFile jpaFile : this.jpaProject().getJpaProject().jpaFiles(JavaCore.JAVA_SOURCE_CONTENT_TYPE)) {
- JpaCompilationUnit cu = (JpaCompilationUnit) jpaFile.getContent();
- for (JavaPersistentType pt : cu.getTypes()) {
- if (pt.fullyQualifiedTypeName().equals(typeName)) {
- return pt;
- }
+ for (Iterator<JavaPersistentType> stream = this.jpaProject().getJpaProject().javaPersistentTypes(); stream.hasNext(); ) {
+ JavaPersistentType jpt = stream.next();
+ if (jpt.fullyQualifiedTypeName().equals(typeName)) {
+ return jpt;
}
}
throw new IllegalArgumentException("missing type: " + typeName);
diff --git a/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/model/ModelInitializationTests.java b/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/model/ModelInitializationTests.java
index 175b9224fe..10c0829d28 100644
--- a/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/model/ModelInitializationTests.java
+++ b/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/model/ModelInitializationTests.java
@@ -9,10 +9,8 @@
******************************************************************************/
package org.eclipse.jpt.core.tests.internal.model;
-import junit.framework.TestCase;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.Path;
-import org.eclipse.jpt.core.internal.IJpaModel;
import org.eclipse.jpt.core.internal.IJpaProject;
import org.eclipse.jpt.core.internal.JptCorePlugin;
import org.eclipse.jpt.core.tests.internal.ProjectUtility;
@@ -20,10 +18,10 @@ import org.eclipse.jpt.core.tests.internal.projects.TestFacetedProject;
import org.eclipse.jpt.utility.internal.ClassTools;
import org.eclipse.jpt.utility.internal.CollectionTools;
+import junit.framework.TestCase;
+
public class ModelInitializationTests extends TestCase
{
- private IJpaModel jpaModel;
-
public ModelInitializationTests(String name) {
super(name);
@@ -33,13 +31,11 @@ public class ModelInitializationTests extends TestCase
protected void setUp() throws Exception {
super.setUp();
ProjectUtility.deleteAllProjects();
- this.jpaModel = JptCorePlugin.getJpaModel();
}
@Override
protected void tearDown() throws Exception {
ProjectUtility.deleteAllProjects();
- this.jpaModel = null;
super.tearDown();
}
@@ -61,31 +57,31 @@ public class ModelInitializationTests extends TestCase
}
public void testBasic() {
- assertNotNull(this.jpaModel);
+ assertNotNull(JptCorePlugin.jpaModel());
}
public void testFacetInstallation() throws CoreException {
TestFacetedProject testProject = buildTestProject();
- assertNull(this.jpaModel.getJpaProject(testProject.getProject()));
+ assertNull(JptCorePlugin.jpaProject(testProject.getProject()));
testProject.installFacet("jpt.jpa", "1.0");
- assertEquals(1, CollectionTools.size(this.jpaModel.jpaProjects()));
- IJpaProject jpaProject = this.jpaModel.getJpaProject(testProject.getProject());
+ assertEquals(1, JptCorePlugin.jpaModel().jpaProjectsSize());
+ IJpaProject jpaProject = JptCorePlugin.jpaProject(testProject.getProject());
assertNotNull(jpaProject);
assertEquals(4, CollectionTools.size(jpaProject.jpaFiles()));
- assertNotNull(jpaProject.getJpaFile(testProject.getProject().getFile(new Path("src/test.pkg/TestEntity.java"))));
- assertNotNull(jpaProject.getJpaFile(testProject.getProject().getFile(new Path("src/test.pkg/TestEntity2.java"))));
+ assertNotNull(jpaProject.jpaFile(testProject.getProject().getFile(new Path("src/test.pkg/TestEntity.java"))));
+ assertNotNull(jpaProject.jpaFile(testProject.getProject().getFile(new Path("src/test.pkg/TestEntity2.java"))));
}
public void testProjectOpening() throws CoreException {
- TestFacetedProject testProject = buildTestProject();
- testProject.installFacet("jpt.jpa", "1.0");
- testProject.close();
- assertTrue(! testProject.getProject().isOpen());
- testProject.open();
- IJpaProject jpaProject = this.jpaModel.getJpaProject(testProject.getProject());
+ TestFacetedProject helper = buildTestProject();
+ helper.installFacet("jpt.jpa", "1.0");
+ helper.getProject().close(null);
+ assertFalse(helper.getProject().isOpen());
+ helper.getProject().open(null);
+ IJpaProject jpaProject = JptCorePlugin.jpaProject(helper.getProject());
assertNotNull(jpaProject);
- assertNotNull(jpaProject.getJpaFile(testProject.getProject().getFile(new Path("src/test.pkg/TestEntity.java"))));
- assertNotNull(jpaProject.getJpaFile(testProject.getProject().getFile(new Path("src/test.pkg/TestEntity2.java"))));
+ assertNotNull(jpaProject.jpaFile(helper.getProject().getFile(new Path("src/test.pkg/TestEntity.java"))));
+ assertNotNull(jpaProject.jpaFile(helper.getProject().getFile(new Path("src/test.pkg/TestEntity2.java"))));
}
}
diff --git a/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/platform/BaseJpaPlatformTests.java b/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/platform/BaseJpaPlatformTests.java
index cf908dc2f2..3266cb3693 100644
--- a/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/platform/BaseJpaPlatformTests.java
+++ b/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/platform/BaseJpaPlatformTests.java
@@ -1,3 +1,12 @@
+/*******************************************************************************
+ * Copyright (c) 2007 Oracle. All rights reserved.
+ * This program and the accompanying materials are 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:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
package org.eclipse.jpt.core.tests.internal.platform;
import java.io.IOException;
@@ -52,12 +61,12 @@ public class BaseJpaPlatformTests extends TestCase
public void testPersistentTypes() throws CoreException, IOException {
IFile persistenceXmlIFile = jpaProject.getProject().getFile(PERSISTENCE_XML_LOCATION);
- IJpaFile persistenceXmlJpaFile = jpaProject.getJpaProject().getJpaFile(persistenceXmlIFile);
+ IJpaFile persistenceXmlJpaFile = jpaProject.getJpaProject().jpaFile(persistenceXmlIFile);
PersistenceXmlRootContentNode persistenceRoot = (PersistenceXmlRootContentNode) persistenceXmlJpaFile.getContent();
Persistence persistence = persistenceRoot.getPersistence();
IFile ormXmlIFile = jpaProject.getProject().getFile(ORM_XML_LOCATION);
- IJpaFile ormXmlJpaFile = jpaProject.getJpaProject().getJpaFile(ormXmlIFile);
+ IJpaFile ormXmlJpaFile = jpaProject.getJpaProject().jpaFile(ormXmlIFile);
XmlRootContentNode ormRoot = (XmlRootContentNode) ormXmlJpaFile.getContent();
EntityMappingsInternal entityMappings = ormRoot.getEntityMappings();
@@ -66,7 +75,7 @@ public class BaseJpaPlatformTests extends TestCase
xmlEntity.setSpecifiedName("XmlEntity");
entityMappings.getTypeMappings().add(xmlEntity);
entityMappings.eResource().save(null);
- assertEquals(1, CollectionTools.size(jpaProject.getJpaProject().getPlatform().persistentTypes(PROJECT_NAME)));
+ assertEquals(1, CollectionTools.size(jpaProject.getJpaProject().jpaPlatform().persistentTypes(PROJECT_NAME)));
// add java persistent type
jpaProject.createType(PACKAGE_NAME, "JavaEntity.java",
@@ -77,6 +86,6 @@ public class BaseJpaPlatformTests extends TestCase
persistence.getPersistenceUnits().get(0).getClasses().add(javaClassRef);
persistence.eResource().save(null);
- assertEquals(2, CollectionTools.size(jpaProject.getJpaProject().getPlatform().persistentTypes(PROJECT_NAME)));
+ assertEquals(2, CollectionTools.size(jpaProject.getJpaProject().jpaPlatform().persistentTypes(PROJECT_NAME)));
}
}
diff --git a/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/platform/JpaPlatformExtensionTests.java b/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/platform/JpaPlatformExtensionTests.java
index 1057c85361..e3a0a8e091 100644
--- a/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/platform/JpaPlatformExtensionTests.java
+++ b/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/platform/JpaPlatformExtensionTests.java
@@ -1,13 +1,12 @@
/*******************************************************************************
- * Copyright (c) 2007 Oracle.
- * All rights reserved. This program and the accompanying materials
- * are 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:
- * Oracle - initial API and implementation
- *******************************************************************************/
+ * Copyright (c) 2007 Oracle. All rights reserved.
+ * This program and the accompanying materials are 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:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
package org.eclipse.jpt.core.tests.internal.platform;
import junit.framework.TestCase;
@@ -23,7 +22,7 @@ import org.eclipse.jpt.utility.internal.CollectionTools;
public class JpaPlatformExtensionTests extends TestCase
{
- public static final String TEST_PLATFORM_ID = TestJpaPlatform.PLATFORM_ID;
+ public static final String TEST_PLATFORM_ID = TestJpaPlatform.ID;
public static final String TEST_PLATFORM_LABEL = "Test Jpa Platform";
public JpaPlatformExtensionTests(String name) {
@@ -58,7 +57,7 @@ public class JpaPlatformExtensionTests extends TestCase
}
public void testAllJpaPlatformIds() {
- assertTrue(CollectionTools.size(JpaPlatformRegistry.instance().allJpaPlatformIds()) >= 2);
+ assertTrue(CollectionTools.size(JpaPlatformRegistry.instance().jpaPlatformIds()) >= 2);
}
public void testJpaPlatformLabel() {
diff --git a/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/platform/JpaPlatformTests.java b/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/platform/JpaPlatformTests.java
index c5fb8413e6..312981191c 100644
--- a/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/platform/JpaPlatformTests.java
+++ b/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/platform/JpaPlatformTests.java
@@ -1,16 +1,14 @@
/*******************************************************************************
- * Copyright (c) 2007 Oracle.
- * All rights reserved. This program and the accompanying materials
- * are 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:
- * Oracle - initial API and implementation
- *******************************************************************************/
+ * Copyright (c) 2007 Oracle. All rights reserved.
+ * This program and the accompanying materials are 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:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
package org.eclipse.jpt.core.tests.internal.platform;
-import junit.framework.TestCase;
import org.eclipse.jpt.core.internal.IJpaPlatform;
import org.eclipse.jpt.core.internal.IJpaProject;
import org.eclipse.jpt.core.internal.IMappingKeys;
@@ -18,8 +16,8 @@ import org.eclipse.jpt.core.internal.content.java.IJavaAttributeMappingProvider;
import org.eclipse.jpt.core.internal.content.java.IJavaTypeMappingProvider;
import org.eclipse.jpt.core.internal.content.java.mappings.JavaBasicProvider;
import org.eclipse.jpt.core.internal.content.java.mappings.JavaEntityProvider;
-import org.eclipse.jpt.core.internal.platform.generic.GenericJpaFactory;
-import org.eclipse.jpt.core.internal.platform.generic.GenericPlatform;
+import org.eclipse.jpt.core.internal.facet.IJpaFacetDataModelProperties;
+import org.eclipse.jpt.core.internal.facet.JpaFacetDataModelProvider;
import org.eclipse.jpt.core.tests.extension.resource.ExtensionTestPlugin;
import org.eclipse.jpt.core.tests.extension.resource.TestAttributeMappingProvider;
import org.eclipse.jpt.core.tests.extension.resource.TestJpaFactory;
@@ -28,6 +26,10 @@ import org.eclipse.jpt.core.tests.extension.resource.TestTypeMappingProvider;
import org.eclipse.jpt.core.tests.internal.ProjectUtility;
import org.eclipse.jpt.core.tests.internal.projects.TestJpaProject;
import org.eclipse.jpt.core.tests.internal.projects.TestPlatformProject;
+import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
+import org.eclipse.wst.common.project.facet.core.IActionConfigFactory;
+
+import junit.framework.TestCase;
public class JpaPlatformTests extends TestCase
{
@@ -39,8 +41,7 @@ public class JpaPlatformTests extends TestCase
public static final String TEST_PLUGIN_CLASS = ExtensionTestPlugin.class.getName();
public static final String TEST_PLUGIN_ID = "org.eclipse.jpt.core.tests.extension.resource";
- public static final String TEST_PLATFORM_ID = TestJpaPlatform.PLATFORM_ID;
- public static final String TEST_PLATFORM_CLASS = TestJpaPlatform.class.getName();
+ public static final String TEST_PLATFORM_CLASS_NAME = TestJpaPlatform.class.getName();
public static final String TEST_PLATFORM_LABEL = "Test Jpa Platform";
public static final String TEST_JPA_FACTORY = TestJpaFactory.class.getName();
public static final String TEST_TYPE_MAPPING_PROVIDER_CLASS = TestTypeMappingProvider.class.getName();
@@ -55,18 +56,25 @@ public class JpaPlatformTests extends TestCase
super.setUp();
JpaPlatformExtensionTests.verifyExtensionTestProjectExists();
ProjectUtility.deleteAllProjects();
- testProject = this.buildJpaProject(TestPlatformProject.uniqueProjectName(PROJECT_NAME), false); // false = no auto-build
+ this.testProject = this.buildJpaProject(TestPlatformProject.uniqueProjectName(PROJECT_NAME), false); // false = no auto-build
}
protected TestJpaProject buildJpaProject(String projectName, boolean autoBuild) throws Exception {
- return new TestJpaProject(projectName, autoBuild); // false = no auto-build
+ return new TestJpaProject(projectName, autoBuild, this.buildConfig());
+ }
+
+ protected IDataModel buildConfig() throws Exception {
+ IActionConfigFactory configFactory = new JpaFacetDataModelProvider();
+ IDataModel config = (IDataModel) configFactory.create();
+ config.setProperty(IJpaFacetDataModelProperties.PLATFORM_ID, TestJpaPlatform.ID);
+ return config;
}
@Override
protected void tearDown() throws Exception {
- testProject = null;
+ this.testProject = null;
ProjectUtility.deleteAllProjects();
-// testProject.dispose();
+// this.testProject.dispose();
super.tearDown();
}
@@ -74,59 +82,28 @@ public class JpaPlatformTests extends TestCase
return this.testProject.getJpaProject();
}
- public void testSetPlatform() {
- assertTrue(jpaPlatform() instanceof GenericPlatform);
-
- jpaProject().setPlatform(TEST_PLATFORM_ID);
-
- assertTrue(jpaPlatform().getClass().getName().equals(TEST_PLATFORM_CLASS));
+ protected IJpaPlatform jpaPlatform() {
+ return this.jpaProject().jpaPlatform();
}
-
- public void testGetJpaFactory() {
- assertTrue(jpaPlatform().getJpaFactory() instanceof GenericJpaFactory);
- jpaProject().setPlatform(TEST_PLATFORM_ID);
-
+
+ public void testJpaFactory() {
assertTrue(jpaPlatform().getJpaFactory().getClass().getName().equals(TEST_JPA_FACTORY));
}
public void testJavaTypeMappingProvider() {
- IJavaTypeMappingProvider provider = jpaProject().getPlatform().javaTypeMappingProvider(IMappingKeys.ENTITY_TYPE_MAPPING_KEY);
- assertTrue(provider instanceof JavaEntityProvider);
-
- provider = jpaProject().getPlatform().javaTypeMappingProvider("test");
- assertNull(provider);
-
- jpaProject().setPlatform(TEST_PLATFORM_ID);
-
- provider = jpaProject().getPlatform().javaTypeMappingProvider(IMappingKeys.ENTITY_TYPE_MAPPING_KEY);
+ IJavaTypeMappingProvider provider = jpaProject().jpaPlatform().javaTypeMappingProvider(IMappingKeys.ENTITY_TYPE_MAPPING_KEY);
assertTrue(provider instanceof JavaEntityProvider);
- provider = jpaProject().getPlatform().javaTypeMappingProvider("test");
+ provider = jpaProject().jpaPlatform().javaTypeMappingProvider("test");
assertTrue(provider.getClass().getName().equals(TEST_TYPE_MAPPING_PROVIDER_CLASS));
}
public void testJavaAttributeMappingProvider() {
- IJavaAttributeMappingProvider provider = jpaProject().getPlatform().javaAttributeMappingProvider(IMappingKeys.BASIC_ATTRIBUTE_MAPPING_KEY);
- assertTrue(provider instanceof JavaBasicProvider);
- boolean exceptionCaught = false;
- try {
- provider = jpaProject().getPlatform().javaAttributeMappingProvider("test");
- }
- catch (IllegalArgumentException e) {
- exceptionCaught = true;
- }
- assertTrue(exceptionCaught);
-
- jpaProject().setPlatform(TEST_PLATFORM_ID);
-
- provider = jpaProject().getPlatform().javaAttributeMappingProvider(IMappingKeys.BASIC_ATTRIBUTE_MAPPING_KEY);
+ IJavaAttributeMappingProvider provider = jpaProject().jpaPlatform().javaAttributeMappingProvider(IMappingKeys.BASIC_ATTRIBUTE_MAPPING_KEY);
assertTrue(provider instanceof JavaBasicProvider);
- provider = jpaProject().getPlatform().javaAttributeMappingProvider("test");
+ provider = jpaProject().jpaPlatform().javaAttributeMappingProvider("test");
assertTrue(provider.getClass().getName().equals(TEST_ATTRIBUTE_MAPPING_PROVIDER_CLASS));
}
- private IJpaPlatform jpaPlatform() {
- return jpaProject().jpaPlatform();
- }
}
diff --git a/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/projects/TestFacetedProject.java b/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/projects/TestFacetedProject.java
index b3a75778bc..caef8b84b7 100644
--- a/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/projects/TestFacetedProject.java
+++ b/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/projects/TestFacetedProject.java
@@ -10,13 +10,17 @@
package org.eclipse.jpt.core.tests.internal.projects;
import org.eclipse.core.runtime.CoreException;
+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.IProjectFacetVersion;
import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
-public class TestFacetedProject extends TestPlatformProject
-{
- private IFacetedProject facetedProject;
+/**
+ * This builds and holds a "faceted" project.
+ * Support for installing facets.
+ */
+public class TestFacetedProject extends TestPlatformProject {
+ private final IFacetedProject facetedProject;
// ********** builders *****************************
@@ -50,8 +54,16 @@ public class TestFacetedProject extends TestPlatformProject
}
public void installFacet(String facetName, String versionName) throws CoreException {
+ this.installFacet(facetName, versionName, null);
+ }
+
+ /**
+ * if 'config' is null, the JPA project will be built with the defaults
+ * defined in JpaFacetDataModelProvider#getDefaultProperty(String)
+ */
+ public void installFacet(String facetName, String versionName, IDataModel config) throws CoreException {
IProjectFacetVersion facetVersion = ProjectFacetsManager.getProjectFacet(facetName).getVersion(versionName);
- this.facetedProject.installProjectFacet(facetVersion, null, null);
+ this.facetedProject.installProjectFacet(facetVersion, config, null);
}
}
diff --git a/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/projects/TestJavaProject.java b/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/projects/TestJavaProject.java
index 03529be885..fb4b7cb044 100644
--- a/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/projects/TestJavaProject.java
+++ b/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/projects/TestJavaProject.java
@@ -13,27 +13,24 @@ import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.Path;
import org.eclipse.jdt.core.IClasspathEntry;
import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaElement;
import org.eclipse.jdt.core.IJavaProject;
import org.eclipse.jdt.core.IPackageFragment;
import org.eclipse.jdt.core.IPackageFragmentRoot;
import org.eclipse.jdt.core.IType;
import org.eclipse.jdt.core.JavaCore;
import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.core.search.IJavaSearchConstants;
-import org.eclipse.jdt.core.search.SearchEngine;
-import org.eclipse.jdt.core.search.SearchPattern;
-import org.eclipse.jdt.core.search.TypeNameRequestor;
import org.eclipse.jpt.utility.internal.CollectionTools;
/**
* This builds and holds a "Java" project.
* Support for adding packages and types.
+ *
+ * "Java" projects aren't required to be "faceted" projects, but for JPA
+ * testing they are.
*/
-public class TestJavaProject extends TestFacetedProject
-{
- private IJavaProject javaProject;
- private IPackageFragmentRoot sourceFolder;
+public class TestJavaProject extends TestFacetedProject {
+ private final IJavaProject javaProject;
+ private final IPackageFragmentRoot sourceFolder;
// ********** builders *****************************
@@ -106,31 +103,6 @@ public class TestJavaProject extends TestFacetedProject
return this.javaProject.findType(fullyQualifiedName);
}
- @Override
- public void dispose() throws CoreException {
- this.waitForIndexer();
- this.sourceFolder = null;
- this.javaProject = null;
- super.dispose();
- }
-
-
- // ********** internal methods **********
-
- private void waitForIndexer() throws JavaModelException {
- new SearchEngine().searchAllTypeNames(
- null,
- SearchPattern.R_EXACT_MATCH | SearchPattern.R_CASE_SENSITIVE,
- null,
- SearchPattern.R_EXACT_MATCH | SearchPattern.R_CASE_SENSITIVE,
- IJavaSearchConstants.CLASS,
- SearchEngine.createJavaSearchScope(new IJavaElement[0]),
- new TypeNameRequestor() {/* do nothing */},
- IJavaSearchConstants.WAIT_UNTIL_READY_TO_SEARCH,
- null
- );
- }
-
// ********** member classes **********
diff --git a/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/projects/TestJpaProject.java b/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/projects/TestJpaProject.java
index b5e33a14a9..30af1c30fa 100644
--- a/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/projects/TestJpaProject.java
+++ b/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/projects/TestJpaProject.java
@@ -12,34 +12,45 @@ package org.eclipse.jpt.core.tests.internal.projects;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.jpt.core.internal.IJpaProject;
import org.eclipse.jpt.core.internal.JptCorePlugin;
+import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-public class TestJpaProject extends TestJavaProject
-{
- private IJpaProject jpaProject;
+/**
+ * This builds and holds a "JPA" project.
+ * Support for adding packages and types.
+ *
+ * The JPA project's settings (platform, database connection, etc.) can be
+ * controlled by building a data model and passing it into the constructor.
+ */
+public class TestJpaProject extends TestJavaProject {
+ private final IJpaProject jpaProject;
public static final String JAR_NAME_SYSTEM_PROPERTY = "org.eclipse.jpt.jpa.jar";
-
-
- // ********** builders *****************************
-
+
+
+ // ********** builders **********
+
public static TestJpaProject buildJpaProject(String baseProjectName, boolean autoBuild)
throws CoreException {
return new TestJpaProject(uniqueProjectName(baseProjectName), autoBuild);
}
-
-
+
+
// ********** constructors/initialization **********
public TestJpaProject(String projectName) throws CoreException {
this(projectName, false);
}
-
+
public TestJpaProject(String projectName, boolean autoBuild) throws CoreException {
+ this(projectName, autoBuild, null);
+ }
+
+ public TestJpaProject(String projectName, boolean autoBuild, IDataModel jpaConfig) throws CoreException {
super(projectName, autoBuild);
this.installFacet("jst.utility", "1.0");
- this.installFacet("jpt.jpa", "1.0");
+ this.installFacet("jpt.jpa", "1.0", jpaConfig);
this.addJar(this.jarName());
- this.jpaProject = JptCorePlugin.getJpaProject(this.getProject());
+ this.jpaProject = JptCorePlugin.jpaProject(this.getProject());
}
protected String jarName() {
@@ -57,10 +68,4 @@ public class TestJpaProject extends TestJavaProject
return this.jpaProject;
}
- @Override
- public void dispose() throws CoreException {
- this.jpaProject = null;
- super.dispose();
- }
-
}
diff --git a/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/projects/TestPlatformProject.java b/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/projects/TestPlatformProject.java
index b162971ead..bf228e3e88 100644
--- a/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/projects/TestPlatformProject.java
+++ b/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/projects/TestPlatformProject.java
@@ -11,6 +11,7 @@ package org.eclipse.jpt.core.tests.internal.projects;
import java.io.ByteArrayInputStream;
import java.io.InputStream;
+
import org.eclipse.core.resources.IContainer;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IFolder;
@@ -21,23 +22,20 @@ import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.jobs.Job;
import org.eclipse.jpt.utility.internal.CollectionTools;
/**
- * This builds and holds a "general" project.
+ * This builds and holds a "general" Eclipse project.
* Support for adding natures, folders, and files.
*/
-public class TestPlatformProject
-{
+public class TestPlatformProject {
+ private final IProject project;
+
/** carriage return */
public static final String CR = System.getProperty("line.separator");
+
-
- private final IProject project;
-
-
- // ********** builders *****************************
+ // ********** builders **********
public static TestPlatformProject buildPlatformProject(String baseProjectName, boolean autoBuild)
throws CoreException {
@@ -54,7 +52,7 @@ public class TestPlatformProject
public TestPlatformProject(String projectName, boolean autoBuild) throws CoreException {
super();
this.setAutoBuild(autoBuild); // workspace-wide setting
- this.project = this.createPlatformProject(projectName);
+ this.project = this.buildPlatformProject(projectName);
}
private void setAutoBuild(boolean autoBuild) throws CoreException {
@@ -63,7 +61,7 @@ public class TestPlatformProject
ResourcesPlugin.getWorkspace().setDescription(description);
}
- private IProject createPlatformProject(String projectName) throws CoreException {
+ private IProject buildPlatformProject(String projectName) throws CoreException {
IProject p = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);
p.create(null);
p.open(null);
@@ -127,7 +125,7 @@ public class TestPlatformProject
public IFile createFile(IContainer container, String fileName, String content) throws CoreException {
return createFile(container, new Path(fileName), content);
}
-
+
/**
* Create a file in the project with the specified [relative] path
* and content.
@@ -147,8 +145,8 @@ public class TestPlatformProject
* Create a file in the specified container with the specified path and contents.
*/
public IFile createFile(IContainer container, IPath filePath, InputStream content) throws CoreException {
- int len = filePath.segmentCount() - 1;
- for (int i = 0; i < len; i++) {
+ int pathCount = filePath.segmentCount() - 1;
+ for (int i = 0; i < pathCount; i++) {
container = container.getFolder(new Path(filePath.segment(i)));
if ( ! container.exists()) {
((IFolder) container).create(true, true, null); // true = "force"; true = "local"
@@ -163,38 +161,4 @@ public class TestPlatformProject
return file;
}
- public void open() throws CoreException {
- this.project.open(null);
- waitForJobs();
- }
-
- public void close() throws CoreException {
- this.project.close(null);
- waitForJobs();
- }
-
- public void dispose() throws CoreException {
- this.project.delete(true, true, null); // true = "delete content"; true = "force"
- for (int i = 1; this.project.exists(); i++) {
- waitForJobs();
- System.out.println("Project still exists: " + i);
- }
- }
-
-
- // ********** static methods **********
-
- /**
- * Wait until all background tasks are complete.
- */
- public static void waitForJobs() {
- while (Job.getJobManager().currentJob() != null) {
- try {
- Thread.sleep(100); // let other threads get something done
- } catch (InterruptedException ex) {
- throw new RuntimeException(ex);
- }
- }
- }
-
}

Back to the top