1 16 package com.blandware.atleap.webapp.action.core.role; 17 18 import com.blandware.atleap.common.Constants; 19 import com.blandware.atleap.model.core.Role; 20 import com.blandware.atleap.service.core.RoleManager; 21 import com.blandware.atleap.webapp.action.core.BaseAction; 22 import com.blandware.atleap.webapp.form.RoleForm; 23 import com.blandware.atleap.webapp.util.core.WebappConstants; 24 import com.blandware.atleap.webapp.util.core.WebappUtil; 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 34 53 public final class CallUpdateRoleAction extends BaseAction { 54 63 public ActionForward execute(ActionMapping mapping, ActionForm form, 64 HttpServletRequest request, HttpServletResponse response) throws Exception { 65 66 if ( isCancelled(request) ) { 67 return mapping.findForward("listRoles"); 68 } 69 70 if ( !request.isUserInRole("core-role-update") ) { 71 response.sendError(HttpServletResponse.SC_FORBIDDEN); 72 return null; 73 } 74 75 RoleForm roleForm = (RoleForm) form; 76 String roleName = null; 77 if ( roleForm.getName() != null ) { 78 roleName = roleForm.getName(); 79 } else if ( request.getSession().getAttribute(WebappConstants.ROLE_NAME_KEY) != null ) { 80 roleName = (String ) request.getSession().getAttribute(WebappConstants.ROLE_NAME_KEY); 81 } else { 82 if ( log.isWarnEnabled() ) { 83 log.warn("Missing role name. Returning to list..."); 84 } 85 return mapping.findForward("listRoles"); 86 } 87 88 RoleManager roleManager = (RoleManager) getBean(Constants.ROLE_MANAGER_BEAN); 89 Role role = roleManager.retrieveRole(roleName); 90 if ( role == null ) { 91 ActionMessages errors = new ActionMessages(); 93 errors.add("roleNotFound", new ActionMessage("core.role.errors.notFound")); 94 saveErrors(request, errors); 95 return mapping.findForward("listRoles"); 96 } 97 98 WebappUtil.copyProperties(roleForm, role, request); 99 100 saveToken(request); 102 return mapping.findForward("updateRole"); 103 } 104 105 } | Popular Tags |