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

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

Introduction

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

Prototype

public long[] getGroupIds() 

Source Link

Usage

From source file:com.liferay.calendar.search.CalendarBookingIndexer.java

License:Open Source License

@Override
public BooleanFilter getFacetBooleanFilter(String className, SearchContext searchContext) throws Exception {

    BooleanFilter booleanFilter = new BooleanFilter();

    booleanFilter.addTerm(Field.ENTRY_CLASS_NAME, CalendarBooking.class.getName());

    if (searchContext.getUserId() > 0) {
        SearchPermissionChecker searchPermissionChecker = SearchEngineHelperUtil.getSearchPermissionChecker();

        booleanFilter = searchPermissionChecker.getPermissionBooleanFilter(searchContext.getCompanyId(),
                searchContext.getGroupIds(), searchContext.getUserId(), Calendar.class.getName(), booleanFilter,
                searchContext);/*from  ww  w.j  a  va  2  s . co m*/
    }

    return booleanFilter;
}

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

License:Open Source License

@Override
public BooleanFilter getFacetBooleanFilter(String className, SearchContext searchContext) throws Exception {

    BooleanFilter facetBooleanFilter = new BooleanFilter();

    facetBooleanFilter.addTerm(Field.ENTRY_CLASS_NAME, DDLRecord.class.getName());

    if (searchContext.getUserId() > 0) {
        facetBooleanFilter = searchPermissionChecker.getPermissionBooleanFilter(searchContext.getCompanyId(),
                searchContext.getGroupIds(), searchContext.getUserId(), DDLRecordSet.class.getName(),
                facetBooleanFilter, searchContext);
    }//from w w  w.jav  a2s . c  o  m

    return facetBooleanFilter;
}

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

License:Open Source License

@Override
public BooleanFilter getFacetBooleanFilter(String className, SearchContext searchContext) throws Exception {

    BooleanFilter facetBooleanFilter = new BooleanFilter();

    facetBooleanFilter.addTerm(Field.ENTRY_CLASS_NAME, DDMFormInstanceRecord.class.getName());

    if (searchContext.getUserId() > 0) {
        facetBooleanFilter = searchPermissionChecker.getPermissionBooleanFilter(searchContext.getCompanyId(),
                searchContext.getGroupIds(), searchContext.getUserId(), DDMFormInstance.class.getName(),
                facetBooleanFilter, searchContext);
    }/*  w  ww. j  a v  a2 s.  co  m*/

    return facetBooleanFilter;
}

From source file:com.liferay.portlet.documentlibrary.util.DLIndexer.java

License:Open Source License

@Override
public void postProcessSearchQuery(BooleanQuery searchQuery, SearchContext searchContext) throws Exception {

    Set<DDMStructure> ddmStructuresSet = new TreeSet<DDMStructure>();

    long[] groupIds = searchContext.getGroupIds();

    if ((groupIds != null) && (groupIds.length > 0)) {
        List<DLFileEntryType> dlFileEntryTypes = DLFileEntryTypeLocalServiceUtil.getFileEntryTypes(groupIds);

        for (DLFileEntryType dlFileEntryType : dlFileEntryTypes) {
            ddmStructuresSet.addAll(dlFileEntryType.getDDMStructures());
        }//from w  w  w .jav  a2  s .c om
    }

    Group group = GroupLocalServiceUtil.getCompanyGroup(searchContext.getCompanyId());

    DDMStructure tikaRawMetadataStructure = DDMStructureLocalServiceUtil.fetchStructure(group.getGroupId(),
            "TikaRawMetadata");

    if (tikaRawMetadataStructure != null) {
        ddmStructuresSet.add(tikaRawMetadataStructure);
    }

    for (DDMStructure ddmStructure : ddmStructuresSet) {
        addSearchDDMStruture(searchQuery, searchContext, ddmStructure);
    }

    addSearchTerm(searchQuery, searchContext, Field.USER_NAME, false);

    addSearchTerm(searchQuery, searchContext, "extension", false);
    addSearchTerm(searchQuery, searchContext, "fileEntryTypeId", false);
    addSearchTerm(searchQuery, searchContext, "path", false);

    LinkedHashMap<String, Object> params = (LinkedHashMap<String, Object>) searchContext.getAttribute("params");

    if (params != null) {
        String expandoAttributes = (String) params.get("expandoAttributes");

        if (Validator.isNotNull(expandoAttributes)) {
            addSearchExpando(searchQuery, searchContext, expandoAttributes);
        }
    }
}

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

License:Open Source License

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

    try {/*  w w  w . ja v  a 2s  .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.rknowsys.portal.search.elastic.ElasticsearchIndexSearcher.java

License:Open Source License

private Query getPermissionQuery(SearchContext searchContext, Query query) {
    if (searchContext.getEntryClassNames() == null) {
        return query;
    }/*from  ww w.j av a2  s.com*/
    for (String className : searchContext.getEntryClassNames()) {
        Indexer indexer = IndexerRegistryUtil.getIndexer(className);
        if (indexer != null) {
            if (indexer.isFilterSearch() && indexer.isPermissionAware()) {
                SearchPermissionChecker searchPermissionChecker = SearchEngineUtil.getSearchPermissionChecker();
                query = searchPermissionChecker.getPermissionQuery(searchContext.getCompanyId(),
                        searchContext.getGroupIds(), searchContext.getUserId(), className, query,
                        searchContext);
            }
        }
    }
    return query;
}