01: package org.openedit.blog.modules;
02:
03: import java.util.ArrayList;
04: import java.util.Collections;
05: import java.util.Iterator;
06: import java.util.List;
07:
08: import com.openedit.WebPageRequest;
09: import com.openedit.blog.Blog;
10: import com.openedit.config.Configuration;
11: import com.openedit.modules.BaseModule;
12:
13: public class BlogSearchModule extends BaseModule {
14:
15: public void loadMergedBlogEntries(WebPageRequest inReq)
16: throws Exception {
17: BlogModule mod = (BlogModule) getModule("BlogModule");
18: List entries = new ArrayList();
19: Blog blog = mod.getBlog(inReq);
20: List recent = blog.getRecentVisibleEntries(5);
21: entries.addAll(recent);
22: for (Iterator iterator = inReq.getCurrentAction().getConfig()
23: .getChildIterator("blog"); iterator.hasNext();) {
24: Configuration conf = (Configuration) iterator.next();
25: String home = conf.getValue();
26: blog = mod.getBlog(home);
27: recent = blog.getRecentVisibleEntries(5);
28: entries.addAll(recent);
29: }
30: Collections.sort(entries);
31: Collections.reverse(entries);
32: if (entries.size() > 6) {
33: entries = entries.subList(0, 5);
34: }
35: inReq.putPageValue("entries", entries);
36: }
37:
38: public void searchBlogEntries(WebPageRequest inReq)
39: throws Exception {
40: BlogModule mod = (BlogModule) getModule("BlogModule");
41: Blog blog = mod.getBlog(inReq);
42: List entries = new ArrayList();
43: List recent;
44:
45: String count = inReq.findValue("showcount");
46: String random = inReq.findValue("randomposting");
47:
48: if (Boolean.parseBoolean(random)) {
49: recent = blog.getRandomRecentVisibleEntries(Integer
50: .parseInt(count));
51: } else {
52: recent = blog.getRecentVisibleEntries(Integer
53: .parseInt(count));
54: }
55:
56: entries.addAll(recent);
57: inReq.putPageValue("entries", entries);
58: }
59: }
|