1 25 26 package com.j2biz.blogunity.web.actions.my; 27 28 import java.util.List ; 29 30 import javax.servlet.http.HttpServletRequest ; 31 import javax.servlet.http.HttpServletResponse ; 32 33 import org.apache.commons.lang.StringUtils; 34 35 import com.j2biz.blogunity.dao.CategoryDAO; 36 import com.j2biz.blogunity.exception.BlogunityException; 37 import com.j2biz.blogunity.i18n.I18N; 38 import com.j2biz.blogunity.i18n.I18NStatusFactory; 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 GlobalCategoryExecAction extends MyAbstractAction { 53 54 private static final IActionResult CATEGORY_FORM_FORWARD = ActionResultFactory 55 .buildForward("/jsp/my/globalCategories.jsp"); 56 57 private static final IActionResult CATEGORIES_REDIRECT = ActionResultFactory 58 .buildRedirect("/my/listGlobalCategories"); 59 60 66 public IActionResult execute(HttpServletRequest request, HttpServletResponse response) 67 throws BlogunityException { 68 69 if (!user.isAdministrator()) 70 throw new BlogunityException(I18NStatusFactory 71 .create(I18N.ERRORS.USER_NOT_AUTHORIZED_FOR_EXECUTION)); 72 73 CategoryDAO categoryDAO = new CategoryDAO(); 74 List categories = categoryDAO.getGlobalCategories(); 75 request.setAttribute("categories", categories); 76 77 String catId = request.getParameter("catId"); 78 String name = request.getParameter("name"); 79 String description = request.getParameter("description"); 80 81 FormErrorList errors = new FormErrorList(); 82 83 if (StringUtils.isEmpty(name)) 84 errors.add(new FormError("name", "Category name can not be empty!")); 85 86 if (categoryDAO.existsGlobalCategoryWithName(name) && StringUtils.isEmpty(catId)) { 87 errors 88 .add(new FormError("name", 89 "Global category with the given name already exists!")); 90 request.setAttribute("errors", errors); 91 return CATEGORY_FORM_FORWARD; 92 } 93 94 Category c; 95 if (StringUtils.isNotEmpty(catId)) { 96 c = categoryDAO.getCategoryByID(Long.parseLong(catId)); 97 } else { 98 c = new Category(); 99 } 100 101 if (StringUtils.isNotEmpty(name)) c.setName(name); 102 103 c.setDescription(StringUtils.isNotEmpty(description) ? description : null); 104 105 request.setAttribute("category", c); 106 107 if (errors.size() > 0) { 108 request.setAttribute("errors", errors); 109 return CATEGORY_FORM_FORWARD; 110 } 111 112 c.setType(Category.GLOBAL); 113 114 if (StringUtils.isEmpty(catId)) categoryDAO.createCategory(c); 115 else 116 categoryDAO.updateCategory(c); 117 118 return CATEGORIES_REDIRECT; 119 } 120 } | Popular Tags |