1 25 26 package com.j2biz.blogunity.web.actions.my; 27 28 import javax.servlet.http.HttpServletRequest ; 29 import javax.servlet.http.HttpServletResponse ; 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 48 public class CommunityBlogAddExecAction extends MyAbstractAction { 49 50 private static final IActionResult ADD_ERROR_FORWARD = ActionResultFactory 51 .buildForward("/jsp/my/communityBlogs.jsp"); 52 53 59 public IActionResult execute(HttpServletRequest request, HttpServletResponse response) 60 throws BlogunityException { 61 62 String 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 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 |