KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > riotfamily > website > generic > model > hibernate > SplitDateParameterResolver


1 /* ***** BEGIN LICENSE BLOCK *****
2  * Version: MPL 1.1
3  * The contents of this file are subject to the Mozilla Public License Version
4  * 1.1 (the "License"); you may not use this file except in compliance with
5  * the License. You may obtain a copy of the License at
6  * http://www.mozilla.org/MPL/
7  *
8  * Software distributed under the License is distributed on an "AS IS" basis,
9  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
10  * for the specific language governing rights and limitations under the
11  * License.
12  *
13  * The Original Code is Riot.
14  *
15  * The Initial Developer of the Original Code is
16  * Neteye GmbH.
17  * Portions created by the Initial Developer are Copyright (C) 2006
18  * the Initial Developer. All Rights Reserved.
19  *
20  * Contributor(s):
21  * Felix Gnass [fgnass at neteye dot de]
22  *
23  * ***** END LICENSE BLOCK ***** */

24 package org.riotfamily.website.generic.model.hibernate;
25
26 import java.util.GregorianCalendar JavaDoc;
27
28 import javax.servlet.http.HttpServletRequest JavaDoc;
29
30
31 public class SplitDateParameterResolver extends AbstractParameterResolver {
32
33     private String JavaDoc yearParam = "year";
34
35     private String JavaDoc monthParam = "month";
36
37     private String JavaDoc dayParam = "day";
38
39     public String JavaDoc getDayParam() {
40         return dayParam;
41     }
42
43     public void setDayParam(String JavaDoc dayParam) {
44         this.dayParam = dayParam;
45     }
46
47     public void setMonthParam(String JavaDoc monthParam) {
48         this.monthParam = monthParam;
49     }
50
51     public void setYearParam(String JavaDoc yearParam) {
52         this.yearParam = yearParam;
53     }
54
55     public Object JavaDoc getValueInternal(HttpServletRequest JavaDoc request) {
56         Integer JavaDoc year = getIntegerParameter(request, yearParam);
57         Integer JavaDoc month = getIntegerParameter(request, monthParam);
58         Integer JavaDoc day = getIntegerParameter(request, dayParam);
59         
60         if (year != null) {
61             if (month != null && month.intValue() >= 1 && month.intValue() <= 12) {
62                 if (day != null && day.intValue() >= 1 && day.intValue() <= 31) {
63                     return new GregorianCalendar JavaDoc(year.intValue(), month.intValue() - 1, day.intValue()).getTime();
64                 }
65                 return new GregorianCalendar JavaDoc(year.intValue(), month.intValue() - 1, 1).getTime();
66             }
67         }
68         
69         return null;
70     }
71     
72     private Integer JavaDoc getIntegerParameter(HttpServletRequest JavaDoc request, String JavaDoc param) {
73         try {
74             String JavaDoc s = request.getParameter(param);
75             return Integer.valueOf(s);
76         }
77         catch (NumberFormatException JavaDoc e) {
78         }
79         return null;
80     }
81
82 }
83
Popular Tags