1 53 package com.ivata.groupware.business.mail.struts; 54 55 import java.util.List ; 56 import java.util.Vector ; 57 58 import javax.servlet.http.HttpServletRequest ; 59 60 import org.apache.struts.action.ActionMapping; 61 62 import com.ivata.groupware.admin.security.Security; 63 import com.ivata.groupware.admin.security.server.SecuritySession; 64 import com.ivata.groupware.admin.security.user.UserDO; 65 import com.ivata.groupware.admin.setting.Settings; 66 import com.ivata.groupware.business.addressbook.AddressBook; 67 import com.ivata.groupware.business.addressbook.struts.PersonForm; 68 import com.ivata.groupware.business.mail.Mail; 69 import com.ivata.groupware.util.SettingDateFormatter; 70 import com.ivata.mask.MaskFactory; 71 import com.ivata.mask.util.CollectionHandling; 72 import com.ivata.mask.util.StringHandling; 73 import com.ivata.mask.util.SystemException; 74 75 86 87 public class MailUserForm extends PersonForm { 88 89 95 String emailAddressHost = "localhost"; 96 97 102 private Mail mail; 103 108 private SecuritySession securitySession; 109 114 private Settings settings; 115 120 private List userAliases; 121 126 private String vacationMessage; 127 128 139 public MailUserForm(final Mail mail, 140 final AddressBook addressBook, 141 final Settings settings, 142 final SettingDateFormatter dateFormatter, 143 final Security security, 144 final MaskFactory maskFactory) { 145 super(addressBook, dateFormatter, security, maskFactory); 146 this.mail = mail; 147 this.settings = settings; 148 } 149 156 protected void clear() { 157 super.clear(); 158 userAliases = null; 159 vacationMessage = null; 160 } 161 162 169 public List getUserAliases() { 170 return userAliases; 171 } 172 173 181 public final String getUserAliasesAsLines() { 182 return CollectionHandling.convertToLines(userAliases); 183 } 184 185 192 public final String getVacationMessage() { 193 return vacationMessage; 194 } 195 204 public void reset(final ActionMapping mapping, 205 final HttpServletRequest request) { 206 super.reset(mapping, request); 207 securitySession = (SecuritySession) request.getSession().getAttribute("securitySesssion"); 208 if (!StringHandling.isNullOrEmpty(getUserName())) { 209 UserDO user = getPerson().getUser().getId() == null ? 212 null : getPerson().getUser(); 213 try { 214 emailAddressHost = 215 settings.getStringSetting( 216 securitySession, 217 "emailAddressHost", 218 user); 219 } catch (SystemException e) { 220 throw new RuntimeException (e); 221 } 222 } 223 224 if ("/addressBook/user.jsp".equals(getTabPage())) { 226 userAliases = null; 227 vacationMessage = ""; 228 } 229 } 230 238 public void setPersonFromTelecomAddresses() { 239 try { 240 String userName = getUserName(); 241 if (!StringHandling.isNullOrEmpty(userName)) { 242 mail.addUserAliasEmailAddresses(securitySession, userName, 243 userAliases, getTelecomAddresses(), emailAddressHost); 244 } 245 } catch (SystemException e) { 246 throw new RuntimeException (e); 247 } 248 super.setPersonFromTelecomAddresses(); 249 } 250 251 258 public final void setUserAliases(final List userAliases) { 259 this.userAliases = userAliases; 260 } 261 262 270 public final void setUserAliasesAsLines(final String userAliases) { 271 this.userAliases = new Vector (CollectionHandling.convertFromLines(userAliases)); 272 } 273 274 281 public final void setVacationMessage(final String vacationMessage) { 282 this.vacationMessage = vacationMessage; 283 } 284 } 285 | Popular Tags |