//Created by MyEclipse Struts // XSL source (default): platform:/plugin/com.genuitec.eclipse.cross.easystruts.eclipse_3.8.2/xslt/JavaClass.xsl package org.openiam.webadmin.user; import java.io.*; import java.sql.Timestamp; import java.util.*; import javax.servlet.ServletException; import javax.servlet.http.*; import org.apache.struts.action.*; import org.apache.struts.validator.DynaValidatorForm; import org.openiam.idm.srvc.user.dto.User; import org.openiam.idm.srvc.user.dto.UserNote; import org.openiam.idm.srvc.user.dto.UserStatusEnum; import org.openiam.idm.srvc.user.service.UserDataService; import org.springframework.web.struts.DispatchActionSupport; /** * MyEclipse Struts * Creation date: 11-22-2004 * * XDoclet definition: * @struts:action path="/approveUser" name="approveUserForm" input="/approveUser.jsp" scope="request" * @struts:action-forward name="success" path="confirm" contextRelative="true" * @struts:action-forward name="fail" path="approveUser" */ public class ApproveUserAction extends DispatchActionSupport { // --------------------------------------------------------- Instance Variables UserDataService userMgr; // --------------------------------------------------------- Methods public ApproveUserAction() { } public void init() { } public ActionForward viewUserList( ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse res ) throws IOException, ServletException { List filteredList = new ArrayList(); try { request.getSession().removeAttribute("sideMenus"); List userList = userMgr.findUsersByStatus(UserStatusEnum.PENDING_APPROVAL.toString()); request.setAttribute("userList", userList); }catch(Exception e) { e.printStackTrace(); } return mapping.findForward("success"); } public ActionForward approveUser( ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse res ) throws IOException, ServletException { HttpSession session = request.getSession(); try { DynaValidatorForm dynForm = (DynaValidatorForm) form; String[] personId = request.getParameterValues("personId"); String task = (String)dynForm.get("submit"); int len = personId.length; // if no records are selected by the user if (personId == null || personId.length == 0) { request.setAttribute("OPERATION", task); request.setAttribute("COUNT",new Integer(0)); return mapping.findForward("success"); } if (task.equalsIgnoreCase("Reject")) { session.setAttribute("personId", personId); return mapping.findForward("reject"); }else { // approved for (int i=0; i<len; i++) { String selectedPersonId = personId[i]; User usr = userMgr.getUserWithDependent(selectedPersonId, false); usr.setStatus(UserStatusEnum.ACTIVE); userMgr.updateUser(usr); String logMsg = "User id=" + selectedPersonId + " has been approved"; } } request.setAttribute("OPERATION", task); request.setAttribute("COUNT",new Integer(len)); }catch(Exception e) { e.printStackTrace(); } return mapping.findForward("confirm"); } public ActionForward rejectUser( ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse res ) throws IOException, ServletException { UserNote noteValue = null; String logMsg = null; HttpSession session = request.getSession(); String[] personId = (String[])session.getAttribute("personId"); int len = personId.length; DynaActionForm userNotesForm = (DynaActionForm) form; String noteType = (String)userNotesForm.get("noteType"); String userId = (String)session.getAttribute("userId"); String login = (String)session.getAttribute("login"); for (int i=0; i<len; i++) { String selectedPersonId = personId[i]; User ud = userMgr.getUserWithDependent(selectedPersonId,false); ud.setStatus(UserStatusEnum.APPROVAL_DECLINED); userMgr.updateUser(ud); // save the reason for the rejection with the user noteValue = new UserNote(); noteValue.setCreatedBy(userId); noteValue.setCreateDate(new Timestamp(System.currentTimeMillis())); noteValue.setDescription((String)userNotesForm.get("description")); noteValue.setNoteType(noteType); noteValue.setUserId(selectedPersonId); userMgr.addNote(noteValue); logMsg = "User id=" + selectedPersonId + " has been rejected"; //System.out.println("Sending email message..."); org.openiam.idm.srvc.user.dto.User user = new org.openiam.idm.srvc.user.dto.User(); user.setFirstName(ud.getFirstName()); } request.setAttribute("OPERATION", "REJECTED"); request.setAttribute("COUNT",new Integer(len)); session.removeAttribute("personId"); return mapping.findForward("confirm"); } public UserDataService getUserMgr() { return userMgr; } public void setUserMgr(UserDataService userMgr) { this.userMgr = userMgr; } }