Skip to main content
summaryrefslogtreecommitdiffstats
path: root/jpa/tests
diff options
context:
space:
mode:
authorpfullbright2007-05-16 21:19:57 +0000
committerpfullbright2007-05-16 21:19:57 +0000
commitb594733d13ddab93b0ce9aad57140cb3b99e2cf3 (patch)
tree1fc5118b5761cc93ac94a362b496ab190af26957 /jpa/tests
parent41efa82b339650302c474e12c329829eba08eda7 (diff)
downloadwebtools.dali-b594733d13ddab93b0ce9aad57140cb3b99e2cf3.tar.gz
webtools.dali-b594733d13ddab93b0ce9aad57140cb3b99e2cf3.tar.xz
webtools.dali-b594733d13ddab93b0ce9aad57140cb3b99e2cf3.zip
187314 - added API on IJpaPlatform to retrieve persistent types for a given persistence unit
Diffstat (limited to 'jpa/tests')
-rw-r--r--jpa/tests/org.eclipse.jpt.core.tests/META-INF/MANIFEST.MF7
-rw-r--r--jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/JptCoreTests.java4
-rw-r--r--jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/platform/BaseJpaPlatformTests.java81
-rw-r--r--jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/platform/JptCorePlatformTests.java28
4 files changed, 117 insertions, 3 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 f03a1152e8..9e8424bcb7 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
@@ -7,10 +7,13 @@ Bundle-Version: 1.0.0
Bundle-Localization: plugin
Require-Bundle: org.eclipse.core.resources,
org.eclipse.core.runtime,
+ org.eclipse.emf.ecore,
+ org.eclipse.emf.ecore.xmi,
org.eclipse.jdt.core,
+ org.eclipse.jem,
org.eclipse.jpt.core,
org.eclipse.jpt.utility,
+ org.eclipse.wst.common.emf,
org.eclipse.wst.common.project.facet.core,
- org.junit,
- org.eclipse.emf.ecore
+ org.junit
Bundle-RequiredExecutionEnvironment: J2SE-1.5
diff --git a/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/JptCoreTests.java b/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/JptCoreTests.java
index 8b990a6bb8..baf5150f80 100644
--- a/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/JptCoreTests.java
+++ b/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/JptCoreTests.java
@@ -14,9 +14,10 @@ import junit.framework.TestSuite;
import org.eclipse.jpt.core.tests.internal.content.java.mappings.JptCoreContentJavaMappingsTests;
import org.eclipse.jpt.core.tests.internal.jdtutility.JptCoreJdtUtilityTests;
import org.eclipse.jpt.core.tests.internal.model.JptCoreModelTests;
+import org.eclipse.jpt.core.tests.internal.platform.JptCorePlatformTests;
/**
- * Runs all JPA Core Tests
+ * Runs all JPT Core Tests
*/
public class JptCoreTests {
@@ -25,6 +26,7 @@ public class JptCoreTests {
suite.addTest(JptCoreContentJavaMappingsTests.suite());
suite.addTest(JptCoreModelTests.suite());
suite.addTest(JptCoreJdtUtilityTests.suite());
+ suite.addTest(JptCorePlatformTests.suite());
return suite;
}
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
new file mode 100644
index 0000000000..94c306e4f0
--- /dev/null
+++ b/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/platform/BaseJpaPlatformTests.java
@@ -0,0 +1,81 @@
+package org.eclipse.jpt.core.tests.internal.platform;
+
+import java.io.IOException;
+import junit.framework.TestCase;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.jpt.core.internal.IJpaFile;
+import org.eclipse.jpt.core.internal.content.orm.EntityMappingsInternal;
+import org.eclipse.jpt.core.internal.content.orm.OrmFactory;
+import org.eclipse.jpt.core.internal.content.orm.XmlEntityInternal;
+import org.eclipse.jpt.core.internal.content.orm.XmlRootContentNode;
+import org.eclipse.jpt.core.internal.content.persistence.JavaClassRef;
+import org.eclipse.jpt.core.internal.content.persistence.Persistence;
+import org.eclipse.jpt.core.internal.content.persistence.PersistenceFactory;
+import org.eclipse.jpt.core.internal.content.persistence.PersistenceXmlRootContentNode;
+import org.eclipse.jpt.core.tests.internal.projects.TestJpaProject;
+import org.eclipse.jpt.utility.internal.CollectionTools;
+
+public class BaseJpaPlatformTests extends TestCase
+{
+ protected TestJpaProject jpaProject;
+
+ protected static final String PROJECT_NAME = "PlatformTestProject";
+ protected static final String PACKAGE_NAME = "platform.test";
+ protected static final String PERSISTENCE_XML_LOCATION = "src/META-INF/persistence.xml";
+ protected static final String ORM_XML_LOCATION = "src/META-INF/orm.xml";
+
+
+ public BaseJpaPlatformTests(String name) {
+ super(name);
+ }
+
+ @Override
+ protected void setUp() throws Exception {
+ super.setUp();
+ jpaProject = this.buildJpaProject(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
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ jpaProject.dispose();
+ jpaProject = null;
+ super.tearDown();
+ }
+
+
+ public void testPersistentTypes() throws CoreException, IOException {
+ IFile persistenceXmlIFile = jpaProject.getProject().getFile(PERSISTENCE_XML_LOCATION);
+ IJpaFile persistenceXmlJpaFile = jpaProject.getJpaProject().getJpaFile(persistenceXmlIFile);
+ PersistenceXmlRootContentNode persistenceRoot = (PersistenceXmlRootContentNode) persistenceXmlJpaFile.getContent();
+ Persistence persistence = persistenceRoot.getPersistence();
+
+ IFile ormXmlIFile = jpaProject.getProject().getFile(ORM_XML_LOCATION);
+ IJpaFile ormXmlJpaFile = jpaProject.getJpaProject().getJpaFile(ormXmlIFile);
+ XmlRootContentNode ormRoot = (XmlRootContentNode) ormXmlJpaFile.getContent();
+ EntityMappingsInternal entityMappings = ormRoot.getEntityMappings();
+
+ // add xml persistent type
+ XmlEntityInternal xmlEntity = OrmFactory.eINSTANCE.createXmlEntityInternal();
+ xmlEntity.setSpecifiedName("XmlEntity");
+ entityMappings.getTypeMappings().add(xmlEntity);
+ entityMappings.eResource().save(null);
+
+ assertEquals(1, CollectionTools.size(jpaProject.getJpaProject().getPlatform().persistentTypes(PROJECT_NAME)));
+
+ // add java persistent type
+ jpaProject.createType(PACKAGE_NAME, "JavaEntity.java",
+ "@Entity public class JavaEntity {}"
+ );
+ JavaClassRef javaClassRef = PersistenceFactory.eINSTANCE.createJavaClassRef();
+ javaClassRef.setJavaClass(PACKAGE_NAME + ".JavaEntity");
+ persistence.getPersistenceUnits().get(0).getClasses().add(javaClassRef);
+ persistence.eResource().save(null);
+
+ assertEquals(2, CollectionTools.size(jpaProject.getJpaProject().getPlatform().persistentTypes(PROJECT_NAME)));
+ }
+}
diff --git a/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/platform/JptCorePlatformTests.java b/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/platform/JptCorePlatformTests.java
new file mode 100644
index 0000000000..0a1f1855f0
--- /dev/null
+++ b/jpa/tests/org.eclipse.jpt.core.tests/src/org/eclipse/jpt/core/tests/internal/platform/JptCorePlatformTests.java
@@ -0,0 +1,28 @@
+/*******************************************************************************
+ * 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.Test;
+import junit.framework.TestSuite;
+
+public class JptCorePlatformTests
+{
+ public static Test suite() {
+ TestSuite suite = new TestSuite(JptCorePlatformTests.class.getName());
+ suite.addTestSuite(BaseJpaPlatformTests.class);
+ return suite;
+ }
+
+ private JptCorePlatformTests() {
+ super();
+ throw new UnsupportedOperationException();
+ }
+}

Back to the top