| 1 16 package dlog4j.action; 17 18 import java.util.Date ; 19 import java.sql.SQLException ; 20 21 import javax.servlet.http.HttpServletRequest ; 22 import javax.servlet.http.HttpServletResponse ; 23 24 import net.sf.hibernate.HibernateException; 25 import net.sf.hibernate.Session; 26 27 import org.apache.struts.action.ActionError; 28 import org.apache.struts.action.ActionErrors; 29 import org.apache.struts.action.ActionForm; 30 import org.apache.struts.action.ActionForward; 31 import org.apache.struts.action.ActionMapping; 32 33 import dlog4j.formbean.MessageForm; 34 import dlog4j.formbean.UserForm; 35 36 41 public class DlogMessageAction extends DlogActionBase { 42 43 public final static String ERROR_KEY = "message"; 44 45 55 public ActionForward doDelete(ActionMapping mapping, ActionForm form, 56 HttpServletRequest request, HttpServletResponse response, String msgid) 57 throws Exception { 58 int mid = -1; 59 Session ssn = null; 60 ActionErrors errors = new ActionErrors(); 61 UserForm loginUser = UserForm.getLoginUser(request); 62 if (loginUser != null && loginUser.isLogin()) { 63 try { 64 mid = Integer.parseInt(msgid); 65 if(mid>0) { 66 ssn = getSession(); 67 MessageForm msg = (MessageForm)ssn.load(MessageForm.class,new Integer (mid)); 68 if(msg.getToUser().getId()!=loginUser.getId()) 69 errors.add(ERROR_KEY,new ActionError("operation_not_allow")); 70 else { 71 msg.setStatus(MessageForm.STATUS_DELETE); 72 if(msg.getReadTime()==null) 73 msg.setReadTime(new Date ()); 74 ssn.update(msg); 75 } 76 } 77 }catch(NumberFormatException e) { 78 }catch (HibernateException e) { 79 errors.add(ERROR_KEY, 80 new ActionError("hibernate_exception")); 81 } catch (SQLException e) { 82 errors.add(ERROR_KEY, new ActionError("database_exception")); 83 }finally { 84 if(ssn!=null) 85 commitSession(ssn,true); 86 } 87 } else 88 errors.add(ERROR_KEY, new ActionError("user_not_login")); 89 if (!errors.isEmpty()) 90 saveErrors(request, errors); 91 return mapping.findForward("list"); 92 } 93 103 public ActionForward doSend(ActionMapping mapping, ActionForm form, 104 HttpServletRequest request, HttpServletResponse response) 105 throws Exception { 106 ActionErrors errors = new ActionErrors(); 107 MessageForm msg = (MessageForm) form; 108 UserForm loginUser = UserForm.getLoginUser(request); 109 if (loginUser != null && loginUser.isLogin()) { 110 if (msg.getToUser() == null || msg.getToUser().getId() == -1) 111 errors.add(ERROR_KEY, new ActionError("operation_not_allow")); 112 else if (msg.getToUser().getId() == loginUser.getId()) 113 errors.add(ERROR_KEY, new ActionError("message_to_self")); 114 else { 115 Session ssn = null; 116 try { 117 msg.setFromUser(loginUser); 118 msg.setSendTime(new Date ()); 119 ssn = getSession(); 120 ssn.save(msg); 121 errors.add(ERROR_KEY, new ActionError("message_send_ok")); 122 } catch (HibernateException e) { 123 errors.add(ERROR_KEY, 124 new ActionError("hibernate_exception")); 125 } catch (SQLException e) { 126 errors.add(ERROR_KEY, new ActionError("database_exception")); 127 } finally { 128 commitSession(ssn, true); 129 } 130 } 131 } else 132 errors.add(ERROR_KEY, new ActionError("user_not_login")); 133 if (!errors.isEmpty()) 134 saveErrors(request, errors); 135 return mapping.getInputForward(); 136 } 137 } 138 | Popular Tags |