1 16 package com.blandware.atleap.webapp.action.core.contentPage; 17 18 import com.blandware.atleap.common.Constants; 19 import com.blandware.atleap.model.core.ContentPage; 20 import com.blandware.atleap.model.core.Role; 21 import com.blandware.atleap.service.core.PageManager; 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 56 public final class CallAssignContentPageRolesAction extends BaseAction { 57 66 public ActionForward execute(ActionMapping mapping, ActionForm form, 67 HttpServletRequest request, HttpServletResponse response) throws Exception { 68 69 Long contentPageId = null; 70 if ( request.getParameter("contentPageId") != null ) { 71 contentPageId = Long.valueOf(request.getParameter("contentPageId")); 72 } else if ( request.getAttribute(WebappConstants.CONTENT_PAGE_ID_KEY) != null ) { 73 contentPageId = (Long ) request.getAttribute(WebappConstants.CONTENT_PAGE_ID_KEY); 74 } else { 75 if ( log.isWarnEnabled() ) { 76 log.warn("Missing content page ID. Returning to list..."); 77 } 78 return mapping.findForward("listContentPages"); 79 } 80 81 request.getSession().setAttribute(WebappConstants.CONTENT_PAGE_ID_KEY, contentPageId); 82 83 SelectRolesForm selectRolesForm = (SelectRolesForm) form; 84 PageManager pageManager = (PageManager) getBean(Constants.PAGE_MANAGER_BEAN); 85 ContentPage contentPage = pageManager.retrieveContentPage(contentPageId); 86 87 if ( contentPage == null ) { 88 ActionMessages errors = new ActionMessages(); 90 errors.add("contentPageNotFound", new ActionMessage("core.contentPage.errors.notFound")); 91 saveErrors(request, errors); 92 return mapping.findForward("listContentPages"); 93 } 94 95 selectRolesForm.setVersion(contentPage.getVersion().toString()); 96 97 List contentPageRoles = new ArrayList (); 98 for ( Iterator i = contentPage.getRoles().iterator(); i.hasNext(); ) { 99 Role role = (Role) i.next(); 100 contentPageRoles.add(role); 101 } 102 103 RoleManager roleManager = (RoleManager) getBean(Constants.ROLE_MANAGER_BEAN); 104 List availableRoles = roleManager.listRoles(null).asList(); 105 List allRoles = new ArrayList (availableRoles); 106 availableRoles.removeAll(contentPageRoles); 107 108 selectRolesForm.setAvailableRolesList(availableRoles); 109 selectRolesForm.setSelectedRolesList(contentPageRoles); 110 111 request.setAttribute("allRoles", allRoles); 112 113 saveToken(request); 115 return mapping.findForward("assignRoles"); 116 } 117 } | Popular Tags |