1 16 package com.blandware.atleap.webapp.action.core.actionPage; 17 18 import com.blandware.atleap.common.Constants; 19 import com.blandware.atleap.model.core.ActionPage; 20 import com.blandware.atleap.service.core.PageManager; 21 import com.blandware.atleap.webapp.action.core.BaseAction; 22 import com.blandware.atleap.webapp.form.ActionPageForm; 23 import com.blandware.atleap.webapp.util.core.LocaleUtil; 24 import com.blandware.atleap.webapp.util.core.WebappConstants; 25 import com.blandware.atleap.webapp.util.core.WebappUtil; 26 import org.apache.commons.validator.GenericValidator; 27 import org.apache.struts.action.ActionForm; 28 import org.apache.struts.action.ActionForward; 29 import org.apache.struts.action.ActionMapping; 30 import org.apache.struts.action.ActionMessage; 31 import org.apache.struts.action.ActionMessages; 32 33 import javax.servlet.http.HttpServletRequest ; 34 import javax.servlet.http.HttpServletResponse ; 35 import java.util.List ; 36 37 56 public final class CallUpdateActionPageAction extends BaseAction { 57 66 public ActionForward execute(ActionMapping mapping, ActionForm form, 67 HttpServletRequest request, HttpServletResponse response) throws Exception { 68 69 if ( isCancelled(request) ) { 70 return mapping.findForward("listActionPages"); 71 } 72 73 if ( !request.isUserInRole("core-actionPage-update") && !request.isUserInRole("core-actionPage-updateContent") ) { 74 response.sendError(HttpServletResponse.SC_FORBIDDEN); 75 return null; 76 } 77 78 ActionPageForm actionPageForm = (ActionPageForm) form; 79 Long actionPageId = null; 80 if ( !GenericValidator.isBlankOrNull(actionPageForm.getId()) ) { 81 actionPageId = Long.valueOf(actionPageForm.getId()); 82 } else if ( request.getSession().getAttribute(WebappConstants.ACTION_PAGE_ID_KEY) != null ) { 83 actionPageId = (Long ) request.getSession().getAttribute(WebappConstants.ACTION_PAGE_ID_KEY); 84 } else { 85 if ( log.isWarnEnabled() ) { 86 log.warn("Missing action page ID. Returning to list..."); 87 } 88 return mapping.findForward("listActionPages"); 89 } 90 91 PageManager actionPageManager = (PageManager) getBean(Constants.PAGE_MANAGER_BEAN); 92 ActionPage actionPage = actionPageManager.retrieveActionPage(actionPageId); 93 94 if ( actionPage == null ) { 95 ActionMessages errors = new ActionMessages(); 97 errors.add("actionPageNotFound", new ActionMessage("core.actionPage.errors.notFound")); 98 saveErrors(request, errors); 99 return mapping.findForward("listActionPages"); 100 } 101 102 WebappUtil.copyProperties(actionPageForm, actionPage, request); 103 actionPageForm.setTitleMap(actionPage.getTitle()); 104 actionPageForm.setDescriptionMap(actionPage.getDescription()); 105 actionPageForm.setKeywordsMap(actionPage.getKeywords()); 106 107 List contentLocales = LocaleUtil.getInstance(servlet.getServletContext()).getAvailableLocales(); 108 109 request.getSession().setAttribute(WebappConstants.CONTENT_LOCALES_COLLECTION_KEY, contentLocales); 110 111 saveToken(request); 113 return mapping.findForward("updateActionPage"); 114 } 115 116 } | Popular Tags |