ammulder 2005/07/27 22:36:31
Modified: modules/openejb-builder/src/test/org/openejb/deployment
CMPEntityBuilderTest.java
Log:
Convince myself that we'll definitely find both side of the relationship
in a one-way many-to-many relationship.
Revision Changes Path
1.17 +38 -1
openejb/modules/openejb-builder/src/test/org/openejb/deployment/CMPEntityBuilderTest.java
Index: CMPEntityBuilderTest.java
===================================================================
RCS file:
/home/projects/openejb/scm/openejb/modules/openejb-builder/src/test/org/openejb/deployment/CMPEntityBuilderTest.java,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -r1.16 -r1.17
--- CMPEntityBuilderTest.java 21 Jul 2005 22:56:00 -0000 1.16
+++ CMPEntityBuilderTest.java 28 Jul 2005 02:36:31 -0000 1.17
@@ -386,6 +386,7 @@
assertNotNull(mtmEntity);
assertEquals("MTM", mtmEntity.getName());
JoinDefinition joinDefinition = association.getLeftJoinDefinition();
+ boolean isMappedToFKA1 = false, isMappedToFKB1 = false; // we must
be able to map both entities to the MTM table
if ( leftEntity == joinDefinition.getPKEntity() ) {
LinkedHashMap linkedHashMap = joinDefinition.getPKToFKMapping();
for (Iterator iter = linkedHashMap.entrySet().iterator();
iter.hasNext();) {
@@ -396,6 +397,7 @@
assertEquals("field1", ((Attribute)
entry.getKey()).getPhysicalName());
}
assertEquals("fka1", ((FKAttribute)
entry.getValue()).getPhysicalName());
+ isMappedToFKA1 = true;
}
} else if ( rightEntity == joinDefinition.getPKEntity() ) {
LinkedHashMap linkedHashMap = joinDefinition.getPKToFKMapping();
@@ -407,9 +409,44 @@
assertEquals("field1", ((Attribute)
entry.getKey()).getPhysicalName());
}
assertEquals("fkb1", ((FKAttribute)
entry.getValue()).getPhysicalName());
+ isMappedToFKB1 = true;
}
} else {
fail("JoinDefinitions are misconfigured.");
+ }
+ joinDefinition = association.getRightJoinDefinition();
+ if ( leftEntity == joinDefinition.getPKEntity() ) {
+ LinkedHashMap linkedHashMap = joinDefinition.getPKToFKMapping();
+ for (Iterator iter = linkedHashMap.entrySet().iterator();
iter.hasNext();) {
+ Map.Entry entry = (Map.Entry) iter.next();
+ if ( leftEntity instanceof Table ) {
+ assertEquals("a1", ((Attribute)
entry.getKey()).getPhysicalName());
+ } else {
+ assertEquals("field1", ((Attribute)
entry.getKey()).getPhysicalName());
+ }
+ assertEquals("fka1", ((FKAttribute)
entry.getValue()).getPhysicalName());
+ isMappedToFKA1 = true;
+ }
+ } else if ( rightEntity == joinDefinition.getPKEntity() ) {
+ LinkedHashMap linkedHashMap = joinDefinition.getPKToFKMapping();
+ for (Iterator iter = linkedHashMap.entrySet().iterator();
iter.hasNext();) {
+ Map.Entry entry = (Map.Entry) iter.next();
+ if ( rightEntity instanceof Table ) {
+ assertEquals("b1", ((Attribute)
entry.getKey()).getPhysicalName());
+ } else {
+ assertEquals("field1", ((Attribute)
entry.getKey()).getPhysicalName());
+ }
+ assertEquals("fkb1", ((FKAttribute)
entry.getValue()).getPhysicalName());
+ isMappedToFKB1 = true;
+ }
+ } else {
+ fail("JoinDefinitions are misconfigured.");
+ }
+ if(!isMappedToFKA1) {
+ fail("No mapping present from A.a1 to MTM.fka1");
+ }
+ if(!isMappedToFKB1) {
+ fail("No mapping present from B.b1 to MTM.fkb1");
}
}
}