| 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.LinkDAO; 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.Link; 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 LinkExecAction extends MyAbstractAction { 53 54 private static final IActionResult LINK_FORM_FORWARD = ActionResultFactory 55 .buildForward("/jsp/my/blogLinkForm.jsp"); 56 57 63 public IActionResult execute(HttpServletRequest request, HttpServletResponse response) 64 throws BlogunityException { 65 66 String linkId = request.getParameter("linkId"); 67 String blogId = request.getParameter("blogId"); 68 String name = request.getParameter("name"); 69 String url = request.getParameter("url"); 70 71 FormErrorList errors = new FormErrorList(); 72 BlogDAO blogDAO = new BlogDAO(); 73 LinkDAO linkDAO = new LinkDAO(); 74 75 if (StringUtils.isEmpty(name)) errors.add(new FormError("name", "Name can not be empty!")); 76 77 if (StringUtils.isEmpty(url)) errors.add(new FormError("url", "Url can not be empty!")); 78 79 Link link; 80 if (StringUtils.isNotEmpty(linkId)) { 81 link = linkDAO.getLinkByID(Long.parseLong(linkId)); 82 } else { 83 link = new Link(); 84 } 85 86 if (StringUtils.isNotEmpty(name)) link.setName(name); 87 if (StringUtils.isNotEmpty(url)) link.setUrl(url); 88 89 request.setAttribute("link", link); 90 91 if (errors.size() > 0) { 92 request.setAttribute("errors", errors); 93 request.setAttribute("blogId", blogId); 94 return LINK_FORM_FORWARD; 95 } 96 97 Blog b = blogDAO.getBlogByID(Long.parseLong(blogId)); 98 99 if (user.getId().longValue() != b.getFounder().getId().longValue()&& !user.isAdministrator()) 100 throw new BlogunityException(I18NStatusFactory 101 .create(I18N.ERRORS.USER_NOT_AUTHORIZED_FOR_EXECUTION)); 102 103 link.setBlog(b); 104 105 if (StringUtils.isEmpty(linkId)) { 106 link.setOrder(b.getMaximalLinkOrder() + 1); 107 linkDAO.createLink(link); 108 } else 109 linkDAO.updateLink(link); 110 111 if (!b.containsLink(link)) { 113 b.addLink(link); 114 blogDAO.updateBlog(b); 115 } 116 122 navigationStack.pop(); 123 return navigationStack.peek(); 124 125 } 126 } | Popular Tags |