01: /*
02: * Copyright (c) JForum Team
03: * All rights reserved.
04: *
05: * Redistribution and use in source and binary forms,
06: * with or without modification, are permitted provided
07: * that the following conditions are met:
08: *
09: * 1) Redistributions of source code must retain the above
10: * copyright notice, this list of conditions and the
11: * following disclaimer.
12: * 2) Redistributions in binary form must reproduce the
13: * above copyright notice, this list of conditions and
14: * the following disclaimer in the documentation and/or
15: * other materials provided with the distribution.
16: * 3) Neither the name of "Rafael Steil" nor
17: * the names of its contributors may be used to endorse
18: * or promote products derived from this software without
19: * specific prior written permission.
20: *
21: * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
22: * HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
23: * EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
24: * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
25: * MERCHANTABILITY AND FITNESS FOR A PARTICULAR
26: * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
27: * THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
28: * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
29: * EXEMPLARY, OR CONSEQUENTIAL DAMAGES
30: * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
31: * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
32: * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
33: * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
34: * IN CONTRACT, STRICT LIABILITY, OR TORT
35: * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
36: * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
37: * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE
38: *
39: * Created on 25/07/2007 19:32:52
40: *
41: * The JForum Project
42: * http://www.jforum.net
43: */
44: package net.jforum.search;
45:
46: import java.util.ArrayList;
47: import java.util.List;
48:
49: import net.jforum.dao.DataAccessDriver;
50: import net.jforum.dao.TopicDAO;
51: import net.jforum.entities.Topic;
52: import net.jforum.util.preferences.TemplateKeys;
53: import net.jforum.view.forum.common.TopicsCommon;
54:
55: /**
56: * @author Rafael Steil
57: * @version $Id: NewMessagesSearchOperation.java,v 1.6 2007/09/09 22:53:35 rafaelsteil Exp $
58: */
59: public class NewMessagesSearchOperation extends SearchOperation {
60: private List results = new ArrayList();
61:
62: public SearchResult performSearch(SearchArgs args) {
63: TopicDAO dao = DataAccessDriver.getInstance().newTopicDAO();
64: SearchResult searchResult = dao.findTopicsByDateRange(args);
65:
66: this .results = searchResult.records();
67:
68: return searchResult;
69: }
70:
71: public void prepareForDisplay() {
72: this .results = TopicsCommon.prepareTopics(this .results);
73: }
74:
75: public List results() {
76: return this .results;
77: }
78:
79: public int totalRecords() {
80: return this .results.size();
81: }
82:
83: public String viewTemplate() {
84: return TemplateKeys.SEARCH_NEW_MESSAGES;
85: }
86:
87: public int extractForumId(Object value) {
88: return ((Topic) value).getForumId();
89: }
90: }
|