Search in sources :

Example 1 with MockQueryCache

use of org.apache.cayenne.cache.MockQueryCache in project cayenne by apache.

the class DataDomainQueryActionIT method testCachedQuery.

@Test
public void testCachedQuery() {
    DataDomain domain = runtime.getDataDomain();
    Painting p = context.newObject(Painting.class);
    p.setPaintingTitle("sample");
    SelectQuery query = new SelectQuery(Painting.class);
    query.addPrefetch(Painting.TO_GALLERY.disjoint());
    query.addPrefetch(Painting.TO_ARTIST.disjoint());
    query.addOrdering(Painting.PAINTING_TITLE.asc());
    query.setCacheStrategy(QueryCacheStrategy.SHARED_CACHE);
    query.setPageSize(5);
    QueryCache cache = domain.queryCache;
    domain.queryCache = new MockQueryCache() {

        @Override
        public List<?> get(QueryMetadata metadata, QueryCacheEntryFactory factory) {
            Object results = factory.createObject();
            assertTrue("Query cache is not serializable.", results instanceof Serializable);
            return null;
        }

        @SuppressWarnings("all")
        @Override
        public void put(QueryMetadata metadata, List results) {
            assertTrue("Query cache is not serializable.", results instanceof Serializable);
        }
    };
    DataDomainQueryAction action = new DataDomainQueryAction(context, domain, query);
    action.execute();
    domain.queryCache = cache;
}
Also used : MockQueryCache(org.apache.cayenne.cache.MockQueryCache) QueryCache(org.apache.cayenne.cache.QueryCache) Serializable(java.io.Serializable) MockQueryCache(org.apache.cayenne.cache.MockQueryCache) QueryMetadata(org.apache.cayenne.query.QueryMetadata) QueryCacheEntryFactory(org.apache.cayenne.cache.QueryCacheEntryFactory) Painting(org.apache.cayenne.testdo.testmap.Painting) SelectQuery(org.apache.cayenne.query.SelectQuery) List(java.util.List) Test(org.junit.Test)

Aggregations

Serializable (java.io.Serializable)1 List (java.util.List)1 MockQueryCache (org.apache.cayenne.cache.MockQueryCache)1 QueryCache (org.apache.cayenne.cache.QueryCache)1 QueryCacheEntryFactory (org.apache.cayenne.cache.QueryCacheEntryFactory)1 QueryMetadata (org.apache.cayenne.query.QueryMetadata)1 SelectQuery (org.apache.cayenne.query.SelectQuery)1 Painting (org.apache.cayenne.testdo.testmap.Painting)1 Test (org.junit.Test)1