use of org.apache.cayenne.testdo.testmap.Artist in project cayenne by apache.
the class DataContextSQLTemplateIT method testBindObjectEqualFullNonArray.
@Test
public void testBindObjectEqualFullNonArray() throws Exception {
createFourArtistsAndThreePaintingsDataSet();
Artist a = Cayenne.objectForPK(context, Artist.class, 101);
String template = "SELECT * FROM PAINTING t0" + " WHERE #bindObjectEqual($a 't0.ARTIST_ID' 'ARTIST_ID' ) ORDER BY PAINTING_ID";
SQLTemplate query = new SQLTemplate(Painting.class, template);
query.setColumnNamesCapitalization(CapsStrategy.UPPER);
query.setParams(Collections.singletonMap("a", a));
List<?> objects = context.performQuery(query);
assertEquals(1, objects.size());
Painting p = (Painting) objects.get(0);
assertEquals(7, Cayenne.intPKForObject(p));
}
use of org.apache.cayenne.testdo.testmap.Artist in project cayenne by apache.
the class DataContextSelectQuerySplitAliasesIT method testAliasPathSplits_SplitJoin.
@Test
public void testAliasPathSplits_SplitJoin() throws Exception {
createTwoArtistsThreePaintingsDataSet();
SelectQuery query = new SelectQuery(Artist.class);
query.andQualifier(ExpressionFactory.matchExp("p1.paintingTitle", "X"));
query.andQualifier(ExpressionFactory.matchExp("p2.paintingTitle", "Y"));
query.aliasPathSplits("paintingArray", "p1", "p2");
List<Artist> artists = context.performQuery(query);
assertEquals(1, artists.size());
assertEquals("BB", artists.get(0).getArtistName());
}
use of org.apache.cayenne.testdo.testmap.Artist in project cayenne by apache.
the class DataContextSelectQuerySplitAliasesIT method testAliasPathSplits_SinglePath.
@Test
public void testAliasPathSplits_SinglePath() throws Exception {
createTwoArtistsTwoPaintingsDataSet();
SelectQuery query = new SelectQuery(Artist.class);
query.andQualifier(ExpressionFactory.matchExp("p.paintingTitle", "X"));
query.aliasPathSplits("paintingArray", "p");
List<Artist> artists = context.performQuery(query);
assertEquals(1, artists.size());
assertEquals("AA", artists.get(0).getArtistName());
}
use of org.apache.cayenne.testdo.testmap.Artist in project cayenne by apache.
the class DataContextSerializationIT method testSerializeWithSharedCache.
@Test
public void testSerializeWithSharedCache() throws Exception {
createSingleArtistDataSet();
DataContext deserializedContext = Util.cloneViaSerialization(context);
assertNotSame(context, deserializedContext);
assertNotSame(context.getObjectStore(), deserializedContext.getObjectStore());
assertSame(context.getParentDataDomain(), deserializedContext.getParentDataDomain());
assertSame(context.getObjectStore().getDataRowCache(), deserializedContext.getObjectStore().getDataRowCache());
assertSame(deserializedContext.getParentDataDomain().getSharedSnapshotCache(), deserializedContext.getObjectStore().getDataRowCache());
assertNotNull(deserializedContext.getEntityResolver());
assertSame(context.getEntityResolver(), deserializedContext.getEntityResolver());
Artist a = Cayenne.objectForPK(deserializedContext, Artist.class, 33001);
assertNotNull(a);
a.setArtistName(a.getArtistName() + "___");
deserializedContext.commitChanges();
}
use of org.apache.cayenne.testdo.testmap.Artist in project cayenne by apache.
the class DataContextSerializationIT method testSerializeCommitted.
@Test
public void testSerializeCommitted() throws Exception {
Artist artist = (Artist) context.newObject("Artist");
artist.setArtistName("artist1");
assertNotNull(artist.getObjectId());
context.commitChanges();
DataContext deserializedContext = Util.cloneViaSerialization(context);
assertSame(context.getParentDataDomain(), deserializedContext.getParentDataDomain());
// there should be only one object registered
Artist deserializedArtist = (Artist) deserializedContext.getObjectStore().getObjectIterator().next();
assertNotNull(deserializedArtist);
// deserialized as hollow...
assertEquals(PersistenceState.HOLLOW, deserializedArtist.getPersistenceState());
assertFalse(deserializedArtist.getObjectId().isTemporary());
assertEquals("artist1", deserializedArtist.getArtistName());
assertSame(deserializedContext, deserializedArtist.getObjectContext());
// test that to-many relationships are initialized
List<?> paintings = deserializedArtist.getPaintingArray();
assertNotNull(paintings);
assertEquals(0, paintings.size());
}
Aggregations