Example usage for com.liferay.portal.kernel.search BooleanQuery addTerm

List of usage examples for com.liferay.portal.kernel.search BooleanQuery addTerm

Introduction

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

Prototype

public Query addTerm(String field, String value, boolean like, BooleanClauseOccur booleanClauseOccur)
            throws ParseException;

Source Link

Usage

From source file:vn.com.ecopharma.emp.service.impl.EmpAnnualLeaveLocalServiceImpl.java

License:Open Source License

@SuppressWarnings("unchecked")
public List<Document> filterByFields(SearchContext searchContext, Map<String, Object> filters, Sort sort,
        long companyId, int start, int end) throws ParseException {
    final List<Query> queries = new ArrayList<>();
    if (filters != null) {

        for (Map.Entry<String, Object> filter : filters.entrySet()) {
            final String filterProperty = filter.getKey();
            final Object filterValue = filter.getValue();
            LOGGER.info("Filter Property: " + filterProperty);

            if (filterValue instanceof String) {
                LOGGER.info("Filter Property Value: " + filterValue);
                // TODO
                BooleanQuery stringFilterQuery = BooleanQueryFactoryUtil.create(searchContext);
                stringFilterQuery.addTerm(filterProperty, (String) filterValue, true, BooleanClauseOccur.MUST);
                queries.add(stringFilterQuery);

            } else if (filterValue instanceof List<?>) {
                queries.add(empLocalService.createStringListQuery(filterProperty, (List<String>) filterValue,
                        searchContext));
            } else if (filterValue instanceof Date) {
                // Query effectiveDateQuery = empLocalService
                // .createDateTermRangeQuery(
                // EmpAnnualLeaveField.EFFECTIVE_DATE,
                // effectiveDateFrom, effectiveDateTo, true,
                // true, searchContext);
                // if (effectiveDateQuery != null) {
                // queries.add(effectiveDateQuery);
                // }
            }// w  w w  . j a  va2 s . c om
        }
    }
    /* SORT */
    if (sort == null) {
        sort = new Sort(EmpAnnualLeaveField.ID, false);
    }
    return searchAllDocuments(searchContext, queries, companyId, sort, start, end);
}

From source file:vn.com.ecopharma.emp.service.impl.EmpDisciplineLocalServiceImpl.java

License:Open Source License

@SuppressWarnings("unchecked")
public List<Document> filterByFields(SearchContext searchContext, Map<String, Object> filters, Sort sort,
        long companyId, int start, int end) throws ParseException {
    final List<Query> queries = new ArrayList<>();
    if (filters != null) {
        Date effectiveDateFrom = filters.get(EmpDisciplineField.EFFECTIVE_DATE_FROM) != null
                ? (Date) filters.get(EmpDisciplineField.EFFECTIVE_DATE_FROM)
                : null;//  w  ww  .java  2  s  .  c  om

        Date effectiveDateTo = filters.get(EmpDisciplineField.EFFECTIVE_DATE_TO) != null
                ? (Date) filters.get(EmpDisciplineField.EFFECTIVE_DATE_TO)
                : null;
        for (Map.Entry<String, Object> filter : filters.entrySet()) {
            final String filterProperty = filter.getKey();
            final Object filterValue = filter.getValue();
            LOGGER.info("Filter Property: " + filterProperty);

            if (filterValue instanceof String) {
                LOGGER.info("Filter Property Value: " + filterValue);
                // TODO
                BooleanQuery stringFilterQuery = BooleanQueryFactoryUtil.create(searchContext);
                stringFilterQuery.addTerm(filterProperty, (String) filterValue, true, BooleanClauseOccur.MUST);
                queries.add(stringFilterQuery);

            } else if (filterValue instanceof List<?>) {
                queries.add(empLocalService.createStringListQuery(filterProperty, (List<String>) filterValue,
                        searchContext));
            } else if (filterValue instanceof Date) {
                Query effectiveDateQuery = empLocalService.createDateTermRangeQuery(
                        EmpDisciplineField.EFFECTIVE_DATE, effectiveDateFrom, effectiveDateTo, true, true,
                        searchContext);
                if (effectiveDateQuery != null) {
                    queries.add(effectiveDateQuery);
                }
            }
        }
    }
    /* SORT */
    if (sort == null) {
        sort = new Sort(EmpDisciplineField.ID, false);
    }
    return searchAllDocuments(searchContext, queries, companyId, sort, start, end);
}

From source file:vn.com.ecopharma.emp.service.impl.EmpLocalServiceImpl.java

License:Open Source License

@SuppressWarnings("unchecked")
public List<Document> filterEmployeeByFields(SearchContext searchContext, Map<String, Object> filters,
        Sort sort, long companyId, int start, int end) throws ParseException {
    final List<Query> queries = new ArrayList<>();
    if (filters != null) {
        Date joinedDateFrom = filters.get(EmpField.JOINED_DATE_FROM) != null
                ? (Date) filters.get(EmpField.JOINED_DATE_FROM)
                : null;/*from  ww w  .j  a  va  2s . com*/

        Date joinedDateTo = filters.get(EmpField.JOINED_DATE_TO) != null
                ? (Date) filters.get(EmpField.JOINED_DATE_TO)
                : null;

        for (Map.Entry<String, Object> filter : filters.entrySet()) {
            final String filterProperty = filter.getKey();
            final Object filterValue = filter.getValue();
            LOGGER.info("Filter Property: " + filterProperty);

            if (filterValue instanceof String) {
                LOGGER.info("Filter Property Value: " + filterValue);
                if (filterProperty.equalsIgnoreCase(GLOBAL_FILTER)) {
                    final BooleanQuery globalFilterBooleanQuery = BooleanQueryFactoryUtil.create(searchContext);
                    globalFilterBooleanQuery.addTerms(getGlobalSearchFields(), (String) filterValue, true);
                    queries.add(globalFilterBooleanQuery);
                } else {
                    // TODO
                    BooleanQuery stringFilterQuery = BooleanQueryFactoryUtil.create(searchContext);
                    stringFilterQuery.addTerm(filterProperty, (String) filterValue, true,
                            BooleanClauseOccur.MUST);
                    queries.add(stringFilterQuery);
                }
            } else if (filterValue instanceof List<?>) {
                if ((filterProperty.equalsIgnoreCase(EmpField.GENDER))
                        || filterProperty.equalsIgnoreCase(EmpField.STATUS)) {
                    queries.add(
                            createStringListQuery(filterProperty, (List<String>) filterValue, searchContext));
                } else if (isOrganizationFilter(filterProperty)) {
                    queries.add(createOrganizationFilterQuery(filterProperty, (List<String>) filterValue,
                            searchContext));
                }
            } else if (filterValue instanceof Date) {
                Query dateRangeQuery = createDateTermRangeQuery(EmpField.JOINED_DATE, joinedDateFrom,
                        joinedDateTo, true, true, searchContext);
                if (dateRangeQuery != null)
                    queries.add(dateRangeQuery);
            } else if (filterValue instanceof Map.Entry<?, ?>) { // for
                // autoComplete
                // filter
                final Map.Entry<String[], String> autoCompleteFilterEntry = (Map.Entry<String[], String>) filterValue;

                final BooleanQuery autoCompleteFilterBooleanQuery = BooleanQueryFactoryUtil
                        .create(searchContext);
                autoCompleteFilterBooleanQuery.addTerms(autoCompleteFilterEntry.getKey(),
                        autoCompleteFilterEntry.getValue(), true);
                queries.add(autoCompleteFilterBooleanQuery);

            }
        }
    }
    /* SORT */
    if (sort == null) {
        sort = new Sort(EmpField.EMP_ID, false);
    }
    return searchAllUnDeletedEmpIndexedDocument(searchContext, queries, companyId, sort, start, end);
}

From source file:vn.com.ecopharma.emp.service.impl.PromotedHistoryLocalServiceImpl.java

License:Open Source License

@SuppressWarnings("unchecked")
public List<Document> filterByFields(SearchContext searchContext, Map<String, Object> filters, Sort sort,
        long companyId, int start, int end) throws ParseException {
    final List<Query> queries = new ArrayList<>();
    if (filters != null) {
        // Date effectiveDateFrom = filters
        // .get(EmpDisciplineField.EFFECTIVE_DATE_FROM) != null ? (Date)
        // filters
        // .get(EmpDisciplineField.EFFECTIVE_DATE_FROM) : null;
        ///*w  ww .  ja  va  2 s  .c  o  m*/
        // Date effectiveDateTo = filters
        // .get(EmpDisciplineField.EFFECTIVE_DATE_TO) != null ? (Date)
        // filters
        // .get(EmpDisciplineField.EFFECTIVE_DATE_TO) : null;
        for (Map.Entry<String, Object> filter : filters.entrySet()) {
            final String filterProperty = filter.getKey();
            final Object filterValue = filter.getValue();
            LOGGER.info("Filter Property: " + filterProperty);

            if (filterValue instanceof String) {
                LOGGER.info("Filter Property Value: " + filterValue);
                // TODO
                BooleanQuery stringFilterQuery = BooleanQueryFactoryUtil.create(searchContext);
                stringFilterQuery.addTerm(filterProperty, (String) filterValue, true, BooleanClauseOccur.MUST);
                queries.add(stringFilterQuery);

            } else if (filterValue instanceof List<?>) {
                queries.add(empLocalService.createStringListQuery(filterProperty, (List<String>) filterValue,
                        searchContext));
            } else if (filterValue instanceof Date) {
                // Query effectiveDateQuery = empLocalService
                // .createDateTermRangeQuery(
                // EmpDisciplineField.EFFECTIVE_DATE,
                // effectiveDateFrom, effectiveDateTo, true,
                // true, searchContext);
                // if (effectiveDateQuery != null) {
                // queries.add(effectiveDateQuery);
                // }
            }
        }
    }
    /* SORT */
    if (sort == null) {
        sort = new Sort(PromotedHistoryField.ID, false);
    }
    return searchAllDocuments(searchContext, queries, companyId, sort, start, end);
}

From source file:vn.com.ecopharma.emp.service.impl.ResignationHistoryLocalServiceImpl.java

License:Open Source License

@SuppressWarnings("unchecked")
public List<Document> filterByFields(SearchContext searchContext, Map<String, Object> filters, Sort sort,
        long companyId, int start, int end) throws ParseException {
    final List<Query> queries = new ArrayList<>();
    if (filters != null) {
        // Date effectiveDateFrom = filters
        // .get(EmpDisciplineField.EFFECTIVE_DATE_FROM) != null ? (Date)
        // filters
        // .get(EmpDisciplineField.EFFECTIVE_DATE_FROM) : null;
        ///*from  w  w w . j  a  v  a2 s .  c o  m*/
        // Date effectiveDateTo = filters
        // .get(EmpDisciplineField.EFFECTIVE_DATE_TO) != null ? (Date)
        // filters
        // .get(EmpDisciplineField.EFFECTIVE_DATE_TO) : null;
        for (Map.Entry<String, Object> filter : filters.entrySet()) {
            final String filterProperty = filter.getKey();
            final Object filterValue = filter.getValue();
            LOGGER.info("Filter Property: " + filterProperty);

            if (filterValue instanceof String) {
                LOGGER.info("Filter Property Value: " + filterValue);
                // TODO
                BooleanQuery stringFilterQuery = BooleanQueryFactoryUtil.create(searchContext);
                stringFilterQuery.addTerm(filterProperty, (String) filterValue, true, BooleanClauseOccur.MUST);
                queries.add(stringFilterQuery);

            } else if (filterValue instanceof List<?>) {
                queries.add(empLocalService.createStringListQuery(filterProperty, (List<String>) filterValue,
                        searchContext));
            } else if (filterValue instanceof Date) {
                // Query effectiveDateQuery = empLocalService
                // .createDateTermRangeQuery(
                // EmpDisciplineField.EFFECTIVE_DATE,
                // effectiveDateFrom, effectiveDateTo, true,
                // true, searchContext);
                // if (effectiveDateQuery != null) {
                // queries.add(effectiveDateQuery);
                // }
            }
        }
    }
    /* SORT */
    if (sort == null) {
        sort = new Sort(ResignationHistoryField.ID, false);
    }
    return searchAllDocuments(searchContext, queries, companyId, sort, start, end);
}

From source file:vn.com.ecopharma.emp.service.impl.VacationLeaveLocalServiceImpl.java

License:Open Source License

@SuppressWarnings("unchecked")
public List<Document> filterByFields(SearchContext searchContext, Map<String, Object> filters, Sort sort,
        long companyId, int start, int end) throws ParseException {
    final List<Query> queries = new ArrayList<>();
    if (filters != null) {
        // Date joinedDateFrom = filters.get(EmpField.JOINED_DATE_FROM) !=
        // null ? (Date) filters
        // .get(EmpField.JOINED_DATE_FROM) : null;
        ///*from  w  w  w  . ja  v a2  s.  c  o  m*/
        // Date joinedDateTo = filters.get(EmpField.JOINED_DATE_TO) != null
        // ? (Date) filters
        // .get(EmpField.JOINED_DATE_TO) : null;

        for (Map.Entry<String, Object> filter : filters.entrySet()) {
            final String filterProperty = filter.getKey();
            final Object filterValue = filter.getValue();
            LOGGER.info("Filter Property: " + filterProperty);

            if (filterValue instanceof String) {
                LOGGER.info("Filter Property Value: " + filterValue);
                // TODO
                BooleanQuery stringFilterQuery = BooleanQueryFactoryUtil.create(searchContext);
                stringFilterQuery.addTerm(filterProperty, (String) filterValue, true, BooleanClauseOccur.MUST);
                queries.add(stringFilterQuery);

            } else if (filterValue instanceof List<?>) {
                queries.add(empLocalService.createStringListQuery(filterProperty, (List<String>) filterValue,
                        searchContext));
            } else if (filterValue instanceof Date) {
                // createDateTermRangeQuery(EmpField.JOINED_DATE, queries,
                // joinedDateFrom, joinedDateTo, searchContext);
                // Query dateRangeQuery = createDateTermRangeQuery(
                // EmpField.JOINED_DATE, joinedDateFrom, joinedDateTo,
                // true, true, searchContext);
                // if (dateRangeQuery != null)
                // queries.add(dateRangeQuery);
            }
        }
    }
    /* SORT */
    if (sort == null) {
        sort = new Sort(VacationLeaveField.ID, false);
    }
    return searchAllUnDeletedDocuments(searchContext, queries, companyId, sort, start, end);
}

From source file:vn.com.ecopharma.hrm.rc.service.impl.CandidateLocalServiceImpl.java

License:Open Source License

@SuppressWarnings("unchecked")
public List<Document> filterByFields(SearchContext searchContext, Map<String, Object> filters, Sort sort,
        long companyId, int start, int end) throws ParseException {
    final List<Query> queries = new ArrayList<>();
    Date dateFrom = filters.get(CandidateField.APPLY_DATE_FROM) != null
            ? (Date) filters.get(CandidateField.APPLY_DATE_FROM)
            : null;/*from w  ww  .  ja  v  a 2 s.c  o  m*/
    Date dateTo = filters.get(CandidateField.APPLY_DATE_TO) != null
            ? (Date) filters.get(CandidateField.APPLY_DATE_TO)
            : null;
    for (Map.Entry<String, Object> filter : filters.entrySet()) {
        String filterProperty = filter.getKey();
        Object filterValue = filter.getValue();
        LOGGER.info(filterProperty);
        LOGGER.info(filterValue);
        if (filterValue instanceof String) {
            if (filterProperty.equalsIgnoreCase(CandidateField.GLOBAL)) {
                final BooleanQuery globalFilterBooleanQuery = BooleanQueryFactoryUtil.create(searchContext);
                globalFilterBooleanQuery.addTerms(getGlobalSearchableFields(), (String) filterValue, true);
                queries.add(globalFilterBooleanQuery);
            } else {
                BooleanQuery stringFilterQuery = BooleanQueryFactoryUtil.create(searchContext);
                stringFilterQuery.addTerm(filterProperty, (String) filterValue, true, BooleanClauseOccur.MUST);
                queries.add(stringFilterQuery);
            }
        } else if (filterValue instanceof List<?>) {
            queries.add(EmpLocalServiceUtil.createStringListQuery(filterProperty, (List<String>) filterValue,
                    searchContext));
        } else if (filterValue instanceof Date) {
            // Query applicationDateRangeQuery = EmpLocalServiceUtil
            // .createDateTermRangeQuery(
            // CandidateField.APPLICATION_DATE, dateFrom,
            // dateTo, true, true, searchContext);
            Query applicationDateRangeQuery = createDateTermRangeQuery(CandidateField.APPLICATION_DATE,
                    dateFrom, dateTo, searchContext);
            if (applicationDateRangeQuery != null)
                queries.add(applicationDateRangeQuery);
        }
    }
    /* SORT */
    if (sort == null) {
        sort = new Sort(CandidateField.CANDIDATE_ID, false);
    }
    return searchAllUnDeletedCandidatesIndexedDocument(searchContext, queries, companyId, sort, start, end);
}

From source file:vn.com.ecopharma.hrm.rc.service.impl.VacancyLocalServiceImpl.java

License:Open Source License

@SuppressWarnings("unchecked")
public List<Document> filterByFields(SearchContext searchContext, Map<String, Object> filters, Sort sort,
        long companyId, int start, int end) throws ParseException {
    final List<Query> queries = new ArrayList<>();

    for (Map.Entry<String, Object> filter : filters.entrySet()) {
        String filterProperty = filter.getKey();
        Object filterValue = filter.getValue();

        if (filterValue instanceof String) {
            if (filterProperty.equalsIgnoreCase(VacancyField.GLOBAL)) {
                final BooleanQuery globalFilterBooleanQuery = BooleanQueryFactoryUtil.create(searchContext);
                globalFilterBooleanQuery.addTerms(getGlobalSearchableFields(), (String) filterValue, true);
                queries.add(globalFilterBooleanQuery);
            } else if (filterProperty.equalsIgnoreCase(CandidateField.APPLY_DATE_FROM)
                    || filterProperty.equalsIgnoreCase(CandidateField.APPLY_DATE_TO)) {
                // final String dateFrom = filters
                // .get(CandidateField.APPLY_DATE_FROM) != null ? (String)
                // filters
                // .get(CandidateField.APPLY_DATE_FROM)
                // : StringUtils.EMPTY;
                // final String dateTo = filters
                // .get(CandidateField.APPLY_DATE_TO) != null ? (String)
                // filters
                // .get(CandidateField.APPLY_DATE_TO)
                // : StringUtils.EMPTY;
                //
                // EmpLocalServiceUtil.createDateTermRangeQuery(
                // CandidateField.APPLICATION_DATE, queries, dateFrom,
                // dateTo, searchContext);
                // Query dateRangeQuery =
                // candidateLocalService.createDateTermRangeQuery(filterProperty,
                // dateFrom, dateTo, searchContext)
            } else {
                BooleanQuery stringFilterQuery = BooleanQueryFactoryUtil.create(searchContext);
                stringFilterQuery.addTerm(filterProperty, (String) filterValue, true, BooleanClauseOccur.MUST);
                queries.add(stringFilterQuery);
            }//from  w  w w.  ja  va  2  s.  co m
        } else if (filterValue instanceof List<?>) {
            queries.add(EmpLocalServiceUtil.createStringListQuery(filterProperty, (List<String>) filterValue,
                    searchContext));
        }
    }
    return searchAllUnDeletedVacanciesIndexedDocument(searchContext, queries, companyId, sort, start, end);
}