1 25 26 package com.j2biz.blogunity.web.actions.my; 27 28 import java.util.ArrayList ; 29 import java.util.Calendar ; 30 import java.util.Locale ; 31 32 import javax.servlet.http.HttpServletRequest ; 33 import javax.servlet.http.HttpServletResponse ; 34 35 import org.apache.commons.lang.StringUtils; 36 37 import com.j2biz.blogunity.IConstants; 38 import com.j2biz.blogunity.dao.UserDAO; 39 import com.j2biz.blogunity.exception.BlogunityException; 40 import com.j2biz.blogunity.pojo.User; 41 import com.j2biz.blogunity.util.BlogUtils; 42 import com.j2biz.blogunity.util.PasswordEncryptionService; 43 import com.j2biz.blogunity.util.RenderUtils; 44 import com.j2biz.blogunity.web.ActionResultFactory; 45 import com.j2biz.blogunity.web.FormError; 46 import com.j2biz.blogunity.web.FormErrorList; 47 import com.j2biz.blogunity.web.IActionResult; 48 49 56 public class EditProfileExecAction extends MyAbstractAction { 57 protected static final IActionResult PROFILE_FORM_FORWARD = ActionResultFactory 58 .buildForward("/jsp/my/profileForm.jsp"); 59 60 64 70 public IActionResult execute(HttpServletRequest request, HttpServletResponse response) 71 throws BlogunityException { 72 73 String password = request.getParameter("password"); 75 String firstname = request.getParameter("firstname"); 76 String lastname = request.getParameter("lastname"); 77 String email = request.getParameter("email"); 78 String language = request.getParameter("language"); 79 String icq = request.getParameter("icq"); 80 String msn = request.getParameter("msn"); 81 String yahoo = request.getParameter("yahoo"); 82 String jabber = request.getParameter("jabber"); 83 String homepage = request.getParameter("homepage"); 84 String sex = request.getParameter("sex"); 85 String showEmailStr = request.getParameter("showEmail"); 86 boolean showEmail = false; 87 if (showEmailStr != null) showEmail = showEmailStr.equalsIgnoreCase("on") ? true : false; 88 89 String bio = request.getParameter("bio"); 90 String day = request.getParameter("day"); 91 String month = request.getParameter("month"); 92 String year = request.getParameter("year"); 93 94 int i_day = 1; 95 try { 96 i_day = Integer.parseInt(day); 97 } catch (NumberFormatException e1) { 98 99 } 100 101 int i_month = 0; 102 try { 103 i_month = Integer.parseInt(month); 104 } catch (NumberFormatException e1) { 105 106 } 107 108 int i_year = 2000; 109 try { 110 i_year = Integer.parseInt(year); 111 } catch (NumberFormatException e1) { 112 113 } 114 Calendar c = Calendar.getInstance(); 115 c.set(i_year, i_month - 1, i_day); 116 117 user.setEmail(email); 118 user.setFirstname(firstname); 119 user.setLastname(lastname); 120 user.setLanguage(StringUtils.isEmpty(language) ? null : new Locale (language)); 121 user.setIcq(StringUtils.isEmpty(icq) ? null : icq); 122 user.setMsn(StringUtils.isEmpty(msn) ? null : msn); 123 user.setYahoo(StringUtils.isEmpty(yahoo) ? null : yahoo); 124 user.setJabber(StringUtils.isEmpty(jabber) ? null : jabber); 125 user.setHomepage(StringUtils.isEmpty(homepage) ? null : homepage); 126 user.setBioRaw(StringUtils.isEmpty(bio) ? null : bio); 127 user.setBio(StringUtils.isEmpty(bio) ? null : RenderUtils.renderText(bio)); 128 user.setBirthday(c.getTime()); 129 130 try { 131 user.setSex(Integer.parseInt(sex)); 132 } catch (NumberFormatException e) { 133 user.setSex(User.MALE); 134 } 135 user.setShowEmail(showEmail); 136 137 request.setAttribute("newUser", user); 138 139 String [] localeArray = Locale.getISOLanguages(); 140 ArrayList locales = new ArrayList (); 141 for (int i = 0; i < localeArray.length; i++) { 142 locales.add(new Locale (localeArray[i])); 143 } 144 request.setAttribute("locales", locales); 145 146 FormErrorList errors = new FormErrorList(); 147 148 154 if (StringUtils.isEmpty(firstname)) 155 errors.add(new FormError("firstname", "Firstname is empty!")); 156 if (StringUtils.isEmpty(lastname)) 157 errors.add(new FormError("lastname", "Lastname is empty!")); 158 if (StringUtils.isEmpty(language)) { 159 errors.add(new FormError("language", "Language cannot be empty!")); 160 } 161 if (StringUtils.isEmpty(email)) errors.add(new FormError("email", "Email is empty!")); 162 else if (!BlogUtils.getInstance().isValidEmailAddress(email)) 163 errors.add(new FormError("email", "Email is not valid!")); 164 165 if (errors.size() > 0) { 166 request.setAttribute("errors", errors); 167 return PROFILE_FORM_FORWARD; 168 } 169 170 179 if (StringUtils.isNotEmpty(password)) { 180 user.setPassword(password); 181 user = PasswordEncryptionService.encryptPasswordIfNecessary(user); 182 } 183 184 (new UserDAO()).updateUser(user); 185 186 request.setAttribute(IConstants.Request.LOCALE, user.getLanguage()); 188 189 return navigationStack.peek(); 191 192 } 193 } | Popular Tags |