1 41 package com.mvnforum.admin; 42 43 import java.io.*; 44 import java.sql.Timestamp ; 45 import java.util.Collection ; 46 import java.util.Locale ; 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 now = DateUtil.getCurrentGMTTimestamp(); 76 Timestamp expireDate = new Timestamp (now.getTime() + DateUtil.DAY * 90); 77 78 int companyID = GenericParamUtil.getParameterInt(request, "companyid"); 79 80 int isActive = 0; int relationType = 0; int relationOption = 0; int relationStatus = 0; 85 String memberNames = GenericParamUtil.getParameterSafe(request, "MemberNames", true); 86 87 Locale locale = I18nUtil.getLocaleInRequest(request); 88 89 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 localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.ObjectNotFoundException.companyid_not_exists", new Object [] {new Integer (companyID)}); 98 throw new ObjectNotFoundException(localizedMessage); 99 } 100 101 String memberName = null; 102 while ((memberName = reader.readLine()) != null) { 103 memberName = memberName.trim(); 105 if (memberName.length() > 0) { 106 try { 107 int memberID = DAOFactory.getMemberDAO().getMemberIDFromMemberName(memberName); 109 DAOFactory.getMemberCompanyDAO().create(memberID, memberName, companyID, 110 now, expireDate, isActive, 111 relationType, relationOption, relationStatus); 112 113 int groupID = companyBean.getGroupID(); 115 int privilege = 0; 116 DAOFactory.getMemberGroupDAO().create(groupID, memberName, privilege, now, now); 117 } catch (DuplicateKeyException ex) { 118 String localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.ImportException.member_belong_to_other_company", new Object [] {memberName}); 120 throw new DuplicateKeyException(localizedMessage); 121 } catch (ObjectNotFoundException ex) { 123 } catch (ForeignKeyNotFoundException ex) { 125 } 127 } } } 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 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 locale = I18nUtil.getLocaleInRequest(request); 147 String localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.ObjectNotFoundException.companyid_not_exists", new Object [] {new Integer (companyID)}); 148 throw new ObjectNotFoundException(localizedMessage); 149 } 150 151 DAOFactory.getMemberCompanyDAO().delete(memberID, companyID); 153 154 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 locale = I18nUtil.getLocaleInRequest(request); 173 String localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.ObjectNotFoundException.companyid_not_exists", new Object [] {new Integer (companyID)}); 174 throw new ObjectNotFoundException(localizedMessage); 175 } 176 Collection memberCompanyBeans = DAOFactory.getMemberCompanyDAO().getBeans_inCompany_limit(companyID, 0, 10000); 178 request.setAttribute("CompanyBean", companyBean); 179 request.setAttribute("MemberCompanyBeans", memberCompanyBeans); 180 } 181 } 182
| Popular Tags
|