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

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

Introduction

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

Prototype

public BooleanClause<Query>[] getBooleanClauses() 

Source Link

Usage

From source file:com.liferay.document.library.repository.search.internal.RepositorySearchQueryBuilderImpl.java

License:Open Source License

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

    try {/*from w  ww  .j av  a2  s .  co  m*/
        BooleanQuery contextQuery = new BooleanQueryImpl();

        addContext(contextQuery, searchContext);

        BooleanQuery searchQuery = new BooleanQueryImpl();

        addSearchKeywords(searchQuery, searchContext);

        BooleanQuery fullQuery = new BooleanQueryImpl();

        if (contextQuery.hasClauses()) {
            fullQuery.add(contextQuery, BooleanClauseOccur.MUST);
        }

        if (searchQuery.hasClauses()) {
            fullQuery.add(searchQuery, BooleanClauseOccur.MUST);
        }

        BooleanClause<Query>[] booleanClauses = searchContext.getBooleanClauses();

        if (booleanClauses != null) {
            for (BooleanClause<Query> booleanClause : booleanClauses) {
                fullQuery.add(booleanClause.getClause(), booleanClause.getBooleanClauseOccur());
            }
        }

        fullQuery.setQueryConfig(searchContext.getQueryConfig());

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