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 org.apache.commons.lang.StringUtils; 32 33 import com.j2biz.blogunity.dao.BlogDAO; 34 import com.j2biz.blogunity.dao.CategoryDAO; 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.pojo.Category; 40 import com.j2biz.blogunity.web.ActionResultFactory; 41 import com.j2biz.blogunity.web.FormError; 42 import com.j2biz.blogunity.web.FormErrorList; 43 import com.j2biz.blogunity.web.IActionResult; 44 45 52 public class CategoryExecAction extends MyAbstractAction { 53 54 private static final IActionResult CATEGORY_FORM_FORWARD = ActionResultFactory 55 .buildForward("/jsp/my/blogCategoryForm.jsp"); 56 57 63 public IActionResult execute(HttpServletRequest request, HttpServletResponse response) 64 throws BlogunityException { 65 66 String catId = request.getParameter("catId"); 67 String blogId = request.getParameter("blogId"); 68 String name = request.getParameter("name"); 69 String description = request.getParameter("description"); 70 71 FormErrorList errors = new FormErrorList(); 72 73 BlogDAO blogDAO = new BlogDAO(); 74 CategoryDAO categoryDAO = new CategoryDAO(); 75 76 if (StringUtils.isEmpty(name)) 77 errors.add(new FormError("name", "Category name can not be empty!")); 78 79 Category c; 80 if (StringUtils.isNotEmpty(catId)) { 81 c = categoryDAO.getCategoryByID(Long.parseLong(catId)); 82 } else { 83 c = new Category(); 84 } 85 86 if (StringUtils.isNotEmpty(name)) c.setName(name); 87 88 c.setDescription(StringUtils.isNotEmpty(description) ? description : null); 89 90 request.setAttribute("category", c); 91 92 if (errors.size() > 0) { 93 request.setAttribute("errors", errors); 94 request.setAttribute("blogId", blogId); 95 return CATEGORY_FORM_FORWARD; 96 } 97 98 Blog b = blogDAO.getBlogByID(Long.parseLong(blogId)); 99 100 if (user.getId().longValue() != b.getFounder().getId().longValue() 101 && !user.isAdministrator()) 102 throw new BlogunityException(I18NStatusFactory 103 .create(I18N.ERRORS.USER_NOT_AUTHORIZED_FOR_EXECUTION)); 104 105 if (!c.containsBlog(b)) { 106 c.addBlog(b); 107 } 108 c.setType(Category.LOCAL); 109 110 if (StringUtils.isEmpty(catId)) categoryDAO.createCategory(c); 111 else 112 categoryDAO.updateCategory(c); 113 114 if (!b.containsCategory(c)) { 116 b.addCategory(c); 117 blogDAO.updateBlog(b); 118 } 119 120 122 navigationStack.pop(); 123 130 return navigationStack.peek(); 131 } 132 } | Popular Tags |