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.admin.presentation.action; import java.io.File; import java.util.ArrayList; import java.util.Date; import java.util.List; import javax.servlet.ServletContext; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; 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.MyAlumniBaseException; import net.naijatek.myalumni.framework.struts.MyAlumniDispatchAction; import net.naijatek.myalumni.modules.admin.presentation.form.ErrorLogForm; import net.naijatek.myalumni.modules.admin.presentation.form.SystemConfigForm; import net.naijatek.myalumni.modules.common.domain.ClassNewsVO; import net.naijatek.myalumni.modules.common.domain.EmailExceptionVO; import net.naijatek.myalumni.modules.common.domain.ErrorLogVO; import net.naijatek.myalumni.modules.common.domain.MemberVO; import net.naijatek.myalumni.modules.common.domain.MessengerVO; import net.naijatek.myalumni.modules.common.domain.ReminisceVO; import net.naijatek.myalumni.modules.common.domain.ScrollVO; import net.naijatek.myalumni.modules.common.domain.SystemConfigVO; import net.naijatek.myalumni.modules.common.domain.TwitterVO; import net.naijatek.myalumni.modules.common.helper.BaseSystemHelper; import net.naijatek.myalumni.modules.common.helper.DropDownCacheBuilder; import net.naijatek.myalumni.modules.common.presentation.form.ClassNewsForm; import net.naijatek.myalumni.modules.common.presentation.form.ReminisceForm; import net.naijatek.myalumni.modules.common.presentation.form.ScrollForm; import net.naijatek.myalumni.modules.common.presentation.form.SystemForm; import net.naijatek.myalumni.modules.common.service.IClassNewsService; import net.naijatek.myalumni.modules.common.service.IErrorLogService; 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.IReminisceService; import net.naijatek.myalumni.modules.common.service.ISystemConfigService; import net.naijatek.myalumni.modules.common.service.ISystemTaskService; import net.naijatek.myalumni.util.BaseConstants; import net.naijatek.myalumni.util.FileHelper; import net.naijatek.myalumni.util.SystemConfigConstants; import net.naijatek.myalumni.util.encryption.base64.Base64Coder; import net.naijatek.myalumni.util.mail.SendMailUtil; import net.naijatek.myalumni.util.utilities.FileUtil; 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; import org.apache.struts.util.LabelValueBean; import org.joda.time.DateTime; public class MaintainSystemModuleAction extends MyAlumniDispatchAction { private Log logger = LogFactory.getLog(this.getClass()); private IErrorLogService logService; private ISystemConfigService systemConfigService; private IClassNewsService classNewsService; private ISystemTaskService sysService; private IReminisceService reminisceService; private IMemberService memberService; private IMessengerService messengerService; private IMessageFolderService mfService; /** * Instantiates the service classes * @param configService */ public MaintainSystemModuleAction(IErrorLogService logService, ISystemConfigService systemConfigService, IClassNewsService classNewsService, ISystemTaskService sysService, IReminisceService reminisceService, IMemberService memberService, IMessengerService messengerService, IMessageFolderService mfService) { super(); this.logService = logService; this.systemConfigService = systemConfigService; this.classNewsService = classNewsService; this.sysService = sysService; this.reminisceService = reminisceService; this.memberService = memberService; this.messengerService = messengerService; this.mfService = mfService; } // ---------------------------------- // ERROR LOG //----------------------------------- public ActionForward listErrorLogs(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { logger.debug("in listErrorLogs..."); listErrorLogsHelper(request); return mapping.findForward(BaseConstants.FWD_SUCCESS); } public ActionForward viewErrorLog(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { logger.debug("in viewErrorLog..."); ErrorLogForm logForm = (ErrorLogForm) form; ErrorLogVO logVO = logService.getErrorLog(logForm.getErrorLogId()); setRequestObject(request, BaseConstants.OBJECT_VO, logVO); return mapping.findForward(BaseConstants.FWD_SUCCESS); } public ActionForward purgeLogHistory(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { logger.debug("in purgeLogHistory..."); logService.deleteAllErrorLogs(); listErrorLogsHelper(request); return mapping.findForward(BaseConstants.FWD_SUCCESS); } public ActionForward batchErrorLog(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { logger.debug("in batchErrorLog..."); listErrorLogsHelper(request); return mapping.findForward(BaseConstants.FWD_SUCCESS); } public ActionForward deleteErrorLog(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { logger.debug("in deleteErrorLog..."); ErrorLogForm logForm = (ErrorLogForm) form; logService.deleteErrorLog(logForm.getErrorLogId()); listErrorLogsHelper(request); return mapping.findForward(BaseConstants.FWD_SUCCESS); } private void listErrorLogsHelper(HttpServletRequest request) throws Exception { logger.debug("in listErrorLogsHelper..."); List logs = logService.getAllErrorLogs(); setRequestObject(request, BaseConstants.LIST_OF_ERROR_LOGS, logs); } //********************************************************************** //****************** Org ABOUT US ******************************** //********************************************************************** public ActionForward prepareUpdateOrgAboutUs(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { logger.debug("in prepareUpdateOrgAboutUs..."); saveToken(request); SystemConfigForm orgInfoForm = (SystemConfigForm) form; SystemConfigVO orgInfoVO = systemConfigService.getOrgInfo(); BeanUtils.copyProperties(orgInfoForm, orgInfoVO); return mapping.findForward(BaseConstants.FWD_SUCCESS); } public ActionForward updateOrgAboutUs(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { logger.debug("in updateOrgAboutUs..."); if (!isTokenValid(request)) { return mapping.findForward(BaseConstants.FWD_INVALID_TOKEN); } ActionMessages msgs = new ActionMessages(); SystemConfigForm orgInfoForm = (SystemConfigForm) form; SystemConfigVO orgInfoVO = new SystemConfigVO(); BeanUtils.copyProperties(orgInfoVO, orgInfoForm); orgInfoVO.setLastModifiedBy(getLastModifiedBy(request)); systemConfigService.updateOrgAboutUs(orgInfoVO.getOrgAboutUs(), getLastModifiedBy(request)); msgs.add(BaseConstants.INFO_KEY, new ActionMessage("message.record.updated")); saveMessages(request, msgs); resetToken(request); return mapping.findForward(BaseConstants.FWD_SUCCESS); } //********************************************************************** //****************** Org Intro ******************************** //********************************************************************** public ActionForward prepareUpdateOrgIntro(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { logger.debug("in prepareUpdateOrgIntro..."); saveToken(request); SystemConfigForm orgInfoForm = (SystemConfigForm) form; SystemConfigVO orgInfoVO = systemConfigService.getOrgInfo(); BeanUtils.copyProperties(orgInfoForm, orgInfoVO); return mapping.findForward(BaseConstants.FWD_SUCCESS); } public ActionForward updateOrgIntro(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { logger.debug("in updateOrgIntro..."); if (!isTokenValid(request)) { return mapping.findForward(BaseConstants.FWD_INVALID_TOKEN); } ActionMessages msgs = new ActionMessages(); SystemConfigForm orgInfoForm = (SystemConfigForm) form; SystemConfigVO orgInfoVO = new SystemConfigVO(); BeanUtils.copyProperties(orgInfoVO, orgInfoForm); orgInfoVO.setLastModifiedBy(getLastModifiedBy(request)); systemConfigService.updateOrgIntro(orgInfoVO.getOrgIntro(), getLastModifiedBy(request)); msgs.add(BaseConstants.INFO_KEY, new ActionMessage("message.record.updated")); saveMessages(request, msgs); resetToken(request); return mapping.findForward(BaseConstants.FWD_SUCCESS); } //********************************************************************** //****************** Org Info ******************************** //********************************************************************** public ActionForward prepareUpdateOrgInfo(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { logger.debug("in prepareUpdateOrgInfo..."); saveToken(request); SystemConfigForm orgInfoForm = (SystemConfigForm) form; SystemConfigVO orgInfoVO = systemConfigService.getOrgInfo(); BeanUtils.copyProperties(orgInfoForm, orgInfoVO); return mapping.findForward(BaseConstants.FWD_SUCCESS); } public ActionForward updateOrgInfo(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { logger.debug("in updateOrgInfo..."); if (!isTokenValid(request)) { return mapping.findForward(BaseConstants.FWD_INVALID_TOKEN); } ActionMessages msgs = new ActionMessages(); SystemConfigForm orgInfoForm = (SystemConfigForm) form; SystemConfigVO orgInfoVO = new SystemConfigVO(); BeanUtils.copyProperties(orgInfoVO, orgInfoForm); orgInfoVO.setLastModifiedBy(getLastModifiedBy(request)); systemConfigService.updateOrgInfo(orgInfoVO); msgs.add(BaseConstants.INFO_KEY, new ActionMessage("message.record.updated")); saveMessages(request, msgs); resetToken(request); ServletContext sCtx = request.getSession().getServletContext(); sCtx.setAttribute(BaseConstants.ORGANIZATION_NAME, orgInfoVO.getOrganizationName()); sCtx.setAttribute(BaseConstants.ORGANIZATION_SHORT_NAME, orgInfoVO.getOrganizationShortName()); sCtx.setAttribute(BaseConstants.ORG_EMAIL, orgInfoVO.getOrgEmail()); return mapping.findForward(BaseConstants.FWD_SUCCESS); } //********************************************************************** //****************** RSS Feed ******************************** //********************************************************************** public ActionForward prepareUpdateRssFeed(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { logger.debug("in prepareUpdateRssFeed..."); saveToken(request); SystemConfigForm rssForm = (SystemConfigForm) form; SystemConfigVO rssVO = systemConfigService.getRssFeedSource(); BeanUtils.copyProperties(rssForm, rssVO); return mapping.findForward(BaseConstants.FWD_SUCCESS); } public ActionForward updateRssFeed(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { logger.debug("in updateRssFeed..."); if (!isTokenValid(request)) { return mapping.findForward(BaseConstants.FWD_INVALID_TOKEN); } ActionMessages msgs = new ActionMessages(); SystemConfigForm rssForm = (SystemConfigForm) form; systemConfigService.updateRssFeedUrl(rssForm.getRssUrl(), rssForm.getRssHeader(), getLastModifiedBy(request)); msgs.add(BaseConstants.INFO_KEY, new ActionMessage("message.record.updated")); saveMessages(request, msgs); resetToken(request); return mapping.findForward(BaseConstants.FWD_SUCCESS); } //********************************************************************** //****************** SERVER URL ******************************** //********************************************************************** public ActionForward prepareUpdateServerUrl(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { logger.debug("in prepareUpdateServerUrl..."); saveToken(request); SystemConfigForm rssForm = (SystemConfigForm) form; SystemConfigVO systemSetup = systemConfigService.getSystemConfig(); BeanUtils.copyProperties(rssForm, systemSetup); return mapping.findForward(BaseConstants.FWD_SUCCESS); } public ActionForward updateServerUrl(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { logger.debug("in updateServerUrl..."); if (!isTokenValid(request)) { return mapping.findForward(BaseConstants.FWD_INVALID_TOKEN); } ActionMessages msgs = new ActionMessages(); SystemConfigForm rssForm = (SystemConfigForm) form; ServletContext sCtx = request.getSession().getServletContext(); systemConfigService.updateServerUrl(rssForm.getServerUrl(), getLastModifiedBy(request)); sCtx.setAttribute(BaseConstants.SERVER_URL, rssForm.getServerUrl()); msgs.add(BaseConstants.INFO_KEY, new ActionMessage("message.record.updated")); saveMessages(request, msgs); resetToken(request); return mapping.findForward(BaseConstants.FWD_SUCCESS); } //********************************************************************** //****************** Twitter Credential ******************************** //********************************************************************** public ActionForward prepareUpdateTwitterCred(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { logger.debug("in prepareUpdateTwitterCred..."); saveToken(request); SystemConfigForm configForm = (SystemConfigForm) form; SystemConfigVO systemSetup = systemConfigService.getSystemConfig(); BeanUtils.copyProperties(configForm, systemSetup); return mapping.findForward(BaseConstants.FWD_SUCCESS); } public ActionForward updateTwitterCred(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { logger.debug("in updateTwitterCred..."); if (!isTokenValid(request)) { return mapping.findForward(BaseConstants.FWD_INVALID_TOKEN); } ActionMessages msgs = new ActionMessages(); SystemConfigForm configForm = (SystemConfigForm) form; TwitterVO twitterVO = new TwitterVO(); twitterVO.setTwitteruser(configForm.getTwitteruser()); twitterVO.setTwitterpswd(Base64Coder.encodeString(configForm.getTwitterpswd())); twitterVO.setLastModifiedBy(getLastModifiedBy(request)); systemConfigService.updateTwitterCredentials(twitterVO); msgs.add(BaseConstants.INFO_KEY, new ActionMessage("message.record.updated")); saveMessages(request, msgs); resetToken(request); return mapping.findForward(BaseConstants.FWD_SUCCESS); } //********************************************************************** //****************** ALBUM URL ******************************** //********************************************************************** public ActionForward prepareUpdateAlbumUrl(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { logger.debug("in prepareAlbumUrl..."); saveToken(request); SystemConfigForm rssForm = (SystemConfigForm) form; SystemConfigVO systemSetup = systemConfigService.getSystemConfig(); BeanUtils.copyProperties(rssForm, systemSetup); return mapping.findForward(BaseConstants.FWD_SUCCESS); } public ActionForward updateAlbumUrl(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { logger.debug("in updateAlbumUrl..."); ServletContext sCtx = request.getSession().getServletContext(); if (!isTokenValid(request)) { return mapping.findForward(BaseConstants.FWD_INVALID_TOKEN); } ActionMessages msgs = new ActionMessages(); SystemConfigForm rssForm = (SystemConfigForm) form; systemConfigService.updateAlbumUrl(rssForm.getAlbumUrl(), getLastModifiedBy(request)); sCtx.setAttribute(BaseConstants.ALBUM_URL, rssForm.getAlbumUrl()); msgs.add(BaseConstants.INFO_KEY, new ActionMessage("message.record.updated")); saveMessages(request, msgs); resetToken(request); return mapping.findForward(BaseConstants.FWD_SUCCESS); } //********************************************************************** //****************** FORUM URL ******************************** //********************************************************************** public ActionForward prepareUpdateForumUrl(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { logger.debug("in prepareUpdateForumUrl..."); saveToken(request); SystemConfigForm rssForm = (SystemConfigForm) form; SystemConfigVO systemSetup = systemConfigService.getSystemConfig(); BeanUtils.copyProperties(rssForm, systemSetup); return mapping.findForward(BaseConstants.FWD_SUCCESS); } public ActionForward updateForumUrl(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { logger.debug("in updateForumUrl..."); ServletContext sCtx = request.getSession().getServletContext(); if (!isTokenValid(request)) { return mapping.findForward(BaseConstants.FWD_INVALID_TOKEN); } ActionMessages msgs = new ActionMessages(); SystemConfigForm rssForm = (SystemConfigForm) form; systemConfigService.updateForumUrl(rssForm.getForumUrl(), getLastModifiedBy(request)); sCtx.setAttribute(BaseConstants.FORUM_URL, rssForm.getForumUrl()); msgs.add(BaseConstants.INFO_KEY, new ActionMessage("message.record.updated")); saveMessages(request, msgs); resetToken(request); return mapping.findForward(BaseConstants.FWD_SUCCESS); } //********************************************************************** //****************** DORMITORY ******************************** //********************************************************************** public ActionForward prepareUpdateDormitory(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { logger.debug("in prepareUpdateDormitory..."); saveToken(request); SystemConfigForm sysForm = (SystemConfigForm) form; String hasDormitory = systemConfigService.getDormitory(); sysForm.setHasDormitory(hasDormitory); return mapping.findForward(BaseConstants.FWD_SUCCESS); } public ActionForward updateDormitory(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { logger.debug("in updateDormitory..."); if (!isTokenValid(request)) { return mapping.findForward(BaseConstants.FWD_INVALID_TOKEN); } ActionMessages msgs = new ActionMessages(); SystemConfigForm sysForm = (SystemConfigForm) form; SystemConfigVO sysVO = new SystemConfigVO(); BeanUtils.copyProperties(sysVO, sysForm); systemConfigService.updateDormitory(sysVO); if (sysVO.getHasDormitory() != null) { setServletContextObject(request, BaseConstants.HAS_DORMITORY, sysVO.getHasDormitory()); } msgs.add(BaseConstants.INFO_KEY, new ActionMessage("message.record.updated")); saveMessages(request, msgs); resetToken(request); DropDownCacheBuilder ddb = new DropDownCacheBuilder(); List<LabelValueBean> adminSearchCategory = ddb.buildSearchOptions(sysVO.getHasDormitory(), true); List<LabelValueBean> searchCategory = ddb.buildSearchOptions(sysVO.getHasDormitory(), false); setServletContextObject(request, BaseConstants.LIST_OF_ADMIN_SEARCH_OPTIONS, adminSearchCategory); setServletContextObject(request, BaseConstants.LIST_OF_MEMBER_SEARCH_OPTIONS, searchCategory); return mapping.findForward(BaseConstants.FWD_SUCCESS); } //********************************************************************** //****************** BIRTHDAY NOTIFICATION ******************************** //********************************************************************** public ActionForward prepareUpdateBirthdayNotification(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { logger.debug("in prepareUpdateBirthdayNotification..."); saveToken(request); SystemConfigForm sysForm = (SystemConfigForm) form; String birthdayNotification = systemConfigService.getBirthdayNotification(); sysForm.setBirthdayNotification(birthdayNotification); return mapping.findForward(BaseConstants.FWD_SUCCESS); } public ActionForward updateBirthdayNotification(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { logger.debug("in updateBirthdayNotification..."); if (!isTokenValid(request)) { return mapping.findForward(BaseConstants.FWD_INVALID_TOKEN); } ActionMessages msgs = new ActionMessages(); SystemConfigForm sysForm = (SystemConfigForm) form; SystemConfigVO systemConfigVO = new SystemConfigVO(); BeanUtils.copyProperties(systemConfigVO, sysForm); systemConfigService.updateBirthdayNotification(systemConfigVO); msgs.add(BaseConstants.INFO_KEY, new ActionMessage("message.record.updated")); saveMessages(request, msgs); resetToken(request); return mapping.findForward(BaseConstants.FWD_SUCCESS); } //********************************************************************** //****************** Session Timeout ******************************** //********************************************************************** public ActionForward prepareUpdateSessionTimeOut(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { logger.debug("in prepareUpdateSessionTimeOut..."); saveToken(request); SystemConfigForm systemForm = (SystemConfigForm) form; int timeout = systemConfigService.getSessionTimeOut(); systemForm.setSessionTimeout(String.valueOf(timeout)); return mapping.findForward(BaseConstants.FWD_SUCCESS); } public ActionForward updateSessionTimeOut(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { logger.debug("in updateSessionTimeOut..."); if (!isTokenValid(request)) { return mapping.findForward(BaseConstants.FWD_INVALID_TOKEN); } ActionMessages msgs = new ActionMessages(); SystemConfigForm systemForm = (SystemConfigForm) form; systemConfigService.updateSessionTimeOut(systemForm.getSessionTimeout(), getLastModifiedBy(request)); msgs.add(BaseConstants.INFO_KEY, new ActionMessage("message.record.updated")); saveMessages(request, msgs); resetToken(request); return mapping.findForward(BaseConstants.FWD_SUCCESS); } //********************************************************************** //****************** VALIDATE SYSTEM CONFIGURATION ******************** //********************************************************************** /** * * @param mapping * @param form * @param request * @param response * @return * @throws Exception */ public ActionForward prepareValidateSystemConfig(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { logger.debug("in prepareValidateSystemConfig..."); saveToken(request); return mapping.findForward(BaseConstants.FWD_SUCCESS); } public ActionForward validateSystemConfig(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { logger.debug("in validateSystemConfig..."); if (!isTokenValid(request)) { return mapping.findForward(BaseConstants.FWD_INVALID_TOKEN); } if (!adminSecurityCheck(request)) { return mapping.findForward(BaseConstants.FWD_ADMIN_LOGIN); } ActionMessages errors = new ActionMessages(); errors = new BaseSystemHelper().validateSystemConfig(); if (errors.isEmpty()) { errors.add(BaseConstants.INFO_KEY, new ActionMessage("core.errorcode.00999")); } saveMessages(request, errors); return mapping.findForward(BaseConstants.FWD_SUCCESS); } //********************************************************************** //****************** DATABASE BACK UP ******************************** //********************************************************************** /** * * @param mapping * @param form * @param request * @param response * @return * @throws Exception */ public ActionForward listDatabaseBackup(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { if (!adminSecurityCheck(request)) { return mapping.findForward(BaseConstants.FWD_ADMIN_LOGIN); } ActionMessages errors = new ActionMessages(); File backupDir = new File(getSysProp().getValue("BACKUP.FILEPATH")); if (!backupDir.exists() || !backupDir.isDirectory()) { errors.add(BaseConstants.ERROR_KEY, new ActionMessage("core.errorcode.00705")); saveErrors(request, errors); return mapping.getInputForward(); } listDatabaseBackupHelper(request); return mapping.findForward(BaseConstants.FWD_SUCCESS); } /** * * @param mapping * @param form * @param request * @param response * @return * @throws Exception */ public ActionForward databaseBackup(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { if (!adminSecurityCheck(request)) { return mapping.findForward(BaseConstants.FWD_ADMIN_LOGIN); } ActionMessages msgs = new ActionMessages(); DateTime dtime = new DateTime(new Date()); String dateStr = dtime.getMonthOfYear() + "_" + dtime.getDayOfMonth() + "_" + dtime.getYear() + "_" + dtime.getHourOfDay() + "_" + dtime.getMinuteOfHour() + "_" + dtime.getSecondOfMinute(); try { sysService.systemDatabaseBackup(getSysProp().getValue("BACKUP.FILEPATH") + dateStr + ".sql"); } catch (MyAlumniBaseException ex) { msgs.add(BaseConstants.ERROR_KEY, new ActionMessage(ex.getMessage())); saveMessages(request, msgs); return mapping.getInputForward(); } msgs.add(BaseConstants.INFO_KEY, new ActionMessage("message.backupsuccessful", dateStr + ".sql")); saveMessages(request, msgs); listDatabaseBackupHelper(request); return mapping.findForward(BaseConstants.FWD_SUCCESS); } /** * * @param mapping * @param form * @param request * @param response * @return * @throws Exception */ public ActionForward deleteDatabaseBackup(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { if (!adminSecurityCheck(request)) { return mapping.findForward(BaseConstants.FWD_ADMIN_LOGIN); } ActionMessages msgs = new ActionMessages(); SystemForm sysForm = (SystemForm) form; String file = getSysProp().getValue("BACKUP.FILEPATH") + sysForm.getLogFileName(); File sqlFile = new File(file); if (sqlFile.exists() && sqlFile.isFile()) { sqlFile.delete(); msgs.add(BaseConstants.INFO_KEY, new ActionMessage("message.successfullydeleted", sysForm.getLogFileName())); saveMessages(request, msgs); } else { msgs.add(BaseConstants.INFO_KEY, new ActionMessage("message.unabletodelete", file)); saveMessages(request, msgs); } listDatabaseBackupHelper(request); return mapping.findForward(BaseConstants.FWD_SUCCESS); } /** * * @param mapping * @param form * @param request * @param response * @return * @throws Exception */ public ActionForward viewDatabaseBackup(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { if (!adminSecurityCheck(request)) { return mapping.findForward(BaseConstants.FWD_ADMIN_LOGIN); } SystemForm sysForm = (SystemForm) form; if (sysForm.getLogType() == null || sysForm.getLogType().length() == 0) { sysForm.setLogType("ALL"); } File file = new File(getSysProp().getValue("BACKUP.FILEPATH") + sysForm.getLogFileName()); sysForm.setLineCount("5000"); String[] contentLog = FileUtil.getLastLines(file, Integer.parseInt(sysForm.getLineCount()), sysForm.getLogType()); // List<String> al = new ArrayList<String>(contentLog.length); // for (int j=0;j<contentLog.length;j++) { // al.add(contentLog[j]); // } // setSessionObject(request, BaseConstants.LOG_CONTENT, contentLog); return mapping.findForward(BaseConstants.FWD_SUCCESS); } /** * * @param request * @throws Exception */ private void listDatabaseBackupHelper(HttpServletRequest request) throws Exception { File backupDir = new File(getSysProp().getValue("BACKUP.FILEPATH")); List<FileHelper> backups = new ArrayList<FileHelper>(); backups = FileUtil.getDirFileNameLength(backupDir, ".sql"); setRequestObject(request, "sqlBackups", backups); } //********************************************************************** //****************** EMAIL EXCEPTIONS ******************************** //********************************************************************** public ActionForward maintainEmail(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { if (!adminSecurityCheck(request)) { return mapping.findForward(BaseConstants.FWD_ADMIN_LOGIN); } String task = request.getParameter("task"); String id = request.getParameter("id"); EmailExceptionVO email = new EmailExceptionVO(); email.setEmail_Id(id); if (task.equals("list")) { List list = sysService.getAllEmailExceptions(); setSessionObject(request, "emailList", list); } else if (task.equals("delete")) { sysService.deleteLogEmailException(email); setSessionObject(request, "emailList", sysService.getAllEmailExceptions()); } else if (task.equals("resend")) { email = sysService.getEmailException(id); // SendMailUtil.resendEmail(email); setSessionObject(request, "emailList", sysService.getAllEmailExceptions()); } return mapping.findForward(BaseConstants.FWD_SUCCESS); } //********************************************************************** //****************** VIEW LOG 4 J SYSTEM LOG ******************************** //********************************************************************** public ActionForward listSystemLogs(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { if (!adminSecurityCheck(request)) { return mapping.findForward(BaseConstants.FWD_ADMIN_LOGIN); } ActionMessages errors = new ActionMessages(); File systemLogDir = new File(getSysProp().getValue("LOGFILE.FILEPATH")); if (!systemLogDir.exists() || !systemLogDir.isDirectory()) { errors.add(BaseConstants.ERROR_KEY, new ActionMessage("core.errorcode.00710")); saveErrors(request, errors); return mapping.getInputForward(); } listSystemLogHelper(request); return mapping.findForward(BaseConstants.FWD_SUCCESS); } public ActionForward deleteSystemLog(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { if (!adminSecurityCheck(request)) { return mapping.findForward(BaseConstants.FWD_ADMIN_LOGIN); } ActionMessages msgs = new ActionMessages(); SystemForm sysForm = (SystemForm) form; String file = getSysProp().getValue("LOGFILE.FILEPATH") + sysForm.getLogFileName(); File logFile = new File(file); if (logFile.exists() && logFile.isFile()) { logFile.delete(); msgs.add(BaseConstants.INFO_KEY, new ActionMessage("message.successfullydeleted", sysForm.getLogFileName())); saveMessages(request, msgs); } else { msgs.add(BaseConstants.INFO_KEY, new ActionMessage("message.unabletodelete", file)); saveMessages(request, msgs); } listSystemLogHelper(request); return mapping.findForward(BaseConstants.FWD_SUCCESS); } public ActionForward viewSystemLogs(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { if (!adminSecurityCheck(request)) { return mapping.findForward(BaseConstants.FWD_ADMIN_LOGIN); } SystemForm sysForm = (SystemForm) form; int lineCount = 0; try { lineCount = Integer.parseInt(sysForm.getLineCount()); // 25, 50 100 200 400 800) } catch (Exception e) { if (lineCount == 0) { lineCount = 50; } } if (lineCount > 5000) { lineCount = 5000; } if (sysForm.getLogType() == null || sysForm.getLogType().length() == 0) { sysForm.setLogType("ALL"); } File logFile = new File(getSysProp().getValue("LOGFILE.FILEPATH") + sysForm.getLogFileName()); sysForm.setLineCount(String.valueOf(lineCount)); String[] contentLog = FileUtil.getLastLines(logFile, lineCount, sysForm.getLogType()); String humanSize = FileUtil.getHumanSize(logFile.length()); sysForm.setLogFileSize(String.valueOf(logFile.length())); sysForm.setLogFileHumanSize(humanSize); setSessionObject(request, BaseConstants.LOG_CONTENT, contentLog); return mapping.findForward(BaseConstants.FWD_SUCCESS); } /* public ActionForward viewLog2(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { String logfileName = ""; String defaultFileName = "myalumni.log"; if (!adminSecurityCheck(request)) { return mapping.findForward(BaseConstants.FWD_ADMIN_LOGIN); } SystemForm sysForm = (SystemForm)form; ActionMessages errors = new ActionMessages(); SystemProp sysprop = SystemProp.getInstance(); File logPath = new File(sysprop.getValue("LOGFILE.FILEPATH")); if (!logPath.exists() || !logPath.isDirectory()){ errors.add(BaseConstants.ERROR_KEY, new ActionMessage("core.errorcode.00706")); saveErrors(request, errors); return mapping.getInputForward(); } loadLogFiles(request, logPath); String logType = sysForm.getLogType(); if (logType == null || logType.length() == 0) { logType = "ALL"; } logfileName = sysForm.getLogFileName(); File logFile = null; if (logfileName == null || logfileName.length() == 0) { logfileName = defaultFileName; logFile = new File(logPath + File.separator + logfileName); String humanSize = FileUtil.getHumanSize(logFile.length()); sysForm.setLogFileName(defaultFileName); sysForm.setLogFileSize(String.valueOf(logFile.length())); sysForm.setLogFileHumanSize(humanSize); } else{ logFile = new File(logPath + File.separator + logfileName); String humanSize = FileUtil.getHumanSize(logFile.length()); sysForm.setLogFileName(defaultFileName); sysForm.setLogFileSize(String.valueOf(logFile.length())); sysForm.setLogFileHumanSize(humanSize); } if (logFile.exists() || logFile.length() == 0) { //? if (!logFile.canRead()) { errors.add(BaseConstants.WARN_KEY, new ActionMessage("error.filenoread", logfileName)); saveMessages(request, errors); return mapping.getInputForward(); } int lineCount = 0; try { lineCount = Integer.parseInt(sysForm.getLineCount()); // 25, 50 100 200 400 800) } catch (Exception e) { if (lineCount == 0) { lineCount = 50; } } if (lineCount > 5000) { lineCount = 5000; } String[] contentLog = FileUtil.getLastLines(logFile, lineCount, sysForm.getLogType()); setSessionObject(request, BaseConstants.LOG_CONTENT, contentLog); } else { errors.add(BaseConstants.WARN_KEY, new ActionMessage("error.filenoexist", logfileName)); saveMessages(request, errors); return mapping.getInputForward(); } return mapping.findForward(BaseConstants.FWD_SUCCESS); }*/ /** * * @param request * @throws Exception */ private void listSystemLogHelper(HttpServletRequest request) throws Exception { File logDir = new File(getSysProp().getValue("LOGFILE.FILEPATH")); List<FileHelper> logs = new ArrayList<FileHelper>(); logs = FileUtil.getDirFileNameLength(logDir, ".log"); setRequestObject(request, "systemLogs", logs); } //-------------------------------------------------------------------------- //-- //-- P R I V A T E M E T H O D S //-- //-------------------------------------------------------------------------- /* private void loadLogFiles(final HttpServletRequest request, File logPath) { List<LabelValueBean> logList = new ArrayList<LabelValueBean>(); if (logPath.exists()) { String[] logFiles = logPath.list(); for (String element : logFiles) { if (element.startsWith("myalumni.log.") || element.endsWith(".log")) { logList.add(new LabelValueBean(element, element)); } } } setSessionObject(request, "logList", logList); }*/ //********************************************************************** //****************** MAINTAIN SCROLL ******************************** //********************************************************************** public ActionForward maintainScroll(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { ServletContext sCtx = request.getSession().getServletContext(); List<ScrollVO> allScrolls = new ArrayList<ScrollVO>(); // check to see if the user logged on is a member if (!adminSecurityCheck(request)) { return mapping.findForward(BaseConstants.FWD_ADMIN_LOGIN); } ScrollForm scrollForm = (ScrollForm) form; if (scrollForm.getType().equalsIgnoreCase("list")) { allScrolls = systemConfigService.getAllScrolls(); setSessionObject(request, BaseConstants.LIST_OF_SCROLLS, allScrolls); } else if (scrollForm.getType().equalsIgnoreCase("update")) { systemConfigService.updateScroll(scrollForm.getScrollId(), getLastModifiedBy(request)); sCtx.setAttribute(BaseConstants.SCROLL_VO, systemConfigService.getLatestScroll()); } else if (scrollForm.getType().equalsIgnoreCase("new")) { ScrollVO scrollVO = new ScrollVO(); BeanUtils.copyProperties(scrollVO, scrollForm); scrollVO.setLastModifiedBy(getLastModifiedBy(request)); scrollVO.setScrollId(null); systemConfigService.addScroll(scrollVO); sCtx.setAttribute(BaseConstants.SCROLL_VO, scrollVO); allScrolls = systemConfigService.getAllScrolls(); setSessionObject(request, BaseConstants.LIST_OF_SCROLLS, allScrolls); } return mapping.findForward(BaseConstants.FWD_SUCCESS); } //********************************************************************** //****************** CLASS NEWS ******************************** //********************************************************************** public ActionForward prepareAddClassNews(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { logger.debug("in prepareAddClassNews..."); saveToken(request); return mapping.findForward(BaseConstants.FWD_SUCCESS); } public ActionForward listClassNews(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { logger.debug("in listClassNews..."); getClassNewsHelper(request); return mapping.findForward(BaseConstants.FWD_SUCCESS); } public ActionForward viewClassNews(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { logger.debug("in viewClassNews..."); ClassNewsForm classNewsForm = (ClassNewsForm) form; ClassNewsVO classNewsVO = new ClassNewsVO(); classNewsVO = classNewsService.findById(classNewsForm.getClassNewsId()); BeanUtils.copyProperties(classNewsForm, classNewsVO); return mapping.findForward(BaseConstants.FWD_SUCCESS); } public ActionForward updateClassNews(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { logger.debug("in updateClassNews..."); if (!isTokenValid(request)) { return mapping.findForward(BaseConstants.FWD_INVALID_TOKEN); } ClassNewsForm classNewsForm = (ClassNewsForm) form; ClassNewsVO classNewsVO = new ClassNewsVO(); BeanUtils.copyProperties(classNewsVO, classNewsForm); classNewsVO.setLastModifiedBy(getLastModifiedBy(request)); classNewsService.merge(classNewsVO); getClassNewsHelper(request); resetToken(request); return mapping.findForward(BaseConstants.FWD_SUCCESS); } public ActionForward addClassNews(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { logger.debug("in addClassNews..."); if (!isTokenValid(request)) { return mapping.findForward(BaseConstants.FWD_INVALID_TOKEN); } if (!adminSecurityCheck(request)) { return mapping.findForward(BaseConstants.FWD_ADMIN_LOGIN); } ClassNewsForm classNewsForm = (ClassNewsForm) form; ClassNewsVO classNewsVO = new ClassNewsVO(); BeanUtils.copyProperties(classNewsVO, classNewsForm); classNewsVO.setLastModifiedBy(getLastModifiedBy(request)); classNewsVO.setAuthorId(getCurrentUserId(request)); classNewsService.save(classNewsVO); getClassNewsHelper(request); resetToken(request); return mapping.findForward(BaseConstants.FWD_SUCCESS); } public ActionForward prepareUpdateClassNews(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { logger.debug("in prepareUpdateClassNews..."); saveToken(request); ClassNewsForm classNewsForm = (ClassNewsForm) form; ClassNewsVO classNewsVO = classNewsService.findById(classNewsForm.getClassNewsId()); BeanUtils.copyProperties(classNewsForm, classNewsVO); getClassNewsHelper(request); return mapping.findForward(BaseConstants.FWD_SUCCESS); } public ActionForward deleteClassNews(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { logger.debug("in deleteClassNews..."); if (!adminSecurityCheck(request)) { return mapping.findForward(BaseConstants.FWD_ADMIN_LOGIN); } ClassNewsForm classNewsForm = (ClassNewsForm) form; classNewsService.softDelete(classNewsForm.getClassNewsId(), getLastModifiedBy(request)); getClassNewsHelper(request); return mapping.findForward(BaseConstants.FWD_SUCCESS); } private void getClassNewsHelper(HttpServletRequest request) { List<ClassNewsVO> tasks = classNewsService.findAll(); setRequestObject(request, BaseConstants.LIST_OF_CLASSNEWS, tasks); } //********************************************************************** //****************** REMINISCE ******************************** //********************************************************************** public ActionForward prepareAddReminisce(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { logger.debug("in prepareAddReminisce..."); saveToken(request); return mapping.findForward(BaseConstants.FWD_SUCCESS); } public ActionForward listReminisce(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { logger.debug("in listReminisce..."); getReminisceHelper(request); return mapping.findForward(BaseConstants.FWD_SUCCESS); } public ActionForward viewReminisce(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { logger.debug("in viewReminisce..."); ReminisceForm classNewsForm = (ReminisceForm) form; ReminisceVO classNewsVO = new ReminisceVO(); classNewsVO = reminisceService.findById(classNewsForm.getReminisceId()); BeanUtils.copyProperties(classNewsForm, classNewsVO); return mapping.findForward(BaseConstants.FWD_SUCCESS); } public ActionForward updateReminisce(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { logger.debug("in updateReminisce..."); if (!isTokenValid(request)) { return mapping.findForward(BaseConstants.FWD_INVALID_TOKEN); } ReminisceForm classNewsForm = (ReminisceForm) form; ReminisceVO classNewsVO = new ReminisceVO(); BeanUtils.copyProperties(classNewsVO, classNewsForm); classNewsVO.setLastModifiedBy(getLastModifiedBy(request)); reminisceService.merge(classNewsVO); getReminisceHelper(request); resetToken(request); return mapping.findForward(BaseConstants.FWD_SUCCESS); } public ActionForward addReminisce(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { logger.debug("in addReminisce..."); if (!isTokenValid(request)) { return mapping.findForward(BaseConstants.FWD_INVALID_TOKEN); } if (!adminSecurityCheck(request)) { return mapping.findForward(BaseConstants.FWD_ADMIN_LOGIN); } ReminisceForm classNewsForm = (ReminisceForm) form; ReminisceVO classNewsVO = new ReminisceVO(); BeanUtils.copyProperties(classNewsVO, classNewsForm); classNewsVO.setLastModifiedBy(getLastModifiedBy(request)); classNewsVO.setAuthorId(getCurrentUserId(request)); reminisceService.save(classNewsVO); getReminisceHelper(request); resetToken(request); return mapping.findForward(BaseConstants.FWD_SUCCESS); } public ActionForward prepareUpdateReminisce(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { logger.debug("in prepareUpdateReminisce..."); saveToken(request); ReminisceForm classNewsForm = (ReminisceForm) form; ReminisceVO classNewsVO = reminisceService.findById(classNewsForm.getReminisceId()); BeanUtils.copyProperties(classNewsForm, classNewsVO); getReminisceHelper(request); return mapping.findForward(BaseConstants.FWD_SUCCESS); } public ActionForward deleteReminisce(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { logger.debug("in deleteReminisce..."); if (!adminSecurityCheck(request)) { return mapping.findForward(BaseConstants.FWD_ADMIN_LOGIN); } ReminisceForm classNewsForm = (ReminisceForm) form; reminisceService.softDelete(classNewsForm.getReminisceId(), getLastModifiedBy(request)); getReminisceHelper(request); return mapping.findForward(BaseConstants.FWD_SUCCESS); } private void getReminisceHelper(HttpServletRequest request) { List<ReminisceVO> tasks = reminisceService.findAll(); setRequestObject(request, BaseConstants.LIST_OF_REMINISCE, tasks); } public ActionForward setupIntialization(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { logger.debug("in setupIntialization..."); //if (!isTokenValid(request)) { // return mapping.findForward(BaseConstants.FWD_INVALID_TOKEN); //} ServletContext sCtx = request.getSession().getServletContext(); ActionMessages msgs = new ActionMessages(); SystemConfigForm systemConfigForm = (SystemConfigForm) form; SystemConfigVO systemConfigVO = new SystemConfigVO(); BeanUtils.copyProperties(systemConfigVO, systemConfigForm); try { DateTime dt = new DateTime(); int year = dt.getYear(); // Admin //INSERT INTO MYALUMNI_MEMBERS_TBL (USER_NAME,MEMBER_ID,MEMBER_STATUS,MEMBER_PASSWORD,EMAIL,FIRST_IP_ADDRESS,LAST_IP_ADDRESS, //CREATION_DATE,LAST_LOGON_DATE,TITLE,NICK_NAME,FIRST_NAME,LAST_NAME,GENDER,FIRST_EMAIL,COUNTRY,YEAR_IN,YEAR_OUT,IS_ADMIN,HIDE_EMAIL,HIDE_ADDRESS,HIDE_PHONE,HIDE_IM,PROMPT_CHANGE,LASTMODIFICATION,LASTMODIFIED_BY,LASTMODIFIED_DATE ) VALUES ('sysadmin', '999999999999999999999999999999','A','X03MO1qnZdYdgyfeuILPmQ==','myalumni@naijatek.com','127.0.0.1','127.0.0.1',CURRENT_TIMESTAMP,CURRENT_TIMESTAMP,'1000000004999','NickName','FirstName','LastName','U','myalumni@naijatek.com','1000000003999','2007','2007','Y','Y','Y','Y','Y','Y','A','SYSTEM',CURRENT_TIMESTAMP); MemberVO memberVO = new MemberVO(); memberVO.setMemberUserName(systemConfigVO.getMemberUserName()); memberVO.setLastName(systemConfigVO.getMemberLastName()); memberVO.setFirstName(systemConfigVO.getMemberFirstName()); memberVO.setEmail(systemConfigVO.getMemberEmail()); memberVO.setMemberPassword(systemConfigVO.getMemberPassword()); memberVO.setNickName(""); memberVO.setGender(BaseConstants.GENDER_UNKNOWN); memberVO.setCountryId("1000000003999"); memberVO.setTitleId("1000000004999"); memberVO.setCareerId("1000000001999"); memberVO.setDormitoryId("1000000005999"); memberVO.setYearIn(year); memberVO.setYearOut(year); memberVO.setLastModifiedBy("system"); // create admin memberService.createAdminMember(memberVO, request); final String memberId = memberVO.getMemberId(); String[] s = new String[0]; memberVO.setLstSelectedIMs(s); // 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 setting up MyAlumni and Welcome to " + systemConfigVO.getOrganizationName() + "'s owns space in cyberspace."); setSessionObject(request, BaseConstants.MESSAGE, message.toString()); // send email to registrant try { SendMailUtil.sendWelcomeNotice(memberVO.getEmail(), memberVO.getMemberUserName(), systemConfigVO); } catch (Exception ex) { logger.error(ex.getMessage()); msgs.add(BaseConstants.FATAL_KEY, new ActionMessage("error.mailserver")); saveMessages(request, msgs); } // Scroll ScrollVO scrollVO = new ScrollVO(); scrollVO.setLastModifiedBy("system"); scrollVO.setScrollId(null); scrollVO.setPriority(BaseConstants.BOOLEAN_YES); scrollVO.setScrollText("Welcome to " + systemConfigVO.getOrganizationName()); systemConfigService.addScroll(scrollVO); sCtx.setAttribute(BaseConstants.SCROLL_VO, scrollVO); systemConfigService.setupIntialization(systemConfigVO); sCtx.setAttribute(BaseConstants.ORGANIZATION_NAME, systemConfigVO.getOrganizationName()); sCtx.setAttribute(BaseConstants.ORGANIZATION_SHORT_NAME, systemConfigVO.getOrganizationShortName()); sCtx.setAttribute(BaseConstants.ORG_EMAIL, systemConfigVO.getOrgEmail()); sCtx.setAttribute(BaseConstants.ALBUM_URL, systemConfigVO.getAlbumUrl()); sCtx.setAttribute(BaseConstants.FORUM_URL, systemConfigVO.getForumUrl()); sCtx.setAttribute(BaseConstants.SERVER_URL, systemConfigVO.getServerUrl()); sCtx.setAttribute(BaseConstants.FIRST_STARTUP, BaseConstants.BOOLEAN_NO); } catch (DuplicateMemberException e) { msgs.add(BaseConstants.WARN_KEY, new ActionMessage("error.duplicate.member")); saveMessages(request, msgs); logger.info("DUPLICATE USER NAME - " + e.getMessage()); return mapping.getInputForward(); } catch (DuplicateEmailException e) { msgs.add(BaseConstants.WARN_KEY, new ActionMessage("error.duplicate.email")); saveMessages(request, msgs); logger.info("DUPLICATE EMAIL - " + e.getMessage()); return mapping.getInputForward(); } catch (CreateException e) { msgs.add(BaseConstants.WARN_KEY, new ActionMessage("errors.technical.difficulty")); saveMessages(request, msgs); logger.fatal("SYSTEM ERROR - " + e.getMessage()); return mapping.getInputForward(); } catch (Exception ex) { msgs.add(BaseConstants.FATAL_KEY, new ActionMessage("errors.technical.difficulty")); saveMessages(request, msgs); logger.fatal("SYSTEM ERROR - " + ex.getMessage()); return mapping.getInputForward(); } return mapping.findForward(BaseConstants.FWD_SUCCESS); } //********************************************************************** //****************** LOGO ******************************** //********************************************************************** public ActionForward prepareUploadLogo(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { logger.debug("in prepareUploadLogo..."); //ActionMessages msgs = new ActionMessages(); SystemConfigForm systemConfigForm = (SystemConfigForm) form; SystemConfigVO systemConfigVO = new SystemConfigVO(); systemConfigVO = systemConfigService.getSystemConfig(); BeanUtils.copyProperties(systemConfigForm, systemConfigVO); return mapping.findForward(BaseConstants.FWD_SUCCESS); } public ActionForward uploadLogo(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { logger.debug("in uploadLogo..."); if (!adminSecurityCheck(request)) { return mapping.findForward(BaseConstants.FWD_ADMIN_LOGIN); } SystemConfigForm systemConfigForm = (SystemConfigForm) form; String fileAllowedTypes = SystemConfigConstants.CONTENT_TYPE; int maxFileSize = SystemConfigConstants.LOGO_MAX_SIZE; ActionMessages msgs = new ActionMessages(); FormFile formFile = systemConfigForm.getLogoUpload(); int height = SystemConfigConstants.LOGO_HEIGHT; int width = SystemConfigConstants.LOGO_WIDTH; msgs = validateUploadFile(request, formFile, fileAllowedTypes, maxFileSize, true, height, false, width); if (msgs.isEmpty()) { // upload the file and update database try { String logoDir = getSysProp().getValue("LOGO.FILEPATH"); uploadFromLocalDrive(formFile, formFile.getFileName(), logoDir); } catch (Exception e) { msgs.add(BaseConstants.WARN_KEY, new ActionMessage("error.cantupload")); } SystemConfigVO systemConfigVO = systemConfigService.getSystemConfig(); systemConfigVO.setLogoFileName(formFile.getFileName()); systemConfigService.uploadLogo(systemConfigVO); ServletContext sCtx = request.getSession().getServletContext(); sCtx.setAttribute(BaseConstants.LOGO_NAME, systemConfigVO.getLogoFileName()); } saveMessages(request, msgs); return mapping.findForward(BaseConstants.FWD_SUCCESS); } public ActionForward removeLogo(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { logger.debug("in removeLogo..."); if (!adminSecurityCheck(request)) { return mapping.findForward(BaseConstants.FWD_ADMIN_LOGIN); } //ActionMessages msgs = new ActionMessages(); String logoFileName = new String(); SystemConfigVO systemConfigVO = new SystemConfigVO(); systemConfigVO = systemConfigService.getSystemConfig(); logoFileName = systemConfigVO.getLogoFileName(); systemConfigVO.setLogoFileName(null); systemConfigService.uploadLogo(systemConfigVO); //delete actual logo from file system String logoDir = getSysProp().getValue("LOGO.FILEPATH"); File f = new File(logoDir + logoFileName); if (!f.isDirectory() && f.exists()) f.delete(); ServletContext sCtx = request.getSession().getServletContext(); sCtx.setAttribute(BaseConstants.LOGO_NAME, null); return mapping.findForward(BaseConstants.FWD_SUCCESS); } }