try {
ForumFactory forumFactory = ForumFactory.getInstance(getAuthToken(request));
ProfileManager manager = forumFactory.getProfileManager();
User user = manager.getUser(getAuthToken(request).getUserID());
try {
//retrieve the user
User u = manager.getUser(getUser(request));
//first, populate
if (request.getParameter("userBean.userName") == null) {
UserBean ub = new UserBean();
ub.setId(u.getID());
ub.setEmail(u.getEmail());
ub.setEmailVisible(u.isEmailVisible());
ub.setName(u.getName());
ub.setNameVisible(u.isNameVisible());
ub.setUserName(u.getUsername());
String key=null;
for(Enumeration e= u.propertyNames();e.hasMoreElements();){
key=(String)e.nextElement();
ub.setPropertie(key, u.getProperty(key));
}
PropertyUtils.setProperty(form, "userBean", ub);
return mapping.findForward("view");
}
//validate
errors = form.validate(mapping,request);
if (!errors.isEmpty()) {
saveErrors(request, errors);
return mapping.findForward("view");
}
//save
UserBean ub = (UserBean) PropertyUtils.getProperty(form, "userBean");
u.setEmail(ub.getEmail());
u.setEmailVisible(ub.isEmailVisible());
u.setName(ub.getName());
u.setNameVisible(ub.isNameVisible());
//need change password
if(ub.isChangePassword()){
u.setPassword(ub.getPassword());
}
//properties
String temp = null;
for (Iterator it = ub.getProperties().keySet().iterator(); it.hasNext();) {
temp = (String) it.next();
u.setProperty(temp, (String) ub.getProperties().get(temp));
}
}catch( NumberFormatException aee ) {
return mapping.findForward("cancel");