1   /**
2    * Copyright (c) 2000-2010 Liferay, Inc. All rights reserved.
3    *
4    * This library is free software; you can redistribute it and/or modify it under
5    * the terms of the GNU Lesser General Public License as published by the Free
6    * Software Foundation; either version 2.1 of the License, or (at your option)
7    * any later version.
8    *
9    * This library is distributed in the hope that it will be useful, but WITHOUT
10   * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11   * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
12   * details.
13   */
14  
15  package com.liferay.portal.kernel.util;
16  
17  import com.liferay.portal.service.ServiceContext;
18  
19  import java.io.Serializable;
20  
21  import java.text.DateFormat;
22  
23  import java.util.Date;
24  import java.util.Enumeration;
25  import java.util.Map;
26  
27  import javax.portlet.PortletRequest;
28  
29  import javax.servlet.http.HttpServletRequest;
30  
31  /**
32   * <a href="ParamUtil.java.html"><b><i>View Source</i></b></a>
33   *
34   * @author Brian Wing Shun Chan
35   * @author Raymond Augé
36   */
37  public class ParamUtil {
38  
39      public static boolean get(
40          HttpServletRequest request, String param, boolean defaultValue) {
41  
42          return GetterUtil.get(request.getParameter(param), defaultValue);
43      }
44  
45      public static Date get(
46          HttpServletRequest request, String param, DateFormat dateFormat,
47          Date defaultValue) {
48  
49          return GetterUtil.get(
50              request.getParameter(param), dateFormat, defaultValue);
51      }
52  
53      public static double get(
54          HttpServletRequest request, String param, double defaultValue) {
55  
56          return GetterUtil.get(request.getParameter(param), defaultValue);
57      }
58  
59      public static float get(
60          HttpServletRequest request, String param, float defaultValue) {
61  
62          return GetterUtil.get(request.getParameter(param), defaultValue);
63      }
64  
65      public static int get(
66          HttpServletRequest request, String param, int defaultValue) {
67  
68          return GetterUtil.get(request.getParameter(param), defaultValue);
69      }
70  
71      public static long get(
72          HttpServletRequest request, String param, long defaultValue) {
73  
74          return GetterUtil.get(request.getParameter(param), defaultValue);
75      }
76  
77      public static short get(
78          HttpServletRequest request, String param, short defaultValue) {
79  
80          return GetterUtil.get(request.getParameter(param), defaultValue);
81      }
82  
83      public static String get(
84          HttpServletRequest request, String param, String defaultValue) {
85  
86          String returnValue =
87              GetterUtil.get(request.getParameter(param), defaultValue);
88  
89          if (returnValue != null) {
90              return returnValue.trim();
91          }
92  
93          return null;
94      }
95  
96      public static boolean get(
97          PortletRequest portletRequest, String param, boolean defaultValue) {
98  
99          return GetterUtil.get(portletRequest.getParameter(param), defaultValue);
100     }
101 
102     public static Date get(
103         PortletRequest portletRequest, String param, DateFormat dateFormat,
104         Date defaultValue) {
105 
106         return GetterUtil.get(
107             portletRequest.getParameter(param), dateFormat, defaultValue);
108     }
109 
110     public static double get(
111         PortletRequest portletRequest, String param, double defaultValue) {
112 
113         return GetterUtil.get(portletRequest.getParameter(param), defaultValue);
114     }
115 
116     public static float get(
117         PortletRequest portletRequest, String param, float defaultValue) {
118 
119         return GetterUtil.get(portletRequest.getParameter(param), defaultValue);
120     }
121 
122     public static int get(
123         PortletRequest portletRequest, String param, int defaultValue) {
124 
125         return GetterUtil.get(portletRequest.getParameter(param), defaultValue);
126     }
127 
128     public static long get(
129         PortletRequest portletRequest, String param, long defaultValue) {
130 
131         return GetterUtil.get(portletRequest.getParameter(param), defaultValue);
132     }
133 
134     public static short get(
135         PortletRequest portletRequest, String param, short defaultValue) {
136 
137         return GetterUtil.get(portletRequest.getParameter(param), defaultValue);
138     }
139 
140     public static String get(
141         PortletRequest portletRequest, String param, String defaultValue) {
142 
143         String returnValue =
144             GetterUtil.get(portletRequest.getParameter(param), defaultValue);
145 
146         if (returnValue != null) {
147             return returnValue.trim();
148         }
149 
150         return null;
151     }
152 
153     public static boolean get(
154         ServiceContext serviceContext, String param, boolean defaultValue) {
155 
156         return GetterUtil.get(serviceContext.getAttribute(param), defaultValue);
157     }
158 
159     public static Date get(
160         ServiceContext serviceContext, String param, DateFormat dateFormat,
161         Date defaultValue) {
162 
163         return GetterUtil.get(
164             serviceContext.getAttribute(param), dateFormat, defaultValue);
165     }
166 
167     public static double get(
168         ServiceContext serviceContext, String param, double defaultValue) {
169 
170         return GetterUtil.get(serviceContext.getAttribute(param), defaultValue);
171     }
172 
173     public static float get(
174         ServiceContext serviceContext, String param, float defaultValue) {
175 
176         return GetterUtil.get(serviceContext.getAttribute(param), defaultValue);
177     }
178 
179     public static int get(
180         ServiceContext serviceContext, String param, int defaultValue) {
181 
182         return GetterUtil.get(serviceContext.getAttribute(param), defaultValue);
183     }
184 
185     public static long get(
186         ServiceContext serviceContext, String param, long defaultValue) {
187 
188         return GetterUtil.get(serviceContext.getAttribute(param), defaultValue);
189     }
190 
191     public static short get(
192         ServiceContext serviceContext, String param, short defaultValue) {
193 
194         return GetterUtil.get(serviceContext.getAttribute(param), defaultValue);
195     }
196 
197     public static String get(
198         ServiceContext serviceContext, String param, String defaultValue) {
199 
200         String returnValue =
201             GetterUtil.get(serviceContext.getAttribute(param), defaultValue);
202 
203         if (returnValue != null) {
204             return returnValue.trim();
205         }
206 
207         return null;
208     }
209 
210     public static boolean getBoolean(HttpServletRequest request, String param) {
211         return GetterUtil.getBoolean(request.getParameter(param));
212     }
213 
214     public static boolean getBoolean(
215         HttpServletRequest request, String param, boolean defaultValue) {
216 
217         return get(request, param, defaultValue);
218     }
219 
220     public static boolean getBoolean(
221         PortletRequest portletRequest, String param) {
222 
223         return GetterUtil.getBoolean(portletRequest.getParameter(param));
224     }
225 
226     public static boolean getBoolean(
227         PortletRequest portletRequest, String param, boolean defaultValue) {
228 
229         return get(portletRequest, param, defaultValue);
230     }
231 
232     public static boolean getBoolean(
233         ServiceContext serviceContext, String param) {
234 
235         return GetterUtil.getBoolean(serviceContext.getAttribute(param));
236     }
237 
238     public static boolean getBoolean(
239         ServiceContext serviceContext, String param, boolean defaultValue) {
240 
241         return get(serviceContext, param, defaultValue);
242     }
243 
244     public static boolean[] getBooleanValues(
245         HttpServletRequest request, String param) {
246 
247         return getBooleanValues(request, param, new boolean[0]);
248     }
249 
250     public static boolean[] getBooleanValues(
251         HttpServletRequest request, String param, boolean[] defaultValue) {
252 
253         return GetterUtil.getBooleanValues(
254             request.getParameterValues(param), defaultValue);
255     }
256 
257     public static boolean[] getBooleanValues(
258         PortletRequest portletRequest, String param) {
259 
260         return getBooleanValues(portletRequest, param, new boolean[0]);
261     }
262 
263     public static boolean[] getBooleanValues(
264         PortletRequest portletRequest, String param, boolean[] defaultValue) {
265 
266         return GetterUtil.getBooleanValues(
267             portletRequest.getParameterValues(param), defaultValue);
268     }
269 
270     public static boolean[] getBooleanValues(
271         ServiceContext serviceContext, String param) {
272 
273         return getBooleanValues(serviceContext, param, new boolean[0]);
274     }
275 
276     public static boolean[] getBooleanValues(
277         ServiceContext serviceContext, String param, boolean[] defaultValue) {
278 
279         return GetterUtil.getBooleanValues(
280             serviceContext.getAttribute(param), defaultValue);
281     }
282 
283     public static Date getDate(
284         HttpServletRequest request, String param, DateFormat dateFormat) {
285 
286         return GetterUtil.getDate(request.getParameter(param), dateFormat);
287     }
288 
289     public static Date getDate(
290         HttpServletRequest request, String param, DateFormat dateFormat,
291         Date defaultValue) {
292 
293         return get(request, param, dateFormat, defaultValue);
294     }
295 
296     public static Date getDate(
297         PortletRequest portletRequest, String param, DateFormat dateFormat) {
298 
299         return GetterUtil.getDate(
300             portletRequest.getParameter(param), dateFormat);
301     }
302 
303     public static Date getDate(
304         PortletRequest portletRequest, String param, DateFormat dateFormat,
305         Date defaultValue) {
306 
307         return get(portletRequest, param, dateFormat, defaultValue);
308     }
309 
310     public static Date getDate(
311         ServiceContext serviceContext, String param, DateFormat dateFormat) {
312 
313         return GetterUtil.getDate(
314             serviceContext.getAttribute(param), dateFormat);
315     }
316 
317     public static Date getDate(
318         ServiceContext serviceContext, String param, DateFormat dateFormat,
319         Date defaultValue) {
320 
321         return get(serviceContext, param, dateFormat, defaultValue);
322     }
323 
324     public static Date[] getDateValues(
325         HttpServletRequest request, String param, DateFormat dateFormat) {
326 
327         return getDateValues(request, param, dateFormat, new Date[0]);
328     }
329 
330     public static Date[] getDateValues(
331         HttpServletRequest request, String param, DateFormat dateFormat,
332         Date[] defaultValue) {
333 
334         return GetterUtil.getDateValues(
335             request.getParameterValues(param), dateFormat, defaultValue);
336     }
337 
338     public static Date[] getDateValues(
339         PortletRequest portletRequest, String param, DateFormat dateFormat) {
340 
341         return getDateValues(portletRequest, param, dateFormat, new Date[0]);
342     }
343 
344     public static Date[] getDateValues(
345         PortletRequest portletRequest, String param, DateFormat dateFormat,
346         Date[] defaultValue) {
347 
348         return GetterUtil.getDateValues(
349             portletRequest.getParameterValues(param), dateFormat, defaultValue);
350     }
351 
352     public static Date[] getDateValues(
353         ServiceContext serviceContext, String param, DateFormat dateFormat) {
354 
355         return getDateValues(serviceContext, param, dateFormat, new Date[0]);
356     }
357 
358     public static Date[] getDateValues(
359         ServiceContext serviceContext, String param, DateFormat dateFormat,
360         Date[] defaultValue) {
361 
362         return GetterUtil.getDateValues(
363             serviceContext.getAttribute(param), dateFormat, defaultValue);
364     }
365 
366     public static double getDouble(HttpServletRequest request, String param) {
367         return GetterUtil.getDouble(request.getParameter(param));
368     }
369 
370     public static double getDouble(
371         HttpServletRequest request, String param, double defaultValue) {
372 
373         return get(request, param, defaultValue);
374     }
375 
376     public static double getDouble(
377         PortletRequest portletRequest, String param) {
378 
379         return GetterUtil.getDouble(portletRequest.getParameter(param));
380     }
381 
382     public static double getDouble(
383         PortletRequest portletRequest, String param, double defaultValue) {
384 
385         return get(portletRequest, param, defaultValue);
386     }
387 
388     public static double getDouble(
389         ServiceContext serviceContext, String param) {
390 
391         return GetterUtil.getDouble(serviceContext.getAttribute(param));
392     }
393 
394     public static double getDouble(
395         ServiceContext serviceContext, String param, double defaultValue) {
396 
397         return get(serviceContext, param, defaultValue);
398     }
399 
400     public static double[] getDoubleValues(
401         HttpServletRequest request, String param) {
402 
403         return getDoubleValues(request, param, new double[0]);
404     }
405 
406     public static double[] getDoubleValues(
407         HttpServletRequest request, String param, double[] defaultValue) {
408 
409         return GetterUtil.getDoubleValues(
410             request.getParameterValues(param), defaultValue);
411     }
412 
413     public static double[] getDoubleValues(
414         PortletRequest portletRequest, String param) {
415 
416         return getDoubleValues(portletRequest, param, new double[0]);
417     }
418 
419     public static double[] getDoubleValues(
420         PortletRequest portletRequest, String param, double[] defaultValue) {
421 
422         return GetterUtil.getDoubleValues(
423             portletRequest.getParameterValues(param), defaultValue);
424     }
425 
426     public static double[] getDoubleValues(
427         ServiceContext serviceContext, String param) {
428 
429         return getDoubleValues(serviceContext, param, new double[0]);
430     }
431 
432     public static double[] getDoubleValues(
433         ServiceContext serviceContext, String param, double[] defaultValue) {
434 
435         return GetterUtil.getDoubleValues(
436             serviceContext.getAttribute(param), defaultValue);
437     }
438 
439     public static float getFloat(HttpServletRequest request, String param) {
440         return GetterUtil.getFloat(request.getParameter(param));
441     }
442 
443     public static float getFloat(
444         HttpServletRequest request, String param, float defaultValue) {
445 
446         return get(request, param, defaultValue);
447     }
448 
449     public static float getFloat(PortletRequest portletRequest, String param) {
450         return GetterUtil.getFloat(portletRequest.getParameter(param));
451     }
452 
453     public static float getFloat(
454         PortletRequest portletRequest, String param, float defaultValue) {
455 
456         return get(portletRequest, param, defaultValue);
457     }
458 
459     public static float getFloat(ServiceContext serviceContext, String param) {
460         return GetterUtil.getFloat(serviceContext.getAttribute(param));
461     }
462 
463     public static float getFloat(
464         ServiceContext serviceContext, String param, float defaultValue) {
465 
466         return get(serviceContext, param, defaultValue);
467     }
468 
469     public static float[] getFloatValues(
470         HttpServletRequest request, String param) {
471 
472         return getFloatValues(request, param, new float[0]);
473     }
474 
475     public static float[] getFloatValues(
476         HttpServletRequest request, String param, float[] defaultValue) {
477 
478         return GetterUtil.getFloatValues(
479             request.getParameterValues(param), defaultValue);
480     }
481 
482     public static float[] getFloatValues(
483         PortletRequest portletRequest, String param) {
484 
485         return getFloatValues(portletRequest, param, new float[0]);
486     }
487 
488     public static float[] getFloatValues(
489         PortletRequest portletRequest, String param, float[] defaultValue) {
490 
491         return GetterUtil.getFloatValues(
492             portletRequest.getParameterValues(param), defaultValue);
493     }
494 
495     public static float[] getFloatValues(
496         ServiceContext serviceContext, String param) {
497 
498         return getFloatValues(serviceContext, param, new float[0]);
499     }
500 
501     public static float[] getFloatValues(
502         ServiceContext serviceContext, String param, float[] defaultValue) {
503 
504         return GetterUtil.getFloatValues(
505             serviceContext.getAttribute(param), defaultValue);
506     }
507 
508     public static int getInteger(HttpServletRequest request, String param) {
509         return GetterUtil.getInteger(request.getParameter(param));
510     }
511 
512     public static int getInteger(
513         HttpServletRequest request, String param, int defaultValue) {
514 
515         return get(request, param, defaultValue);
516     }
517 
518     public static int getInteger(PortletRequest portletRequest, String param) {
519         return GetterUtil.getInteger(portletRequest.getParameter(param));
520     }
521 
522     public static int getInteger(
523         PortletRequest portletRequest, String param, int defaultValue) {
524 
525         return get(portletRequest, param, defaultValue);
526     }
527 
528     public static int getInteger(ServiceContext serviceContext, String param) {
529         return GetterUtil.getInteger(serviceContext.getAttribute(param));
530     }
531 
532     public static int getInteger(
533         ServiceContext serviceContext, String param, int defaultValue) {
534 
535         return get(serviceContext, param, defaultValue);
536     }
537 
538     public static int[] getIntegerValues(
539         HttpServletRequest request, String param) {
540 
541         return getIntegerValues(request, param, new int[0]);
542     }
543 
544     public static int[] getIntegerValues(
545         HttpServletRequest request, String param, int[] defaultValue) {
546 
547         return GetterUtil.getIntegerValues(
548             request.getParameterValues(param), defaultValue);
549     }
550 
551     public static int[] getIntegerValues(
552         PortletRequest portletRequest, String param) {
553 
554         return getIntegerValues(portletRequest, param, new int[0]);
555     }
556 
557     public static int[] getIntegerValues(
558         PortletRequest portletRequest, String param, int[] defaultValue) {
559 
560         return GetterUtil.getIntegerValues(
561             portletRequest.getParameterValues(param), defaultValue);
562     }
563 
564     public static int[] getIntegerValues(
565         ServiceContext serviceContext, String param) {
566 
567         return getIntegerValues(serviceContext, param, new int[0]);
568     }
569 
570     public static int[] getIntegerValues(
571         ServiceContext serviceContext, String param, int[] defaultValue) {
572 
573         return GetterUtil.getIntegerValues(
574             serviceContext.getAttribute(param), defaultValue);
575     }
576 
577     public static long getLong(HttpServletRequest request, String param) {
578         return GetterUtil.getLong(request.getParameter(param));
579     }
580 
581     public static long getLong(
582         HttpServletRequest request, String param, long defaultValue) {
583 
584         return get(request, param, defaultValue);
585     }
586 
587     public static long getLong(PortletRequest portletRequest, String param) {
588         return GetterUtil.getLong(portletRequest.getParameter(param));
589     }
590 
591     public static long getLong(
592         PortletRequest portletRequest, String param, long defaultValue) {
593 
594         return get(portletRequest, param, defaultValue);
595     }
596 
597     public static long getLong(ServiceContext serviceContext, String param) {
598         return GetterUtil.getLong(serviceContext.getAttribute(param));
599     }
600 
601     public static long getLong(
602         ServiceContext serviceContext, String param, long defaultValue) {
603 
604         return get(serviceContext, param, defaultValue);
605     }
606 
607     public static long[] getLongValues(
608         HttpServletRequest request, String param) {
609 
610         return getLongValues(request, param, new long[0]);
611     }
612 
613     public static long[] getLongValues(
614         HttpServletRequest request, String param, long[] defaultValue) {
615 
616         return GetterUtil.getLongValues(
617             request.getParameterValues(param), defaultValue);
618     }
619 
620     public static long[] getLongValues(
621         PortletRequest portletRequest, String param) {
622 
623         return getLongValues(portletRequest, param, new long[0]);
624     }
625 
626     public static long[] getLongValues(
627         PortletRequest portletRequest, String param, long[] defaultValue) {
628 
629         return GetterUtil.getLongValues(
630             portletRequest.getParameterValues(param), defaultValue);
631     }
632 
633     public static long[] getLongValues(
634         ServiceContext serviceContext, String param) {
635 
636         return getLongValues(serviceContext, param, new long[0]);
637     }
638 
639     public static long[] getLongValues(
640         ServiceContext serviceContext, String param, long[] defaultValue) {
641 
642         return GetterUtil.getLongValues(
643             serviceContext.getAttribute(param), defaultValue);
644     }
645 
646     public static short getShort(HttpServletRequest request, String param) {
647         return GetterUtil.getShort(request.getParameter(param));
648     }
649 
650     public static short getShort(
651         HttpServletRequest request, String param, short defaultValue) {
652 
653         return get(request, param, defaultValue);
654     }
655 
656     public static short getShort(PortletRequest portletRequest, String param) {
657         return GetterUtil.getShort(portletRequest.getParameter(param));
658     }
659 
660     public static short getShort(
661         PortletRequest portletRequest, String param, short defaultValue) {
662 
663         return get(portletRequest, param, defaultValue);
664     }
665 
666     public static short getShort(ServiceContext serviceContext, String param) {
667         return GetterUtil.getShort(serviceContext.getAttribute(param));
668     }
669 
670     public static short getShort(
671         ServiceContext serviceContext, String param, short defaultValue) {
672 
673         return get(serviceContext, param, defaultValue);
674     }
675 
676     public static short[] getShortValues(
677         HttpServletRequest request, String param) {
678 
679         return getShortValues(request, param, new short[0]);
680     }
681 
682     public static short[] getShortValues(
683         HttpServletRequest request, String param, short[] defaultValue) {
684 
685         return GetterUtil.getShortValues(
686             request.getParameterValues(param), defaultValue);
687     }
688 
689     public static short[] getShortValues(
690         PortletRequest portletRequest, String param) {
691 
692         return getShortValues(portletRequest, param, new short[0]);
693     }
694 
695     public static short[] getShortValues(
696         PortletRequest portletRequest, String param, short[] defaultValue) {
697 
698         return GetterUtil.getShortValues(
699             portletRequest.getParameterValues(param), defaultValue);
700     }
701 
702     public static short[] getShortValues(
703         ServiceContext serviceContext, String param) {
704 
705         return getShortValues(serviceContext, param, new short[0]);
706     }
707 
708     public static short[] getShortValues(
709         ServiceContext serviceContext, String param, short[] defaultValue) {
710 
711         return GetterUtil.getShortValues(
712             serviceContext.getAttribute(param), defaultValue);
713     }
714 
715     public static String getString(HttpServletRequest request, String param) {
716         return GetterUtil.getString(request.getParameter(param));
717     }
718 
719     public static String getString(
720         HttpServletRequest request, String param, String defaultValue) {
721 
722         return get(request, param, defaultValue);
723     }
724 
725     public static String getString(
726         PortletRequest portletRequest, String param) {
727 
728         return GetterUtil.getString(portletRequest.getParameter(param));
729     }
730 
731     public static String getString(
732         PortletRequest portletRequest, String param, String defaultValue) {
733 
734         return get(portletRequest, param, defaultValue);
735     }
736 
737     public static String getString(
738         ServiceContext serviceContext, String param) {
739 
740         return GetterUtil.getString(serviceContext.getAttribute(param));
741     }
742 
743     public static String getString(
744         ServiceContext serviceContext, String param, String defaultValue) {
745 
746         return get(serviceContext, param, defaultValue);
747     }
748 
749     public static void print(HttpServletRequest request) {
750         Enumeration<String> enu = request.getParameterNames();
751 
752         while (enu.hasMoreElements()) {
753             String param = enu.nextElement();
754 
755             String[] values = request.getParameterValues(param);
756 
757             for (int i = 0; i < values.length; i++) {
758                 System.out.println(param + "[" + i + "] = " + values[i]);
759             }
760         }
761     }
762 
763     public static void print(PortletRequest portletRequest) {
764         Enumeration<String> enu = portletRequest.getParameterNames();
765 
766         while (enu.hasMoreElements()) {
767             String param = enu.nextElement();
768 
769             String[] values = portletRequest.getParameterValues(param);
770 
771             for (int i = 0; i < values.length; i++) {
772                 System.out.println(param + "[" + i + "] = " + values[i]);
773             }
774         }
775     }
776 
777     public static void print(ServiceContext serviceContext) {
778         Map<String, Serializable> attributes = serviceContext.getAttributes();
779 
780         for (Map.Entry<String, Serializable> entry : attributes.entrySet()) {
781             System.out.println(
782                 entry.getKey() + " = " + String.valueOf(entry.getValue()));
783         }
784     }
785 
786 }