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.CommentDAO; 34 import com.j2biz.blogunity.exception.BlogunityException; 35 import com.j2biz.blogunity.i18n.I18N; 36 import com.j2biz.blogunity.i18n.I18NStatusFactory; 37 import com.j2biz.blogunity.pojo.Comment; 38 import com.j2biz.blogunity.util.RenderUtils; 39 import com.j2biz.blogunity.web.ActionResultFactory; 40 import com.j2biz.blogunity.web.FormError; 41 import com.j2biz.blogunity.web.FormErrorList; 42 import com.j2biz.blogunity.web.IActionResult; 43 44 51 public class EditCommentExecAction extends MyAbstractAction { 52 53 private static final IActionResult COMMENT_FORM_FORWARD = ActionResultFactory.buildForward("/jsp/my/editCommentForm.jsp"); 54 55 61 public IActionResult execute(HttpServletRequest request, HttpServletResponse response) 62 throws BlogunityException{ 63 64 65 String commentId = request.getParameter("id"); 66 if (StringUtils.isEmpty(commentId)) { 67 throw new BlogunityException(I18NStatusFactory 68 .create(I18N.ERRORS.ID_NOT_SETTED, "Comment"));} 69 70 FormErrorList errors = new FormErrorList(); 71 72 CommentDAO dao = new CommentDAO(); 73 74 Comment comment = dao.getCommentByID(Long.parseLong(commentId)); 75 83 84 if (!(user.isAdministrator() || comment.getAuthor().getId().longValue() == user.getId().longValue() || comment.getCommentedEntry().getAuthor().getId().longValue() == user.getId() 87 .longValue() || comment.getCommentedEntry().getBlog().getFounder().getId().longValue() == user.getId() 89 .longValue() 91 )){ 92 throw new BlogunityException(I18NStatusFactory 93 .create(I18N.ERRORS.USER_NOT_AUTHORIZED_FOR_EXECUTION)); 94 } 95 96 97 String title = request.getParameter("title"); 98 if (title == null || title.trim().length() == 0) { 99 errors.add(new FormError("title", "Comment title is not specified!")); 100 } 101 102 if (errors.size() > 0) { 103 request.setAttribute("errors", errors); 104 request.setAttribute("requestedComment", comment); 105 return COMMENT_FORM_FORWARD; 106 } 107 108 String commentBody = request.getParameter("comment"); 109 110 comment.setRawTitle(title); 111 comment.setRawBody(commentBody); 112 comment.setTitle(RenderUtils.renderText(title)); 113 comment.setBody(RenderUtils.renderText(commentBody)); 114 115 dao.updateComment(comment); 116 117 navigationStack.pop(); 118 return navigationStack.peek(); 119 120 121 } 122 123 } | Popular Tags |