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());
}
Aggregations