001
014
015 package com.liferay.portlet.trash.search;
016
017 import com.liferay.portal.kernel.dao.search.SearchContainer;
018 import com.liferay.portal.kernel.log.Log;
019 import com.liferay.portal.kernel.log.LogFactoryUtil;
020 import com.liferay.portal.kernel.util.OrderByComparator;
021 import com.liferay.portal.kernel.util.ParamUtil;
022 import com.liferay.portal.kernel.util.Validator;
023 import com.liferay.portal.model.Group;
024 import com.liferay.portal.util.PortletKeys;
025 import com.liferay.portlet.PortalPreferences;
026 import com.liferay.portlet.PortletPreferencesFactoryUtil;
027 import com.liferay.portlet.trash.util.TrashUtil;
028
029 import java.util.ArrayList;
030 import java.util.HashMap;
031 import java.util.List;
032 import java.util.Map;
033
034 import javax.portlet.PortletRequest;
035 import javax.portlet.PortletURL;
036
037
040 public class EntrySearch extends SearchContainer<Group> {
041
042 static List<String> headerNames = new ArrayList<String>();
043 static Map<String, String> orderableHeaders = new HashMap<String, String>();
044
045 static {
046 headerNames.add("name");
047 headerNames.add("type");
048 headerNames.add("removed-date");
049 headerNames.add("removed-by");
050
051 orderableHeaders.put("name", "name");
052 orderableHeaders.put("type", "type");
053 orderableHeaders.put("removed-date", "removed-date");
054 orderableHeaders.put("removed-by", "removed-by");
055 }
056
057 public static final String EMPTY_RESULTS_MESSAGE =
058 "the-recycle-bin-is-empty";
059
060 public EntrySearch(PortletRequest portletRequest, PortletURL iteratorURL) {
061 super(
062 portletRequest, new EntryDisplayTerms(portletRequest),
063 new EntrySearchTerms(portletRequest), DEFAULT_CUR_PARAM,
064 DEFAULT_DELTA, iteratorURL, headerNames, EMPTY_RESULTS_MESSAGE);
065
066 try {
067 PortalPreferences preferences =
068 PortletPreferencesFactoryUtil.getPortalPreferences(
069 portletRequest);
070
071 String orderByCol = ParamUtil.getString(
072 portletRequest, "orderByCol");
073 String orderByType = ParamUtil.getString(
074 portletRequest, "orderByType");
075
076 if (Validator.isNotNull(orderByCol) &&
077 Validator.isNotNull(orderByType)) {
078
079 preferences.setValue(
080 PortletKeys.USERS_ADMIN, "entries-order-by-col",
081 orderByCol);
082 preferences.setValue(
083 PortletKeys.USERS_ADMIN, "entries-order-by-type",
084 orderByType);
085 }
086 else {
087 orderByCol = preferences.getValue(
088 PortletKeys.USERS_ADMIN, "entries-order-by-col",
089 "removed-date");
090 orderByType = preferences.getValue(
091 PortletKeys.USERS_ADMIN, "entries-order-by-type", "asc");
092 }
093
094 OrderByComparator orderByComparator =
095 TrashUtil.getEntryOrderByComparator(orderByCol, orderByType);
096
097 setOrderableHeaders(orderableHeaders);
098 setOrderByCol(orderByCol);
099 setOrderByType(orderByType);
100 setOrderByComparator(orderByComparator);
101 }
102 catch (Exception e) {
103 _log.error(e);
104 }
105 }
106
107 private static Log _log = LogFactoryUtil.getLog(EntrySearch.class);
108
109 }