1 25 package org.jresearch.gossip.actions.subscription; 26 27 import java.sql.SQLException ; 28 29 import javax.servlet.http.HttpServletRequest ; 30 import javax.servlet.http.HttpServletResponse ; 31 import javax.servlet.http.HttpSession ; 32 33 import org.apache.struts.action.ActionForm; 34 import org.apache.struts.action.ActionForward; 35 import org.apache.struts.action.ActionMapping; 36 import org.apache.struts.action.ActionMessage; 37 import org.apache.struts.action.ActionMessages; 38 import org.apache.struts.util.MessageResources; 39 import org.jresearch.gossip.IConst; 40 import org.jresearch.gossip.actions.BaseAction; 41 import org.jresearch.gossip.beans.user.User; 42 import org.jresearch.gossip.dao.ForumDAO; 43 import org.jresearch.gossip.exception.SystemException; 44 import org.jresearch.gossip.forms.SubscribeForm; 45 46 51 public class UnsubscribeAction extends BaseAction { 52 60 public ActionForward process(ActionMapping mapping, ActionForm form, 61 HttpServletRequest request, HttpServletResponse response) 62 throws SystemException { 63 ForumDAO dao = ForumDAO.getInstance(); 64 HttpSession session = request.getSession(); 65 ActionMessages errors = new ActionMessages(); 66 MessageResources messages = getResources(request); 67 SubscribeForm sForm = (SubscribeForm) form; 68 User user = (User) session.getAttribute(IConst.SESSION.USER_KEY); 69 String uname = null; 70 String inputForward = null; 71 String email = null; 72 if (user.getStatus() == 0) { 73 inputForward = "unsubscribe"; 74 if ((sForm.getEmail() == null) || sForm.getEmail().equals("")) { 75 errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage( 76 "errors.required", new Object [] { messages 77 .getMessage("user.U_MAIL") })); 78 saveErrors(request, errors); 79 return (mapping.findForward(inputForward)); 80 } else { 81 email = sForm.getEmail(); 82 uname = "<%>"; 83 } 84 } else { 85 inputForward = "subscriptions"; 86 uname = user.getName(); 87 email = user.getInfo().getEmail(); 88 } 89 try { 90 91 if (dao.unsubscribe(email, uname, sForm.getTid())) { 92 if (user.getStatus() == 0) { 93 setStatusMessage(request, "mails.OK1"); 94 } 95 } else if (user.getStatus() == 0) { 96 errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage( 97 "mails.NOSUB2")); 98 saveErrors(request, errors); 99 } 100 } catch (SQLException sqle) { 101 getServlet().log("Connection.process", sqle); 102 throw new SystemException(sqle); 103 } 104 return (mapping.findForward(inputForward)); 105 } 106 } | Popular Tags |