use of com.willshex.blogwt.shared.api.Pager in project blogwt by billy1380.
the class FeedServlet method getFeed.
protected SyndFeed getFeed(HttpServletRequest request) throws IOException, FeedException {
SyndFeed feed = new SyndFeedImpl();
String url = ServletHelper.constructBaseUrl(request);
feed.setTitle(PropertyServiceProvider.provide().getNamedProperty(PropertyHelper.TITLE).value);
feed.setLink(url + "/feed");
feed.setDescription(PropertyServiceProvider.provide().getNamedProperty(PropertyHelper.EXTENDED_TITLE).value);
List<Post> posts;
Pager pager = PagerHelper.createDefaultPager();
List<SyndEntry> entries = new ArrayList<SyndEntry>();
SyndEntry entry;
SyndContent description;
MarkdownProcessor processor = new MarkdownProcessor();
do {
posts = PostServiceProvider.provide().getPosts(Boolean.FALSE, Boolean.FALSE, pager.start, pager.count, PostSortType.PostSortTypePublished, SortDirectionType.SortDirectionTypeDescending);
if (posts != null) {
PagerHelper.moveForward(pager);
for (Post post : posts) {
entry = new SyndEntryImpl();
entry.setTitle(post.title);
entry.setLink(url + "/#" + PageType.PostDetailPageType.asTargetHistoryToken(post.slug));
entry.setPublishedDate(post.published);
description = new SyndContentImpl();
description.setType("text/HTML");
description.setValue(processor.process(post.summary));
entry.setDescription(description);
entries.add(entry);
}
}
} while (posts != null && posts.size() >= pager.count.intValue());
feed.setEntries(entries);
return feed;
}
use of com.willshex.blogwt.shared.api.Pager in project blogwt by billy1380.
the class ArchiveEntryService method generateArchive.
@Override
public void generateArchive() {
Map<String, ArchiveEntry> archiveEntryLookup = new HashMap<String, ArchiveEntry>();
List<Post> posts;
ArchiveEntry archiveEntry;
Pager pager = PagerHelper.createDefaultPager();
do {
posts = PostServiceProvider.provide().getPosts(Boolean.FALSE, Boolean.FALSE, pager.start, pager.count, PostSortType.PostSortTypePublished, SortDirectionType.SortDirectionTypeDescending);
if (posts != null) {
PagerHelper.moveForward(pager);
for (Post post : posts) {
if (Boolean.TRUE.equals(post.listed) && post.published != null) {
Calendar c = ensureCalendar();
c.setTime(post.published);
Integer month = Integer.valueOf(c.get(java.util.Calendar.MONTH));
Integer year = Integer.valueOf(c.get(java.util.Calendar.YEAR));
String key = year + "/" + month;
if ((archiveEntry = archiveEntryLookup.get(key)) == null) {
archiveEntry = new ArchiveEntry().month(month).year(year).posts(new ArrayList<Post>());
archiveEntryLookup.put(key, archiveEntry);
}
archiveEntry.posts.add(post);
}
}
}
} while (posts != null && posts.size() >= pager.count.intValue());
if (archiveEntryLookup.size() > 0) {
addArchiveEntryBatch(archiveEntryLookup.values());
}
}
use of com.willshex.blogwt.shared.api.Pager in project blogwt by billy1380.
the class PostService method linkAll.
/* (non-Javadoc)
*
* @see com.willshex.blogwt.server.service.post.IPostService#linkAll() */
@Override
public void linkAll() {
Pager pager = PagerHelper.createDefaultPager();
List<Post> posts = null;
Post last = null;
do {
posts = getPosts(Boolean.FALSE, Boolean.FALSE, pager.start, pager.count, PostSortType.PostSortTypePublished, SortDirectionType.SortDirectionTypeDescending);
if (posts != null && posts.size() > 0) {
for (int i = 0, next = -1, previous = 1; i < posts.size(); i++, previous++, next++) {
if (i == 0 && last != null) {
posts.get(i).nextSlug = last.slug;
last.previousSlug = posts.get(i).slug;
updatePost(last, null);
last = null;
}
if (next >= 0) {
posts.get(i).nextSlug = posts.get(next).slug;
}
if (previous < posts.size()) {
posts.get(i).previousSlug = posts.get(previous).slug;
} else if (previous == posts.size()) {
last = posts.get(i);
}
// last will get updated twice for all but last page
updatePost(posts.get(i), null);
}
}
PagerHelper.moveForward(pager);
} while (posts != null && posts.size() >= pager.count.intValue());
}
use of com.willshex.blogwt.shared.api.Pager in project blogwt by billy1380.
the class UserService method indexAll.
/* (non-Javadoc)
*
* @see com.willshex.blogwt.server.service.user.IUserService#indexAll() */
@Override
public void indexAll() {
Pager pager = PagerHelper.createDefaultPager();
List<User> users = null;
do {
users = getUsers(pager.start, pager.count, null, null);
for (User user : users) {
SearchHelper.queueToIndex(getName(), user.id);
}
PagerHelper.moveForward(pager);
} while (users != null && users.size() >= pager.count.intValue());
}
use of com.willshex.blogwt.shared.api.Pager in project blogwt by billy1380.
the class GetPropertiesRequest method fromJson.
@Override
public void fromJson(JsonObject jsonObject) {
super.fromJson(jsonObject);
if (jsonObject.has("pager")) {
JsonElement jsonPager = jsonObject.get("pager");
if (jsonPager != null) {
pager = new Pager();
pager.fromJson(jsonPager.getAsJsonObject());
}
}
}
Aggregations