Example usage for com.liferay.portal.kernel.search Summary getContent

List of usage examples for com.liferay.portal.kernel.search Summary getContent

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.search Summary getContent.

Prototype

public String getContent() 

Source Link

Usage

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);
    }
}