/**********************************************************************************
* $URL: https://source.sakaiproject.org/svn/help/trunk/help-tool/src/java/org/sakaiproject/tool/help/SearchTool.java $
* $Id: SearchTool.java 105079 2012-02-24 23:08:11Z ottenhoff@longsight.com $
***********************************************************************************
*
* Copyright (c) 2003, 2004, 2005, 2006, 2008 The Sakai Foundation
*
* Licensed under the Educational Community License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.opensource.org/licenses/ECL-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
**********************************************************************************/
package org.sakaiproject.tool.help;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import java.util.TreeSet;
import org.sakaiproject.api.app.help.HelpManager;
import org.sakaiproject.event.cover.EventTrackingService;
import org.sakaiproject.util.ResourceLoader;
/**
* search tool
* @version $Id: SearchTool.java 105079 2012-02-24 23:08:11Z ottenhoff@longsight.com $
*/
public class SearchTool
{
private ResourceLoader msgs = new ResourceLoader("org.sakaiproject.tool.help.bundle.Messages");
private HelpManager helpManager;
private List searchResults;
private String searchString = msgs.getString("search_term");
private String numberOfResult = "";
private String showLinkToQuestionTool;
private String emailAddress;
/**
* get email address
* @return Returns the emailAddress.
*/
public String getEmailAddress()
{
return emailAddress;
}
/**
* get search string
* @return Returns the searchString.
*/
public String getSearchString()
{
return searchString;
}
/**
* set search string
* @param searchString The searchString to set.
*/
public void setSearchString(String searchString)
{
this.searchString = searchString;
}
/**
* get search results
* @return Returns the searchResults.
*/
public List getSearchResults()
{
return searchResults;
}
/**
* set search results
* @param searchResults The searchResults to set.
*/
public void setSearchResults(List searchResults)
{
this.searchResults = searchResults;
}
/**
* process action search
* @return view
*/
public String processActionSearch()
{
//if (searchString != null && searchString.equals(getHelpManager().getRestConfiguration().getRestCredentials())){
// getHelpManager().reInitialize();
// return "main";
//}
EventTrackingService.post(EventTrackingService.newEvent("help.search", this.searchString, false));
searchResults = new ArrayList();
Set resultSet = getHelpManager().searchResources(this.searchString);
if (resultSet != null)
{
TreeSet treeSet = new TreeSet(resultSet);
searchResults.addAll(treeSet);
}
String searchStr = this.searchString;
this.setNumberOfResult(searchResults.size());
return "main";
}
/**
* submit cancel
* @return view
*/
public String submitCancel()
{
this.searchString = "";
return "main";
}
/**
* return help manager
* @return Returns the helpManager.
*/
public HelpManager getHelpManager()
{
return helpManager;
}
/**
* set help manager
* @param helpManager The helpManager to set.
*/
public void setHelpManager(HelpManager helpManager)
{
this.helpManager = helpManager;
}
/**
* get number of results
* @return Returns the numberOfResult.
*/
public String getNumberOfResult()
{
return numberOfResult;
}
/**
* set number of results
* @param numberOfResult The numberOfResult to set.
*/
public void setNumberOfResult(int numberOfResultInt)
{
if (numberOfResultInt == 0)
{
this.numberOfResult = msgs.getString("no_results");
}
else
{
this.numberOfResult = numberOfResultInt + " " + msgs.getString("results_found");
}
}
/**
* get show link question tool
* @return Returns the showLinkToQuestionTool.
*/
public String getShowLinkToQuestionTool()
{
emailAddress = helpManager.getSupportEmailAddress();
if (!"".equals(emailAddress) && emailAddress != null)
{
showLinkToQuestionTool = "true";
}
else
{
showLinkToQuestionTool = "false";
}
return showLinkToQuestionTool;
}
/**
* get value of REST configuration
* @return true if REST is enabled, false otherwise
*/
public boolean getIsRestEnabled(){
if ("sakai".equals(getHelpManager().getRestConfiguration().getOrganization())){
return false;
}
else{
return true;
}
}
}