use of org.jpox.samples.compoundidentity.CompoundDoubleTarget in project tests by datanucleus.
the class CompoundIdentityTest method testOneToManyBiFKDouble.
/**
* Test of compound identity 1-N relations using FK with double compound elements.
*/
public void testOneToManyBiFKDouble() {
try {
PersistenceManager pm = pmf.getPersistenceManager();
Transaction tx = pm.currentTransaction();
Object id = null;
CompoundDoubleTarget[] elements = new CompoundDoubleTarget[6];
try {
tx.begin();
CompoundHolder holder1 = new CompoundHolder("First Holder");
CompoundRelated related1 = new CompoundRelated("First Related");
elements[0] = new CompoundDoubleTarget(holder1, related1, 1.0);
elements[1] = new CompoundDoubleTarget(holder1, related1, 2.0);
elements[2] = new CompoundDoubleTarget(holder1, related1, 3.0);
elements[3] = new CompoundDoubleTarget(holder1, related1, 4.0);
elements[4] = new CompoundDoubleTarget(holder1, related1, 5.0);
elements[5] = new CompoundDoubleTarget(holder1, related1, 6.0);
holder1.getList3().add(elements[0]);
holder1.getList3().add(elements[1]);
holder1.getList3().add(elements[2]);
holder1.getList3().add(elements[3]);
holder1.getList3().add(elements[4]);
holder1.getList3().add(elements[5]);
pm.makePersistent(holder1);
tx.commit();
id = pm.getObjectId(holder1);
tx.begin();
CompoundHolder holder2 = (CompoundHolder) pm.getObjectById(id, true);
assertEquals(6, holder2.getList3().size());
assertEquals(elements[0], holder2.getList3().get(0));
assertEquals(elements[1], holder2.getList3().get(1));
assertEquals(elements[2], holder2.getList3().get(2));
assertEquals(elements[3], holder2.getList3().get(3));
assertEquals(elements[4], holder2.getList3().get(4));
assertEquals(elements[5], holder2.getList3().get(5));
tx.commit();
} catch (Exception e) {
LOG.error(e);
e.printStackTrace();
fail(e.getMessage());
} finally {
if (tx.isActive()) {
tx.rollback();
}
pm.close();
}
} finally {
clean(CompoundHolder.class);
clean(CompoundDoubleTarget.class);
clean(CompoundRelated.class);
}
}
Aggregations