Example usage for com.liferay.portal.kernel.search SearchContext setKeywords

List of usage examples for com.liferay.portal.kernel.search SearchContext setKeywords

Introduction

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

Prototype

public void setKeywords(String keywords) 

Source Link

Usage

From source file:com.liferay.dynamic.data.lists.form.web.internal.display.context.DDLFormViewRecordsDisplayContext.java

License:Open Source License

protected void updateSearchContainerResults() {
    List<DDLRecord> results = null;
    int total = 0;

    DisplayTerms displayTerms = _recordSearchContainer.getDisplayTerms();

    int status = WorkflowConstants.STATUS_ANY;

    if (Validator.isNull(displayTerms.getKeywords())) {
        results = _ddlRecordLocalService.getRecords(_ddlRecordSet.getRecordSetId(), status,
                _recordSearchContainer.getStart(), _recordSearchContainer.getEnd(),
                _recordSearchContainer.getOrderByComparator());
        total = _ddlRecordLocalService.getRecordsCount(_ddlRecordSet.getRecordSetId(), status);
    } else {//  w  w  w  . j a  v  a2  s  . c  o  m
        SearchContext searchContext = SearchContextFactory
                .getInstance(PortalUtil.getHttpServletRequest(_renderRequest));

        searchContext.setAttribute(Field.STATUS, status);
        searchContext.setAttribute("recordSetId", _ddlRecordSet.getRecordSetId());
        searchContext.setAttribute("recordSetScope", _ddlRecordSet.getScope());
        searchContext.setEnd(_recordSearchContainer.getEnd());
        searchContext.setKeywords(displayTerms.getKeywords());
        searchContext.setStart(_recordSearchContainer.getStart());

        BaseModelSearchResult<DDLRecord> baseModelSearchResult = _ddlRecordLocalService
                .searchDDLRecords(searchContext);

        results = baseModelSearchResult.getBaseModels();
        total = baseModelSearchResult.getLength();
    }

    _recordSearchContainer.setResults(results);
    _recordSearchContainer.setTotal(total);
}

From source file:com.liferay.dynamic.data.lists.search.test.DDLRecordSearchTest.java

License:Open Source License

@Test
public void testBasicSearchWithDefaultUser() throws Exception {
    long companyId = TestPropsValues.getCompanyId();

    User user = UserLocalServiceUtil.getDefaultUser(companyId);

    Group group = GroupTestUtil.addGroup(companyId, user.getUserId(), GroupConstants.DEFAULT_PARENT_GROUP_ID);

    DDLRecordSetTestHelper recordSetTestHelper = new DDLRecordSetTestHelper(group);

    DDMStructureTestHelper ddmStructureTestHelper = new DDMStructureTestHelper(
            PortalUtil.getClassNameId(DDLRecordSet.class), group);

    DDMStructure ddmStructure = ddmStructureTestHelper.addStructure(createDDMForm(),
            StorageType.JSON.toString());

    DDLRecordSet recordSet = recordSetTestHelper.addRecordSet(ddmStructure);

    SearchContext searchContext = getSearchContext(group, user, recordSet);

    DDLRecordTestHelper recordTestHelper = new DDLRecordTestHelper(group, recordSet);

    DDMFormValues ddmFormValues = createDDMFormValues();

    DDMFormFieldValue nameDDMFormFieldValue = createLocalizedDDMFormFieldValue("name", "Joe Bloggs");

    ddmFormValues.addDDMFormFieldValue(nameDDMFormFieldValue);

    DDMFormFieldValue descriptionDDMFormFieldValue = createLocalizedDDMFormFieldValue("description",
            "Simple description");

    ddmFormValues.addDDMFormFieldValue(descriptionDDMFormFieldValue);

    recordTestHelper.addRecord(ddmFormValues, WorkflowConstants.ACTION_PUBLISH);

    searchContext.setKeywords("Simple description");

    Hits hits = DDLRecordLocalServiceUtil.search(searchContext);

    Assert.assertEquals(hits.toString(), 1, hits.getLength());
}

From source file:com.liferay.dynamic.data.mapping.form.web.internal.display.context.DDMFormViewFormInstanceRecordsDisplayContext.java

License:Open Source License

protected void updateSearchContainerResults() {
    List<DDMFormInstanceRecord> results = null;
    int total = 0;

    DisplayTerms displayTerms = _ddmFormInstanceRecordSearchContainer.getDisplayTerms();

    int status = WorkflowConstants.STATUS_ANY;

    if (Validator.isNull(displayTerms.getKeywords())) {
        results = _ddmFormInstanceRecordLocalService.getFormInstanceRecords(
                _ddmFormInstance.getFormInstanceId(), status, _ddmFormInstanceRecordSearchContainer.getStart(),
                _ddmFormInstanceRecordSearchContainer.getEnd(),
                _ddmFormInstanceRecordSearchContainer.getOrderByComparator());
        total = _ddmFormInstanceRecordLocalService
                .getFormInstanceRecordsCount(_ddmFormInstance.getFormInstanceId(), status);
    } else {//ww  w . ja  v a 2  s  . c  o m
        SearchContext searchContext = SearchContextFactory
                .getInstance(PortalUtil.getHttpServletRequest(_renderRequest));

        searchContext.setAttribute(Field.STATUS, status);
        searchContext.setAttribute("formInstanceId", _ddmFormInstance.getFormInstanceId());
        searchContext.setEnd(_ddmFormInstanceRecordSearchContainer.getEnd());
        searchContext.setKeywords(displayTerms.getKeywords());
        searchContext.setStart(_ddmFormInstanceRecordSearchContainer.getStart());

        BaseModelSearchResult<DDMFormInstanceRecord> baseModelSearchResult = _ddmFormInstanceRecordLocalService
                .searchFormInstanceRecords(searchContext);

        results = baseModelSearchResult.getBaseModels();
        total = baseModelSearchResult.getLength();
    }

    _ddmFormInstanceRecordSearchContainer.setResults(results);
    _ddmFormInstanceRecordSearchContainer.setTotal(total);
}

From source file:com.liferay.experts.service.impl.QuestionLocalServiceImpl.java

License:Open Source License

public Hits search(long companyId, long groupId, String keywords, LinkedHashMap<String, Object> params,
        int start, int end, Sort sort) throws SystemException {

    try {//from  ww  w  .j  ava2 s.  c  o m
        SearchContext searchContext = new SearchContext();

        searchContext.setCompanyId(companyId);
        searchContext.setEnd(end);
        searchContext.setGroupIds(new long[] { groupId });

        if (params != null) {
            if (Validator.isNull(keywords)) {
                keywords = (String) params.get("keywords");
            }

            params.remove("keywords");
        }

        if (Validator.isNotNull(keywords)) {
            searchContext.setKeywords(keywords);
        }

        QueryConfig queryConfig = new QueryConfig();

        queryConfig.setHighlightEnabled(false);

        searchContext.setQueryConfig(queryConfig);

        if (sort != null) {
            searchContext.setSorts(new Sort[] { sort });
        }

        searchContext.setStart(start);

        Indexer indexer = IndexerRegistryUtil.nullSafeGetIndexer(Question.class);

        return indexer.search(searchContext);
    } catch (Exception e) {
        throw new SystemException(e);
    }
}

From source file:com.liferay.journal.content.search.web.internal.display.context.JournalContentSearchDisplayContext.java

License:Open Source License

public Hits getHits() throws Exception {
    if (_hits != null) {
        return _hits;
    }/*from w w  w. j a  va 2 s.  c o m*/

    Indexer<JournalArticle> indexer = IndexerRegistryUtil.getIndexer(JournalArticle.class);

    SearchContext searchContext = SearchContextFactory.getInstance(_request);

    searchContext.setGroupIds(null);
    searchContext.setKeywords(getKeywords());

    QueryConfig queryConfig = searchContext.getQueryConfig();

    queryConfig.setHighlightEnabled(_journalContentSearchPortletInstanceConfiguration.enableHighlighting());

    _hits = indexer.search(searchContext);

    return _hits;
}

From source file:com.liferay.journal.search.test.JournalArticleIndexerLocalizedContentTest.java

License:Open Source License

private SearchContext _getSearchContext(String searchTerm, Locale locale) throws Exception {

    SearchContext searchContext = SearchContextTestUtil.getSearchContext(_group.getGroupId());

    searchContext.setKeywords(searchTerm);

    searchContext.setLocale(locale);/*from ww w.j  a  va  2s. c o m*/

    QueryConfig queryConfig = searchContext.getQueryConfig();

    queryConfig.setSelectedFieldNames(StringPool.STAR);

    return searchContext;
}

From source file:com.liferay.journal.search.test.JournalIndexerTest.java

License:Open Source License

@Test
public void testCopyArticle() throws Exception {
    SearchContext searchContext = SearchContextTestUtil.getSearchContext(_group.getGroupId());

    searchContext.setKeywords("Architectural");

    assertSearchCount(0, _group.getGroupId(), searchContext);

    JournalFolder folder = JournalTestUtil.addFolder(_group.getGroupId(), RandomTestUtil.randomString());

    JournalArticle article = JournalTestUtil.addArticleWithWorkflow(_group.getGroupId(), folder.getFolderId(),
            "title", "Liferay Architectural Approach", true);

    assertSearchCount(1, _group.getGroupId(), searchContext);

    JournalArticleLocalServiceUtil.copyArticle(TestPropsValues.getUserId(), _group.getGroupId(),
            article.getArticleId(), StringPool.BLANK, true, article.getVersion());

    assertSearchCount(2, _group.getGroupId(), searchContext);
}

From source file:com.liferay.journal.search.test.JournalIndexerTest.java

License:Open Source License

@Test
public void testDeleteArticles() throws Exception {
    SearchContext searchContext = SearchContextTestUtil.getSearchContext(_group.getGroupId());

    searchContext.setKeywords("Architectural");

    assertSearchCount(0, _group.getGroupId(), searchContext);

    JournalFolder folder = JournalTestUtil.addFolder(_group.getGroupId(), RandomTestUtil.randomString());

    JournalArticle article1 = JournalTestUtil.addArticleWithWorkflow(_group.getGroupId(), folder.getFolderId(),
            "title", "Liferay Architectural Approach", true);

    assertSearchCount(1, _group.getGroupId(), searchContext);

    String content = DDMStructureTestUtil.getSampleStructuredContent("Architectural Approach");

    ServiceContext serviceContext = ServiceContextTestUtil.getServiceContext(_group.getGroupId());

    serviceContext.setWorkflowAction(WorkflowConstants.ACTION_PUBLISH);

    JournalTestUtil.updateArticle(article1, article1.getTitleMap(), content, false, true, serviceContext);

    JournalArticle article2 = JournalTestUtil.addArticleWithWorkflow(_group.getGroupId(), folder.getFolderId(),
            "title", "Apple Architectural Tablet", true);

    assertSearchCount(2, _group.getGroupId(), searchContext);

    content = DDMStructureTestUtil.getSampleStructuredContent("Architectural Tablet");

    JournalTestUtil.updateArticle(article2, article2.getTitleMap(), content, false, true, serviceContext);

    JournalArticleLocalServiceUtil.deleteArticles(_group.getGroupId());

    assertSearchCount(0, _group.getGroupId(), searchContext);
}

From source file:com.liferay.journal.search.test.JournalIndexerTest.java

License:Open Source License

@Test
public void testMoveArticleToTrashAndRestore() throws Exception {
    SearchContext searchContext = SearchContextTestUtil.getSearchContext(_group.getGroupId());

    searchContext.setKeywords("Architectural");

    assertSearchCount(0, _group.getGroupId(), searchContext);

    JournalFolder folder = JournalTestUtil.addFolder(_group.getGroupId(), RandomTestUtil.randomString());

    JournalArticle article = JournalTestUtil.addArticleWithWorkflow(_group.getGroupId(), folder.getFolderId(),
            "title", "Liferay Architectural Approach", true);

    assertSearchCount(1, _group.getGroupId(), searchContext);

    article = JournalArticleLocalServiceUtil.moveArticleToTrash(TestPropsValues.getUserId(), article);

    assertSearchCount(0, _group.getGroupId(), searchContext);
    assertSearchCount(1, _group.getGroupId(), true, WorkflowConstants.STATUS_IN_TRASH, searchContext);

    JournalArticleLocalServiceUtil.restoreArticleFromTrash(TestPropsValues.getUserId(), article);

    assertSearchCount(1, _group.getGroupId(), searchContext);
    assertSearchCount(0, _group.getGroupId(), true, WorkflowConstants.STATUS_IN_TRASH, searchContext);
}

From source file:com.liferay.journal.search.test.JournalIndexerTest.java

License:Open Source License

@Test
public void testRemoveArticleLocale() throws Exception {
    SearchContext searchContext1 = SearchContextTestUtil.getSearchContext(_group.getGroupId());

    searchContext1.setKeywords("Arquitectura");
    searchContext1.setLocale(LocaleUtil.SPAIN);

    assertSearchCount(0, _group.getGroupId(), searchContext1);

    SearchContext searchContext2 = SearchContextTestUtil.getSearchContext(_group.getGroupId());

    searchContext2.setKeywords("Architectural");
    searchContext2.setLocale(LocaleUtil.SPAIN);

    assertSearchCount(0, _group.getGroupId(), searchContext2);

    Map<Locale, String> titleMap = new HashMap<>();

    titleMap.put(LocaleUtil.GERMANY, "Titel");
    titleMap.put(LocaleUtil.SPAIN, "Titulo");
    titleMap.put(LocaleUtil.US, "Title");

    Map<Locale, String> contentMap = new HashMap<>();

    contentMap.put(LocaleUtil.GERMANY, "Liferay Architektur Ansatz");
    contentMap.put(LocaleUtil.SPAIN, "Liferay Arquitectura Aproximacion");
    contentMap.put(LocaleUtil.US, "Liferay Architectural Approach");

    JournalArticle article = JournalTestUtil.addArticleWithWorkflow(_group.getGroupId(), titleMap, titleMap,
            contentMap, true);//  ww  w.j  a  v a2  s.  co  m

    assertSearchCount(1, _group.getGroupId(), searchContext1);

    JournalArticleLocalServiceUtil.removeArticleLocale(_group.getGroupId(), article.getArticleId(),
            article.getVersion(), LocaleUtil.toLanguageId(LocaleUtil.SPAIN));

    assertSearchCount(0, _group.getGroupId(), searchContext1);
    assertSearchCount(1, _group.getGroupId(), searchContext2);
}