use of org.apache.cayenne.testdo.map_to_many.MapToManyTarget in project cayenne by apache.
the class CDOMapRelationshipIT method testRemoveToMany.
@Test
public void testRemoveToMany() throws Exception {
createTestDataSet();
MapToMany o1 = Cayenne.objectForPK(context, MapToMany.class, 1);
Map targets = o1.getTargets();
assertEquals(3, targets.size());
MapToManyTarget target = (MapToManyTarget) targets.get("B");
o1.removeFromTargets(target);
assertEquals(2, targets.size());
assertNull(o1.getTargets().get("B"));
assertNull(target.getMapToMany());
o1.getObjectContext().commitChanges();
o1.getObjectContext().performGenericQuery(new RefreshQuery());
assertEquals(2, o1.getTargets().size());
assertNotNull(o1.getTargets().get("A"));
assertNotNull(o1.getTargets().get("C"));
}
use of org.apache.cayenne.testdo.map_to_many.MapToManyTarget in project cayenne by apache.
the class CDOMapRelationshipIT method testAddToMany.
@Test
public void testAddToMany() throws Exception {
createTestDataSet();
MapToMany o1 = Cayenne.objectForPK(context, MapToMany.class, 1);
Map targets = o1.getTargets();
assertNotNull(targets);
assertEquals(3, targets.size());
MapToManyTarget newTarget = o1.getObjectContext().newObject(MapToManyTarget.class);
newTarget.setName("X");
o1.addToTargets(newTarget);
assertEquals(4, targets.size());
assertSame(newTarget, o1.getTargets().get("X"));
assertSame(o1, newTarget.getMapToMany());
o1.getObjectContext().commitChanges();
o1.getObjectContext().performGenericQuery(new RefreshQuery());
assertEquals(4, o1.getTargets().size());
}
use of org.apache.cayenne.testdo.map_to_many.MapToManyTarget in project cayenne by apache.
the class CDOMapRelationshipIT method testAddToManyViaReverse.
@Test
public void testAddToManyViaReverse() throws Exception {
createTestDataSet();
MapToMany o1 = Cayenne.objectForPK(context, MapToMany.class, 1);
Map targets = o1.getTargets();
assertNotNull(targets);
assertEquals(3, targets.size());
MapToManyTarget newTarget = o1.getObjectContext().newObject(MapToManyTarget.class);
newTarget.setName("X");
newTarget.setMapToMany(o1);
assertSame(o1, newTarget.getMapToMany());
assertEquals(4, targets.size());
assertSame(newTarget, o1.getTargets().get("X"));
o1.getObjectContext().commitChanges();
o1.getObjectContext().performGenericQuery(new RefreshQuery());
assertEquals(4, o1.getTargets().size());
}
use of org.apache.cayenne.testdo.map_to_many.MapToManyTarget in project cayenne by apache.
the class CDOMapRelationshipIT method testModifyToManyKey.
@Test
public void testModifyToManyKey() throws Exception {
createTestDataSet();
MapToMany o1 = Cayenne.objectForPK(context, MapToMany.class, 1);
Map targets = o1.getTargets();
MapToManyTarget target = (MapToManyTarget) targets.get("B");
target.setName("B1");
o1.getObjectContext().commitChanges();
assertNull(o1.getTargets().get("B"));
assertSame(target, o1.getTargets().get("B1"));
}
Aggregations