001: /**********************************************************************************
002: * $URL: https://source.sakaiproject.org/svn/help/tags/sakai_2-4-1/help-tool/src/java/org/sakaiproject/tool/help/SearchTool.java $
003: * $Id: SearchTool.java 13446 2006-08-08 13:08:16Z marquard@ched.uct.ac.za $
004: ***********************************************************************************
005: *
006: * Copyright (c) 2003, 2004 The Sakai Foundation.
007: *
008: * Licensed under the Educational Community License, Version 1.0 (the "License");
009: * you may not use this file except in compliance with the License.
010: * You may obtain a copy of the License at
011: *
012: * http://www.opensource.org/licenses/ecl1.php
013: *
014: * Unless required by applicable law or agreed to in writing, software
015: * distributed under the License is distributed on an "AS IS" BASIS,
016: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
017: * See the License for the specific language governing permissions and
018: * limitations under the License.
019: *
020: **********************************************************************************/package org.sakaiproject.tool.help;
021:
022: import java.util.ArrayList;
023: import java.util.List;
024: import java.util.Set;
025: import java.util.TreeSet;
026:
027: import org.sakaiproject.api.app.help.HelpManager;
028: import org.sakaiproject.event.cover.EventTrackingService;
029: import org.sakaiproject.util.ResourceLoader;
030:
031: /**
032: * search tool
033: * @version $Id: SearchTool.java 13446 2006-08-08 13:08:16Z marquard@ched.uct.ac.za $
034: */
035: public class SearchTool {
036:
037: private ResourceLoader msgs = new ResourceLoader(
038: "org.sakaiproject.tool.help.bundle.Messages");
039:
040: private HelpManager helpManager;
041: private List searchResults;
042: private String searchString = msgs.getString("search_term");
043: private String numberOfResult = "";
044: private String showLinkToQuestionTool;
045: private String emailAddress;
046:
047: /**
048: * get email address
049: * @return Returns the emailAddress.
050: */
051: public String getEmailAddress() {
052: return emailAddress;
053: }
054:
055: /**
056: * get search string
057: * @return Returns the searchString.
058: */
059: public String getSearchString() {
060: return searchString;
061: }
062:
063: /**
064: * set search string
065: * @param searchString The searchString to set.
066: */
067: public void setSearchString(String searchString) {
068: this .searchString = searchString;
069: }
070:
071: /**
072: * get search results
073: * @return Returns the searchResults.
074: */
075: public List getSearchResults() {
076: return searchResults;
077: }
078:
079: /**
080: * set search results
081: * @param searchResults The searchResults to set.
082: */
083: public void setSearchResults(List searchResults) {
084: this .searchResults = searchResults;
085: }
086:
087: /**
088: * process action search
089: * @return view
090: */
091: public String processActionSearch() {
092: //if (searchString != null && searchString.equals(getHelpManager().getRestConfiguration().getRestCredentials())){
093: // getHelpManager().reInitialize();
094: // return "main";
095: //}
096:
097: EventTrackingService.post(EventTrackingService.newEvent(
098: "help.search", this .searchString, false));
099:
100: searchResults = new ArrayList();
101:
102: Set resultSet = getHelpManager().searchResources(
103: this .searchString);
104: if (resultSet != null) {
105: TreeSet treeSet = new TreeSet(resultSet);
106: searchResults.addAll(treeSet);
107: }
108:
109: String searchStr = this .searchString;
110: this .setNumberOfResult(searchResults.size());
111: return "main";
112: }
113:
114: /**
115: * submit cancel
116: * @return view
117: */
118: public String submitCancel() {
119: this .searchString = "";
120: return "main";
121: }
122:
123: /**
124: * return help manager
125: * @return Returns the helpManager.
126: */
127: public HelpManager getHelpManager() {
128: return helpManager;
129: }
130:
131: /**
132: * set help manager
133: * @param helpManager The helpManager to set.
134: */
135: public void setHelpManager(HelpManager helpManager) {
136: this .helpManager = helpManager;
137: }
138:
139: /**
140: * get number of results
141: * @return Returns the numberOfResult.
142: */
143: public String getNumberOfResult() {
144: return numberOfResult;
145: }
146:
147: /**
148: * set number of results
149: * @param numberOfResult The numberOfResult to set.
150: */
151: public void setNumberOfResult(int numberOfResultInt) {
152: if (numberOfResultInt == 0) {
153: this .numberOfResult = msgs.getString("no_results");
154: } else {
155: this .numberOfResult = numberOfResultInt + " "
156: + msgs.getString("results_found");
157: }
158: }
159:
160: /**
161: * get show link question tool
162: * @return Returns the showLinkToQuestionTool.
163: */
164: public String getShowLinkToQuestionTool() {
165: emailAddress = helpManager.getSupportEmailAddress();
166: if (!"".equals(emailAddress) && emailAddress != null) {
167: showLinkToQuestionTool = "true";
168: } else {
169: showLinkToQuestionTool = "false";
170: }
171: return showLinkToQuestionTool;
172: }
173:
174: /**
175: * get value of REST configuration
176: * @return true if REST is enabled, false otherwise
177: */
178: public boolean getIsRestEnabled() {
179: if ("sakai".equals(getHelpManager().getRestConfiguration()
180: .getOrganization())) {
181: return false;
182: } else {
183: return true;
184: }
185: }
186: }
|