Example usage for com.liferay.portal.kernel.dao.search SearchContainer SearchContainer

List of usage examples for com.liferay.portal.kernel.dao.search SearchContainer SearchContainer

Introduction

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

Prototype

public SearchContainer(PortletRequest portletRequest, DisplayTerms displayTerms, DisplayTerms searchTerms,
            String curParam, int delta, PortletURL iteratorURL, List<String> headerNames,
            String emptyResultsMessage) 

Source Link

Usage

From source file:com.liferay.journal.content.search.web.internal.display.context.JournalContentSearchDisplayContext.java

License:Open Source License

public SearchContainer getSearchContainer() throws Exception {
    if (_searchContainer != null) {
        return _searchContainer;
    }/*w w w.  j  a v  a2 s  .  c om*/

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

    Layout layout = themeDisplay.getLayout();

    PortletURL renderURL = _liferayPortletResponse.createRenderURL();

    renderURL.setParameter("mvcPath", "/search.jsp");
    renderURL.setParameter("keywords", getKeywords());

    String originalKeywords = ParamUtil.getString(_request, "keywords", getKeywords());

    _searchContainer = new SearchContainer(_liferayPortletRequest, null, null,
            SearchContainer.DEFAULT_CUR_PARAM, SearchContainer.DEFAULT_DELTA, renderURL, null,
            LanguageUtil.format(_request, "no-pages-were-found-that-matched-the-keywords-x",
                    "<strong>" + HtmlUtil.escape(originalKeywords) + "</strong>", false));

    Hits hits = getHits();

    ContentHits contentHits = new ContentHits();

    contentHits.setShowListed(_journalContentSearchPortletInstanceConfiguration.showListed());

    contentHits.recordHits(hits, layout.getGroupId(), layout.isPrivateLayout(), _searchContainer.getStart(),
            _searchContainer.getEnd());

    _searchContainer.setTotal(hits.getLength());
    _searchContainer.setResults(ListUtil.toList(hits.getDocs()));

    return _searchContainer;
}

From source file:com.liferay.taglib.ui.SearchContainerTag.java

License:Open Source License

@Override
public int doStartTag() throws JspException {
    try {//from   w  ww  .  j  ava 2  s  .  c  o  m
        HttpServletRequest request = getServletRequest();

        PortletRequest portletRequest = (PortletRequest) request
                .getAttribute(JavaConstants.JAVAX_PORTLET_REQUEST);
        PortletResponse portletResponse = (PortletResponse) request
                .getAttribute(JavaConstants.JAVAX_PORTLET_RESPONSE);

        if (_iteratorURL == null) {
            _iteratorURL = ((MimeResponse) portletResponse).createRenderURL();
        }

        if (_searchContainer == null) {
            _searchContainer = new SearchContainer<R>(portletRequest, _displayTerms, _searchTerms,
                    getCurParam(), getDelta(), _iteratorURL, null, _emptyResultsMessage);
        }

        _searchContainer.setDeltaConfigurable(_deltaConfigurable);
        _searchContainer.setId(_id);

        if (_headerNames != null) {
            _searchContainer.setHeaderNames(_headerNames);
        }

        _searchContainer.setHover(_hover);

        if (Validator.isNotNull(_orderByColParam)) {
            _searchContainer.setOrderByColParam(_orderByColParam);
        }

        if (Validator.isNotNull(_orderByCol)) {
            _searchContainer.setOrderByCol(_orderByCol);
        }

        if (_orderByComparator != null) {
            _searchContainer.setOrderByComparator(_orderByComparator);
        }

        if (Validator.isNotNull(_orderByTypeParam)) {
            _searchContainer.setOrderByTypeParam(_orderByTypeParam);
        }

        if (Validator.isNotNull(_orderByType)) {
            _searchContainer.setOrderByType(_orderByType);
        }

        if (_rowChecker != null) {
            _searchContainer.setRowChecker(_rowChecker);
        }

        pageContext.setAttribute(_var, _searchContainer);

        return EVAL_BODY_INCLUDE;
    } catch (Exception e) {
        throw new JspException(e);
    }
}

From source file:com.liferay.trash.web.internal.display.context.TrashContainerModelDisplayContext.java

License:Open Source License

public SearchContainer getSearchContainer() {
    if (_searchContainer != null) {
        return _searchContainer;
    }//from w  ww .  j a va2 s .c  o  m

    PortletURL containerURL = getContainerURL();

    containerURL.setParameter("containerModelId", String.valueOf(getContainerModelId()));

    _searchContainer = new SearchContainer(_liferayPortletRequest, null, null,
            SearchContainer.DEFAULT_CUR_PARAM, SearchContainer.DEFAULT_DELTA, containerURL, null, null);

    return _searchContainer;
}

From source file:it.gebhard.qa.QAPortlet.java

License:Open Source License

private static void fillSearchContainer(RenderRequest renderRequest, RenderResponse renderResponse,
        String sortParameter, String searchParameter) {
    PortletConfig portletConfig = (PortletConfig) renderRequest
            .getAttribute(JavaConstants.JAVAX_PORTLET_CONFIG);
    ThemeDisplay themeDisplay = (ThemeDisplay) renderRequest.getAttribute(WebKeys.THEME_DISPLAY);
    List<Question> questionList = new ArrayList<Question>();

    Map<String, String> paramMap = new HashMap<String, String>();
    paramMap.put("qa-sort-value", sortParameter);
    paramMap.put("qa-search-input", searchParameter);
    boolean unansweredFirst = sortParameter.equals("unanswered");

    // Creating IteratorURL and in that we will pass tab parameter
    PortletURL iteratorURL = renderResponse.createRenderURL();
    Iterator<Map.Entry<String, String>> entries = paramMap.entrySet().iterator();
    while (entries.hasNext()) {
        Map.Entry<String, String> entry = entries.next();
        iteratorURL.setParameter(entry.getKey(), entry.getValue());
    }//from   w  w  w.j a v  a 2 s. co m

    // Creating SearchContainer
    SearchContainer<Question> searchContainer = new SearchContainer<Question>(renderRequest, null, null,
            SearchContainer.DEFAULT_CUR_PARAM,
            ParamUtil.getInteger(renderRequest, SearchContainer.DEFAULT_DELTA_PARAM, 10), iteratorURL, null,
            LanguageUtil.get(portletConfig, themeDisplay.getLocale(),
                    getTranslatedString("qa-no-questions-found", themeDisplay.getLocale(), renderRequest)));
    int total = 0;
    try {
        // Fetching all the User Group from the Current Company and added that into the userGroupList
        questionList = QuestionLocalServiceUtil.filterQuestions(unansweredFirst, searchParameter);
        total = questionList.size();
    } catch (SystemException e) {
        SessionErrors.add(renderRequest, SystemException.class.getName());
    }

    // Sub listing the userGroupList depending on the delta parameter we have set in the SearchContainer.
    questionList = ListUtil.subList(questionList, searchContainer.getStart(), searchContainer.getEnd());
    searchContainer.setTotal(total);
    searchContainer.setResults(questionList);
    renderRequest.setAttribute("questionSearchContainer", searchContainer);
}

From source file:jorgediazest.indexchecker.output.IndexCheckerOutput.java

License:Open Source License

public static SearchContainer<Comparison> generateSearchContainer(PortletConfig portletConfig,
        RenderRequest renderRequest, boolean groupBySite, Map<Long, List<Comparison>> resultDataMap,
        PortletURL serverURL) throws SystemException {

    Locale locale = renderRequest.getLocale();

    ResourceBundle resourceBundle = portletConfig.getResourceBundle(locale);

    String[] headerKeys;/*from  www  . j av  a2 s  . c  om*/

    if (groupBySite) {
        headerKeys = new String[] { "output.groupid", "output.groupname", "output.entityclass",
                "output.entityname", "output.errortype", "output.count", "output.primarykeys" };
    } else {
        headerKeys = new String[] { "output.entityclass", "output.entityname", "output.errortype",
                "output.count", "output.primarykeys" };
    }

    List<String> headerNames = OutputUtils.getHeaders(portletConfig, locale, headerKeys);

    SearchContainer<Comparison> searchContainer = new SearchContainer<Comparison>(renderRequest, null, null,
            SearchContainer.DEFAULT_CUR_PARAM, SearchContainer.MAX_DELTA, serverURL, headerNames, null);

    int numberOfRows = 0;

    for (Entry<Long, List<Comparison>> entry : resultDataMap.entrySet()) {

        String groupIdOutput = null;
        String groupNameOutput = null;

        if (groupBySite) {
            Group group = GroupLocalServiceUtil.fetchGroup(entry.getKey());

            if (group == null) {
                groupIdOutput = LanguageUtil.get(resourceBundle, "output.not-applicable-groupid");
                groupNameOutput = LanguageUtil.get(resourceBundle, "output.not-applicable-groupname");
            } else {
                groupIdOutput = "" + group.getGroupId();
                groupNameOutput = group.getName();
            }
        }

        List<Comparison> results = searchContainer.getResults();

        if ((results == null) || (results.size() == 0)) {
            results = new ArrayList<Comparison>();
        }

        results.addAll(entry.getValue());

        results = ListUtil.subList(results, searchContainer.getStart(), searchContainer.getEnd());

        searchContainer.setResults(results);

        List<ResultRow> resultRows = searchContainer.getResultRows();

        for (Comparison comp : entry.getValue()) {
            ResultRow rowError = generateSearchContainerRow(resourceBundle, comp, groupIdOutput,
                    groupNameOutput, "error", locale, numberOfRows, comp.getError(), "");

            if (rowError != null) {
                numberOfRows++;
                resultRows.add(rowError);
            }

            for (String type : comp.getOutputTypes()) {
                ResultRow row = generateSearchContainerRow(resourceBundle, comp, groupIdOutput, groupNameOutput,
                        type, locale, numberOfRows);

                if (row != null) {
                    numberOfRows++;
                    resultRows.add(row);
                }
            }
        }
    }

    searchContainer.setTotal(numberOfRows);

    return searchContainer;
}

From source file:jorgediazest.missingrefchecker.output.MissingRefCheckerOutput.java

License:Open Source License

public static SearchContainer<MissingRefInfo> generateSearchContainerCheckReferences(
        PortletConfig portletConfig, RenderRequest renderRequest, List<MissingRefInfo> listMissingRefInfo,
        PortletURL serverURL) throws SystemException {

    Locale locale = renderRequest.getLocale();

    String[] headerKeys = new String[] { "output.entity-class"/*,"output.entity-name"*/, "output.attributes",
            "output.relation-type", "output.destination", "output.missing-references", "output.other" };

    List<String> headers = OutputUtils.getHeaders(portletConfig, locale, headerKeys);

    SearchContainer<MissingRefInfo> searchContainer = new SearchContainer<MissingRefInfo>(renderRequest, null,
            null, SearchContainer.DEFAULT_CUR_PARAM, SearchContainer.MAX_DELTA, serverURL, headers, null);

    listMissingRefInfo = ListUtil.subList(listMissingRefInfo, searchContainer.getStart(),
            searchContainer.getEnd());//  w  w  w.j a va2 s  .co  m

    searchContainer.setResults(listMissingRefInfo);

    List<ResultRow> resultRows = searchContainer.getResultRows();

    int numberOfRows = 0;

    for (MissingRefInfo missingRefInfo : listMissingRefInfo) {
        ResultRow row = generateSearchContainerRowCheckReferences(portletConfig, missingRefInfo, locale,
                numberOfRows);

        if (row != null) {
            numberOfRows++;
            resultRows.add(row);
        }
    }

    searchContainer.setTotal(numberOfRows);

    return searchContainer;
}

From source file:jorgediazest.missingrefchecker.output.MissingRefCheckerOutput.java

License:Open Source License

public static SearchContainer<Reference> generateSearchContainerMappingList(PortletConfig portletConfig,
        RenderRequest renderRequest, List<Reference> referecesList, PortletURL serverURL)
        throws SystemException {

    Locale locale = renderRequest.getLocale();

    String[] headerKeys = new String[] { "output.entity-class", /*"output.entity-name",*/"output.attributes",
            "output.relation-type", "output.destination" };

    List<String> headers = OutputUtils.getHeaders(portletConfig, locale, headerKeys);

    SearchContainer<Reference> searchContainer = new SearchContainer<Reference>(renderRequest, null, null,
            SearchContainer.DEFAULT_CUR_PARAM, SearchContainer.MAX_DELTA, serverURL, headers, null);

    referecesList = ListUtil.subList(referecesList, searchContainer.getStart(), searchContainer.getEnd());

    searchContainer.setResults(referecesList);

    List<ResultRow> resultRows = searchContainer.getResultRows();

    int numberOfRows = 0;

    for (Reference reference : referecesList) {
        ResultRow row = generateSearchContainerRowMappingList(portletConfig, reference, locale, numberOfRows);

        if (row != null) {
            numberOfRows++;// ww  w.ja v a  2 s .c  o  m
            resultRows.add(row);
        }
    }

    searchContainer.setTotal(numberOfRows);

    return searchContainer;
}

From source file:jorgediazest.stagingchecker.output.StagingCheckerOutput.java

License:Open Source License

public static SearchContainer<Comparison> generateSearchContainer(PortletConfig portletConfig,
        RenderRequest renderRequest, boolean groupBySite, Map<Long, List<Comparison>> resultDataMap,
        PortletURL serverURL) throws SystemException {

    Locale locale = renderRequest.getLocale();

    ResourceBundle resourceBundle = portletConfig.getResourceBundle(locale);

    String[] headerKeys;//ww  w  .ja  v  a  2  s. c  o m

    if (groupBySite) {
        headerKeys = new String[] { "output.groupid", "output.groupname", "output.entityclass",
                "output.entityname", "output.errortype", "output.count", "output.primarykeys" };
    } else {
        headerKeys = new String[] { "output.entityclass", "output.entityname", "output.errortype",
                "output.count", "output.primarykeys" };
    }

    List<String> headerNames = OutputUtils.getHeaders(portletConfig, locale, headerKeys);

    SearchContainer<Comparison> searchContainer = new SearchContainer<Comparison>(renderRequest, null, null,
            SearchContainer.DEFAULT_CUR_PARAM, SearchContainer.MAX_DELTA, serverURL, headerNames, null);

    int numberOfRows = 0;

    for (Entry<Long, List<Comparison>> entry : resultDataMap.entrySet()) {

        String groupIdOutput = null;
        String groupNameOutput = null;

        if (groupBySite) {
            Group group = GroupLocalServiceUtil.fetchGroup(entry.getKey());

            if (group == null) {
                groupIdOutput = LanguageUtil.get(resourceBundle, "output.not-applicable-groupid");
                groupNameOutput = LanguageUtil.get(resourceBundle, "output.not-applicable-groupname");
            } else {
                groupIdOutput = "" + group.getGroupId();
                groupNameOutput = group.getName();
            }
        }

        List<Comparison> results = searchContainer.getResults();

        if ((results == null) || (results.size() == 0)) {
            results = new ArrayList<Comparison>();
        }

        results.addAll(entry.getValue());

        results = ListUtil.subList(results, searchContainer.getStart(), searchContainer.getEnd());

        searchContainer.setResults(results);

        List<ResultRow> resultRows = searchContainer.getResultRows();

        for (Comparison comp : entry.getValue()) {
            ResultRow rowError = OutputUtils.generateSearchContainerRow(resourceBundle, comp, groupIdOutput,
                    groupNameOutput, "error", locale, numberOfRows, comp.getError());

            if (rowError != null) {
                numberOfRows++;
                resultRows.add(rowError);
            }

            for (String type : comp.getOutputTypes()) {
                String attribute = "uuid";

                int maxSize = 10;

                ResultRow row = OutputUtils.generateSearchContainerRow(resourceBundle, comp, groupIdOutput,
                        groupNameOutput, type, attribute, locale, numberOfRows, maxSize);

                if (row != null) {
                    numberOfRows++;
                    resultRows.add(row);
                }
            }
        }
    }

    searchContainer.setTotal(numberOfRows);

    return searchContainer;
}