1 16 package com.blandware.atleap.webapp.action.core.contentResource; 17 18 import com.blandware.atleap.common.Constants; 19 import com.blandware.atleap.model.core.ContentResource; 20 import com.blandware.atleap.model.core.Role; 21 import com.blandware.atleap.service.core.ContentResourceManager; 22 import com.blandware.atleap.service.core.RoleManager; 23 import com.blandware.atleap.webapp.action.core.BaseAction; 24 import com.blandware.atleap.webapp.form.core.SelectRolesForm; 25 import com.blandware.atleap.webapp.util.core.WebappConstants; 26 import org.apache.struts.action.ActionForm; 27 import org.apache.struts.action.ActionForward; 28 import org.apache.struts.action.ActionMapping; 29 import org.apache.struts.action.ActionMessage; 30 import org.apache.struts.action.ActionMessages; 31 32 import javax.servlet.http.HttpServletRequest ; 33 import javax.servlet.http.HttpServletResponse ; 34 import java.util.ArrayList ; 35 import java.util.Iterator ; 36 import java.util.List ; 37 38 57 public final class CallAssignContentResourceRolesAction extends BaseAction { 58 67 public ActionForward execute(ActionMapping mapping, ActionForm form, 68 HttpServletRequest request, HttpServletResponse response) throws Exception { 69 70 Long contentResourceId = null; 71 if ( request.getParameter("contentResourceId") != null ) { 72 contentResourceId = Long.valueOf(request.getParameter("contentResourceId")); 73 } else if ( request.getAttribute(WebappConstants.CONTENT_RESOURCE_ID_KEY) != null ) { 74 contentResourceId = (Long ) request.getAttribute(WebappConstants.CONTENT_RESOURCE_ID_KEY); 75 } else { 76 if ( log.isWarnEnabled() ) { 77 log.warn("Missing content resource ID. Returning to list..."); 78 } 79 return mapping.findForward("listContentResources"); 80 } 81 82 request.getSession().setAttribute(WebappConstants.CONTENT_RESOURCE_ID_KEY, contentResourceId); 83 84 SelectRolesForm selectRolesForm = (SelectRolesForm) form; 85 ContentResourceManager resourceManager = (ContentResourceManager) getBean(Constants.CONTENT_RESOURCE_MANAGER_BEAN); 86 ContentResource contentResource = resourceManager.retrieveContentResource(contentResourceId); 87 88 if ( contentResource == null ) { 89 ActionMessages errors = new ActionMessages(); 91 errors.add("contentResourceNotFound", new ActionMessage("core.contentResource.errors.notFound")); 92 saveErrors(request, errors); 93 return mapping.findForward("listContentResources"); 94 } 95 96 selectRolesForm.setVersion(contentResource.getVersion().toString()); 97 98 List contentResourceRoles = new ArrayList (); 99 for ( Iterator i = contentResource.getRoles().iterator(); i.hasNext(); ) { 100 Role role = (Role) i.next(); 101 contentResourceRoles.add(role); 102 } 103 104 RoleManager roleManager = (RoleManager) getBean(Constants.ROLE_MANAGER_BEAN); 105 List availableRoles = new ArrayList (roleManager.listRoles(null)); 106 List allRoles = new ArrayList (availableRoles); 107 availableRoles.removeAll(contentResourceRoles); 108 109 selectRolesForm.setAvailableRolesList(availableRoles); 110 selectRolesForm.setSelectedRolesList(contentResourceRoles); 111 112 request.setAttribute("allRoles", allRoles); 113 114 saveToken(request); 116 return mapping.findForward("assignRoles"); 117 } 118 } | Popular Tags |