Search in sources :

Example 61 with Artist

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));
}
Also used : Artist(org.apache.cayenne.testdo.testmap.Artist) SQLTemplate(org.apache.cayenne.query.SQLTemplate) Painting(org.apache.cayenne.testdo.testmap.Painting) Test(org.junit.Test)

Example 62 with Artist

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());
}
Also used : SelectQuery(org.apache.cayenne.query.SelectQuery) Artist(org.apache.cayenne.testdo.testmap.Artist) Test(org.junit.Test)

Example 63 with Artist

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());
}
Also used : SelectQuery(org.apache.cayenne.query.SelectQuery) Artist(org.apache.cayenne.testdo.testmap.Artist) Test(org.junit.Test)

Example 64 with Artist

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();
}
Also used : Artist(org.apache.cayenne.testdo.testmap.Artist) Test(org.junit.Test)

Example 65 with Artist

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());
}
Also used : Artist(org.apache.cayenne.testdo.testmap.Artist) Test(org.junit.Test)

Aggregations

Artist (org.apache.cayenne.testdo.testmap.Artist)490 Test (org.junit.Test)481 Painting (org.apache.cayenne.testdo.testmap.Painting)145 SelectQuery (org.apache.cayenne.query.SelectQuery)126 Expression (org.apache.cayenne.exp.Expression)67 UnitTestClosure (org.apache.cayenne.unit.di.UnitTestClosure)47 EJBQLQuery (org.apache.cayenne.query.EJBQLQuery)39 List (java.util.List)36 ObjectContext (org.apache.cayenne.ObjectContext)30 SQLTemplate (org.apache.cayenne.query.SQLTemplate)26 ParallelTestContainer (org.apache.cayenne.test.parallel.ParallelTestContainer)26 DataRow (org.apache.cayenne.DataRow)21 ArrayList (java.util.ArrayList)20 ValueHolder (org.apache.cayenne.ValueHolder)18 ArtGroup (org.apache.cayenne.testdo.testmap.ArtGroup)16 LifecycleCallbackRegistry (org.apache.cayenne.reflect.LifecycleCallbackRegistry)15 ObjectId (org.apache.cayenne.ObjectId)14 ROPainting (org.apache.cayenne.testdo.testmap.ROPainting)13 Gallery (org.apache.cayenne.testdo.testmap.Gallery)12 ROArtist (org.apache.cayenne.testdo.testmap.ROArtist)12