KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jresearch > gossip > actions > admin > rank > SaveRankAction


1 /*
2  * $Id: SaveRankAction.java,v 1.3 2005/06/07 12:31:54 bel70 Exp $
3  *
4  * ***** BEGIN LICENSE BLOCK *****
5  * The contents of this file are subject to the Mozilla Public License
6  * Version 1.1 (the "License"); you may not use this file except in
7  * compliance with the License. You may obtain a copy of the License
8  * at http://www.mozilla.org/MPL/
9  *
10  * Software distributed under the License is distributed on an "AS IS"
11  * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
12  * the License for the specific language governing rights and
13  * limitations under the License.
14  *
15  * The Original Code is JGossip forum code.
16  *
17  * The Initial Developer of the Original Code is the JResearch, Org.
18  * Portions created by the Initial Developer are Copyright (C) 2004
19  * the Initial Developer. All Rights Reserved.
20  *
21  * Contributor(s):
22  * Dmitriy Belov <bel@jresearch.org>
23  * .
24  * * ***** END LICENSE BLOCK ***** */

25 /*
26  * Created on 06.08.2004
27  *
28  */

29 package org.jresearch.gossip.actions.admin.rank;
30
31 import java.sql.SQLException JavaDoc;
32 import java.util.Iterator JavaDoc;
33 import java.util.List JavaDoc;
34
35 import javax.servlet.http.HttpServletRequest JavaDoc;
36 import javax.servlet.http.HttpServletResponse JavaDoc;
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 /**
53  * @author dbelov
54  *
55  */

56 public abstract class SaveRankAction extends BaseAction {
57
58     protected ActionForward process(ActionMapping mapping, ActionForm form,
59             HttpServletRequest JavaDoc request, HttpServletResponse JavaDoc 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 JavaDoc e) {
69                 id = -1;
70             }
71             List JavaDoc records = dao.getRankList();
72             Iterator JavaDoc 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             // Reload Post counted Ranks
87
Ranks.getInstance().load();
88         } catch (SQLException JavaDoc 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 JavaDoc;
95 }
Popular Tags