Java tutorial
/* * ==================================================================== * Copyright (C) 1997-2008 by Naijatek.com * * All copyright notices regarding MyAlumni MUST remain * intact in the scripts and in the outputted HTML. * The "powered by" text/logo with a link back to * http://www.naijatek.com in * the footer of the pages MUST remain visible when the pages * are viewed on the internet or intranet. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * * Support can be obtained from support forums at: * http://www.naijatek.com/myalumni/forum * * Correspondence and Marketing Questions can be sent to: * info at naijatek com * * <p>Title: MyAlumni </p> * <p>Description: This system helps keep alive the line of communications between alumni/alumnus</p> * <p>Copyright: Copyright (c) 1997-2008</p> * <p>Company: Naijatek Solutions (http://www.naijatek.com)</p> * @author Folashade Adeyosoye (shardayyy@naijatek.com) * @version 1.0 */ package net.naijatek.myalumni.modules.members.presentation.action; import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.StringTokenizer; import javax.imageio.ImageIO; import javax.imageio.ImageReader; import javax.imageio.stream.ImageInputStream; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import net.naijatek.myalumni.framework.exceptions.BadInputException; import net.naijatek.myalumni.framework.exceptions.CreateException; import net.naijatek.myalumni.framework.exceptions.DuplicateEmailException; import net.naijatek.myalumni.framework.exceptions.DuplicateMemberException; import net.naijatek.myalumni.framework.struts.MyAlumniDispatchAction; import net.naijatek.myalumni.framework.struts.MyAlumniUserContainer; import net.naijatek.myalumni.modules.common.domain.MemberVO; import net.naijatek.myalumni.modules.common.domain.MessengerVO; import net.naijatek.myalumni.modules.common.domain.SystemConfigVO; import net.naijatek.myalumni.modules.common.domain.XlatDetailVO; import net.naijatek.myalumni.modules.common.presentation.form.MemberForm; import net.naijatek.myalumni.modules.common.service.IMemberService; import net.naijatek.myalumni.modules.common.service.IMessageFolderService; import net.naijatek.myalumni.modules.common.service.IMessengerService; import net.naijatek.myalumni.modules.common.service.IPrivateMessageService; import net.naijatek.myalumni.modules.common.service.ISystemConfigService; import net.naijatek.myalumni.modules.common.service.IXlatService; import net.naijatek.myalumni.util.BaseConstants; import net.naijatek.myalumni.util.SystemConfigConstants; import net.naijatek.myalumni.util.encryption.Encoder; import net.naijatek.myalumni.util.mail.SendMailUtil; import net.naijatek.myalumni.util.utilities.StringUtil; import org.apache.commons.beanutils.BeanUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import org.apache.struts.action.ActionMessage; import org.apache.struts.action.ActionMessages; import org.apache.struts.upload.FormFile; public class MaintainMemberAction extends MyAlumniDispatchAction { private IMemberService memService; private IPrivateMessageService pmService; private IMessageFolderService mfService; private IXlatService xlatService; private ISystemConfigService sysConfigSerivce; private IMessengerService messengerService; private static Log logger = LogFactory.getLog(MaintainMemberAction.class); public MaintainMemberAction(final IMemberService memService, final IPrivateMessageService pmService, final IMessageFolderService mfService, IXlatService xlatService, final ISystemConfigService sysConfigSerivce, IMessengerService messengerService) { this.memService = memService; this.pmService = pmService; this.mfService = mfService; this.xlatService = xlatService; this.sysConfigSerivce = sysConfigSerivce; this.messengerService = messengerService; } /** * Searchs for member * * @param mapping * @param form * @param request * @param response * @return * @throws Exception */ public ActionForward genericAjaxSearch(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { logger.debug("in genericAjaxSearch..."); MemberForm memForm = (MemberForm) form; String searchCriteria = memForm.getSearchCriteria(); String searchWord = ""; String ajaxFormat = memForm.getAjaxFormat(); if (memForm.getApproach() != null) { if (searchCriteria.equals(BaseConstants.FIRST_NAME)) { searchWord = memForm.getFirstName(); } else if (searchCriteria.equals(BaseConstants.LAST_NAME)) { searchWord = memForm.getLastName(); } else if (searchCriteria.equals(BaseConstants.MAIDEN_NAME)) { searchWord = memForm.getMaidenName(); } else if (searchCriteria.equals(BaseConstants.NICK_NAME)) { searchWord = memForm.getNickName(); } else if (searchCriteria.equals(BaseConstants.FULL_NAME)) { searchWord = memForm.getMessageToUserName(); } if (ajaxFormat.equals(BaseConstants.AJAX_FORMAT_STRING)) { List<String> result = memService.genericAjaxSearch(searchWord, searchCriteria); request.setAttribute("result", result); request.getRequestDispatcher(BaseConstants.FWD_AJAX_JSP).forward(request, response); } else if (ajaxFormat.equals(BaseConstants.AJAX_FORMAT_OBJECT)) { List<MemberVO> result = memService.genericAjaxSearchObjects(searchWord, searchCriteria); request.setAttribute("result", result); request.getRequestDispatcher(BaseConstants.FWD_AJAX_JSP_OBJECT).forward(request, response); } return null; } return mapping.findForward(BaseConstants.FWD_SUCCESS); } public ActionForward displayMiniProfile(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { MemberForm memberForm = (MemberForm) form; String memberUserName = memberForm.getMemberUserName(); MemberVO memberVO = memService.getMemberProfileByUserName(memberUserName); setRequestObject(request, "profile", memberVO); return mapping.findForward(BaseConstants.FWD_SUCCESS); } public ActionForward prepareUpdateMemberProfile(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { MemberVO token = getCurrentLoggedInUser(request); // check to see if the user logged on is a member if (!memberSecurityCheck(request, token)) { return mapping.findForward(BaseConstants.FWD_LOGIN); } MemberForm memberForm = (MemberForm) form; MemberVO memberVO = memService.getMemberProfileByUserName(token.getMemberUserName()); BeanUtils.copyProperties(memberForm, memberVO); try { // IM List<XlatDetailVO> availableMessengers = xlatService .getActiveGroupDetails(BaseConstants.GROUP_INSTANT_MESSENGERS); List<XlatDetailVO> selectedMessengers = messengerService.getActiveMemberMessengers(token.getMemberId()); List<XlatDetailVO> filteredAvailableIMs = filterMessengers(availableMessengers, selectedMessengers); setSessionObject(request, BaseConstants.LU_AVAILABLE_IMS, filteredAvailableIMs); setSessionObject(request, BaseConstants.LU_SELECTED_IMS, selectedMessengers); } catch (Exception e) { logger.debug(e.getMessage()); ActionMessages errors = new ActionMessages(); errors.add(BaseConstants.WARN_KEY, new ActionMessage("core.errorcode.00709")); saveMessages(request, errors); return mapping.getInputForward(); } return mapping.findForward(BaseConstants.FWD_SUCCESS); } public ActionForward addMember(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { ActionMessages errors = new ActionMessages(); SystemConfigVO sysConfigVO = sysConfigSerivce.getSystemConfig(); try { MemberForm memberForm = (MemberForm) form; MemberVO memberVO = new MemberVO(); BeanUtils.copyProperties(memberVO, memberForm); memberVO.setLastModifiedBy(memberVO.getMemberUserName()); // Member memService.createMember(memberVO, request); //////// final String memberId = memberVO.getMemberId(); // Messengers List<MessengerVO> messengers = new ArrayList<MessengerVO>(); MessengerVO mesgerVO = null; for (String str : memberVO.getLstSelectedIMs()) { mesgerVO = new MessengerVO(); mesgerVO.setLastModifiedBy(memberVO.getMemberUserName()); mesgerVO.setMemberId(memberId); mesgerVO.setLookupCodeId(str); messengers.add(mesgerVO); } messengerService.saveAll(messengers, memberId); // Message Folders mfService.createMemberMessageFolders(memberId, SystemConfigConstants.MESSAGE_FOLDERS, memberVO.getMemberUserName()); StringBuffer message = new StringBuffer(); message.append("Thank you " + StringUtil.capitalize(memberVO.getFirstName()) + " " + StringUtil.capitalize(memberVO.getLastName()) + " for registering and Welcome to " + sysConfigVO.getOrganizationName() + "'s owns space in cyberspace."); message.append( "Your account should be active within the next 24 hours. So please try logging into the system as soon as you get your activation confirmation email."); setSessionObject(request, BaseConstants.MESSAGE, message.toString()); // send email to registrant try { SendMailUtil.sendWelcomeNotice(memberVO.getEmail(), memberVO.getMemberUserName(), sysConfigVO); } catch (Exception ex) { logger.error(ex.getMessage()); errors.add(BaseConstants.FATAL_KEY, new ActionMessage("error.mailserver")); saveMessages(request, errors); return mapping.findForward(BaseConstants.FWD_SUCCESS); } // send email to administrator about new registrant try { SendMailUtil.notifyAdminAboutNewMember(memberVO, sysConfigVO); } catch (Exception ex) { logger.error(ex.getMessage()); errors.add(BaseConstants.FATAL_KEY, new ActionMessage("error.mailserver")); saveMessages(request, errors); return mapping.findForward(BaseConstants.FWD_SUCCESS); } } catch (DuplicateMemberException e) { errors.add(BaseConstants.WARN_KEY, new ActionMessage("error.duplicate.member")); saveMessages(request, errors); logger.info("DUPLICATE USER NAME - " + e.getMessage()); return mapping.getInputForward(); } catch (DuplicateEmailException e) { errors.add(BaseConstants.WARN_KEY, new ActionMessage("error.duplicate.email")); saveMessages(request, errors); logger.info("DUPLICATE EMAIL - " + e.getMessage()); return mapping.getInputForward(); } catch (CreateException e) { errors.add(BaseConstants.WARN_KEY, new ActionMessage("errors.technical.difficulty")); saveMessages(request, errors); logger.fatal("SYSTEM ERROR - " + e.getMessage()); return mapping.getInputForward(); } catch (Exception ex) { errors.add(BaseConstants.FATAL_KEY, new ActionMessage("errors.technical.difficulty")); saveMessages(request, errors); logger.fatal("SYSTEM ERROR - " + ex.getStackTrace()); return mapping.getInputForward(); } return mapping.findForward(BaseConstants.FWD_SUCCESS); } public ActionForward prepareDeleteMyMemberProfile(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { setSessionObject(request, "ipaddress", getCurrentIPAddress(request)); return mapping.findForward(BaseConstants.FWD_SUCCESS); } public ActionForward deleteMyMemberProfile(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { memService.softDelete(getCurrentUserId(request), getLastModifiedBy(request)); ActionMessages errors = new ActionMessages(); errors.add(BaseConstants.INFO_KEY, new ActionMessage("core.errorcode.00713")); saveMessages(request, errors); return mapping.findForward(BaseConstants.FWD_SUCCESS); } public ActionForward validateMemberUserName(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { MemberForm memberForm = (MemberForm) form; if (memberForm.getApproach() != null) { boolean available = memService.isMemberAvailableByUserName(memberForm.getMemberUserName()); boolean allowed = false; String memberUserName = memberForm.getMemberUserName(); try { StringUtil.checkGoodName(memberUserName); allowed = true; } catch (BadInputException e) { allowed = false; } String unActivatePattern = getSysProp().getValue("DEFAULT_USERNAME_PATTERN"); StringTokenizer st = new StringTokenizer(unActivatePattern, ","); while (st.hasMoreTokens()) { if (memberUserName.startsWith(st.nextToken())) { allowed = false; } } response.setContentType("text/xml"); response.setHeader("Cache-Control", "no-cache"); if (available || !allowed) { response.getWriter().write("<message>false</message>"); } else { response.getWriter().write("<message>true</message>"); } } return null; } public ActionForward searchForMembers(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { List<MemberVO> membersArrayList = new ArrayList<MemberVO>(); int searchCount = 0; String isAdmin = BaseConstants.BOOLEAN_NO; MemberForm memberForm = (MemberForm) form; membersArrayList = baseMemberSearch(memberForm, request, searchCount, memService, isAdmin); setRequestObject(request, BaseConstants.LIST_OF_MEMBERS, membersArrayList); return mapping.findForward(BaseConstants.FWD_SUCCESS); } public ActionForward updateMemberProfile(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { if (isCancelled(request)) { return mapping.findForward(BaseConstants.FWD_CANCEL); } ActionMessages msgs = new ActionMessages(); MemberVO token = getCurrentLoggedInUser(request); // check to see if the user logged on is a member if (!memberSecurityCheck(request, token)) { return mapping.findForward(BaseConstants.FWD_LOGIN); } MemberForm memberForm = (MemberForm) form; MemberVO memberVO = new MemberVO(); BeanUtils.copyProperties(memberVO, memberForm); memberVO.setMemberUserName(token.getMemberUserName()); memberVO.setMemberId(token.getMemberId()); memService.updateMemberProfile(memberVO, getLastModifiedBy(request)); // Messengers final String memberId = memberVO.getMemberId(); List<MessengerVO> messengers = new ArrayList<MessengerVO>(); MessengerVO mesgerVO = null; for (String str : memberVO.getLstSelectedIMs()) { mesgerVO = new MessengerVO(); mesgerVO.setLastModifiedBy(getLastModifiedBy(request)); mesgerVO.setMemberId(memberId); mesgerVO.setLookupCodeId(str); messengers.add(mesgerVO); } messengerService.saveAll(messengers, memberId); msgs.add(BaseConstants.INFO_KEY, new ActionMessage("message.memberupdated")); saveMessages(request, msgs); return mapping.findForward(BaseConstants.FWD_SUCCESS); } public ActionForward deleteAvatar(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { MemberVO token = getCurrentLoggedInUser(request); // check to see if the user logged on is a member if (!memberSecurityCheck(request, token)) { return mapping.findForward(BaseConstants.FWD_LOGIN); } ActionMessages errors = new ActionMessages(); String avatarName = token.getAvatar(); try { // // removed from database // memService.deleteMemberAvatar(token.getAvatar(), token.getMemberUserName(), getLastModifiedBy(request)); // //removed from file system // String avatarDir = getSysProp().getValue("AVATAR.FILEPATH"); File f = new File(avatarDir + File.separator + avatarName); if (f.exists() && f.isFile()) f.delete(); // // remove from session // MyAlumniUserContainer container = getUserContainer(request); container.setAvatar(""); } catch (Exception e) { errors.add(BaseConstants.FATAL_KEY, new ActionMessage("errors.technical.difficulty")); saveMessages(request, errors); return mapping.getInputForward(); } errors.add(BaseConstants.INFO_KEY, new ActionMessage("message.avatarremoved")); saveMessages(request, errors); return mapping.findForward(BaseConstants.FWD_SUCCESS); } public ActionForward updateMemberAvatar(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { ActionMessages errors = new ActionMessages(); String fileTypes = SystemConfigConstants.CONTENT_TYPE; String avatarDir = getSysProp().getValue("AVATAR.FILEPATH"); MyAlumniUserContainer continer = getUserContainer(request); int maxFileSize = 0; int maxHeight = 0; int maxWidth = 0; String overwrite = "false"; if (isCancelled(request)) { return mapping.findForward(BaseConstants.FWD_CANCEL); } MemberVO token = getCurrentLoggedInUser(request); MemberForm memberForm = (MemberForm) form; if (!memberSecurityCheck(request, token)) { return mapping.findForward(BaseConstants.FWD_LOGIN); } // Set Max Size try { maxFileSize = Integer.parseInt(getAppProp().getValue("avatar.image.size").trim()); } catch (Exception e) { maxFileSize = 120000; // 120000 Bytes = 120 KB } // Set Max Height try { maxHeight = Integer.parseInt(getAppProp().getValue("avatar.image.height").trim()); } catch (Exception e) { maxHeight = 200; // 200 px } // Set Max Width try { maxWidth = Integer.parseInt(getAppProp().getValue("avatar.image.width").trim()); } catch (Exception e) { maxWidth = 200; // 200 px } FormFile importFile = memberForm.getAvatarUpload(); overwrite = StringUtil.safeString(memberForm.getAvatarUploadOverwrite()); String importFileName = getCurrentLoggedInUser(request).getMemberUserName() + "." + getFileExtensionForImageReader(importFile.getFileName()); int size = importFile.getFileSize(); //-------------------- VALIDATE THE IMAGE ----------------------------------------- // check width and heigh of image logger.debug(importFileName + " ext = " + getFileExtensionForImageReader(importFileName)); Iterator readers = ImageIO.getImageReadersBySuffix(getFileExtensionForImageReader(importFileName)); ImageReader reader = (ImageReader) readers.next(); try { ImageInputStream iis = ImageIO.createImageInputStream(importFile.getInputStream()); reader.setInput(iis, true); int width = reader.getWidth(0); int height = reader.getHeight(0); logger.debug(importFile.getFileName() + ": width=" + width + ", height=" + height); if (width > maxWidth || height > maxHeight) { errors.add(BaseConstants.WARN_KEY, new ActionMessage("error.dimensions", width, height, maxWidth, maxHeight)); saveMessages(request, errors); return mapping.getInputForward(); } } catch (IOException e) { System.err.println(e.getMessage() + ": can't open"); errors.add(BaseConstants.FATAL_KEY, new ActionMessage("error.notreadable")); saveMessages(request, errors); return mapping.getInputForward(); } // check file name if (importFileName.indexOf(" ") > -1) { errors.add(BaseConstants.WARN_KEY, new ActionMessage("error.filename", importFileName)); saveMessages(request, errors); return mapping.getInputForward(); } //boolean validImageName = false; /* StringTokenizer st0 = new StringTokenizer(importFileName, "."); if (st0.hasMoreTokens()) { if (token.getMemberUserName().equals(st0.nextToken())) { //validImageName = true; } else{ errors.add(BaseConstants.WARN_KEY, new ActionMessage("error.fileusername", token.getMemberUserName(),importFileName )); saveMessages(request, errors); return mapping.getInputForward(); } }*/ File f = new File(avatarDir + importFileName); if (f.exists() && (overwrite.equalsIgnoreCase("false") || overwrite.equalsIgnoreCase(""))) { continer.setOverWriteAvatar(true); errors.add(BaseConstants.WARN_KEY, new ActionMessage("error.filename.exist")); saveMessages(request, errors); return mapping.getInputForward(); } if (size > maxFileSize) { errors.add(BaseConstants.WARN_KEY, new ActionMessage("error.filetoobig", String.valueOf(size), String.valueOf(maxFileSize))); saveMessages(request, errors); return mapping.getInputForward(); } boolean validImageExtension = false; StringTokenizer st = new StringTokenizer(fileTypes, ","); logger.debug("Current Type = " + importFile.getContentType()); while (st.hasMoreTokens()) { if (importFile.getContentType().equalsIgnoreCase(st.nextToken())) { validImageExtension = true; } } // check file extension if (!validImageExtension) { errors.add(BaseConstants.WARN_KEY, new ActionMessage("error.imageext", String.valueOf(fileTypes))); saveMessages(request, errors); return mapping.getInputForward(); } // apend the file extension //avatar = avatar + "." + importFile.getContentType(); //------------------------------------------------------------- if (!uploadFromLocalDrive(importFile, importFileName, avatarDir)) { errors.add(BaseConstants.FATAL_KEY, new ActionMessage("errors.technical.difficulty")); saveMessages(request, errors); return mapping.getInputForward(); } memService.updateMemberAvatar(importFileName, token.getMemberUserName(), getLastModifiedBy(request)); continer.setOverWriteAvatar(false); continer.setAvatar(importFileName); MemberVO memberVO = memService.getMemberProfileByUserName(token.getMemberUserName()); BeanUtils.copyProperties(memberForm, memberVO); return mapping.findForward(BaseConstants.FWD_SUCCESS); } public ActionForward updateMemberEmail(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { if (isCancelled(request)) { return mapping.findForward(BaseConstants.FWD_CANCEL); } MemberVO token = getCurrentLoggedInUser(request); // check to see if the user logged on is a member if (!memberSecurityCheck(request, token)) { return mapping.findForward(BaseConstants.FWD_LOGIN); } MemberForm memberForm = (MemberForm) form; String email = memberForm.getEmail().toLowerCase(); if (memService.isMemberAvailableByEmail(email, memberForm.getMemberId())) { ActionMessages errors = new ActionMessages(); errors.add(BaseConstants.WARN_KEY, new ActionMessage("error.duplicate.email")); saveMessages(request, errors); return mapping.getInputForward(); } memService.updateMemberEmail(email, token.getMemberUserName(), getLastModifiedBy(request)); // get the member profile MemberVO memberVO = memService.getMemberProfileByUserName(token.getMemberUserName()); BeanUtils.copyProperties(memberForm, memberVO); MyAlumniUserContainer continer = getUserContainer(request); continer.updateTokenEmail(email); return mapping.findForward(BaseConstants.FWD_SUCCESS); } public ActionForward updateMemberPassword(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { if (isCancelled(request)) { return mapping.findForward(BaseConstants.FWD_CANCEL); } MemberVO token = getCurrentLoggedInUser(request); // check to see if the user logged on is a member if (!memberSecurityCheck(request, token)) { return mapping.findForward(BaseConstants.FWD_LOGIN); } MemberForm memberForm = (MemberForm) form; String oldpassword = memberForm.getOldMemberPassword(); String newpassword = memberForm.getMemberPasswordConfirm(); String currentPassword = memService.getMemberPasswordByUserName(token.getMemberUserName()); if (!currentPassword.equals(Encoder.getMD5_Base64(oldpassword))) { ActionMessages errors = new ActionMessages(); errors.add(BaseConstants.WARN_KEY, new ActionMessage("error.password.equal")); saveMessages(request, errors); return mapping.getInputForward(); } memService.updateMemberPassword(token.getMemberUserName(), newpassword, getLastModifiedBy(request)); // get the member profile MemberVO memberVO = memService.getMemberProfileByUserName(token.getMemberUserName()); BeanUtils.copyProperties(memberForm, memberVO); return mapping.findForward(BaseConstants.FWD_SUCCESS); } public ActionForward updateMemberSignature(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { if (isCancelled(request)) { return mapping.findForward(BaseConstants.FWD_CANCEL); } MemberVO token = getCurrentLoggedInUser(request); // check to see if the user logged on is a member if (!memberSecurityCheck(request, token)) { return mapping.findForward(BaseConstants.FWD_LOGIN); } MemberForm memberForm = (MemberForm) form; String signature = memberForm.getSignature().toLowerCase(); memService.updateMemberSignature(signature, token.getMemberUserName(), getLastModifiedBy(request)); token.setSignature(signature); // get the member profile MemberVO memberVO = memService.getMemberProfileByUserName(token.getMemberUserName()); BeanUtils.copyProperties(memberForm, memberVO); return mapping.findForward(BaseConstants.FWD_SUCCESS); } public ActionForward displayMyDesktop(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { MemberVO token = getCurrentLoggedInUser(request); // check to see if the user logged on is a member if (!memberSecurityCheck(request, token)) { return mapping.findForward(BaseConstants.FWD_LOGIN); } MyAlumniUserContainer container = getUserContainer(request); container.setNewMailCount( pmService.getMailCountByUserName(token.getMemberId(), BaseConstants.PM_STATUS_NEW)); return mapping.findForward(BaseConstants.FWD_SUCCESS); } public ActionForward viewMemberProfile(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { MemberVO token = getCurrentLoggedInUser(request); // check to see if the user logged on is a member if (!memberSecurityCheck(request, token)) { return mapping.findForward(BaseConstants.FWD_LOGIN); } MemberForm memberForm = (MemberForm) form; MemberVO memberVO = memService.getMemberProfileByUserName(token.getMemberUserName()); BeanUtils.copyProperties(memberForm, memberVO); List<XlatDetailVO> selectedMessengers = messengerService.getActiveMemberMessengers(token.getMemberId()); memberForm.setMessengers(selectedMessengers); setRequestObject(request, BaseConstants.MEMBER_PROFILE, memberVO); // to display date using fmt return mapping.findForward(BaseConstants.FWD_SUCCESS); } public ActionForward prepareRegistration(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { List<XlatDetailVO> luAvailableIMs = xlatService .getActiveGroupDetails(BaseConstants.GROUP_INSTANT_MESSENGERS); List<XlatDetailVO> luSelectedIMs = new ArrayList<XlatDetailVO>(); setSessionObject(request, BaseConstants.LU_AVAILABLE_IMS, luAvailableIMs); setSessionObject(request, BaseConstants.LU_SELECTED_IMS, luSelectedIMs); return mapping.findForward(BaseConstants.FWD_SUCCESS); } }