1
19
20 package com.liferay.portal.kernel.dao.search;
21
22 import com.liferay.portal.kernel.util.CalendarFactoryUtil;
23 import com.liferay.portal.kernel.util.DateUtil;
24 import com.liferay.portal.kernel.util.GetterUtil;
25 import com.liferay.portal.kernel.util.ParamUtil;
26 import com.liferay.portal.kernel.util.StringPool;
27 import com.liferay.portal.kernel.util.Validator;
28
29 import java.text.DateFormat;
30
31 import java.util.Calendar;
32
33 import javax.portlet.PortletRequest;
34
35 import javax.servlet.http.HttpServletRequest;
36
37
43 public class DAOParamUtil {
44
45
47 public static boolean getBoolean(HttpServletRequest request, String param) {
48 return GetterUtil.getBoolean(getString(request, param));
49 }
50
51 public static int getInteger(HttpServletRequest request, String param) {
52 return GetterUtil.getInteger(getString(request, param));
53 }
54
55 public static String getISODate(HttpServletRequest request, String param) {
56 int month = ParamUtil.getInteger(request, param + "Month");
57 int day = ParamUtil.getInteger(request, param + "Day");
58 int year = ParamUtil.getInteger(request, param + "Year");
59 int hour = ParamUtil.getInteger(request, param + "Hour", -1);
60 int minute = ParamUtil.getInteger(request, param + "Minute", -1);
61 int amPm = ParamUtil.getInteger(request, param + "AmPm");
62
63 if ((month >= 0) && (day > 0) && (year > 0)) {
64 Calendar cal = CalendarFactoryUtil.getCalendar();
65
66 if ((hour == -1) || (minute == -1)) {
67 cal.set(year, month, day);
68 }
69 else {
70 if (amPm == Calendar.PM) {
71 hour += 12;
72 }
73
74 cal.set(year, month, day, hour, minute, 0);
75 }
76
77 DateFormat isoFormat = DateUtil.getISOFormat();
78
79 return isoFormat.format(cal.getTime());
80 }
81 else {
82 return null;
83 }
84 }
85
86 public static String getLike(HttpServletRequest request, String param) {
87 return getLike(request, param, null, true);
88 }
89
90 public static String getLike(
91 HttpServletRequest request, String param, String defaultValue) {
92
93 return getLike(request, param, defaultValue, true);
94 }
95
96 public static String getLike(
97 HttpServletRequest request, String param, boolean toLowerCase) {
98
99 return getLike(request, param, null, toLowerCase);
100 }
101
102 public static String getLike(
103 HttpServletRequest request, String param, String defaultValue,
104 boolean toLowerCase) {
105
106 String value = request.getParameter(param);
107
108 if (value != null) {
109 value = value.trim();
110
111 if (toLowerCase) {
112 value = value.toLowerCase();
113 }
114 }
115
116 if (Validator.isNull(value)) {
117 value = defaultValue;
118 }
119 else {
120 value = StringPool.PERCENT + value + StringPool.PERCENT;
121 }
122
123 return value;
124 }
125
126 public static long getLong(HttpServletRequest request, String param) {
127 return GetterUtil.getLong(getString(request, param));
128 }
129
130 public static short getShort(HttpServletRequest request, String param) {
131 return GetterUtil.getShort(getString(request, param));
132 }
133
134 public static String getString(HttpServletRequest request, String param) {
135 String value = ParamUtil.getString(request, param);
136
137 if (Validator.isNull(value)) {
138 return null;
139 }
140 else {
141 return value;
142 }
143 }
144
145
147 public static boolean getBoolean(
148 PortletRequest portletRequest, String param) {
149
150 return GetterUtil.getBoolean(getString(portletRequest, param));
151 }
152
153 public static int getInteger(PortletRequest portletRequest, String param) {
154 return GetterUtil.getInteger(getString(portletRequest, param));
155 }
156
157 public static String getISODate(
158 PortletRequest portletRequest, String param) {
159
160 int month = ParamUtil.getInteger(portletRequest, param + "Month");
161 int day = ParamUtil.getInteger(portletRequest, param + "Day");
162 int year = ParamUtil.getInteger(portletRequest, param + "Year");
163 int hour = ParamUtil.getInteger(portletRequest, param + "Hour", -1);
164 int minute = ParamUtil.getInteger(portletRequest, param + "Minute", -1);
165 int amPm = ParamUtil.getInteger(portletRequest, param + "AmPm");
166
167 if ((month >= 0) && (day > 0) && (year > 0)) {
168 Calendar cal = CalendarFactoryUtil.getCalendar();
169
170 if ((hour == -1) || (minute == -1)) {
171 cal.set(year, month, day);
172 }
173 else {
174 if (amPm == Calendar.PM) {
175 hour += 12;
176 }
177
178 cal.set(year, month, day, hour, minute, 0);
179 }
180
181 DateFormat isoFormat = DateUtil.getISOFormat();
182
183 return isoFormat.format(cal.getTime());
184 }
185 else {
186 return null;
187 }
188 }
189
190 public static String getLike(PortletRequest portletRequest, String param) {
191 return getLike(portletRequest, param, null, true);
192 }
193
194 public static String getLike(
195 PortletRequest portletRequest, String param, String defaultValue) {
196
197 return getLike(portletRequest, param, defaultValue, true);
198 }
199
200 public static String getLike(
201 PortletRequest portletRequest, String param, boolean toLowerCase) {
202
203 return getLike(portletRequest, param, null, toLowerCase);
204 }
205
206 public static String getLike(
207 PortletRequest portletRequest, String param, String defaultValue,
208 boolean toLowerCase) {
209
210 String value = portletRequest.getParameter(param);
211
212 if (value != null) {
213 value = value.trim();
214
215 if (toLowerCase) {
216 value = value.toLowerCase();
217 }
218 }
219
220 if (Validator.isNull(value)) {
221 value = defaultValue;
222 }
223 else {
224 value = StringPool.PERCENT + value + StringPool.PERCENT;
225 }
226
227 return value;
228 }
229
230 public static long getLong(PortletRequest portletRequest, String param) {
231 return GetterUtil.getLong(getString(portletRequest, param));
232 }
233
234 public static short getShort(PortletRequest portletRequest, String param) {
235 return GetterUtil.getShort(getString(portletRequest, param));
236 }
237
238 public static String getString(
239 PortletRequest portletRequest, String param) {
240
241 String value = ParamUtil.getString(portletRequest, param);
242
243 if (Validator.isNull(value)) {
244 return null;
245 }
246 else {
247 return value;
248 }
249 }
250
251 }