1 25 29 package org.jresearch.gossip.actions.admin.rank; 30 31 import java.sql.SQLException ; 32 import java.util.Iterator ; 33 import java.util.List ; 34 35 import javax.servlet.http.HttpServletRequest ; 36 import javax.servlet.http.HttpServletResponse ; 37 38 import org.apache.struts.action.ActionForm; 39 import org.apache.struts.action.ActionForward; 40 import org.apache.struts.action.ActionMapping; 41 import org.apache.struts.action.ActionMessage; 42 import org.apache.struts.action.ActionMessages; 43 import org.jresearch.gossip.IConst; 44 import org.jresearch.gossip.actions.BaseAction; 45 import org.jresearch.gossip.beans.RankInfoDTO; 46 import org.jresearch.gossip.dao.ForumDAO; 47 import org.jresearch.gossip.exception.JGossipException; 48 import org.jresearch.gossip.exception.SystemException; 49 import org.jresearch.gossip.forms.RankForm; 50 import org.jresearch.gossip.tags.userstatus.Ranks; 51 52 56 public abstract class SaveRankAction extends BaseAction { 57 58 protected ActionForward process(ActionMapping mapping, ActionForm form, 59 HttpServletRequest request, HttpServletResponse response) 60 throws JGossipException { 61 ForumDAO dao = ForumDAO.getInstance(); 62 RankForm rForm = (RankForm) form; 63 try { 64 int count = Integer.parseInt(rForm.getCount()); 65 int id = -1; 66 try { 67 id = Integer.parseInt(rForm.getId()); 68 } catch (NumberFormatException e) { 69 id = -1; 70 } 71 List records = dao.getRankList(); 72 Iterator it = records.iterator(); 73 while (it.hasNext()) { 74 RankInfoDTO curr = (RankInfoDTO) it.next(); 75 if (curr.getCount() == count && curr.getId() != id) { 76 ActionMessages errors = new ActionMessages(); 77 errors 78 .add(ActionMessages.GLOBAL_MESSAGE, 79 new ActionMessage("errors.ERR23", rForm 80 .getCount())); 81 saveErrors(request, errors); 82 return mapping.getInputForward(); 83 } 84 } 85 saveRank(rForm); 86 Ranks.getInstance().load(); 88 } catch (SQLException e) { 89 throw new SystemException(e); 90 } 91 return mapping.findForward(IConst.TOKEN.PAGE); 92 } 93 94 protected abstract void saveRank(RankForm rForm) throws SQLException ; 95 } | Popular Tags |