KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > mvnforum > admin > MemberCompanyWebHandler


1 /*
2  * $Header: /cvsroot/mvnforum/mvnforum/src/com/mvnforum/admin/MemberCompanyWebHandler.java,v 1.11 2006/04/14 17:05:25 minhnn Exp $
3  * $Author: minhnn $
4  * $Revision: 1.11 $
5  * $Date: 2006/04/14 17:05:25 $
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: Mai Nguyen
40  */

41 package com.mvnforum.admin;
42
43 import java.io.*;
44 import java.sql.Timestamp JavaDoc;
45 import java.util.Collection JavaDoc;
46 import java.util.Locale JavaDoc;
47
48 import com.mvnforum.MVNForumResourceBundle;
49 import com.mvnforum.auth.*;
50 import com.mvnforum.db.CompanyBean;
51 import com.mvnforum.db.DAOFactory;
52 import net.myvietnam.mvncore.exception.*;
53 import net.myvietnam.mvncore.util.*;
54 import net.myvietnam.mvncore.web.GenericRequest;
55 import org.apache.commons.logging.Log;
56 import org.apache.commons.logging.LogFactory;
57
58 public class MemberCompanyWebHandler {
59
60     private static Log log = LogFactory.getLog(MemberCompanyWebHandler.class);
61
62     private OnlineUserManager onlineUserManager = OnlineUserManager.getInstance();
63
64     public MemberCompanyWebHandler() {
65     }
66
67     public void processAdd(GenericRequest request)
68         throws IOException, BadInputException, CreateException, DatabaseException,
69         DuplicateKeyException, ObjectNotFoundException, AuthenticationException, AssertionException {
70
71         OnlineUser onlineUser = onlineUserManager.getOnlineUser(request);
72         MVNForumPermission permission = onlineUser.getPermission();
73         permission.ensureCanAdminSystem();
74
75         Timestamp JavaDoc now = DateUtil.getCurrentGMTTimestamp();
76         Timestamp JavaDoc expireDate = new Timestamp JavaDoc(now.getTime() + DateUtil.DAY * 90);
77
78         int companyID = GenericParamUtil.getParameterInt(request, "companyid");
79
80         int isActive = 0;//GenericParamUtil.getParameterInt(request, "IsActive");
81
int relationType = 0;//GenericParamUtil.getParameterInt(request, "RelationType");
82
int relationOption = 0;//GenericParamUtil.getParameterInt(request, "RelationOption");
83
int relationStatus = 0;//GenericParamUtil.getParameterInt(request, "RelationStatus");
84

85         String JavaDoc memberNames = GenericParamUtil.getParameterSafe(request, "MemberNames", true);
86
87         Locale JavaDoc locale = I18nUtil.getLocaleInRequest(request);
88
89         //log.debug("member names = " + memberNames);
90
StringReader stringReader = new StringReader(memberNames);
91         BufferedReader reader = new BufferedReader(stringReader);
92
93         CompanyBean companyBean = null;
94         try {
95             companyBean = DAOFactory.getCompanyDAO().getCompany(companyID);
96         } catch (ObjectNotFoundException e) {
97             String JavaDoc localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.ObjectNotFoundException.companyid_not_exists", new Object JavaDoc[] {new Integer JavaDoc(companyID)});
98             throw new ObjectNotFoundException(localizedMessage);
99         }
100
101         String JavaDoc memberName = null;
102         while ((memberName = reader.readLine()) != null) {
103             //log.debug("name = " + memberName + " length = " + memberName.length());
104
memberName = memberName.trim();
105             if (memberName.length() > 0) {
106                 try {
107                     // Assign member to company
108
int memberID = DAOFactory.getMemberDAO().getMemberIDFromMemberName(memberName);
109                     DAOFactory.getMemberCompanyDAO().create(memberID, memberName, companyID,
110                                               now/*creationDate*/, expireDate, isActive,
111                                               relationType, relationOption, relationStatus);
112
113                     // and also assign that member to group of the company
114
int groupID = companyBean.getGroupID();
115                     int privilege = 0;
116                     DAOFactory.getMemberGroupDAO().create(groupID, memberName, privilege, now/*creationDate*/, now/*modifiedDate*/);
117                 } catch (DuplicateKeyException ex) {
118                     // already existed, just ignore
119
String JavaDoc localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.ImportException.member_belong_to_other_company", new Object JavaDoc[] {memberName});
120                     throw new DuplicateKeyException(localizedMessage);
121                     //throw new DuplicateKeyException("Member '" + memberName + "' already belong to other company.");
122
} catch (ObjectNotFoundException ex) {
123                     // member not found, just ignore
124
} catch (ForeignKeyNotFoundException ex) {
125                     // member not found, just ignore
126
}
127             }// if memberName is not empty
128
}//while
129
}
130
131     public void processDelete(GenericRequest request)
132         throws BadInputException, ObjectNotFoundException, DatabaseException, AuthenticationException, AssertionException {
133
134         OnlineUser onlineUser = onlineUserManager.getOnlineUser(request);
135         MVNForumPermission permission = onlineUser.getPermission();
136         permission.ensureCanAdminSystem();
137
138         // primary key column(s)
139
int companyID = GenericParamUtil.getParameterInt(request, "companyid");
140         int memberID= GenericParamUtil.getParameterInt(request, "memberid");
141
142         CompanyBean companyBean = null;
143         try {
144             companyBean = DAOFactory.getCompanyDAO().getCompany(companyID);
145         } catch (ObjectNotFoundException e) {
146             Locale JavaDoc locale = I18nUtil.getLocaleInRequest(request);
147             String JavaDoc localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.ObjectNotFoundException.companyid_not_exists", new Object JavaDoc[] {new Integer JavaDoc(companyID)});
148             throw new ObjectNotFoundException(localizedMessage);
149         }
150
151         // Delete member from the company
152
DAOFactory.getMemberCompanyDAO().delete(memberID, companyID);
153
154         // And also delete that member from the group of the company
155
int groupID = companyBean.getGroupID();
156         DAOFactory.getMemberGroupDAO().delete(groupID, memberID);
157     }
158
159     public void prepareList_inCompany_limit(GenericRequest request)
160         throws DatabaseException, BadInputException, ObjectNotFoundException, AuthenticationException, AssertionException {
161
162         OnlineUser onlineUser = onlineUserManager.getOnlineUser(request);
163         MVNForumPermission permission = onlineUser.getPermission();
164         permission.ensureCanAdminSystem();
165
166         int companyID = GenericParamUtil.getParameterInt(request, "companyid");
167
168         CompanyBean companyBean = null;
169         try {
170             companyBean = DAOFactory.getCompanyDAO().getCompany(companyID);
171         } catch (ObjectNotFoundException e) {
172             Locale JavaDoc locale = I18nUtil.getLocaleInRequest(request);
173             String JavaDoc localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.ObjectNotFoundException.companyid_not_exists", new Object JavaDoc[] {new Integer JavaDoc(companyID)});
174             throw new ObjectNotFoundException(localizedMessage);
175         }
176         Collection JavaDoc memberCompanyBeans = DAOFactory.getMemberCompanyDAO().getBeans_inCompany_limit(companyID, 0, 10000);//@todo: FIX ME : hard code
177

178         request.setAttribute("CompanyBean", companyBean);
179         request.setAttribute("MemberCompanyBeans", memberCompanyBeans);
180     }
181 }
182
Popular Tags