Example usage for com.liferay.portal.kernel.search.filter TermsFilter addValues

List of usage examples for com.liferay.portal.kernel.search.filter TermsFilter addValues

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.search.filter TermsFilter addValues.

Prototype

public void addValues(String... values) 

Source Link

Usage

From source file:com.liferay.asset.categories.internal.search.AssetCategoryIndexer.java

License:Open Source License

@Override
public void postProcessContextBooleanFilter(BooleanFilter contextBooleanFilter, SearchContext searchContext)
        throws Exception {

    long[] parentCategoryIds = (long[]) searchContext.getAttribute(Field.ASSET_PARENT_CATEGORY_IDS);

    if (!ArrayUtil.isEmpty(parentCategoryIds)) {
        TermsFilter parentCategoryTermsFilter = new TermsFilter(Field.ASSET_PARENT_CATEGORY_ID);

        parentCategoryTermsFilter.addValues(ArrayUtil.toStringArray(parentCategoryIds));

        contextBooleanFilter.add(parentCategoryTermsFilter, BooleanClauseOccur.MUST);
    }//  ww  w  . ja v a2  s.c  o m

    long[] vocabularyIds = (long[]) searchContext.getAttribute(Field.ASSET_VOCABULARY_IDS);

    if (!ArrayUtil.isEmpty(vocabularyIds)) {
        TermsFilter vocabularyTermsFilter = new TermsFilter(Field.ASSET_VOCABULARY_ID);

        vocabularyTermsFilter.addValues(ArrayUtil.toStringArray(vocabularyIds));

        contextBooleanFilter.add(vocabularyTermsFilter, BooleanClauseOccur.MUST);
    }
}

From source file:com.liferay.trash.internal.search.TrashIndexer.java

License:Open Source License

@Override
public BooleanQuery getFullQuery(SearchContext searchContext) throws SearchException {

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

        fullQueryBooleanFilter.addRequiredTerm(Field.COMPANY_ID, searchContext.getCompanyId());

        List<TrashHandler> trashHandlers = TrashHandlerRegistryUtil.getTrashHandlers();

        for (TrashHandler trashHandler : trashHandlers) {
            Filter filter = trashHandler.getExcludeFilter(searchContext);

            if (filter != null) {
                fullQueryBooleanFilter.add(filter, BooleanClauseOccur.MUST_NOT);
            }

            processTrashHandlerExcludeQuery(searchContext, fullQueryBooleanFilter, trashHandler);
        }

        long[] groupIds = searchContext.getGroupIds();

        if (ArrayUtil.isNotEmpty(groupIds)) {
            TermsFilter groupTermsFilter = new TermsFilter(Field.GROUP_ID);

            groupTermsFilter.addValues(ArrayUtil.toStringArray(groupIds));

            fullQueryBooleanFilter.add(groupTermsFilter, BooleanClauseOccur.MUST);
        }

        fullQueryBooleanFilter.addRequiredTerm(Field.STATUS, WorkflowConstants.STATUS_IN_TRASH);

        BooleanQuery fullQuery = createFullQuery(fullQueryBooleanFilter, searchContext);

        return fullQuery;
    } catch (SearchException se) {
        throw se;
    } catch (Exception e) {
        throw new SearchException(e);
    }
}

From source file:com.liferay.users.admin.internal.search.UserIndexer.java

License:Open Source License

protected void addContextQueryParams(BooleanFilter contextFilter, SearchContext searchContext, String key,
        Object value) throws Exception {

    if (key.equals("usersGroups")) {
        if (value instanceof Long[]) {
            Long[] values = (Long[]) value;

            if (ArrayUtil.isEmpty(values)) {
                return;
            }/*from ww w.  j  av  a  2  s . c o  m*/

            TermsFilter userGroupsTermsFilter = new TermsFilter("groupIds");

            userGroupsTermsFilter.addValues(ArrayUtil.toStringArray(values));

            contextFilter.add(userGroupsTermsFilter, BooleanClauseOccur.MUST);
        } else {
            contextFilter.addRequiredTerm("groupIds", String.valueOf(value));
        }
    } else if (key.equals("usersOrgs")) {
        if (value instanceof Long[]) {
            Long[] values = (Long[]) value;

            if (ArrayUtil.isEmpty(values)) {
                return;
            }

            TermsFilter organizationsTermsFilter = new TermsFilter("organizationIds");
            TermsFilter ancestorOrgsTermsFilter = new TermsFilter("ancestorOrganizationIds");

            String[] organizationIdsStrings = ArrayUtil.toStringArray(values);

            ancestorOrgsTermsFilter.addValues(organizationIdsStrings);

            organizationsTermsFilter.addValues(organizationIdsStrings);

            BooleanFilter userOrgsBooleanFilter = new BooleanFilter();

            userOrgsBooleanFilter.add(ancestorOrgsTermsFilter);
            userOrgsBooleanFilter.add(organizationsTermsFilter);

            contextFilter.add(userOrgsBooleanFilter, BooleanClauseOccur.MUST);
        } else {
            contextFilter.addRequiredTerm("organizationIds", String.valueOf(value));
        }
    } else if (key.equals("usersOrgsCount")) {
        contextFilter.addRequiredTerm("organizationCount", String.valueOf(value));
    } else if (key.equals("usersRoles")) {
        contextFilter.addRequiredTerm("roleIds", String.valueOf(value));
    } else if (key.equals("usersTeams")) {
        contextFilter.addRequiredTerm("teamIds", String.valueOf(value));
    } else if (key.equals("usersUserGroups")) {
        contextFilter.addRequiredTerm("userGroupIds", String.valueOf(value));
    }
}