KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > j2biz > blogunity > web > actions > blog > MonthAction


1 /*
2  * $Id: MonthAction.java,v 1.3 2005/01/17 21:36:04 michelson Exp $
3  *
4  * Copyright (c) 2005 j2biz Group, http://www.j2biz.com Koeln / Duesseldorf ,
5  * Germany
6  *
7  * @author Max Kalina
8  *
9  *
10  * This program is free software; you can redistribute it and/or modify it under
11  * the terms of the GNU General Public License as published by the Free Software
12  * Foundation; either version 2 of the License, or (at your option) any later
13  * version.
14  *
15  * This program is distributed in the hope that it will be useful, but WITHOUT
16  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
17  * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
18  * details.
19  *
20  * You should have received a copy of the GNU General Public License along with
21  * this program; if not, write to the Free Software Foundation, Inc., 59 Temple
22  * Place, Suite 330, Boston, MA 02111-1307 USA
23  *
24  */

25
26 package com.j2biz.blogunity.web.actions.blog;
27
28 import java.util.Calendar JavaDoc;
29 import java.util.List JavaDoc;
30
31 import javax.servlet.http.HttpServletRequest JavaDoc;
32 import javax.servlet.http.HttpServletResponse JavaDoc;
33
34 import com.j2biz.blogunity.dao.EntryDAO;
35 import com.j2biz.blogunity.exception.BlogunityException;
36 import com.j2biz.blogunity.i18n.I18N;
37 import com.j2biz.blogunity.i18n.I18NStatusFactory;
38 import com.j2biz.blogunity.pojo.Blog;
39 import com.j2biz.blogunity.web.ActionResultFactory;
40 import com.j2biz.blogunity.web.IActionResult;
41 import com.j2biz.blogunity.web.actions.AbstractAction;
42
43 public class MonthAction extends AbstractAction {
44
45     private static final IActionResult BLOG_MONTHLY_FORWARD = ActionResultFactory
46             .buildForward("/monthlyView.vm");
47
48     private Blog blog;
49
50     private String JavaDoc year;
51
52     private String JavaDoc month;
53
54     public MonthAction(Blog blog, String JavaDoc year, String JavaDoc month) {
55         this.blog = blog;
56         this.year = year;
57         this.month = month;
58     }
59
60     /*
61      * (non-Javadoc)
62      *
63      * @see com.j2biz.blogunity.web.actions.AbstractAction#execute(javax.servlet.http.HttpServletRequest,
64      * javax.servlet.http.HttpServletResponse)
65      */

66     public IActionResult execute(HttpServletRequest JavaDoc request, HttpServletResponse JavaDoc response)
67             throws BlogunityException {
68
69         int _year;
70         int _month;
71
72         try {
73             _year = Integer.parseInt(year);
74             if (_year < 2000)
75                     throw new BlogunityException(I18NStatusFactory
76                             .create(I18N.ERRORS.ENTRY_BY_YEAR));
77         } catch (NumberFormatException JavaDoc e) {
78             throw new BlogunityException(I18NStatusFactory.create(I18N.ERRORS.ENTRY_BY_YEAR));
79         }
80
81         try {
82             _month = Integer.parseInt(month);
83             if (_month < 1 || _month > 12)
84                     throw new BlogunityException(I18NStatusFactory
85                             .create(I18N.ERRORS.ENTRY_BY_MONTH));
86         } catch (NumberFormatException JavaDoc e) {
87             throw new BlogunityException(I18NStatusFactory.create(I18N.ERRORS.ENTRY_BY_MONTH));
88         }
89
90         Calendar JavaDoc monthObj = Calendar.getInstance();
91         monthObj.set(_year, _month - 1, 1, 0, 0, 0);
92
93         List JavaDoc entries = ( new EntryDAO()).getEntriesForMonth(blog.getUrlName(), monthObj);
94
95         request.setAttribute("entries", entries);
96         request.setAttribute("requestedMonth", monthObj);
97
98         return BLOG_MONTHLY_FORWARD;
99
100     }
101
102 }
Popular Tags