Search in sources :

Example 1 with BlogPostEntity

use of com.pratilipi.data.type.gae.BlogPostEntity in project pratilipi by Pratilipi.

the class DataAccessorGaeImpl method getBlogPostList.

@Override
public DataListCursorTuple<BlogPost> getBlogPostList(BlogPostFilter blogPostFilter, String cursorStr, Integer offset, Integer resultCount) {
    Query<BlogPostEntity> query = ObjectifyService.ofy().load().type(BlogPostEntity.class);
    if (blogPostFilter.getBlogId() != null)
        query = query.filter("BLOG_ID", blogPostFilter.getBlogId());
    if (blogPostFilter.getLanguage() != null)
        query = query.filter("LANGUAGE", blogPostFilter.getLanguage());
    if (blogPostFilter.getState() != null)
        query = query.filter("STATE", blogPostFilter.getState());
    query = query.order("-CREATION_DATE");
    if (cursorStr != null)
        query = query.startAt(Cursor.fromWebSafeString(cursorStr));
    if (offset != null && offset > 0)
        query = query.offset(offset);
    if (resultCount != null && resultCount > 0)
        query = query.limit(resultCount);
    QueryResultIterator<BlogPostEntity> iterator = query.iterator();
    // BlogPost List
    ArrayList<BlogPost> blogPostList = resultCount == null ? new ArrayList<BlogPost>() : new ArrayList<BlogPost>(resultCount);
    while (iterator.hasNext()) blogPostList.add(iterator.next());
    // Cursor
    Cursor cursor = iterator.getCursor();
    return new DataListCursorTuple<BlogPost>(blogPostList, cursor == null ? null : cursor.toWebSafeString());
}
Also used : BlogPost(com.pratilipi.data.type.BlogPost) Cursor(com.google.appengine.api.datastore.Cursor) BlogPostEntity(com.pratilipi.data.type.gae.BlogPostEntity)

Aggregations

Cursor (com.google.appengine.api.datastore.Cursor)1 BlogPost (com.pratilipi.data.type.BlogPost)1 BlogPostEntity (com.pratilipi.data.type.gae.BlogPostEntity)1