KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jresearch > gossip > actions > user > RegistrationAction


1 /*
2  * $$Id: RegistrationAction.java,v 1.3 2005/06/07 12:32:29 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  * Dmitry Belov <bel@jresearch.org>
23  *
24  * ***** END LICENSE BLOCK ***** */

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

29 package org.jresearch.gossip.actions.user;
30
31 import java.sql.SQLException JavaDoc;
32
33 import javax.servlet.http.Cookie JavaDoc;
34 import javax.servlet.http.HttpServletRequest JavaDoc;
35 import javax.servlet.http.HttpServletResponse JavaDoc;
36 import javax.servlet.http.HttpSession 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.user.User;
46 import org.jresearch.gossip.configuration.Configurator;
47 import org.jresearch.gossip.dao.UserDAO;
48 import org.jresearch.gossip.exception.SystemException;
49 import org.jresearch.gossip.forms.ProfileForm;
50
51 /**
52  * DOCUMENT ME!
53  *
54  * @author Bel
55  */

56 public class RegistrationAction extends BaseAction {
57
58     /**
59      * DOCUMENT ME!
60      *
61      * @param mapping
62      * DOCUMENT ME!
63      * @param form
64      * DOCUMENT ME!
65      * @param request
66      * DOCUMENT ME!
67      * @param response
68      * DOCUMENT ME!
69      *
70      * @return DOCUMENT ME!
71      */

72     public ActionForward process(ActionMapping mapping, ActionForm form,
73             HttpServletRequest JavaDoc request, HttpServletResponse JavaDoc response)
74             throws SystemException {
75         if (IConst.VALUES.FALSE.equals(Configurator.getInstance().get(
76                 IConst.CONFIG.ENABLE_FORUM_SIGN_ON))
77                 || IConst.VALUES.FALSE.equals(Configurator.getInstance().get(
78                         IConst.CONFIG.ENABLE_FORUM_REGISTRATION))
79                 || IConst.VALUES.TRUE.equals(Configurator.getInstance().get(
80                         IConst.CONFIG.ENABLE_EMAIL_CONFIRMATION))) {
81             return (mapping.findForward(IConst.TOKEN.DENIED));
82         }
83
84         HttpSession JavaDoc session = request.getSession();
85         UserDAO dao = UserDAO.getInstance();
86
87         try {
88
89             if (dao.addUser((ProfileForm) form)) {
90                 User user = dao.getUser(((ProfileForm) form).getLogin(),
91                         ((ProfileForm) form).getPassword());
92                 log(request, "logs.LOG7", user.getName());
93
94                 if (user.getStatus() > 0) {
95                     user.setIp(request.getRemoteAddr());
96                     session.setAttribute(IConst.SESSION.USER_KEY, user);
97
98                     if (IConst.VALUES.TRUE.equals(Configurator.getInstance()
99                             .get(IConst.CONFIG.ENABLE_AUTO_LOGIN))) {
100                         // set autolog cookies if needed...
101
if (user.getSettings().isAutologin()) {
102                             Cookie JavaDoc userCookie = new Cookie JavaDoc(
103                                     IConst.COOKIE.USER_COOKIE, user.getName()
104                                             + "*" + user.getPassword());
105                             userCookie
106                                     .setMaxAge(IConst.COOKIE.SECONDS_PER_YEAR);
107                             ((HttpServletResponse JavaDoc) response)
108                                     .addCookie(userCookie);
109                         }
110                     }
111                 }
112             } else {
113                 ActionMessages errors = new ActionMessages();
114
115                 errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(
116                         "errors.ERR6"));
117
118                 saveErrors(request, errors);
119
120                 return (mapping.getInputForward());
121             }
122         } catch (SQLException JavaDoc sqle) {
123             getServlet().log("Connection.process", sqle);
124             throw new SystemException(sqle);
125         }
126
127         return (mapping.findForward(IConst.TOKEN.WELCOME));
128     }
129 }
Popular Tags