1 25 26 package com.j2biz.blogunity.web.actions.my; 27 28 import java.io.File ; 29 import java.util.Iterator ; 30 import java.util.List ; 31 32 import javax.servlet.http.HttpServletRequest ; 33 import javax.servlet.http.HttpServletResponse ; 34 35 import org.apache.commons.lang.StringUtils; 36 37 import com.j2biz.blogunity.BlogunityManager; 38 import com.j2biz.blogunity.dao.CommentDAO; 39 import com.j2biz.blogunity.dao.EntryDAO; 40 import com.j2biz.blogunity.dao.UserDAO; 41 import com.j2biz.blogunity.dao.UserpicDAO; 42 import com.j2biz.blogunity.exception.BlogunityException; 43 import com.j2biz.blogunity.i18n.I18N; 44 import com.j2biz.blogunity.i18n.I18NStatusFactory; 45 import com.j2biz.blogunity.pojo.Comment; 46 import com.j2biz.blogunity.pojo.Entry; 47 import com.j2biz.blogunity.pojo.SystemConfiguration; 48 import com.j2biz.blogunity.pojo.Userpic; 49 import com.j2biz.blogunity.util.ResourceUtils; 50 import com.j2biz.blogunity.web.IActionResult; 51 52 59 public class DeleteUserpicAction extends MyAbstractAction { 60 61 65 71 public IActionResult execute(HttpServletRequest request, HttpServletResponse response) 72 throws BlogunityException { 73 74 String userpicId = request.getParameter("userpicId"); 75 76 if (StringUtils.isEmpty(userpicId)) { throw new BlogunityException(I18NStatusFactory 77 .create(I18N.ERRORS.ID_NOT_SETTED, new String []{"Userpic"})); } 78 79 EntryDAO entryDAO = new EntryDAO(); 80 UserpicDAO userpicDAO = new UserpicDAO(); 81 UserDAO userDAO = new UserDAO(); 82 CommentDAO commentDAO = new CommentDAO(); 83 84 Userpic pic; 85 try { 86 pic = userpicDAO.getUserpicByID(Long.parseLong(userpicId)); 87 } catch (NumberFormatException e) { 88 throw new BlogunityException(I18NStatusFactory.create(I18N.ERRORS.ID_NOT_VALID, 89 new String []{"Userpic"})); 90 } 91 92 removeUserpicfile(pic); 93 94 user.getUserpics().remove(pic); 95 96 List entries = entryDAO.getEntiresByUserpic(pic); 99 for (Iterator it = entries.iterator(); it.hasNext();) { 101 Entry entry = (Entry) it.next(); 102 entry.setUserpic(null); 103 entryDAO.updateEntry(entry); 104 } 105 List comments = commentDAO.getCommentsByUserpic(pic); 106 for (Iterator it = comments.iterator(); it.hasNext();) { 108 Comment comment = (Comment) it.next(); 109 comment.setUserpic(null); 110 commentDAO.updateComment(comment); 111 } 112 113 userpicDAO.deleteUserpic(pic); 114 userDAO.updateUser(user); 115 116 return navigationStack.peek(); 118 } 119 120 125 private void removeUserpicfile(Userpic pic) throws BlogunityException { 126 127 SystemConfiguration config = BlogunityManager.getSystemConfiguration(); 128 129 File file = new File (config.getDataDir(), pic.getUrl()); 130 131 ResourceUtils.removeFile(file); 132 133 } 134 135 } | Popular Tags |