Skip to main content
summaryrefslogtreecommitdiffstats
path: root/jpa/tests
diff options
context:
space:
mode:
authorkmoore2012-03-05 15:17:27 +0000
committerkmoore2012-03-05 15:17:27 +0000
commiteeccada92fc231d94cc5722e54ba59ef89f05f43 (patch)
tree9d600e0b0feac268eae014d82ca9d4fd4b8d02ae /jpa/tests
parentd1d939e4444d70a6de1d203b8c7e195fd358eecc (diff)
downloadwebtools.dali-eeccada92fc231d94cc5722e54ba59ef89f05f43.tar.gz
webtools.dali-eeccada92fc231d94cc5722e54ba59ef89f05f43.tar.xz
webtools.dali-eeccada92fc231d94cc5722e54ba59ef89f05f43.zip
Bug 369940 - [EclipseLink] dynamic persistence validation for parent-class attribute
Diffstat (limited to 'jpa/tests')
-rw-r--r--jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLink2_1OrmEmbeddableTests.java61
-rw-r--r--jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLink2_1OrmEntityTests.java61
-rw-r--r--jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLink2_1OrmMappedSuperclassTests.java61
-rw-r--r--jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/JptEclipseLinkCoreOrmContextModelTests.java7
4 files changed, 188 insertions, 2 deletions
diff --git a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLink2_1OrmEmbeddableTests.java b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLink2_1OrmEmbeddableTests.java
new file mode 100644
index 0000000000..bc21b644af
--- /dev/null
+++ b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLink2_1OrmEmbeddableTests.java
@@ -0,0 +1,61 @@
+/*******************************************************************************
+ * Copyright (c) 2012 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.jpa.eclipselink.core.tests.internal.context.orm;
+
+import org.eclipse.jpt.jpa.core.MappingKeys;
+import org.eclipse.jpt.jpa.eclipselink.core.context.orm.EclipseLinkOrmTypeMapping;
+import org.eclipse.jpt.jpa.eclipselink.core.context.orm.EclipseLinkOrmPersistentType;
+import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlTypeMapping;
+import org.eclipse.jpt.jpa.eclipselink.core.tests.internal.context.EclipseLink2_1ContextModelTestCase;
+
+@SuppressWarnings("nls")
+public class EclipseLink2_1OrmEmbeddableTests
+ extends EclipseLink2_1ContextModelTestCase
+{
+ public EclipseLink2_1OrmEmbeddableTests(String name) {
+ super(name);
+ }
+
+ public void testUpdateSpecifiedParentClass() throws Exception {
+ EclipseLinkOrmPersistentType persistentType = (EclipseLinkOrmPersistentType) getEntityMappings().addPersistentType(MappingKeys.EMBEDDABLE_TYPE_MAPPING_KEY, "model.Employee");
+ EclipseLinkOrmTypeMapping ormTypeMapping = persistentType.getMapping();
+ XmlTypeMapping xmlTypeMapping = (XmlTypeMapping) ormTypeMapping.getXmlTypeMapping();
+ assertNull(ormTypeMapping.getSpecifiedParentClass());
+ assertNull(xmlTypeMapping.getParentClass());
+
+ //set parentClass in the resource model, verify context model updated
+ xmlTypeMapping.setParentClass("model.Parent");
+ assertEquals("model.Parent", ormTypeMapping.getSpecifiedParentClass());
+ assertEquals("model.Parent", xmlTypeMapping.getParentClass());
+
+ //set parentClass to null in the resource model
+ xmlTypeMapping.setParentClass(null);
+ assertNull(ormTypeMapping.getSpecifiedParentClass());
+ assertNull(xmlTypeMapping.getParentClass());
+ }
+
+ public void testModifySpecifiedParentClass() throws Exception {
+ EclipseLinkOrmPersistentType persistentType = (EclipseLinkOrmPersistentType) getEntityMappings().addPersistentType(MappingKeys.EMBEDDABLE_TYPE_MAPPING_KEY, "model.Employee");
+ EclipseLinkOrmTypeMapping ormTypeMapping = persistentType.getMapping();
+ XmlTypeMapping xmlTypeMapping = (XmlTypeMapping) ormTypeMapping.getXmlTypeMapping();
+ assertNull(ormTypeMapping.getSpecifiedParentClass());
+ assertNull(xmlTypeMapping.getParentClass());
+
+ //set parentClass in the context model, verify resource model modified
+ ormTypeMapping.setSpecifiedParentClass("model.Parent");
+ assertEquals("model.Parent", ormTypeMapping.getSpecifiedParentClass());
+ assertEquals("model.Parent", xmlTypeMapping.getParentClass());
+
+ //set parentClass to null in the context model
+ ormTypeMapping.setSpecifiedParentClass(null);
+ assertNull(ormTypeMapping.getSpecifiedParentClass());
+ assertNull(xmlTypeMapping.getParentClass());
+ }
+} \ No newline at end of file
diff --git a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLink2_1OrmEntityTests.java b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLink2_1OrmEntityTests.java
new file mode 100644
index 0000000000..08779f7c2a
--- /dev/null
+++ b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLink2_1OrmEntityTests.java
@@ -0,0 +1,61 @@
+/*******************************************************************************
+ * Copyright (c) 2012 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.jpa.eclipselink.core.tests.internal.context.orm;
+
+import org.eclipse.jpt.jpa.core.MappingKeys;
+import org.eclipse.jpt.jpa.eclipselink.core.context.orm.EclipseLinkOrmTypeMapping;
+import org.eclipse.jpt.jpa.eclipselink.core.context.orm.EclipseLinkOrmPersistentType;
+import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlTypeMapping;
+import org.eclipse.jpt.jpa.eclipselink.core.tests.internal.context.EclipseLink2_1ContextModelTestCase;
+
+@SuppressWarnings("nls")
+public class EclipseLink2_1OrmEntityTests
+ extends EclipseLink2_1ContextModelTestCase
+{
+ public EclipseLink2_1OrmEntityTests(String name) {
+ super(name);
+ }
+
+ public void testUpdateSpecifiedParentClass() throws Exception {
+ EclipseLinkOrmPersistentType persistentType = (EclipseLinkOrmPersistentType) getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, "model.Employee");
+ EclipseLinkOrmTypeMapping ormTypeMapping = persistentType.getMapping();
+ XmlTypeMapping xmlTypeMapping = (XmlTypeMapping) ormTypeMapping.getXmlTypeMapping();
+ assertNull(ormTypeMapping.getSpecifiedParentClass());
+ assertNull(xmlTypeMapping.getParentClass());
+
+ //set parentClass in the resource model, verify context model updated
+ xmlTypeMapping.setParentClass("model.Parent");
+ assertEquals("model.Parent", ormTypeMapping.getSpecifiedParentClass());
+ assertEquals("model.Parent", xmlTypeMapping.getParentClass());
+
+ //set parentClass to null in the resource model
+ xmlTypeMapping.setParentClass(null);
+ assertNull(ormTypeMapping.getSpecifiedParentClass());
+ assertNull(xmlTypeMapping.getParentClass());
+ }
+
+ public void testModifySpecifiedParentClass() throws Exception {
+ EclipseLinkOrmPersistentType persistentType = (EclipseLinkOrmPersistentType) getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, "model.Employee");
+ EclipseLinkOrmTypeMapping ormTypeMapping = persistentType.getMapping();
+ XmlTypeMapping xmlTypeMapping = (XmlTypeMapping) ormTypeMapping.getXmlTypeMapping();
+ assertNull(ormTypeMapping.getSpecifiedParentClass());
+ assertNull(xmlTypeMapping.getParentClass());
+
+ //set parentClass in the context model, verify resource model modified
+ ormTypeMapping.setSpecifiedParentClass("model.Parent");
+ assertEquals("model.Parent", ormTypeMapping.getSpecifiedParentClass());
+ assertEquals("model.Parent", xmlTypeMapping.getParentClass());
+
+ //set parentClass to null in the context model
+ ormTypeMapping.setSpecifiedParentClass(null);
+ assertNull(ormTypeMapping.getSpecifiedParentClass());
+ assertNull(xmlTypeMapping.getParentClass());
+ }
+} \ No newline at end of file
diff --git a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLink2_1OrmMappedSuperclassTests.java b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLink2_1OrmMappedSuperclassTests.java
new file mode 100644
index 0000000000..1b16d12965
--- /dev/null
+++ b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLink2_1OrmMappedSuperclassTests.java
@@ -0,0 +1,61 @@
+/*******************************************************************************
+ * Copyright (c) 2012 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.jpa.eclipselink.core.tests.internal.context.orm;
+
+import org.eclipse.jpt.jpa.core.MappingKeys;
+import org.eclipse.jpt.jpa.eclipselink.core.context.orm.EclipseLinkOrmTypeMapping;
+import org.eclipse.jpt.jpa.eclipselink.core.context.orm.EclipseLinkOrmPersistentType;
+import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlTypeMapping;
+import org.eclipse.jpt.jpa.eclipselink.core.tests.internal.context.EclipseLink2_1ContextModelTestCase;
+
+@SuppressWarnings("nls")
+public class EclipseLink2_1OrmMappedSuperclassTests
+ extends EclipseLink2_1ContextModelTestCase
+{
+ public EclipseLink2_1OrmMappedSuperclassTests(String name) {
+ super(name);
+ }
+
+ public void testUpdateSpecifiedParentClass() throws Exception {
+ EclipseLinkOrmPersistentType persistentType = (EclipseLinkOrmPersistentType) getEntityMappings().addPersistentType(MappingKeys.MAPPED_SUPERCLASS_TYPE_MAPPING_KEY, "model.Employee");
+ EclipseLinkOrmTypeMapping ormTypeMapping = persistentType.getMapping();
+ XmlTypeMapping xmlTypeMapping = (XmlTypeMapping) ormTypeMapping.getXmlTypeMapping();
+ assertNull(ormTypeMapping.getSpecifiedParentClass());
+ assertNull(xmlTypeMapping.getParentClass());
+
+ //set parentClass in the resource model, verify context model updated
+ xmlTypeMapping.setParentClass("model.Parent");
+ assertEquals("model.Parent", ormTypeMapping.getSpecifiedParentClass());
+ assertEquals("model.Parent", xmlTypeMapping.getParentClass());
+
+ //set parentClass to null in the resource model
+ xmlTypeMapping.setParentClass(null);
+ assertNull(ormTypeMapping.getSpecifiedParentClass());
+ assertNull(xmlTypeMapping.getParentClass());
+ }
+
+ public void testModifySpecifiedParentClass() throws Exception {
+ EclipseLinkOrmPersistentType persistentType = (EclipseLinkOrmPersistentType) getEntityMappings().addPersistentType(MappingKeys.MAPPED_SUPERCLASS_TYPE_MAPPING_KEY, "model.Employee");
+ EclipseLinkOrmTypeMapping ormTypeMapping = persistentType.getMapping();
+ XmlTypeMapping xmlTypeMapping = (XmlTypeMapping) ormTypeMapping.getXmlTypeMapping();
+ assertNull(ormTypeMapping.getSpecifiedParentClass());
+ assertNull(xmlTypeMapping.getParentClass());
+
+ //set parentClass in the context model, verify resource model modified
+ ormTypeMapping.setSpecifiedParentClass("model.Parent");
+ assertEquals("model.Parent", ormTypeMapping.getSpecifiedParentClass());
+ assertEquals("model.Parent", xmlTypeMapping.getParentClass());
+
+ //set parentClass to null in the context model
+ ormTypeMapping.setSpecifiedParentClass(null);
+ assertNull(ormTypeMapping.getSpecifiedParentClass());
+ assertNull(xmlTypeMapping.getParentClass());
+ }
+} \ No newline at end of file
diff --git a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/JptEclipseLinkCoreOrmContextModelTests.java b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/JptEclipseLinkCoreOrmContextModelTests.java
index da50bc760f..4d70a79c65 100644
--- a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/JptEclipseLinkCoreOrmContextModelTests.java
+++ b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/JptEclipseLinkCoreOrmContextModelTests.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007, 2011 Oracle.
+ * Copyright (c) 2007, 2012 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
@@ -31,7 +31,6 @@ public class JptEclipseLinkCoreOrmContextModelTests extends TestCase
suite.addTestSuite(EclipseLinkOrmOneToManyMappingTests.class);
suite.addTestSuite(EclipseLinkOrmOneToOneMappingTests.class);
suite.addTestSuite(EclipseLinkOrmPersistentAttributeTests.class);
- suite.addTestSuite(EclipseLink2_1OrmPersistentTypeTests.class);
suite.addTestSuite(EclipseLinkOrmVersionMappingTests.class);
suite.addTestSuite(EclipseLinkOrmTransientMappingTests.class);
suite.addTestSuite(EclipseLinkOrmConverterTests.class);
@@ -52,6 +51,10 @@ public class JptEclipseLinkCoreOrmContextModelTests extends TestCase
suite.addTestSuite(EclipseLink2_0OrmOneToManyMappingTests.class);
suite.addTestSuite(EclipseLink2_1EntityMappingsTests.class);
suite.addTestSuite(EclipseLink2_1PersistenceUnitDefaultsTests.class);
+ suite.addTestSuite(EclipseLink2_1OrmPersistentTypeTests.class);
+ suite.addTestSuite(EclipseLink2_1OrmEmbeddableTests.class);
+ suite.addTestSuite(EclipseLink2_1OrmEntityTests.class);
+ suite.addTestSuite(EclipseLink2_1OrmMappedSuperclassTests.class);
suite.addTestSuite(EclipseLink2_3OrmMultitenancyTests.class);
return suite;
}

Back to the top