Example usage for com.liferay.portal.kernel.search.filter BooleanFilter addRequiredTerm

List of usage examples for com.liferay.portal.kernel.search.filter BooleanFilter addRequiredTerm

Introduction

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

Prototype

public Filter addRequiredTerm(String field, String value) 

Source Link

Usage

From source file:com.liferay.configuration.admin.web.internal.search.ConfigurationModelIndexer.java

License:Open Source License

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

    try {//w  ww.j  av  a2s. c o  m
        BooleanFilter fullQueryBooleanFilter = new BooleanFilter();

        fullQueryBooleanFilter.addRequiredTerm(Field.ENTRY_CLASS_NAME, getClassName());

        BooleanQuery fullQuery = createFullQuery(fullQueryBooleanFilter, searchContext);

        fullQuery.setQueryConfig(searchContext.getQueryConfig());

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

From source file:com.liferay.document.library.internal.trash.DLFileEntryTrashHandler.java

License:Open Source License

@Override
public Filter getExcludeFilter(SearchContext searchContext) {
    BooleanFilter excludeBooleanFilter = new BooleanFilter();

    excludeBooleanFilter.addRequiredTerm(Field.ENTRY_CLASS_NAME, DLFileEntryConstants.getClassName());
    excludeBooleanFilter.addRequiredTerm(Field.HIDDEN, true);

    return excludeBooleanFilter;
}

From source file:com.liferay.dynamic.data.lists.internal.search.DDLRecordIndexer.java

License:Open Source License

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

    int status = GetterUtil.getInteger(searchContext.getAttribute(Field.STATUS),
            WorkflowConstants.STATUS_APPROVED);

    if (status != WorkflowConstants.STATUS_ANY) {
        contextBooleanFilter.addRequiredTerm(Field.STATUS, status);
    }/*from  w w w  . ja  va 2 s .com*/

    long recordSetId = GetterUtil.getLong(searchContext.getAttribute("recordSetId"));

    if (recordSetId > 0) {
        contextBooleanFilter.addRequiredTerm("recordSetId", recordSetId);
    }

    long recordSetScope = GetterUtil.getLong(searchContext.getAttribute("recordSetScope"),
            DDLRecordSetConstants.SCOPE_DYNAMIC_DATA_LISTS);

    contextBooleanFilter.addRequiredTerm("recordSetScope", recordSetScope);

    addSearchClassTypeIds(contextBooleanFilter, searchContext);

    String ddmStructureFieldName = (String) searchContext.getAttribute("ddmStructureFieldName");
    Serializable ddmStructureFieldValue = searchContext.getAttribute("ddmStructureFieldValue");

    if (Validator.isNotNull(ddmStructureFieldName) && Validator.isNotNull(ddmStructureFieldValue)) {

        QueryFilter queryFilter = ddmIndexer.createFieldValueQueryFilter(ddmStructureFieldName,
                ddmStructureFieldValue, searchContext.getLocale());

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

From source file:com.liferay.dynamic.data.mapping.internal.search.DDMFormInstanceRecordIndexer.java

License:Open Source License

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

    int status = GetterUtil.getInteger(searchContext.getAttribute(Field.STATUS),
            WorkflowConstants.STATUS_APPROVED);

    if (status != WorkflowConstants.STATUS_ANY) {
        contextBooleanFilter.addRequiredTerm(Field.STATUS, status);
    }//  w w w  . ja  v  a  2s.  c  o  m

    long ddmFormInstanceId = GetterUtil.getLong(searchContext.getAttribute("ddmFormInstanceId"));

    if (ddmFormInstanceId > 0) {
        contextBooleanFilter.addRequiredTerm("ddmFormInstanceId", ddmFormInstanceId);
    }

    addSearchClassTypeIds(contextBooleanFilter, searchContext);

    String ddmStructureFieldName = (String) searchContext.getAttribute("ddmStructureFieldName");
    Serializable ddmStructureFieldValue = searchContext.getAttribute("ddmStructureFieldValue");

    if (Validator.isNotNull(ddmStructureFieldName) && Validator.isNotNull(ddmStructureFieldValue)) {

        QueryFilter queryFilter = ddmIndexer.createFieldValueQueryFilter(ddmStructureFieldName,
                ddmStructureFieldValue, searchContext.getLocale());

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

From source file:com.liferay.exportimport.search.ExportImportConfigurationIndexer.java

License:Open Source License

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

    addStatus(contextBooleanFilter, searchContext);

    contextBooleanFilter.addRequiredTerm(Field.COMPANY_ID, searchContext.getCompanyId());
    contextBooleanFilter.addRequiredTerm(Field.GROUP_ID,
            GetterUtil.getLong(searchContext.getAttribute(Field.GROUP_ID)));

    Serializable type = searchContext.getAttribute(Field.TYPE);

    if (type != null) {
        contextBooleanFilter.addRequiredTerm(Field.TYPE, GetterUtil.getInteger(type));
    }/*  w  ww. j  av  a2s. c  o  m*/
}

From source file:com.liferay.journal.internal.trash.JournalArticleTrashHandler.java

License:Open Source License

@Override
public Filter getExcludeFilter(SearchContext searchContext) {
    BooleanFilter excludeBooleanFilter = new BooleanFilter();

    excludeBooleanFilter.addRequiredTerm(Field.ENTRY_CLASS_NAME, JournalArticle.class.getName());
    excludeBooleanFilter.addRequiredTerm("head", false);

    return excludeBooleanFilter;
}

From source file:com.liferay.journal.search.JournalArticleIndexer.java

License:Open Source License

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

    Long classNameId = (Long) searchContext.getAttribute(Field.CLASS_NAME_ID);

    if ((classNameId != null) && (classNameId != 0)) {
        contextBooleanFilter.addRequiredTerm(Field.CLASS_NAME_ID, classNameId.toString());
    }// w ww .  j a v a  2 s.  c  om

    addStatus(contextBooleanFilter, searchContext);

    addSearchClassTypeIds(contextBooleanFilter, searchContext);

    String ddmStructureFieldName = (String) searchContext.getAttribute("ddmStructureFieldName");
    Serializable ddmStructureFieldValue = searchContext.getAttribute("ddmStructureFieldValue");

    if (Validator.isNotNull(ddmStructureFieldName) && Validator.isNotNull(ddmStructureFieldValue)) {

        QueryFilter queryFilter = _ddmIndexer.createFieldValueQueryFilter(ddmStructureFieldName,
                ddmStructureFieldValue, searchContext.getLocale());

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

    String ddmStructureKey = (String) searchContext.getAttribute("ddmStructureKey");

    if (Validator.isNotNull(ddmStructureKey)) {
        contextBooleanFilter.addRequiredTerm("ddmStructureKey", ddmStructureKey);
    }

    String ddmTemplateKey = (String) searchContext.getAttribute("ddmTemplateKey");

    if (Validator.isNotNull(ddmTemplateKey)) {
        contextBooleanFilter.addRequiredTerm("ddmTemplateKey", ddmTemplateKey);
    }

    boolean head = GetterUtil.getBoolean(searchContext.getAttribute("head"), Boolean.TRUE);
    boolean relatedClassName = GetterUtil.getBoolean(searchContext.getAttribute("relatedClassName"));
    boolean showNonindexable = GetterUtil.getBoolean(searchContext.getAttribute("showNonindexable"));

    if (head && !relatedClassName && !showNonindexable) {
        contextBooleanFilter.addRequiredTerm("head", Boolean.TRUE);
    }

    if (!relatedClassName && showNonindexable) {
        contextBooleanFilter.addRequiredTerm("headListable", Boolean.TRUE);
    }
}

From source file:com.liferay.message.boards.internal.search.MBMessageIndexer.java

License:Open Source License

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

    addStatus(contextBooleanFilter, searchContext);

    boolean discussion = GetterUtil.getBoolean(searchContext.getAttribute("discussion"));

    contextBooleanFilter.addRequiredTerm("discussion", discussion);

    if (searchContext.isIncludeDiscussions()) {
        addRelatedClassNames(contextBooleanFilter, searchContext);
    }//www  .jav  a 2s  .  c  om

    String classNameId = GetterUtil.getString(searchContext.getAttribute(Field.CLASS_NAME_ID));

    if (Validator.isNotNull(classNameId)) {
        contextBooleanFilter.addRequiredTerm(Field.CLASS_NAME_ID, classNameId);
    }

    long threadId = GetterUtil.getLong((String) searchContext.getAttribute("threadId"));

    if (threadId > 0) {
        contextBooleanFilter.addRequiredTerm("threadId", threadId);
    }

    long[] categoryIds = searchContext.getCategoryIds();

    if ((categoryIds != null) && (categoryIds.length > 0)
            && (categoryIds[0] != MBCategoryConstants.DEFAULT_PARENT_CATEGORY_ID)) {

        TermsFilter categoriesTermsFilter = new TermsFilter(Field.CATEGORY_ID);

        for (long categoryId : categoryIds) {
            try {
                mbCategoryService.getCategory(categoryId);
            } catch (PortalException pe) {
                if (_log.isDebugEnabled()) {
                    _log.debug("Unable to get message boards category " + categoryId, pe);
                }

                continue;
            }

            categoriesTermsFilter.addValue(String.valueOf(categoryId));
        }

        if (!categoriesTermsFilter.isEmpty()) {
            contextBooleanFilter.add(categoriesTermsFilter, BooleanClauseOccur.MUST);
        }
    }
}

From source file:com.liferay.message.boards.internal.search.MBThreadIndexer.java

License:Open Source License

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

    addStatus(contextBooleanFilter, searchContext);

    boolean discussion = GetterUtil.getBoolean(searchContext.getAttribute("discussion"));

    contextBooleanFilter.addRequiredTerm("discussion", discussion);

    long endDate = GetterUtil.getLong(searchContext.getAttribute("endDate"));
    long startDate = GetterUtil.getLong(searchContext.getAttribute("startDate"));

    if ((endDate > 0) && (startDate > 0)) {
        contextBooleanFilter.addRangeTerm("lastPostDate", startDate, endDate);
    }//w  w  w .j ava2  s.  c  om

    long participantUserId = GetterUtil.getLong(searchContext.getAttribute("participantUserId"));

    if (participantUserId > 0) {
        contextBooleanFilter.addRequiredTerm("participantUserIds", participantUserId);
    }
}

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  w w  .  j  a  v a 2  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);
    }
}