List of usage examples for com.liferay.portal.kernel.search Summary getContent
public String getContent()
From source file:com.liferay.document.library.internal.search.DLFileEntrySearchResultContributor.java
License:Open Source License
@Override public void addRelatedModel(SearchResult searchResult, Document document, Locale locale, PortletRequest portletRequest, PortletResponse portletResponse) throws PortalException { long entryClassPK = GetterUtil.getLong(document.get(Field.ENTRY_CLASS_PK)); FileEntry fileEntry = _dlAppLocalService.getFileEntry(entryClassPK); if (fileEntry != null) { Summary summary = _summaryFactory.getSummary(document, DLFileEntry.class.getName(), fileEntry.getFileEntryId(), locale, portletRequest, portletResponse); if (Validator.isNull(summary.getContent())) { summary.setContent(fileEntry.getTitle()); }/*from w w w.java 2 s .c o m*/ searchResult.addFileEntry(fileEntry, summary); } else { long classNameId = GetterUtil.getLong(document.get(Field.CLASS_NAME_ID)); ClassName className = _classNameLocalService.getClassName(classNameId); long classPK = GetterUtil.getLong(document.get(Field.CLASS_PK)); Summary summary = _summaryFactory.getSummary(document, className.getClassName(), classPK, locale, portletRequest, portletResponse); searchResult.setSummary(summary); } }
From source file:com.liferay.document.library.internal.search.SearchResultUtilDLFileEntryTest.java
License:Open Source License
@Test public void testDLFileEntryAttachment() throws Exception { Mockito.when(assetRenderer.getSearchSummary((Locale) Matchers.any())) .thenReturn(SearchTestUtil.SUMMARY_CONTENT); Mockito.when(assetRenderer.getTitle((Locale) Matchers.any())).thenReturn(SearchTestUtil.SUMMARY_TITLE); replace(method(AssetRendererFactoryRegistryUtil.class, "getAssetRendererFactoryByClassName", String.class)) .with(new InvocationHandler() { @Override//from w w w . jav a2 s .c om public AssetRendererFactory<?> invoke(Object proxy, Method method, Object[] args) throws Throwable { String className = (String) args[0]; if (_DL_FILE_ENTRY_CLASS_NAME.equals(className)) { return null; } if (SearchTestUtil.ATTACHMENT_OWNER_CLASS_NAME.equals(className)) { return assetRendererFactory; } throw new IllegalArgumentException(); } }); Mockito.doReturn(assetRenderer).when(assetRendererFactory) .getAssetRenderer(SearchTestUtil.ATTACHMENT_OWNER_CLASS_PK); Mockito.when(_dlAppLocalService.getFileEntry(SearchTestUtil.ENTRY_CLASS_PK)).thenReturn(_fileEntry); Mockito.doThrow(new IllegalArgumentException()).when(_indexerRegistry).getIndexer(Mockito.anyString()); Mockito.doReturn(_indexer).when(_indexerRegistry).getIndexer(_DL_FILE_ENTRY_CLASS_NAME); Mockito.doReturn(null).when(_indexerRegistry).getIndexer(SearchTestUtil.ATTACHMENT_OWNER_CLASS_NAME); String title = RandomTestUtil.randomString(); String content = RandomTestUtil.randomString(); Summary summary = new Summary(null, title, content); Mockito.doReturn(summary).when(_indexer).getSummary((Document) Matchers.any(), Matchers.anyString(), (PortletRequest) Matchers.isNull(), (PortletResponse) Matchers.isNull()); SearchResult searchResult = assertOneSearchResult( SearchTestUtil.createAttachmentDocument(_DL_FILE_ENTRY_CLASS_NAME)); Assert.assertEquals(SearchTestUtil.ATTACHMENT_OWNER_CLASS_NAME, searchResult.getClassName()); Assert.assertEquals(SearchTestUtil.ATTACHMENT_OWNER_CLASS_PK, searchResult.getClassPK()); Summary searchResultSummary = searchResult.getSummary(); Assert.assertNotSame(summary, searchResultSummary); Assert.assertEquals(SearchTestUtil.SUMMARY_CONTENT, searchResultSummary.getContent()); Assert.assertEquals(SearchTestUtil.SUMMARY_TITLE, searchResultSummary.getTitle()); List<RelatedSearchResult<FileEntry>> relatedSearchResults = searchResult.getFileEntryRelatedSearchResults(); Assert.assertEquals(relatedSearchResults.toString(), 1, relatedSearchResults.size()); RelatedSearchResult<FileEntry> relatedSearchResult = relatedSearchResults.get(0); FileEntry relatedSearchResultFileEntry = relatedSearchResult.getModel(); Assert.assertSame(_fileEntry, relatedSearchResultFileEntry); Summary relatedSearchResultSummary = relatedSearchResult.getSummary(); Assert.assertSame(summary, relatedSearchResultSummary); Assert.assertEquals(content, relatedSearchResultSummary.getContent()); Assert.assertEquals(title, relatedSearchResultSummary.getTitle()); assertEmptyCommentRelatedSearchResults(searchResult); assertEmptyVersions(searchResult); }
From source file:com.liferay.journal.search.test.JournalArticleIndexerSummaryTest.java
License:Open Source License
protected void assertSummary(String title, String content, Document document) throws Exception { Summary summary = getSummary(document); Assert.assertEquals(content, summary.getContent()); Assert.assertEquals(title, summary.getTitle()); }
From source file:com.liferay.users.admin.indexer.test.UserIndexerTest.java
License:Open Source License
protected void assertSummary(String keywords, String title) throws Exception, SearchException { SearchContext searchContext = getSearchContext(); QueryConfig queryConfig = searchContext.getQueryConfig(); queryConfig.setHighlightEnabled(true); searchContext.setKeywords(keywords); Hits hits = search(searchContext);//from www. j ava2 s .co m Document document = getDocument(hits.getDocs(), _expectedUser.getUserId()); Summary summary = _indexer.getSummary(document, null, null, null); Assert.assertEquals(StringPool.BLANK, summary.getContent()); Assert.assertEquals(title, summary.getTitle()); }
From source file:com.vportal.portal.search.HitsOpenSearchImpl.java
License:Open Source License
public String search(HttpServletRequest request, long groupId, long userId, String keywords, int startPage, int itemsPerPage, String format) throws SearchException { try {//from w ww .ja va 2s .c o m ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY); int start = (startPage * itemsPerPage) - itemsPerPage; int end = startPage * itemsPerPage; SearchContext searchContext = SearchContextFactory.getInstance(request); searchContext.setGroupIds(new long[] { groupId }); searchContext.setEnd(end); searchContext.setKeywords(keywords); searchContext.setScopeStrict(false); searchContext.setStart(start); searchContext.setUserId(userId); addSearchAttributes(themeDisplay.getCompanyId(), searchContext, keywords); Portlet portlet = PortletLocalServiceUtil.getPortletById(themeDisplay.getCompanyId(), getPortletId()); Indexer indexer = portlet.getIndexerInstance(); Hits results = indexer.search(searchContext); String[] queryTerms = results.getQueryTerms(); int total = results.getLength(); Object[] values = addSearchResults(queryTerms, keywords, startPage, itemsPerPage, total, start, getTitle(keywords), getSearchPath(), format, themeDisplay); com.liferay.portal.kernel.xml.Document doc = (com.liferay.portal.kernel.xml.Document) values[0]; Element root = (Element) values[1]; for (int i = 0; i < results.getDocs().length; i++) { Document result = results.doc(i); String portletId = result.get(Field.PORTLET_ID); String snippet = results.snippet(i); long resultGroupId = GetterUtil.getLong(result.get(Field.GROUP_ID)); PortletURL portletURL = getPortletURL(request, portletId, resultGroupId); Summary summary = getSummary(indexer, result, snippet, portletURL); String title = summary.getTitle(); String url = getURL(themeDisplay, resultGroupId, result, portletURL); Date modifedDate = result.getDate(Field.MODIFIED); String content = summary.getContent(); String[] tags = new String[0]; Field assetTagNamesField = result.getFields().get(Field.ASSET_TAG_NAMES); if (assetTagNamesField != null) { tags = assetTagNamesField.getValues(); } double ratings = 0.0; String entryClassName = result.get(Field.ENTRY_CLASS_NAME); long entryClassPK = GetterUtil.getLong(result.get(Field.ENTRY_CLASS_PK)); if ((Validator.isNotNull(entryClassName)) && (entryClassPK > 0)) { RatingsStats stats = RatingsStatsLocalServiceUtil.getStats(entryClassName, entryClassPK); ratings = stats.getTotalScore(); } double score = results.score(i); addSearchResult(root, resultGroupId, entryClassName, entryClassPK, title, url, modifedDate, content, tags, ratings, score, format); } if (_log.isDebugEnabled()) { _log.debug("Return\n" + doc.asXML()); } return doc.asXML(); } catch (Exception e) { throw new SearchException(e); } }