/** * Returns the search bean object.<p> * * @param params the parameter map * * @return the used search bean */ private CmsSearch getSearchBean(Map params) { if (m_searchBean == null) { m_searchBean = new CmsSearch(); m_searchBean.init(getWp().getCms()); m_searchBean.setParameters(getSearchParameters(params)); m_searchBean.setIndex(getWp().getSettings().getUserSettings().getWorkplaceSearchIndexName()); m_searchBean.setMatchesPerPage(getWp().getSettings().getUserSettings().getExplorerFileEntries()); m_searchBean.setSearchPage(Integer.parseInt((String)params.get(I_CmsListResourceCollector.PARAM_PAGE))); // set search roots List resources = getResourceNamesFromParam(params); String[] searchRoots = new String[resources.size()]; resources.toArray(searchRoots); m_searchBean.setSearchRoots(searchRoots); } else { int page = Integer.parseInt((String)params.get(I_CmsListResourceCollector.PARAM_PAGE)); if (m_searchBean.getSearchPage() != page) { m_searchBean.setSearchPage(page); m_searchResults = null; } } return m_searchBean; }
/** * Returns the search result list.<p> * * @param params the parameter map * * @return a list of {@link org.opencms.search.CmsSearchResult} objects */ private List getSearchResults(Map params) { if (m_searchResults == null) { m_searchResults = getSearchBean(params).getSearchResult(); m_searchResults = (m_searchResults == null ? Collections.EMPTY_LIST : m_searchResults); } return m_searchResults; } }
/** * Initialize the search for the help pages.<p> * * @param search the search configuration (will be initialized) */ private void initSearch(CmsSearch search) { // Collect the objects required to access the OpenCms VFS from the request CmsObject cmsObject = m_jsp.getCmsObject(); ServletRequest request = m_jsp.getRequest(); search.init(cmsObject); search.setField(new String[] { CmsSearchField.FIELD_TITLE, CmsSearchField.FIELD_KEYWORDS, CmsSearchField.FIELD_DESCRIPTION, CmsSearchField.FIELD_CONTENT}); search.setMatchesPerPage(5); search.setDisplayPages(7); search.setSearchRoot(new StringBuffer("/system/workplace/locales/").append( m_jsp.getRequestContext().getLocale()).append("/help/").toString()); String query = request.getParameter("query"); search.setQuery(query); }
String link = m_cms.getRequestContext().getUri() + getSearchParameters() + "&searchPage="; if (getDisplayPages() < 1) { } else { int currentPage = getSearchPage(); int countBeforeCurrent = getDisplayPages() / 2; int countAfterCurrent; if ((currentPage - countBeforeCurrent) < 1) { countAfterCurrent = getDisplayPages() - countBeforeCurrent - 1;
if (getDisplayPages() < 1) { } else { int currentPage = getSearchPage(); int countBeforeCurrent = getDisplayPages() / 2; int countAfterCurrent; if ((currentPage - countBeforeCurrent) < 1) { countAfterCurrent = getDisplayPages() - countBeforeCurrent - 1;
result.append("\n</h1>\n"); List searchResult; if (CmsStringUtil.isEmptyOrWhitespaceOnly(search.getQuery())) { search.setQuery(""); searchResult = new ArrayList(); } else { searchResult = search.getSearchResult(); if (search.getLastException() != null) { result.append("\n<!-- ").append(search.getLastException().toString()); result.append(" //-->\n"); } else { result.append(messages.key( org.opencms.search.Messages.GUI_HELP_SEARCH_NOMATCH_1, CmsEncoder.escapeXml(search.getQuery()))); result.append("\n"); result.append(messages.key( org.opencms.search.Messages.GUI_HELP_SEARCH_NOMATCH_1, CmsEncoder.escapeXml(search.getQuery()))); result.append("\n"); result.append("</p>\n"); if ((search.getPreviousUrl() != null) || (search.getNextUrl() != null)) { result.append("<p>"); if (search.getPreviousUrl() != null) { result.append(getSearchPageLink(m_jsp.link(new StringBuffer(search.getPreviousUrl()).append('&').append(
if (search.getPreviousUrl() != null || search.getNextUrl() != null) { additionalParams.append(isSearchAll()); if (search.getPreviousUrl() != null) { result.append(link(search.getPreviousUrl())); result.append(additionalParams); result.append("\';\">"); pageLinks = search.getPageLinks(); } finally { String pageLink = link((String)pageLinks.get(new Integer(pageNumber))); result.append(" "); if (pageNumber != search.getSearchPage()) { if (search.getNextUrl() != null) { result.append(link(search.getNextUrl())); result.append(additionalParams); result.append("\';\">");
if (isSearchAll()) { search.setSearchRoot("/"); } else { search.setSearchRoot(getStartFolder()); String queryString = search.getQuery(); try { if (CmsStringUtil.isEmptyOrWhitespaceOnly(queryString)) { search.setQuery(""); result = new ArrayList(); } else { result = search.getSearchResult();
/** * @see org.opencms.workplace.list.A_CmsListResourceCollector#getResources(org.opencms.file.CmsObject, java.util.Map) */ @Override public List getResources(CmsObject cms, Map params) throws CmsException { List result = getSearchResults(params); int count = getSearchBean(params).getSearchResultCount(); Object[] objs = new Object[count]; Arrays.fill(objs, new Object()); int from = (getSearchBean(params).getSearchPage() - 1) * getSearchBean(params).getMatchesPerPage(); int siteLen = cms.getRequestContext().getSiteRoot().length(); Iterator it = result.iterator(); while (it.hasNext()) { CmsSearchResult sr = (CmsSearchResult)it.next(); CmsResource resource = cms.readResource(sr.getPath().substring(siteLen), CmsResourceFilter.ALL); m_resCache.put(resource.getStructureId().toString(), resource); m_srCache.put(resource.getStructureId().toString(), sr); objs[from] = resource; from++; } return Arrays.asList(objs); }
&& ((CmsStringUtil.isNotEmpty(m_parameters.getQuery()) || (m_parameters.getFieldQueries() != null)))) { if (getQueryLength() > 0) { CmsSearchParameters.CmsSearchFieldQuery fq = i.next(); if (CmsStringUtil.isEmpty(fq.getSearchQuery()) || (fq.getSearchQuery().trim().length() < getQueryLength())) { new Integer(getQueryLength()))); } else if (m_parameters.getQuery().trim().length() < getQueryLength()) { new Integer(getQueryLength()))); CmsSearchResultList result = m_parameters.getSearchIndex().search(m_cms, getParameters());
if (search.getLastException() != null) { if (((CmsException)search.getLastException()).getMessageContainer().getKey().equals( Messages.ERR_QUERY_TOO_SHORT_1)) { result.append("</p>\n"); result.append("<!-- Exception message: "); result.append(search.getLastException().toString()); result.append("// -->\n"); } else if (results == null || results.size() == 0) {
List<String> categories = search.getParameters().getCategories(); Iterator<String> it = categories.iterator(); int count = 0; count++; List<String> roots = search.getParameters().getRoots(); it = roots.iterator(); count = 0; result.append(CmsStringUtil.collectionAsString(search.getParameters().getFields(), ",")); result.append("\" />\n"); result.append(search.getParameters().getSortName()).append("\" />\n");
/** * Overridden to additionally get a hold on the widget object of type * <code>{@link CmsSearchParameters}</code>.<p> * * @see org.opencms.workplace.tools.searchindex.A_CmsEditSearchIndexDialog#initUserObject() */ @SuppressWarnings("rawtypes") @Override protected void initUserObject() { super.initUserObject(); Object o = getDialogObject(); if (o == null) { m_searchParams = new CmsSearchParameters(); // implant a hook upon modifications of the list // this will set the search page to 1 if a restriction to the set of categories is performed m_searchParams.setCategories(new CmsHookListSearchCategory(m_searchParams, m_searchParams.getCategories())); m_search = new CmsSearch(); } else { Map dialogObject = (Map)o; m_searchParams = (CmsSearchParameters)dialogObject.get(PARAM_SEARCH_PARAMS); if (m_searchParams == null) { m_searchParams = new CmsSearchParameters(); } m_search = (CmsSearch)dialogObject.get(PARAM_SEARCH_OBJECT); if (m_search == null) { m_search = new CmsSearch(); } } m_searchParams.setSearchIndex(getSearchIndexIndex()); }
result.append("\n</h1>\n"); List<CmsSearchResult> searchResult; if (CmsStringUtil.isEmptyOrWhitespaceOnly(search.getQuery())) { search.setQuery(""); searchResult = new ArrayList<CmsSearchResult>(); } else { searchResult = search.getSearchResult(); if (search.getLastException() != null) { result.append("\n<!-- ").append(search.getLastException().toString()); result.append(" //-->\n"); } else { messages.key( org.opencms.search.Messages.GUI_HELP_SEARCH_NOMATCH_1, CmsEncoder.escapeXml(search.getQuery()))); result.append("\n"); messages.key( org.opencms.search.Messages.GUI_HELP_SEARCH_NOMATCH_1, CmsEncoder.escapeXml(search.getQuery()))); result.append("\n"); result.append("</p>\n"); if ((search.getPreviousUrl() != null) || (search.getNextUrl() != null)) { result.append("<p>"); if (search.getPreviousUrl() != null) {
&& (getQueryLength() > 0)) { if (CmsStringUtil.isEmpty(keyword) || (keyword.trim().length() < getQueryLength())) { new Integer(getQueryLength()))); } else if (m_parameters.getQuery().trim().length() < getQueryLength()) { Messages.get().container(Messages.ERR_QUERY_TOO_SHORT_1, new Integer(getQueryLength()))); CmsSearchResultList result = m_parameters.getSearchIndex().search(m_cms, getParameters());
result.append("\n</h1>\n"); List<CmsSearchResult> searchResult; if (CmsStringUtil.isEmptyOrWhitespaceOnly(search.getQuery())) { search.setQuery(""); searchResult = Collections.emptyList(); } else { search.setMatchesPerPage(5); searchResult = search.getSearchResult(); if (search.getLastException() != null) { result.append("\n<!-- ").append(search.getLastException().toString()); result.append(" //-->\n"); } else { result.append(messages.key(org.opencms.search.Messages.GUI_HELP_SEARCH_NOMATCH_1, search.getQuery())); result.append("\n"); } else if ((action != null) && (searchResult.size() <= 0)) { result.append("<p class=\"formerror\">\n"); result.append(messages.key(org.opencms.search.Messages.GUI_HELP_SEARCH_NOMATCH_1, search.getQuery())); result.append("\n"); result.append("</p>\n"); if ((search.getPreviousUrl() != null) || (search.getNextUrl() != null)) { result.append("<p>"); if (search.getPreviousUrl() != null) { m_jsp.link(new StringBuffer(search.getPreviousUrl()).append('&').append( CmsLocaleManager.PARAMETER_LOCALE).append("=").append(
m_searchBean = new CmsSearch(); m_searchBean.init(getWp().getCms()); m_searchBean.setParameters(getSearchParameters(params)); if (CmsStringUtil.isEmptyOrWhitespaceOnly(m_searchBean.getIndex())) { m_searchBean.setIndex(getWp().getSettings().getUserSettings().getWorkplaceSearchIndexName()); m_searchBean.setMatchesPerPage(getWp().getSettings().getUserSettings().getExplorerFileEntries()); m_searchBean.setSearchPage(Integer.parseInt(params.get(I_CmsListResourceCollector.PARAM_PAGE))); searchRoots[i] = getWp().getCms().addSiteRoot(searchRoots[i]); m_searchBean.setSearchRoots(searchRoots); } else { int page = Integer.parseInt(params.get(I_CmsListResourceCollector.PARAM_PAGE)); if (m_searchBean.getSearchPage() != page) { m_searchBean.setSearchPage(page); m_searchResults = null;
/** * Initialize the search for the help pages.<p> * * @param search the search configuration (will be initialized) */ private void initSearch(CmsSearch search) { // Collect the objects required to access the OpenCms VFS from the request CmsObject cmsObject = m_jsp.getCmsObject(); ServletRequest request = m_jsp.getRequest(); search.init(cmsObject); search.setField( new String[] { CmsSearchField.FIELD_TITLE, CmsSearchField.FIELD_KEYWORDS, CmsSearchField.FIELD_DESCRIPTION, CmsSearchField.FIELD_CONTENT}); search.setMatchesPerPage(5); search.setDisplayPages(7); search.setSearchRoot( new StringBuffer("/system/workplace/locales/").append(m_jsp.getRequestContext().getLocale()).append( "/help/").toString()); String query = request.getParameter("query"); search.setQuery(query); }
/** * Returns the search result list.<p> * * @param params the parameter map * * @return a list of {@link org.opencms.search.CmsSearchResult} objects */ private List<CmsSearchResult> getSearchResults(Map<String, String> params) { if (m_searchResults == null) { m_searchResults = getSearchBean(params).getSearchResult(); } return m_searchResults; } }