use of org.apache.cayenne.lifecycle.id.IdCoder in project cayenne by apache.
the class ObjectIdRelationshipHandlerTest method testRelate_Change.
@Test
public void testRelate_Change() throws Exception {
e1Table.insert(1);
rootTable.insert(1, "E1:1");
ObjectContext context = runtime.newContext();
UuidRoot1 r1 = Cayenne.objectForPK(context, UuidRoot1.class, 1);
assertEquals("E1:1", r1.getUuid());
E1 e1 = context.newObject(E1.class);
IdCoder refHandler = new IdCoder(context.getEntityResolver());
ObjectIdRelationshipHandler handler = new ObjectIdRelationshipHandler(refHandler);
handler.relate(r1, e1);
assertSame(e1, r1.readPropertyDirectly("cay:related:uuid"));
context.commitChanges();
int id = Cayenne.intPKForObject(e1);
assertFalse(1 == id);
Object[] r1x = rootTable.select();
assertEquals("E1:" + id, r1x[1]);
assertEquals("E1:" + id, r1.getUuid());
assertSame(e1, r1.readProperty("cay:related:uuid"));
}
use of org.apache.cayenne.lifecycle.id.IdCoder in project cayenne by apache.
the class ObjectIdRelationshipHandlerTest method testRelate_Existing.
@Test
public void testRelate_Existing() throws Exception {
e1Table.insert(1);
ObjectContext context = runtime.newContext();
E1 e1 = (E1) Cayenne.objectForQuery(context, new SelectQuery<>(E1.class));
UuidRoot1 r1 = context.newObject(UuidRoot1.class);
IdCoder refHandler = new IdCoder(context.getEntityResolver());
ObjectIdRelationshipHandler handler = new ObjectIdRelationshipHandler(refHandler);
handler.relate(r1, e1);
assertEquals("E1:1", r1.getUuid());
assertSame(e1, r1.readPropertyDirectly("cay:related:uuid"));
context.commitChanges();
Object[] r1x = rootTable.select();
assertEquals("E1:1", r1x[1]);
}
use of org.apache.cayenne.lifecycle.id.IdCoder in project cayenne by apache.
the class ObjectIdRelationshipHandlerTest method testRelate_New.
@Test
public void testRelate_New() throws Exception {
ObjectContext context = runtime.newContext();
E1 e1 = context.newObject(E1.class);
UuidRoot1 r1 = context.newObject(UuidRoot1.class);
IdCoder refHandler = new IdCoder(context.getEntityResolver());
ObjectIdRelationshipHandler handler = new ObjectIdRelationshipHandler(refHandler);
handler.relate(r1, e1);
assertSame(e1, r1.readPropertyDirectly("cay:related:uuid"));
context.commitChanges();
int id = Cayenne.intPKForObject(e1);
Object[] r1x = rootTable.select();
assertEquals("E1:" + id, r1x[1]);
assertEquals("E1:" + id, r1.getUuid());
}
Aggregations