use of com.willshex.blogwt.shared.api.datatype.Page in project blogwt by billy1380.
the class PageService method populatePostContents.
private void populatePostContents(List<Page> pages) {
List<Post> posts = new ArrayList<Post>();
for (Page page : pages) {
posts.addAll(PersistenceHelper.batchLookup(PostServiceProvider.provide(), page.postKeys));
}
// FIXME: just load in one go (batcg)
for (Post post : posts) {
post.content = PostServiceProvider.provide().getPostContent(post);
}
Map<Long, Post> postLookup = new HashMap<Long, Post>();
for (Post post : posts) {
postLookup.put(post.id, post);
}
List<Post> pagePosts;
for (Page page : pages) {
pagePosts = new ArrayList<Post>();
for (Key<Post> key : page.postKeys) {
pagePosts.add(postLookup.get(keyToId(key)));
}
page.posts = pagePosts;
}
}
use of com.willshex.blogwt.shared.api.datatype.Page in project blogwt by billy1380.
the class PageService method indexAll.
/* (non-Javadoc)
*
* @see com.willshex.blogwt.server.service.search.IIndex#indexAll() */
@Override
public void indexAll() {
Pager pager = PagerHelper.createDefaultPager();
List<Page> pages = null;
do {
pages = getPages(Boolean.FALSE, pager.start, pager.count, null, null);
for (Page page : pages) {
SearchHelper.queueToIndex(getName(), page.id);
}
PagerHelper.moveForward(pager);
} while (pages != null && pages.size() >= pager.count.intValue());
}
use of com.willshex.blogwt.shared.api.datatype.Page in project blogwt by billy1380.
the class PageService method index.
/* (non-Javadoc)
*
* @see
* com.willshex.blogwt.server.service.search.IIndex#index(java.lang.Long) */
@Override
public void index(Long id) {
Page page = getPage(id);
page.owner = UserServiceProvider.provide().getUser(keyToId(page.ownerKey));
populatePostContents(Arrays.asList(page));
SearchHelper.indexDocument(toDocument(page));
}
Aggregations