package org.tgdb.webapp.action.search;
import org.tgdb.frame.Action;
import org.tgdb.TgDbCaller;
import org.tgdb.exceptions.ApplicationException;
import org.tgdb.model.modelmanager.ModelManagerRemote;
import org.tgdb.servicelocator.ServiceLocator;
import org.tgdb.webapp.action.TgDbAction;
import java.util.Collection;
import java.util.TreeSet;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import org.tgdb.form.FormDataManager;
import org.tgdb.TgDbFormDataManagerFactory;
public class SearchKeywordFastAction extends TgDbAction {
public String getName() {
return "SearchKeywordFastAction";
}
public boolean performAction(HttpServletRequest request, ServletContext context) throws ApplicationException {
try {
TgDbCaller _caller = (TgDbCaller)request.getSession().getAttribute("caller");
ServiceLocator _locator = ServiceLocator.getInstance();
ModelManagerRemote _modelManager = (ModelManagerRemote)_locator.getManager(ServiceLocator.Services.MODELMANAGER);
collectFormData(TgDbFormDataManagerFactory.FAST_SEARCH, TgDbFormDataManagerFactory.WEB_FORM, request);
FormDataManager formDataManager = getFormDataManager(TgDbFormDataManagerFactory.FAST_SEARCH, TgDbFormDataManagerFactory.WEB_FORM, request);
String tmp = formDataManager.getValue("fast_search_key");
Collection results = _modelManager.searchByKeyword(tmp, _caller);
request.setAttribute("results", results);
request.setAttribute("hits", new Integer(results.size()).toString());
return true;
} catch (ApplicationException e) {
throw e;
} catch (Exception e) {
throw new ApplicationException("SearchKeywordFastAction Failed to perform action", e);
}
}
}