KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > mvnforum > auth > AbstractSampleAuthenticator


1 /*
2  * $Header: /cvsroot/mvnforum/mvnforum/src/com/mvnforum/auth/AbstractSampleAuthenticator.java,v 1.3 2006/04/14 16:29:56 minhnn Exp $
3  * $Author: minhnn $
4  * $Revision: 1.3 $
5  * $Date: 2006/04/14 16:29:56 $
6  *
7  * ====================================================================
8  *
9  * Copyright (C) 2002-2006 by MyVietnam.net
10  *
11  * All copyright notices regarding mvnForum MUST remain
12  * intact in the scripts and in the outputted HTML.
13  * The "powered by" text/logo with a link back to
14  * http://www.mvnForum.com and http://www.MyVietnam.net in
15  * the footer of the pages MUST remain visible when the pages
16  * are viewed on the internet or intranet.
17  *
18  * This program is free software; you can redistribute it and/or modify
19  * it under the terms of the GNU General Public License as published by
20  * the Free Software Foundation; either version 2 of the License, or
21  * any later version.
22  *
23  * This program is distributed in the hope that it will be useful,
24  * but WITHOUT ANY WARRANTY; without even the implied warranty of
25  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
26  * GNU General Public License for more details.
27  *
28  * You should have received a copy of the GNU General Public License
29  * along with this program; if not, write to the Free Software
30  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
31  *
32  * Support can be obtained from support forums at:
33  * http://www.mvnForum.com/mvnforum/index
34  *
35  * Correspondence and Marketing Questions can be sent to:
36  * info at MyVietnam net
37  *
38  * @author: Minh Nguyen
39  * @author: Anh Dong Thi Lan
40  */

41 package com.mvnforum.auth;
42
43 import java.sql.Date JavaDoc;
44 import java.sql.Timestamp JavaDoc;
45
46 import org.apache.commons.logging.Log;
47 import org.apache.commons.logging.LogFactory;
48
49 import net.myvietnam.mvncore.exception.CreateException;
50 import net.myvietnam.mvncore.exception.DatabaseException;
51 import net.myvietnam.mvncore.exception.DuplicateKeyException;
52 import net.myvietnam.mvncore.exception.ForeignKeyNotFoundException;
53 import net.myvietnam.mvncore.exception.ObjectNotFoundException;
54 import net.myvietnam.mvncore.util.DateUtil;
55 import net.myvietnam.mvncore.util.ParamUtil;
56 import net.myvietnam.mvncore.web.GenericRequest;
57
58 import com.mvnforum.MVNForumConfig;
59 import com.mvnforum.MVNForumConstant;
60 import com.mvnforum.common.SendMailUtil;
61 import com.mvnforum.db.DAOFactory;
62 import com.mvnforum.db.MemberBean;
63 import com.mvnforum.search.member.MemberIndexer;
64
65
66 public abstract class AbstractSampleAuthenticator extends AbstractAuthenticator {
67
68     private static Log log = LogFactory.getLog(AbstractSampleAuthenticator.class);
69
70     protected static void createAccount(String JavaDoc memberName, GenericRequest request)
71         throws ObjectNotFoundException, CreateException, DatabaseException,
72         DuplicateKeyException, ForeignKeyNotFoundException {
73
74         Timestamp JavaDoc now = DateUtil.getCurrentGMTTimestamp();
75         Date JavaDoc memberBirthday = new java.sql.Date JavaDoc(now.getTime());
76
77         // You should think of creating the email based on your company policy
78
String JavaDoc email = memberName + "@yourdomain.com";
79
80         DAOFactory.getMemberDAO().create(memberName, OnlineUserManager.PASSWORD_OF_METHOD_CUSTOMIZATION, email,
81                 email, MemberBean.MEMBER_EMAIL_VISIBLE, MemberBean.MEMBER_NAME_VISIBLE,
82                 request.getRemoteAddr(), request.getRemoteAddr(), 0/*memberViewCount*/,
83                 0/*memberPostCount*/, now, now,now,
84                 now/*memberLastLogon*/, 0, MemberBean.MEMBER_STATUS_ENABLE,
85                 "", ""/*memberTempPassword*/, 0/*memberMessageCount*/,
86                 0, 10, 0/*memberWarnCount*/,
87                 0/*memberVoteCount*/, 0/*memberVoteTotalStars*/, 0/*memberRewardPoints*/,
88                 ""/*memberTitle*/, 0/*memberTimeZone*/, ""/*memberSignature*/,
89                 ""/*memberAvatar*/, ""/*memberSkin*/, ""/*memberLanguage*/,
90                 ""/*memberFirstname*/, ""/*memberLastname*/, 1/*memberGender*/,
91                 memberBirthday, ""/*memberAddress*/, ""/*memberCity*/,
92                 ""/*memberState*/, ""/*memberCountry*/, ""/*memberPhone*/,
93                 ""/*memberMobile*/, ""/*memberFax*/, ""/*memberCareer*/,
94                 ""/*memberHomepage*/, ""/*memberYahoo*/, ""/*memberAol*/,
95                 ""/*memberIcq*/, ""/*memberMsn*/, ""/*memberCoolLink1*/,
96                 ""/*memberCoolLink2*/);
97
98         // Now, create 4 default folders for each member
99
int memberID = DAOFactory.getMemberDAO().getMemberIDFromMemberName(memberName);
100         int folderStatus = 0;
101         int folderOption = 0;
102         int folderType = 0;
103         DAOFactory.getMessageFolderDAO().create(MVNForumConstant.MESSAGE_FOLDER_INBOX, memberID, 0/*order*/, folderStatus, folderOption, folderType, now, now);
104         DAOFactory.getMessageFolderDAO().create(MVNForumConstant.MESSAGE_FOLDER_DRAFT, memberID, 1/*order*/, folderStatus, folderOption, folderType, now, now);
105         DAOFactory.getMessageFolderDAO().create(MVNForumConstant.MESSAGE_FOLDER_SENT, memberID, 2/*order*/, folderStatus, folderOption, folderType, now, now);
106         DAOFactory.getMessageFolderDAO().create(MVNForumConstant.MESSAGE_FOLDER_TRASH, memberID, 3/*order*/, folderStatus, folderOption, folderType, now, now);
107
108         // Add member to the lucene index
109
MemberBean memberBean = DAOFactory.getMemberDAO().getMember_forPublic(memberID);
110         MemberIndexer.scheduleAddMemberTask(memberBean);
111
112         // now, if require activation, then we will send mail
113
// Note that because after this page succeed,
114
// we redirect to usermanagement so not use mvnforum.mail.failed now
115
if (MVNForumConfig.getRequireActivation()) {
116             String JavaDoc serverName = ParamUtil.getServerPath(); //ParamUtil.getServer2(request);
117
try {
118                 SendMailUtil.sendActivationCodeEmail(memberID, serverName);
119             } catch (Exception JavaDoc ex) {
120                 log.error("Cannot send mail after registration!", ex);
121                 request.setAttribute("mvnforum.mail.failed", "Cannot send activation email after registration!");
122                 //@todo: save the error message to displayed later
123
}
124         }
125     }
126 }
127
Popular Tags