Example usage for com.liferay.portal.kernel.dao.orm QueryDefinition QueryDefinition

List of usage examples for com.liferay.portal.kernel.dao.orm QueryDefinition QueryDefinition

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.dao.orm QueryDefinition QueryDefinition.

Prototype

public QueryDefinition(int status, boolean excludeStatus, int start, int end,
            OrderByComparator<T> orderByComparator) 

Source Link

Usage

From source file:com.liferay.blogs.service.impl.BlogsEntryServiceImpl.java

License:Open Source License

@Override
public List<BlogsEntry> getCompanyEntries(long companyId, Date displayDate, int status, int max)
        throws PortalException {

    List<BlogsEntry> entries = new ArrayList<>();

    boolean listNotExhausted = true;

    QueryDefinition<BlogsEntry> queryDefinition = new QueryDefinition<>(status, false, 0, 0,
            new EntryDisplayDateComparator());

    if (status == WorkflowConstants.STATUS_ANY) {
        queryDefinition.setStatus(WorkflowConstants.STATUS_IN_TRASH, true);
    }/* www  . j  av a  2 s .c o m*/

    while ((entries.size() < max) && listNotExhausted) {
        queryDefinition.setEnd(queryDefinition.getStart() + max);

        List<BlogsEntry> entryList = blogsEntryLocalService.getCompanyEntries(companyId, displayDate,
                queryDefinition);

        queryDefinition.setStart(queryDefinition.getStart() + max);

        listNotExhausted = (entryList.size() == max);

        for (BlogsEntry entry : entryList) {
            if (entries.size() >= max) {
                break;
            }

            if (BlogsEntryPermission.contains(getPermissionChecker(), entry, ActionKeys.VIEW)) {

                entries.add(entry);
            }
        }
    }

    return entries;
}

From source file:com.liferay.blogs.service.impl.BlogsEntryServiceImpl.java

License:Open Source License

@Override
public List<BlogsEntry> getGroupsEntries(long companyId, long groupId, Date displayDate, int status, int max)
        throws PortalException {

    List<BlogsEntry> entries = new ArrayList<>();

    boolean listNotExhausted = true;

    QueryDefinition<BlogsEntry> queryDefinition = new QueryDefinition<>(status, false, 0, 0,
            new EntryDisplayDateComparator());

    if (status == WorkflowConstants.STATUS_ANY) {
        queryDefinition.setStatus(WorkflowConstants.STATUS_IN_TRASH, true);
    }/*w w w . j a  v a2 s  .c om*/

    while ((entries.size() < max) && listNotExhausted) {
        queryDefinition.setEnd(queryDefinition.getStart() + max);

        List<BlogsEntry> entryList = blogsEntryLocalService.getGroupsEntries(companyId, groupId, displayDate,
                queryDefinition);

        queryDefinition.setStart(queryDefinition.getStart() + max);

        listNotExhausted = (entryList.size() == max);

        for (BlogsEntry entry : entryList) {
            if (entries.size() >= max) {
                break;
            }

            if (BlogsEntryPermission.contains(getPermissionChecker(), entry, ActionKeys.VIEW)) {

                entries.add(entry);
            }
        }
    }

    return entries;
}

From source file:com.liferay.blogs.service.impl.BlogsEntryServiceImpl.java

License:Open Source License

@Override
public List<BlogsEntry> getOrganizationEntries(long organizationId, Date displayDate, int status, int max)
        throws PortalException {

    List<BlogsEntry> entries = new ArrayList<>();

    boolean listNotExhausted = true;

    QueryDefinition<BlogsEntry> queryDefinition = new QueryDefinition<>(status, false, 0, 0,
            new EntryDisplayDateComparator());

    if (status == WorkflowConstants.STATUS_ANY) {
        queryDefinition.setStatus(WorkflowConstants.STATUS_IN_TRASH, true);
    }//from  w w w.  ja v a 2 s . c  o m

    while ((entries.size() < max) && listNotExhausted) {
        queryDefinition.setEnd(queryDefinition.getStart() + max);

        List<BlogsEntry> entryList = blogsEntryFinder.findByOrganizationId(organizationId, displayDate,
                queryDefinition);

        queryDefinition.setStart(queryDefinition.getStart() + max);

        listNotExhausted = (entryList.size() == max);

        for (BlogsEntry entry : entryList) {
            if (entries.size() >= max) {
                break;
            }

            if (BlogsEntryPermission.contains(getPermissionChecker(), entry, ActionKeys.VIEW)) {

                entries.add(entry);
            }
        }
    }

    return entries;
}