1   /**
2    * Copyright (c) 2000-2008 Liferay, Inc. All rights reserved.
3    *
4    * Permission is hereby granted, free of charge, to any person obtaining a copy
5    * of this software and associated documentation files (the "Software"), to deal
6    * in the Software without restriction, including without limitation the rights
7    * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8    * copies of the Software, and to permit persons to whom the Software is
9    * furnished to do so, subject to the following conditions:
10   *
11   * The above copyright notice and this permission notice shall be included in
12   * all copies or substantial portions of the Software.
13   *
14   * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15   * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16   * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17   * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18   * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19   * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20   * SOFTWARE.
21   */
22  
23  package com.liferay.portal.kernel.util;
24  
25  import java.text.DateFormat;
26  
27  import java.util.Date;
28  import java.util.Enumeration;
29  
30  import javax.portlet.PortletRequest;
31  
32  import javax.servlet.http.HttpServletRequest;
33  
34  /**
35   * <a href="ParamUtil.java.html"><b><i>View Source</i></b></a>
36   *
37   * @author Brian Wing Shun Chan
38   * @author Raymond Augé
39   *
40   */
41  public class ParamUtil {
42  
43      // Servlet Request
44  
45      public static boolean getBoolean(HttpServletRequest request, String param) {
46          return GetterUtil.getBoolean(request.getParameter(param));
47      }
48  
49      public static boolean getBoolean(
50          HttpServletRequest request, String param, boolean defaultValue) {
51  
52          return get(request, param, defaultValue);
53      }
54  
55      public static boolean[] getBooleanValues(
56          HttpServletRequest request, String param) {
57  
58          return getBooleanValues(request, param, new boolean[0]);
59      }
60  
61      public static boolean[] getBooleanValues(
62          HttpServletRequest request, String param, boolean[] defaultValue) {
63  
64          return GetterUtil.getBooleanValues(
65              request.getParameterValues(param), defaultValue);
66      }
67  
68      public static Date getDate(
69          HttpServletRequest request, String param, DateFormat df) {
70  
71          return GetterUtil.getDate(request.getParameter(param), df);
72      }
73  
74      public static Date getDate(
75          HttpServletRequest request, String param, DateFormat df,
76          Date defaultValue) {
77  
78          return get(request, param, df, defaultValue);
79      }
80  
81      public static double getDouble(HttpServletRequest request, String param) {
82          return GetterUtil.getDouble(request.getParameter(param));
83      }
84  
85      public static double getDouble(
86          HttpServletRequest request, String param, double defaultValue) {
87  
88          return get(request, param, defaultValue);
89      }
90  
91      public static double[] getDoubleValues(
92          HttpServletRequest request, String param) {
93  
94          return getDoubleValues(request, param, new double[0]);
95      }
96  
97      public static double[] getDoubleValues(
98          HttpServletRequest request, String param, double[] defaultValue) {
99  
100         return GetterUtil.getDoubleValues(
101             request.getParameterValues(param), defaultValue);
102     }
103 
104     public static float getFloat(HttpServletRequest request, String param) {
105         return GetterUtil.getFloat(request.getParameter(param));
106     }
107 
108     public static float getFloat(
109         HttpServletRequest request, String param, float defaultValue) {
110 
111         return get(request, param, defaultValue);
112     }
113 
114     public static float[] getFloatValues(
115         HttpServletRequest request, String param) {
116 
117         return getFloatValues(request, param, new float[0]);
118     }
119 
120     public static float[] getFloatValues(
121         HttpServletRequest request, String param, float[] defaultValue) {
122 
123         return GetterUtil.getFloatValues(
124             request.getParameterValues(param), defaultValue);
125     }
126 
127     public static int getInteger(HttpServletRequest request, String param) {
128         return GetterUtil.getInteger(request.getParameter(param));
129     }
130 
131     public static int getInteger(
132         HttpServletRequest request, String param, int defaultValue) {
133 
134         return get(request, param, defaultValue);
135     }
136 
137     public static int[] getIntegerValues(
138         HttpServletRequest request, String param) {
139 
140         return getIntegerValues(request, param, new int[0]);
141     }
142 
143     public static int[] getIntegerValues(
144         HttpServletRequest request, String param, int[] defaultValue) {
145 
146         return GetterUtil.getIntegerValues(
147             request.getParameterValues(param), defaultValue);
148     }
149 
150     public static long getLong(HttpServletRequest request, String param) {
151         return GetterUtil.getLong(request.getParameter(param));
152     }
153 
154     public static long getLong(
155         HttpServletRequest request, String param, long defaultValue) {
156 
157         return get(request, param, defaultValue);
158     }
159 
160     public static long[] getLongValues(
161         HttpServletRequest request, String param) {
162 
163         return getLongValues(request, param, new long[0]);
164     }
165 
166     public static long[] getLongValues(
167         HttpServletRequest request, String param, long[] defaultValue) {
168 
169         return GetterUtil.getLongValues(
170             request.getParameterValues(param), defaultValue);
171     }
172 
173     public static short getShort(HttpServletRequest request, String param) {
174         return GetterUtil.getShort(request.getParameter(param));
175     }
176 
177     public static short getShort(
178         HttpServletRequest request, String param, short defaultValue) {
179 
180         return get(request, param, defaultValue);
181     }
182 
183     public static short[] getShortValues(
184         HttpServletRequest request, String param) {
185 
186         return getShortValues(request, param, new short[0]);
187     }
188 
189     public static short[] getShortValues(
190         HttpServletRequest request, String param, short[] defaultValue) {
191 
192         return GetterUtil.getShortValues(
193             request.getParameterValues(param), defaultValue);
194     }
195 
196     public static String getString(HttpServletRequest request, String param) {
197         return GetterUtil.getString(request.getParameter(param));
198     }
199 
200     public static String getString(
201         HttpServletRequest request, String param, String defaultValue) {
202 
203         return get(request, param, defaultValue);
204     }
205 
206     public static boolean get(
207         HttpServletRequest request, String param, boolean defaultValue) {
208 
209         return GetterUtil.get(request.getParameter(param), defaultValue);
210     }
211 
212     public static Date get(
213         HttpServletRequest request, String param, DateFormat df,
214         Date defaultValue) {
215 
216         return GetterUtil.get(request.getParameter(param), df, defaultValue);
217     }
218 
219     public static double get(
220         HttpServletRequest request, String param, double defaultValue) {
221 
222         return GetterUtil.get(request.getParameter(param), defaultValue);
223     }
224 
225     public static float get(
226         HttpServletRequest request, String param, float defaultValue) {
227 
228         return GetterUtil.get(request.getParameter(param), defaultValue);
229     }
230 
231     public static int get(
232         HttpServletRequest request, String param, int defaultValue) {
233 
234         return GetterUtil.get(request.getParameter(param), defaultValue);
235     }
236 
237     public static long get(
238         HttpServletRequest request, String param, long defaultValue) {
239 
240         return GetterUtil.get(request.getParameter(param), defaultValue);
241     }
242 
243     public static short get(
244         HttpServletRequest request, String param, short defaultValue) {
245 
246         return GetterUtil.get(request.getParameter(param), defaultValue);
247     }
248 
249     public static String get(
250         HttpServletRequest request, String param, String defaultValue) {
251 
252         String returnValue =
253             GetterUtil.get(request.getParameter(param), defaultValue);
254 
255         if (returnValue != null) {
256             return returnValue.trim();
257         }
258 
259         return null;
260     }
261 
262     public static void print(HttpServletRequest request) {
263         Enumeration<String> enu = request.getParameterNames();
264 
265         while (enu.hasMoreElements()) {
266             String param = enu.nextElement();
267 
268             String[] values = request.getParameterValues(param);
269 
270             for (int i = 0; i < values.length; i++) {
271                 System.out.println(param + "[" + i + "] = " + values[i]);
272             }
273         }
274     }
275 
276     // Portlet Request
277 
278     public static boolean getBoolean(
279         PortletRequest portletRequest, String param) {
280 
281         return GetterUtil.getBoolean(portletRequest.getParameter(param));
282     }
283 
284     public static boolean getBoolean(
285         PortletRequest portletRequest, String param, boolean defaultValue) {
286 
287         return get(portletRequest, param, defaultValue);
288     }
289 
290     public static boolean[] getBooleanValues(
291         PortletRequest portletRequest, String param) {
292 
293         return getBooleanValues(portletRequest, param, new boolean[0]);
294     }
295 
296     public static boolean[] getBooleanValues(
297         PortletRequest portletRequest, String param, boolean[] defaultValue) {
298 
299         return GetterUtil.getBooleanValues(
300             portletRequest.getParameterValues(param), defaultValue);
301     }
302 
303     public static Date getDate(
304         PortletRequest portletRequest, String param, DateFormat df) {
305 
306         return GetterUtil.getDate(portletRequest.getParameter(param), df);
307     }
308 
309     public static Date getDate(
310         PortletRequest portletRequest, String param, DateFormat df,
311         Date defaultValue) {
312 
313         return get(portletRequest, param, df, defaultValue);
314     }
315 
316     public static double getDouble(
317         PortletRequest portletRequest, String param) {
318 
319         return GetterUtil.getDouble(portletRequest.getParameter(param));
320     }
321 
322     public static double getDouble(
323         PortletRequest portletRequest, String param, double defaultValue) {
324 
325         return get(portletRequest, param, defaultValue);
326     }
327 
328     public static double[] getDoubleValues(
329         PortletRequest portletRequest, String param) {
330 
331         return getDoubleValues(portletRequest, param, new double[0]);
332     }
333 
334     public static double[] getDoubleValues(
335         PortletRequest portletRequest, String param, double[] defaultValue) {
336 
337         return GetterUtil.getDoubleValues(
338             portletRequest.getParameterValues(param), defaultValue);
339     }
340 
341     public static float getFloat(PortletRequest portletRequest, String param) {
342         return GetterUtil.getFloat(portletRequest.getParameter(param));
343     }
344 
345     public static float getFloat(
346         PortletRequest portletRequest, String param, float defaultValue) {
347 
348         return get(portletRequest, param, defaultValue);
349     }
350 
351     public static float[] getFloatValues(
352         PortletRequest portletRequest, String param) {
353 
354         return getFloatValues(portletRequest, param, new float[0]);
355     }
356 
357     public static float[] getFloatValues(
358         PortletRequest portletRequest, String param, float[] defaultValue) {
359 
360         return GetterUtil.getFloatValues(
361             portletRequest.getParameterValues(param), defaultValue);
362     }
363 
364     public static int getInteger(PortletRequest portletRequest, String param) {
365         return GetterUtil.getInteger(portletRequest.getParameter(param));
366     }
367 
368     public static int getInteger(
369         PortletRequest portletRequest, String param, int defaultValue) {
370 
371         return get(portletRequest, param, defaultValue);
372     }
373 
374     public static int[] getIntegerValues(
375         PortletRequest portletRequest, String param) {
376 
377         return getIntegerValues(portletRequest, param, new int[0]);
378     }
379 
380     public static int[] getIntegerValues(
381         PortletRequest portletRequest, String param, int[] defaultValue) {
382 
383         return GetterUtil.getIntegerValues(
384             portletRequest.getParameterValues(param), defaultValue);
385     }
386 
387     public static long getLong(PortletRequest portletRequest, String param) {
388         return GetterUtil.getLong(portletRequest.getParameter(param));
389     }
390 
391     public static long getLong(
392         PortletRequest portletRequest, String param, long defaultValue) {
393 
394         return get(portletRequest, param, defaultValue);
395     }
396 
397     public static long[] getLongValues(
398         PortletRequest portletRequest, String param) {
399 
400         return getLongValues(portletRequest, param, new long[0]);
401     }
402 
403     public static long[] getLongValues(
404         PortletRequest portletRequest, String param, long[] defaultValue) {
405 
406         return GetterUtil.getLongValues(
407             portletRequest.getParameterValues(param), defaultValue);
408     }
409 
410     public static short getShort(PortletRequest portletRequest, String param) {
411         return GetterUtil.getShort(portletRequest.getParameter(param));
412     }
413 
414     public static short getShort(
415         PortletRequest portletRequest, String param, short defaultValue) {
416 
417         return get(portletRequest, param, defaultValue);
418     }
419 
420     public static short[] getShortValues(
421         PortletRequest portletRequest, String param) {
422 
423         return getShortValues(portletRequest, param, new short[0]);
424     }
425 
426     public static short[] getShortValues(
427         PortletRequest portletRequest, String param, short[] defaultValue) {
428 
429         return GetterUtil.getShortValues(
430             portletRequest.getParameterValues(param), defaultValue);
431     }
432 
433     public static String getString(
434         PortletRequest portletRequest, String param) {
435 
436         return GetterUtil.getString(portletRequest.getParameter(param));
437     }
438 
439     public static String getString(
440         PortletRequest portletRequest, String param, String defaultValue) {
441 
442         return get(portletRequest, param, defaultValue);
443     }
444 
445     public static boolean get(
446         PortletRequest portletRequest, String param, boolean defaultValue) {
447 
448         return GetterUtil.get(portletRequest.getParameter(param), defaultValue);
449     }
450 
451     public static Date get(
452         PortletRequest portletRequest, String param, DateFormat df,
453         Date defaultValue) {
454 
455         return GetterUtil.get(
456             portletRequest.getParameter(param), df, defaultValue);
457     }
458 
459     public static double get(
460         PortletRequest portletRequest, String param, double defaultValue) {
461 
462         return GetterUtil.get(portletRequest.getParameter(param), defaultValue);
463     }
464 
465     public static float get(
466         PortletRequest portletRequest, String param, float defaultValue) {
467 
468         return GetterUtil.get(portletRequest.getParameter(param), defaultValue);
469     }
470 
471     public static int get(
472         PortletRequest portletRequest, String param, int defaultValue) {
473 
474         return GetterUtil.get(portletRequest.getParameter(param), defaultValue);
475     }
476 
477     public static long get(
478         PortletRequest portletRequest, String param, long defaultValue) {
479 
480         return GetterUtil.get(portletRequest.getParameter(param), defaultValue);
481     }
482 
483     public static short get(
484         PortletRequest portletRequest, String param, short defaultValue) {
485 
486         return GetterUtil.get(portletRequest.getParameter(param), defaultValue);
487     }
488 
489     public static String get(
490         PortletRequest portletRequest, String param, String defaultValue) {
491 
492         String returnValue =
493             GetterUtil.get(portletRequest.getParameter(param), defaultValue);
494 
495         if (returnValue != null) {
496             return returnValue.trim();
497         }
498 
499         return null;
500     }
501 
502     public static void print(PortletRequest portletRequest) {
503         Enumeration<String> enu = portletRequest.getParameterNames();
504 
505         while (enu.hasMoreElements()) {
506             String param = enu.nextElement();
507 
508             String[] values = portletRequest.getParameterValues(param);
509 
510             for (int i = 0; i < values.length; i++) {
511                 System.out.println(param + "[" + i + "] = " + values[i]);
512             }
513         }
514     }
515 
516 }