Search in sources :

Example 11 with Artist

use of org.apache.cayenne.testdo.testmap.Artist in project cayenne by apache.

the class SQLTemplateActionIT method selectObjects.

@Test
public void selectObjects() throws Exception {
    createFourArtists();
    String templateString = "SELECT * FROM ARTIST";
    SQLTemplate sqlTemplate = new SQLTemplate(Artist.class, templateString);
    if (unitDbAdapter.isLowerCaseNames()) {
        sqlTemplate.setColumnNamesCapitalization(CapsStrategy.UPPER);
    }
    @SuppressWarnings("unchecked") List<Artist> artists = (List<Artist>) objectContext.performQuery(sqlTemplate);
    assertEquals(4, artists.size());
    for (Artist artist : artists) {
        assertTrue(artist.getArtistName().startsWith("artist"));
    }
}
Also used : SQLTemplate(org.apache.cayenne.query.SQLTemplate) Artist(org.apache.cayenne.testdo.testmap.Artist) List(java.util.List) Test(org.junit.Test)

Example 12 with Artist

use of org.apache.cayenne.testdo.testmap.Artist in project cayenne by apache.

the class DefaultSelectTranslatorIT method testDbEntityQualifier_RelatedMatch.

@Test
public void testDbEntityQualifier_RelatedMatch() throws Exception {
    SelectQuery<Artist> q = new SelectQuery(Painting.class, ExpressionFactory.matchExp("toArtist.artistName", "foo"));
    final DbEntity entity = context.getEntityResolver().getDbEntity("ARTIST");
    final DbEntity middleEntity = context.getEntityResolver().getDbEntity("ARTIST_GROUP");
    DefaultSelectTranslator transl = new DefaultSelectTranslator(q, dataNode.getAdapter(), dataNode.getEntityResolver());
    entity.setQualifier(ExpressionFactory.exp("ARTIST_NAME = \"123\""));
    middleEntity.setQualifier(ExpressionFactory.exp("GROUP_ID = 1987"));
    try {
        String generatedSql = transl.getSql();
        // do some simple assertions to make sure all parts are in
        assertNotNull(generatedSql);
        assertTrue(generatedSql.startsWith("SELECT "));
        assertTrue(generatedSql.indexOf(" FROM ") > 0);
        if (generatedSql.contains("RTRIM")) {
            assertTrue(generatedSql.indexOf("ARTIST_NAME) = ") > generatedSql.indexOf("RTRIM("));
        } else if (generatedSql.contains("TRIM")) {
            assertTrue(generatedSql.indexOf("ARTIST_NAME) = ") > generatedSql.indexOf("TRIM("));
        } else {
            assertTrue(generatedSql.indexOf("ARTIST_NAME = ") > 0);
        }
    } finally {
        entity.setQualifier(null);
        middleEntity.setQualifier(null);
    }
}
Also used : Artist(org.apache.cayenne.testdo.testmap.Artist) SelectQuery(org.apache.cayenne.query.SelectQuery) DbEntity(org.apache.cayenne.map.DbEntity) Test(org.junit.Test)

Example 13 with Artist

use of org.apache.cayenne.testdo.testmap.Artist in project cayenne by apache.

the class DefaultSelectTranslatorIT method testDbEntityQualifier_FlattenedRel.

@Test
public void testDbEntityQualifier_FlattenedRel() throws Exception {
    SelectQuery<Artist> q = new SelectQuery<Artist>(Artist.class, ExpressionFactory.matchExp("groupArray.name", "bar"));
    final DbEntity entity = context.getEntityResolver().getDbEntity("ARTIST");
    final DbEntity middleEntity = context.getEntityResolver().getDbEntity("ARTIST_GROUP");
    DefaultSelectTranslator transl = new DefaultSelectTranslator(q, dataNode.getAdapter(), dataNode.getEntityResolver());
    entity.setQualifier(ExpressionFactory.exp("ARTIST_NAME = \"123\""));
    middleEntity.setQualifier(ExpressionFactory.exp("GROUP_ID = 1987"));
    try {
        String generatedSql = transl.getSql();
        // do some simple assertions to make sure all parts are in
        assertNotNull(generatedSql);
        assertTrue(generatedSql.startsWith("SELECT "));
        assertTrue(generatedSql.indexOf(" FROM ") > 0);
        if (generatedSql.contains("RTRIM")) {
            assertTrue(generatedSql.indexOf("ARTIST_NAME) = ") > generatedSql.indexOf("RTRIM("));
        } else if (generatedSql.contains("TRIM")) {
            assertTrue(generatedSql.indexOf("ARTIST_NAME) = ") > generatedSql.indexOf("TRIM("));
        } else {
            assertTrue(generatedSql.indexOf("ARTIST_NAME = ") > 0);
        }
    } finally {
        entity.setQualifier(null);
        middleEntity.setQualifier(null);
    }
}
Also used : Artist(org.apache.cayenne.testdo.testmap.Artist) SelectQuery(org.apache.cayenne.query.SelectQuery) DbEntity(org.apache.cayenne.map.DbEntity) Test(org.junit.Test)

Example 14 with Artist

use of org.apache.cayenne.testdo.testmap.Artist in project cayenne by apache.

the class DeleteObjectIT method testDeleteHollow.

@Test
public void testDeleteHollow() throws Exception {
    createHollowDataSet();
    List<Painting> paintings = context.performQuery(new SelectQuery(Painting.class));
    Painting p = paintings.get(0);
    Artist a = p.getToArtist();
    assertEquals(PersistenceState.HOLLOW, a.getPersistenceState());
    context.deleteObjects(a);
    assertEquals(PersistenceState.DELETED, a.getPersistenceState());
}
Also used : SelectQuery(org.apache.cayenne.query.SelectQuery) Artist(org.apache.cayenne.testdo.testmap.Artist) Painting(org.apache.cayenne.testdo.testmap.Painting) Test(org.junit.Test)

Example 15 with Artist

use of org.apache.cayenne.testdo.testmap.Artist in project cayenne by apache.

the class DeleteObjectIT method testDeleteNew.

@Test
public void testDeleteNew() throws Exception {
    Artist artist = context.newObject(Artist.class);
    artist.setArtistName("a");
    assertEquals(PersistenceState.NEW, artist.getPersistenceState());
    context.deleteObjects(artist);
    assertEquals(PersistenceState.TRANSIENT, artist.getPersistenceState());
    context.rollbackChanges();
    assertEquals(PersistenceState.TRANSIENT, artist.getPersistenceState());
}
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