1 16 package com.blandware.atleap.webapp.action.core.group; 17 18 import com.blandware.atleap.common.Constants; 19 import com.blandware.atleap.model.core.Group; 20 import com.blandware.atleap.service.core.RoleManager; 21 import com.blandware.atleap.service.core.GroupManager; 22 import com.blandware.atleap.webapp.action.core.BaseAction; 23 import com.blandware.atleap.webapp.form.core.SelectRolesForm; 24 import com.blandware.atleap.webapp.util.core.WebappConstants; 25 import org.apache.struts.action.ActionForm; 26 import org.apache.struts.action.ActionForward; 27 import org.apache.struts.action.ActionMapping; 28 import org.apache.struts.action.ActionMessage; 29 import org.apache.struts.action.ActionMessages; 30 31 import javax.servlet.http.HttpServletRequest ; 32 import javax.servlet.http.HttpServletResponse ; 33 import java.util.ArrayList ; 34 import java.util.List ; 35 36 55 public final class CallAssignGroupRolesAction extends BaseAction { 56 65 public ActionForward execute(ActionMapping mapping, ActionForm form, 66 HttpServletRequest request, HttpServletResponse response) throws Exception { 67 68 String groupName = null; 69 if ( request.getParameter("groupName") != null ) { 70 groupName = request.getParameter("groupName"); 71 } else if ( request.getAttribute(WebappConstants.GROUP_NAME_KEY) != null ) { 72 groupName = (String ) request.getAttribute(WebappConstants.GROUP_NAME_KEY); 73 } else { 74 if ( log.isWarnEnabled() ) { 75 log.warn("Missing group name. Returning to list..."); 76 } 77 return mapping.findForward("listGroups"); 78 } 79 80 SelectRolesForm selectRolesForm = (SelectRolesForm) form; 81 GroupManager groupManager = (GroupManager) getBean(Constants.GROUP_MANAGER_BEAN); 82 Group group = groupManager.retrieveGroup(groupName); 83 84 if ( group == null ) { 85 ActionMessages errors = new ActionMessages(); 87 errors.add("groupNotFound", new ActionMessage("core.group.errors.notFound")); 88 saveErrors(request, errors); 89 return mapping.findForward("listGroups"); 90 } 91 92 selectRolesForm.setVersion(group.getVersion().toString()); 93 94 List groupRoles = new ArrayList (group.getRoles()); 95 96 RoleManager roleManager = (RoleManager) getBean(Constants.ROLE_MANAGER_BEAN); 97 List availableRoles = new ArrayList (roleManager.listRoles(null)); 98 List allRoles = new ArrayList (availableRoles); 99 availableRoles.removeAll(groupRoles); 100 101 selectRolesForm.setAvailableRolesList(availableRoles); 102 selectRolesForm.setSelectedRolesList(groupRoles); 103 request.getSession().setAttribute(WebappConstants.GROUP_NAME_KEY, group.getName()); 104 105 request.setAttribute("allRoles", allRoles); 106 107 saveToken(request); 109 return mapping.findForward("assignRoles"); 110 } 111 } | Popular Tags |