Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/context/persistence/PersistenceUnitTests.java')
-rw-r--r--jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/context/persistence/PersistenceUnitTests.java49
1 files changed, 43 insertions, 6 deletions
diff --git a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/context/persistence/PersistenceUnitTests.java b/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/context/persistence/PersistenceUnitTests.java
index f49b2857b3..67d0289dd0 100644
--- a/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/context/persistence/PersistenceUnitTests.java
+++ b/jpa/tests/org.eclipse.jpt.jpa.core.tests/src/org/eclipse/jpt/jpa/core/tests/internal/context/persistence/PersistenceUnitTests.java
@@ -51,6 +51,8 @@ public class PersistenceUnitTests extends ContextModelTestCase
public static final String OTHER_TYPE_NAME = "OtherTestType";
public static final String FULLY_QUALIFIED_OTHER_TYPE_NAME = PACKAGE_NAME + "." + OTHER_TYPE_NAME;
+ public static final String ORM2_XML_FILE_NAME = "orm2.xml";
+ public static final String ORM3_XML_FILE_NAME = "orm3.xml";
public PersistenceUnitTests(String name) {
super(name);
@@ -1081,7 +1083,7 @@ public class PersistenceUnitTests extends ContextModelTestCase
public void testGetDefaultAccess() throws Exception {
addXmlMappingFileRef(XmlEntityMappings.DEFAULT_RUNTIME_PATH_NAME);
- createOrm2XmlFile();
+ createOrmXmlFile(ORM2_XML_FILE_NAME);
PersistenceUnit persistenceUnit = getPersistenceUnit();
ListIterator<MappingFileRef> mappingFileRefs = getPersistenceUnit().getMappingFileRefs().iterator();
OrmXml ormMappingFile = (OrmXml) mappingFileRefs.next().getMappingFile();
@@ -1105,7 +1107,7 @@ public class PersistenceUnitTests extends ContextModelTestCase
public void testGetDefaultSchema() throws Exception {
addXmlMappingFileRef(XmlEntityMappings.DEFAULT_RUNTIME_PATH_NAME);
- createOrm2XmlFile();
+ createOrmXmlFile(ORM2_XML_FILE_NAME);
PersistenceUnit persistenceUnit = getPersistenceUnit();
ListIterator<MappingFileRef> mappingFileRefs = getPersistenceUnit().getMappingFileRefs().iterator();
OrmXml ormMappingFile = (OrmXml) mappingFileRefs.next().getMappingFile();
@@ -1126,7 +1128,7 @@ public class PersistenceUnitTests extends ContextModelTestCase
public void testGetDefaultCatalog() throws Exception {
addXmlMappingFileRef(XmlEntityMappings.DEFAULT_RUNTIME_PATH_NAME);
- createOrm2XmlFile();
+ createOrmXmlFile(ORM2_XML_FILE_NAME);
PersistenceUnit persistenceUnit = getPersistenceUnit();
ListIterator<MappingFileRef> mappingFileRefs = getPersistenceUnit().getMappingFileRefs().iterator();
OrmXml ormMappingFile = (OrmXml) mappingFileRefs.next().getMappingFile();
@@ -1145,15 +1147,15 @@ public class PersistenceUnitTests extends ContextModelTestCase
assertEquals("BAR", persistenceUnit.getDefaultCatalog());
}
- protected void createOrm2XmlFile() throws Exception {
+ protected void createOrmXmlFile(String fileName) throws Exception {
IDataModel config =
DataModelFactory.createDataModel(new OrmFileCreationDataModelProvider());
config.setProperty(JptFileCreationDataModelProperties.CONTAINER_PATH,
getJpaProject().getProject().getFolder("src/META-INF").getFullPath());
- config.setProperty(JptFileCreationDataModelProperties.FILE_NAME, "orm2.xml");
+ config.setProperty(JptFileCreationDataModelProperties.FILE_NAME, fileName);
config.getDefaultOperation().execute(null, null);
- addXmlMappingFileRef("META-INF/orm2.xml");
+ addXmlMappingFileRef("META-INF/" + fileName);
getPersistenceXmlResource().save(null);
}
@@ -1235,6 +1237,41 @@ public class PersistenceUnitTests extends ContextModelTestCase
getXmlPersistenceUnit().getMappingFiles().remove(0);
assertNotNull(persistenceUnit.getPersistentType("model.Foo"));
}
+
+ public void testGetMappingFileRefsContaining() throws Exception {
+ createOrmXmlFile(ORM2_XML_FILE_NAME);
+ createOrmXmlFile(ORM3_XML_FILE_NAME);
+ PersistenceUnit persistenceUnit = getPersistenceUnit();
+
+ Iterable<MappingFileRef> mappingFileRefs = persistenceUnit.getMappingFileRefsContaining(FULLY_QUALIFIED_TYPE_NAME);
+ assertEquals(true, IterableTools.isEmpty(mappingFileRefs));
+
+ OrmXml ormXml = (OrmXml) IterableTools.get(persistenceUnit.getMappingFileRefs(), 0).getMappingFile();
+ OrmXml orm2Xml = (OrmXml) IterableTools.get(persistenceUnit.getMappingFileRefs(), 1).getMappingFile();
+ OrmXml orm3Xml = (OrmXml) IterableTools.get(persistenceUnit.getMappingFileRefs(), 2).getMappingFile();
+
+ ormXml.getRoot().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME);
+
+ mappingFileRefs = persistenceUnit.getMappingFileRefsContaining(FULLY_QUALIFIED_TYPE_NAME);
+ assertEquals(1, IterableTools.size(mappingFileRefs));
+ assertEquals(ormXml, IterableTools.get(mappingFileRefs, 0).getMappingFile());
+
+ orm2Xml.getRoot().addPersistentType(MappingKeys.MAPPED_SUPERCLASS_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME);
+
+ mappingFileRefs = persistenceUnit.getMappingFileRefsContaining(FULLY_QUALIFIED_TYPE_NAME);
+ assertEquals(2, IterableTools.size(mappingFileRefs));
+ assertEquals(ormXml, IterableTools.get(mappingFileRefs, 0).getMappingFile());
+ assertEquals(orm2Xml, IterableTools.get(mappingFileRefs, 1).getMappingFile());
+
+ orm3Xml.getRoot().addPersistentType(MappingKeys.EMBEDDABLE_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME);
+
+ mappingFileRefs = persistenceUnit.getMappingFileRefsContaining(FULLY_QUALIFIED_TYPE_NAME);
+ assertEquals(3, IterableTools.size(mappingFileRefs));
+ assertEquals(ormXml, IterableTools.get(mappingFileRefs, 0).getMappingFile());
+ assertEquals(orm2Xml, IterableTools.get(mappingFileRefs, 1).getMappingFile());
+ assertEquals(orm3Xml, IterableTools.get(mappingFileRefs, 2).getMappingFile());
+
+ }
//TODO
// String getDefaultSchema();

Back to the top