1 16 package com.blandware.atleap.webapp.action.core.user; 17 18 import com.blandware.atleap.common.Constants; 19 import com.blandware.atleap.model.core.User; 20 import com.blandware.atleap.service.core.GroupManager; 21 import com.blandware.atleap.service.core.RoleManager; 22 import com.blandware.atleap.service.core.UserManager; 23 import com.blandware.atleap.webapp.action.core.BaseAction; 24 import com.blandware.atleap.webapp.form.core.SelectRolesAndGroupsForm; 25 import com.blandware.atleap.webapp.util.core.WebappConstants; 26 import org.apache.struts.action.*; 27 28 import javax.servlet.http.HttpServletRequest ; 29 import javax.servlet.http.HttpServletResponse ; 30 import java.util.ArrayList ; 31 import java.util.List ; 32 33 52 public final class CallAssignUserRolesAndGroupsAction extends BaseAction { 53 62 public ActionForward execute(ActionMapping mapping, ActionForm form, 63 HttpServletRequest request, HttpServletResponse response) throws Exception { 64 65 String userName = null; 66 if ( request.getParameter("userName") != null ) { 67 userName = request.getParameter("userName"); 68 } else if ( request.getAttribute(WebappConstants.USER_NAME_KEY) != null ) { 69 userName = (String ) request.getAttribute(WebappConstants.USER_NAME_KEY); 70 } else { 71 if ( log.isWarnEnabled() ) { 72 log.warn("Missing user name. Returning to list..."); 73 } 74 return mapping.findForward("listUsers"); 75 } 76 77 SelectRolesAndGroupsForm selectRolesAndGroupsForm = (SelectRolesAndGroupsForm) form; 78 UserManager userManager = (UserManager) getBean(Constants.USER_MANAGER_BEAN); 79 User user = userManager.retrieveUser(userName); 80 81 if ( user == null ) { 82 ActionMessages errors = new ActionMessages(); 84 errors.add("userNotFound", new ActionMessage("core.user.errors.notFound")); 85 saveErrors(request, errors); 86 return mapping.findForward("listUsers"); 87 } 88 89 selectRolesAndGroupsForm.setVersion(user.getVersion().toString()); 90 91 List userRoles = new ArrayList (user.getFreeRoles()); 92 93 RoleManager roleManager = (RoleManager) getBean(Constants.ROLE_MANAGER_BEAN); 94 List availableRoles = new ArrayList (roleManager.listRoles(null)); 95 List allRoles = new ArrayList (availableRoles); 96 availableRoles.removeAll(userRoles); 97 98 selectRolesAndGroupsForm.setAvailableRolesList(availableRoles); 99 selectRolesAndGroupsForm.setSelectedRolesList(userRoles); 100 101 List userGroups = new ArrayList (user.getGroups()); 102 103 GroupManager groupManager = (GroupManager) getBean(Constants.GROUP_MANAGER_BEAN); 104 List availableGroups = new ArrayList (groupManager.listGroups(null)); 105 List allGroups = new ArrayList (availableGroups); 106 availableGroups.removeAll(userGroups); 107 108 selectRolesAndGroupsForm.setAvailableGroupsList(availableGroups); 109 selectRolesAndGroupsForm.setSelectedGroupsList(userGroups); 110 111 request.getSession().setAttribute(WebappConstants.USER_NAME_KEY, user.getName()); 112 request.setAttribute("allRoles", allRoles); 113 request.setAttribute("allGroups", allGroups); 114 115 saveToken(request); 117 return mapping.findForward("assignRolesAndGroups"); 118 } 119 } | Popular Tags |