Example usage for com.liferay.portal.kernel.search Sort STRING_TYPE

List of usage examples for com.liferay.portal.kernel.search Sort STRING_TYPE

Introduction

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

Prototype

int STRING_TYPE

To view the source code for com.liferay.portal.kernel.search Sort STRING_TYPE.

Click Source Link

Usage

From source file:com.liferay.asset.browser.web.internal.display.context.AssetBrowserDisplayContext.java

License:Open Source License

public AssetBrowserSearch getAssetBrowserSearch() throws Exception {
    ThemeDisplay themeDisplay = (ThemeDisplay) _request.getAttribute(WebKeys.THEME_DISPLAY);

    AssetBrowserSearch assetBrowserSearch = new AssetBrowserSearch(_renderRequest, getPortletURL());

    if (Validator.isNull(getKeywords())) {
        if (Validator.isNotNull(getAddButtonURL())) {
            assetBrowserSearch/*from  w  ww .ja v a 2s . co m*/
                    .setEmptyResultsMessageCssClass("taglib-empty-result-message-header-has-plus-btn");
        }
    } else {
        assetBrowserSearch.setSearch(true);
    }

    AssetRendererFactory assetRendererFactory = getAssetRendererFactory();

    int total = getTotal();

    assetBrowserSearch.setTotal(total);

    if (AssetBrowserWebConfigurationValues.SEARCH_WITH_DATABASE) {
        List<AssetEntry> assetEntries = AssetEntryLocalServiceUtil.getEntries(getFilterGroupIds(),
                new long[] { assetRendererFactory.getClassNameId() }, getKeywords(), getKeywords(),
                getKeywords(), getKeywords(), getListable(), false, false, assetBrowserSearch.getStart(),
                assetBrowserSearch.getEnd(), "modifiedDate", StringPool.BLANK, getOrderByType(),
                StringPool.BLANK);

        assetBrowserSearch.setResults(assetEntries);
    } else {
        Sort sort = null;

        boolean orderByAsc = false;

        if (Objects.equals(getOrderByType(), "asc")) {
            orderByAsc = true;
        }

        if (Objects.equals(getOrderByCol(), "modified-date")) {
            sort = new Sort(Field.MODIFIED_DATE, Sort.LONG_TYPE, orderByAsc);
        } else if (Objects.equals(getOrderByCol(), "title")) {
            String sortFieldName = DocumentImpl
                    .getSortableFieldName("localized_title_".concat(themeDisplay.getLanguageId()));

            sort = new Sort(sortFieldName, Sort.STRING_TYPE, orderByAsc);
        }

        Hits hits = AssetEntryLocalServiceUtil.search(themeDisplay.getCompanyId(), getFilterGroupIds(),
                themeDisplay.getUserId(), assetRendererFactory.getClassName(), getSubtypeSelectionId(),
                getKeywords(), isShowNonindexable(), getStatuses(), assetBrowserSearch.getStart(),
                assetBrowserSearch.getEnd(), sort);

        List<AssetEntry> assetEntries = _assetHelper.getAssetEntries(hits);

        assetBrowserSearch.setResults(assetEntries);
    }

    return assetBrowserSearch;
}

From source file:com.liferay.asset.internal.util.AssetHelperImpl.java

License:Open Source License

private int _getSortType(String fieldType) {
    int sortType = Sort.STRING_TYPE;

    if (fieldType.equals(Field.CREATE_DATE) || fieldType.equals(Field.EXPIRATION_DATE)
            || fieldType.equals(Field.PUBLISH_DATE) || fieldType.equals("ddm-date")
            || fieldType.equals("modifiedDate")) {

        sortType = Sort.LONG_TYPE;/*from w ww. j  a v  a  2s . c  om*/
    } else if (fieldType.equals(Field.PRIORITY) || fieldType.equals("ddm-decimal")
            || fieldType.equals("ddm-number")) {

        sortType = Sort.DOUBLE_TYPE;
    } else if (fieldType.equals("ddm-integer")) {
        sortType = Sort.INT_TYPE;
    }

    return sortType;
}

From source file:com.liferay.asset.tags.admin.web.internal.display.context.AssetTagsDisplayContext.java

License:Open Source License

public SearchContainer getTagsSearchContainer() throws PortalException {
    if (_tagsSearchContainer != null) {
        return _tagsSearchContainer;
    }/* w  w  w  . j a v  a2  s.  co m*/

    SearchContainer tagsSearchContainer = new SearchContainer(_renderRequest, _renderResponse.createRenderURL(),
            null, "there-are-no-tags");

    String keywords = getKeywords();

    if (Validator.isNull(keywords)) {
        if (isShowAddButton()) {
            tagsSearchContainer.setEmptyResultsMessage("there-are-no-tags.-you-can-add-a-tag-by-clicking-the-"
                    + "plus-button-on-the-bottom-right-corner");
            tagsSearchContainer
                    .setEmptyResultsMessageCssClass("taglib-empty-result-message-header-has-plus-btn");
        }
    } else {
        tagsSearchContainer.setSearch(true);
    }

    tagsSearchContainer.setRowChecker(new EmptyOnClickRowChecker(_renderResponse));

    ThemeDisplay themeDisplay = (ThemeDisplay) _request.getAttribute(WebKeys.THEME_DISPLAY);

    if (Validator.isNotNull(keywords)) {
        Sort sort = null;

        String orderByCol = getOrderByCol();

        if (orderByCol.equals("name")) {
            sort = SortFactoryUtil.getSort(AssetTag.class, Sort.STRING_TYPE, Field.NAME, getOrderByType());
        } else if (orderByCol.equals("usages")) {
            sort = SortFactoryUtil.getSort(AssetTag.class, Sort.INT_TYPE, "assetCount_Number",
                    getOrderByType());
        }

        BaseModelSearchResult<AssetTag> baseModelSearchResult = AssetTagLocalServiceUtil.searchTags(
                new long[] { themeDisplay.getScopeGroupId() }, keywords, tagsSearchContainer.getStart(),
                tagsSearchContainer.getEnd(), sort);

        tagsSearchContainer.setResults(baseModelSearchResult.getBaseModels());
        tagsSearchContainer.setTotal(baseModelSearchResult.getLength());
    } else {
        String orderByCol = getOrderByCol();

        tagsSearchContainer.setOrderByCol(orderByCol);

        OrderByComparator<AssetTag> orderByComparator = null;

        boolean orderByAsc = false;

        String orderByType = getOrderByType();

        if (orderByType.equals("asc")) {
            orderByAsc = true;
        }

        if (orderByCol.equals("name")) {
            orderByComparator = new AssetTagNameComparator(orderByAsc);
        } else if (orderByCol.equals("usages")) {
            orderByComparator = new AssetTagAssetCountComparator(orderByAsc);
        }

        tagsSearchContainer.setOrderByComparator(orderByComparator);

        tagsSearchContainer.setOrderByType(orderByType);

        long scopeGroupId = themeDisplay.getScopeGroupId();

        int tagsCount = AssetTagServiceUtil.getTagsCount(scopeGroupId, keywords);

        tagsSearchContainer.setTotal(tagsCount);

        List<AssetTag> tags = AssetTagServiceUtil.getTags(scopeGroupId, StringPool.BLANK,
                tagsSearchContainer.getStart(), tagsSearchContainer.getEnd(),
                tagsSearchContainer.getOrderByComparator());

        tagsSearchContainer.setResults(tags);
    }

    _tagsSearchContainer = tagsSearchContainer;

    return _tagsSearchContainer;
}

From source file:com.liferay.journal.web.internal.display.context.JournalDisplayContext.java

License:Open Source License

public SearchContainer getSearchContainer(boolean showVersions) throws PortalException {

    ThemeDisplay themeDisplay = (ThemeDisplay) _request.getAttribute(WebKeys.THEME_DISPLAY);

    SearchContainer articleSearchContainer = new SearchContainer(_liferayPortletRequest, getPortletURL(), null,
            null);/*from  w ww  .  ja  va  2  s  .  com*/

    if (!isSearch()) {
        articleSearchContainer
                .setEmptyResultsMessageCssClass("taglib-empty-result-message-header-has-plus-btn");
    } else {
        articleSearchContainer.setSearch(true);
    }

    OrderByComparator<JournalArticle> orderByComparator = JournalPortletUtil
            .getArticleOrderByComparator(getOrderByCol(), getOrderByType());

    articleSearchContainer.setOrderByCol(getOrderByCol());
    articleSearchContainer.setOrderByComparator(orderByComparator);
    articleSearchContainer.setOrderByType(getOrderByType());

    EntriesChecker entriesChecker = new EntriesChecker(_liferayPortletRequest, _liferayPortletResponse);

    entriesChecker.setCssClass("entry-selector");
    entriesChecker.setRememberCheckBoxStateURLRegex(
            "^(?!.*" + _liferayPortletResponse.getNamespace() + "redirect).*(folderId=" + getFolderId() + ")");

    articleSearchContainer.setRowChecker(entriesChecker);

    EntriesMover entriesMover = new EntriesMover(themeDisplay.getScopeGroupId());

    articleSearchContainer.setRowMover(entriesMover);

    if (isNavigationMine() || isNavigationRecent()) {
        boolean includeOwner = true;

        if (isNavigationMine()) {
            includeOwner = false;
        }

        if (isNavigationRecent()) {
            articleSearchContainer.setOrderByCol("create-date");
            articleSearchContainer.setOrderByType(getOrderByType());
        }

        int total = JournalArticleServiceUtil.getGroupArticlesCount(themeDisplay.getScopeGroupId(),
                themeDisplay.getUserId(), getFolderId(), getStatus(), includeOwner);

        articleSearchContainer.setTotal(total);

        List results = JournalArticleServiceUtil.getGroupArticles(themeDisplay.getScopeGroupId(),
                themeDisplay.getUserId(), getFolderId(), getStatus(), includeOwner,
                articleSearchContainer.getStart(), articleSearchContainer.getEnd(),
                articleSearchContainer.getOrderByComparator());

        articleSearchContainer.setResults(results);
    } else if (Validator.isNotNull(getDDMStructureKey())) {
        int total = JournalArticleServiceUtil.getArticlesCountByStructureId(themeDisplay.getScopeGroupId(),
                getDDMStructureKey(), getStatus());

        articleSearchContainer.setTotal(total);

        List results = JournalArticleServiceUtil.getArticlesByStructureId(themeDisplay.getScopeGroupId(),
                getDDMStructureKey(), getStatus(), articleSearchContainer.getStart(),
                articleSearchContainer.getEnd(), articleSearchContainer.getOrderByComparator());

        articleSearchContainer.setResults(results);
    } else if (Validator.isNotNull(getDDMTemplateKey())) {
        List<Long> folderIds = new ArrayList<>(1);

        if (getFolderId() != JournalFolderConstants.DEFAULT_PARENT_FOLDER_ID) {

            folderIds.add(getFolderId());
        }

        int total = JournalArticleServiceUtil.searchCount(themeDisplay.getCompanyId(),
                themeDisplay.getScopeGroupId(), folderIds, JournalArticleConstants.CLASSNAME_ID_DEFAULT,
                getKeywords(), -1.0, getDDMStructureKey(), getDDMTemplateKey(), null, null, getStatus(), null);

        articleSearchContainer.setTotal(total);

        List results = JournalArticleServiceUtil.search(themeDisplay.getCompanyId(),
                themeDisplay.getScopeGroupId(), folderIds, JournalArticleConstants.CLASSNAME_ID_DEFAULT,
                getKeywords(), -1.0, getDDMStructureKey(), getDDMTemplateKey(), null, null, getStatus(), null,
                articleSearchContainer.getStart(), articleSearchContainer.getEnd(),
                articleSearchContainer.getOrderByComparator());

        articleSearchContainer.setResults(results);
    } else if (isSearch()) {
        List<Long> folderIds = new ArrayList<>(1);

        if (getFolderId() != JournalFolderConstants.DEFAULT_PARENT_FOLDER_ID) {

            folderIds.add(getFolderId());
        }

        JournalWebConfiguration journalWebConfiguration = (JournalWebConfiguration) _request
                .getAttribute(JournalWebConfiguration.class.getName());

        if (journalWebConfiguration.journalArticlesSearchWithIndex()) {
            boolean orderByAsc = false;

            if (Objects.equals(getOrderByType(), "asc")) {
                orderByAsc = true;
            }

            Sort sort = null;

            if (Objects.equals(getOrderByCol(), "display-date")) {
                sort = new Sort("displayDate", Sort.LONG_TYPE, orderByAsc);
            } else if (Objects.equals(getOrderByCol(), "id")) {
                sort = new Sort(DocumentImpl.getSortableFieldName(Field.ARTICLE_ID), Sort.STRING_TYPE,
                        !orderByAsc);
            } else if (Objects.equals(getOrderByCol(), "modified-date")) {
                sort = new Sort(Field.MODIFIED_DATE, Sort.LONG_TYPE, orderByAsc);
            } else if (Objects.equals(getOrderByCol(), "title")) {
                sort = new Sort("title", Sort.STRING_TYPE, !orderByAsc);
            }

            LinkedHashMap<String, Object> params = new LinkedHashMap<>();

            params.put("expandoAttributes", getKeywords());

            Indexer indexer = JournalSearcher.getInstance();

            SearchContext searchContext = buildSearchContext(themeDisplay.getCompanyId(),
                    themeDisplay.getScopeGroupId(), folderIds, JournalArticleConstants.CLASSNAME_ID_DEFAULT,
                    getDDMStructureKey(), getDDMTemplateKey(), getKeywords(), params,
                    articleSearchContainer.getStart(), articleSearchContainer.getEnd(), sort, showVersions);

            Hits hits = indexer.search(searchContext);

            int total = hits.getLength();

            articleSearchContainer.setTotal(total);

            List results = new ArrayList<>();

            Document[] documents = hits.getDocs();

            for (int i = 0; i < documents.length; i++) {
                Document document = documents[i];

                JournalArticle article = null;
                JournalFolder folder = null;

                String className = document.get(Field.ENTRY_CLASS_NAME);
                long classPK = GetterUtil.getLong(document.get(Field.ENTRY_CLASS_PK));

                if (className.equals(JournalArticle.class.getName())) {
                    if (!showVersions) {
                        article = JournalArticleLocalServiceUtil.fetchLatestArticle(classPK,
                                WorkflowConstants.STATUS_ANY, false);
                    } else {
                        String articleId = document.get(Field.ARTICLE_ID);
                        long groupId = GetterUtil.getLong(document.get(Field.GROUP_ID));
                        double version = GetterUtil.getDouble(document.get(Field.VERSION));

                        article = JournalArticleLocalServiceUtil.fetchArticle(groupId, articleId, version);
                    }

                    results.add(article);
                } else if (className.equals(JournalFolder.class.getName())) {
                    folder = JournalFolderLocalServiceUtil.getFolder(classPK);

                    results.add(folder);
                }
            }

            articleSearchContainer.setResults(results);
        } else {
            int total = JournalArticleServiceUtil.searchCount(themeDisplay.getCompanyId(),
                    themeDisplay.getScopeGroupId(), folderIds, JournalArticleConstants.CLASSNAME_ID_DEFAULT,
                    getKeywords(), -1.0, getDDMStructureKey(), getDDMTemplateKey(), null, null, getStatus(),
                    null);

            articleSearchContainer.setTotal(total);

            List results = JournalArticleServiceUtil.search(themeDisplay.getCompanyId(),
                    themeDisplay.getScopeGroupId(), folderIds, JournalArticleConstants.CLASSNAME_ID_DEFAULT,
                    getKeywords(), -1.0, getDDMStructureKey(), getDDMTemplateKey(), null, null, getStatus(),
                    null, articleSearchContainer.getStart(), articleSearchContainer.getEnd(),
                    articleSearchContainer.getOrderByComparator());

            articleSearchContainer.setResults(results);
        }
    } else {
        int total = JournalFolderServiceUtil.getFoldersAndArticlesCount(themeDisplay.getScopeGroupId(), 0,
                getFolderId(), getStatus());

        articleSearchContainer.setTotal(total);

        OrderByComparator<Object> folderOrderByComparator = null;

        boolean orderByAsc = false;

        if (Objects.equals(getOrderByType(), "asc")) {
            orderByAsc = true;
        }

        if (Objects.equals(getOrderByCol(), "display-date")) {
            folderOrderByComparator = new FolderArticleDisplayDateComparator(orderByAsc);
        } else if (Objects.equals(getOrderByCol(), "id")) {
            folderOrderByComparator = new FolderArticleArticleIdComparator(orderByAsc);
        } else if (Objects.equals(getOrderByCol(), "modified-date")) {
            folderOrderByComparator = new FolderArticleModifiedDateComparator(orderByAsc);
        } else if (Objects.equals(getOrderByCol(), "title")) {
            folderOrderByComparator = new FolderArticleTitleComparator(orderByAsc);
        }

        List results = JournalFolderServiceUtil.getFoldersAndArticles(themeDisplay.getScopeGroupId(), 0,
                getFolderId(), getStatus(), themeDisplay.getLocale(), articleSearchContainer.getStart(),
                articleSearchContainer.getEnd(), folderOrderByComparator);

        articleSearchContainer.setResults(results);
    }

    return articleSearchContainer;
}

From source file:com.liferay.knowledgebase.util.KnowledgeBaseUtil.java

License:Open Source License

public static Sort[] getKBArticleSorts(String orderByCol, String orderByType) {

    if (Validator.isNull(orderByCol) || Validator.isNull(orderByType)) {
        return SortFactoryUtil.getDefaultSorts();
    }//from   www  . jav a2s .  co  m

    boolean reverse = true;

    if (orderByType.equals("asc")) {
        reverse = false;
    }

    if (orderByCol.equals("create-date")) {
        String fieldName = Field.CREATE_DATE;

        return new Sort[] { SortFactoryUtil.create(fieldName, Sort.LONG_TYPE, reverse),
                SortFactoryUtil.create(null, Sort.SCORE_TYPE, false) };
    } else if (orderByCol.equals("modified-date")) {
        String fieldName = Field.MODIFIED_DATE;

        return new Sort[] { SortFactoryUtil.create(fieldName, Sort.LONG_TYPE, reverse),
                SortFactoryUtil.create(null, Sort.SCORE_TYPE, false) };
    } else if (orderByCol.equals("score")) {
        String fieldName = null;

        return new Sort[] { SortFactoryUtil.create(fieldName, Sort.SCORE_TYPE, !reverse),
                SortFactoryUtil.create(Field.MODIFIED_DATE, Sort.LONG_TYPE, true) };
    } else if (orderByCol.equals("title")) {
        String fieldName = "titleKeyword";

        return new Sort[] { SortFactoryUtil.create(fieldName, Sort.STRING_TYPE, reverse),
                SortFactoryUtil.create(null, Sort.SCORE_TYPE, false) };
    } else if (orderByCol.equals("user-name")) {
        String fieldName = Field.USER_NAME;

        return new Sort[] { SortFactoryUtil.create(fieldName, Sort.STRING_TYPE, reverse),
                SortFactoryUtil.create(null, Sort.SCORE_TYPE, false) };
    }

    return SortFactoryUtil.getDefaultSorts();
}

From source file:org.apache.jsp.html.portlet.enterprise_005fadmin.view_005fusers_jsp.java

License:Open Source License

private static Sort _getSort(String orderByCol, String orderByType) {
        String sortField = "firstName";

        if (Validator.isNotNull(orderByCol)) {
            if (orderByCol.equals("email-address")) {
                sortField = "emailAddress";
            } else if (orderByCol.equals("first-name")) {
                sortField = "firstName";
            } else if (orderByCol.equals("job-title")) {
                sortField = "jobTitle";
            } else if (orderByCol.equals("last-name")) {
                sortField = "lastName";
            } else if (orderByCol.equals("screen-name")) {
                sortField = "screenName";
            } else {
                sortField = orderByCol;//from w  w  w .j  a v  a 2 s .co  m
            }
        }

        if (Validator.isNull(orderByType)) {
            orderByType = "asc";
        }

        return new Sort(sortField, Sort.STRING_TYPE, !orderByType.equalsIgnoreCase("asc"));
    }

From source file:org.fit.portlet.service.service.impl.InserFitxaPersonalLocalServiceImpl.java

License:Open Source License

private int getType(String orderByColumn) {

    if (orderByColumn.equalsIgnoreCase(Field.CLASS_PK)) {

        return Sort.LONG_TYPE;

    }/* ww w .j av a2  s. c  om*/

    return Sort.STRING_TYPE;
}