KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > j2biz > blogunity > web > actions > my > CommunityBlogAddExecAction


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

25
26 package com.j2biz.blogunity.web.actions.my;
27
28 import javax.servlet.http.HttpServletRequest JavaDoc;
29 import javax.servlet.http.HttpServletResponse JavaDoc;
30
31 import com.j2biz.blogunity.dao.BlogDAO;
32 import com.j2biz.blogunity.dao.UserDAO;
33 import com.j2biz.blogunity.exception.BlogunityException;
34 import com.j2biz.blogunity.pojo.Blog;
35 import com.j2biz.blogunity.web.ActionResultFactory;
36 import com.j2biz.blogunity.web.FormError;
37 import com.j2biz.blogunity.web.FormErrorList;
38 import com.j2biz.blogunity.web.IActionResult;
39
40 /**
41  *
42  * @author michelson
43  * @version $$
44  * @since 0.1
45  *
46  *
47  */

48 public class CommunityBlogAddExecAction extends MyAbstractAction {
49
50     private static final IActionResult ADD_ERROR_FORWARD = ActionResultFactory
51             .buildForward("/jsp/my/communityBlogs.jsp");
52
53     /*
54      * (non-Javadoc)
55      *
56      * @see com.j2biz.blogunity.web.actions.AbstractAction#execute(javax.servlet.http.HttpServletRequest,
57      * javax.servlet.http.HttpServletResponse)
58      */

59     public IActionResult execute(HttpServletRequest JavaDoc request, HttpServletResponse JavaDoc response)
60             throws BlogunityException {
61
62         String JavaDoc blogName = request.getParameter("blogname");
63         FormErrorList errors = new FormErrorList();
64
65         BlogDAO blogDAO = new BlogDAO();
66         UserDAO userDAO = new UserDAO();
67         
68         
69         Blog b;
70         try {
71             b = blogDAO.getBlogByUrlName(blogName);
72         } catch (Exception JavaDoc e) {
73             b = null;
74         }
75
76         if (b == null) {
77             errors.add(new FormError("blogname", "Blog '" + blogName + "' not found!"));
78         } else if (user.getContributedBlogs().contains(b)) {
79             errors.add(new FormError("blogname",
80                     "This blog is already in your list of contributed blogs!"));
81         } else if (user.getWaitingForAcceptanceBlogs().contains(b)) {
82             errors.add(new FormError("blogname",
83                     "This blog is already in your list of waiting for acceptance blogs!"));
84         } else if (b.getType() != Blog.COMMUNITY_BLOG) {
85             errors.add(new FormError("blogname", "This blog is not a community blog!"));
86         }
87
88         if (errors.size() > 0) {
89             request.setAttribute("errors", errors);
90             return ADD_ERROR_FORWARD;
91         }
92
93         int addedType = Blog.PUBLIC_COMMUNTIY;
94         ;
95         if (b.getCommunityType() == Blog.PUBLIC_COMMUNTIY) {
96             user.getContributedBlogs().add(b);
97             addedType = Blog.PUBLIC_COMMUNTIY;
98         } else if (b.getCommunityType() == Blog.PRIVATE_COMMUNTIY) {
99             user.getWaitingForAcceptanceBlogs().add(b);
100             addedType = Blog.PRIVATE_COMMUNTIY;
101         }
102
103         userDAO.updateUser(user);
104
105         return ActionResultFactory.buildRedirect("/my/communityBlogs?addedType=" + addedType);
106
107     }
108
109 }
Popular Tags