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.model.core.Layout; 21 import com.blandware.atleap.service.core.LayoutManager; 22 import com.blandware.atleap.service.core.PageManager; 23 import com.blandware.atleap.webapp.action.core.BaseAction; 24 import com.blandware.atleap.webapp.form.ActionPageForm; 25 import com.blandware.atleap.webapp.util.core.LocaleUtil; 26 import com.blandware.atleap.webapp.util.core.WebappConstants; 27 import org.apache.commons.validator.GenericValidator; 28 import org.apache.struts.action.ActionForm; 29 import org.apache.struts.action.ActionForward; 30 import org.apache.struts.action.ActionMapping; 31 import org.apache.struts.action.ActionMessage; 32 import org.apache.struts.action.ActionMessages; 33 34 import javax.servlet.http.HttpServletRequest ; 35 import javax.servlet.http.HttpServletResponse ; 36 import java.util.ArrayList ; 37 import java.util.List ; 38 39 59 public final class ViewActionPageAction extends BaseAction { 60 69 public ActionForward execute(ActionMapping mapping, ActionForm form, 70 HttpServletRequest request, HttpServletResponse response) throws Exception { 71 ActionPageForm actionPageForm = (ActionPageForm) form; 72 Long actionPageId = null; 73 if ( !GenericValidator.isBlankOrNull(actionPageForm.getId()) ) { 74 actionPageId = Long.valueOf(actionPageForm.getId()); 75 } else if ( request.getSession().getAttribute(WebappConstants.ACTION_PAGE_ID_KEY) != null ) { 76 actionPageId = (Long ) request.getSession().getAttribute(WebappConstants.ACTION_PAGE_ID_KEY); 77 } else { 78 if ( log.isWarnEnabled() ) { 79 log.warn("Missing action page ID. Returning to list..."); 80 } 81 return mapping.findForward("listActionPages"); 82 } 83 84 PageManager pageManager = (PageManager) getBean(Constants.PAGE_MANAGER_BEAN); 85 ActionPage actionPage = pageManager.retrieveActionPage(actionPageId); 86 87 if ( actionPage == null ) { 88 ActionMessages errors = new ActionMessages(); 90 errors.add("actionPageNotFound", new ActionMessage("core.actionPage.errors.notFound")); 91 saveErrors(request, errors); 92 return mapping.findForward("listActionPages"); 93 } 94 95 96 request.getSession().setAttribute(WebappConstants.OWNER_ID_KEY, actionPage.getId()); 98 99 100 request.setAttribute("actionPage", actionPage); 101 102 LayoutManager layoutManager = (LayoutManager) getBean(Constants.LAYOUT_MANAGER_BEAN); 104 List layouts = null; 105 layouts = layoutManager.listLayouts(null).asList(); 106 107 if ( layouts == null ) { 108 layouts = new ArrayList (); 110 } 111 112 if ( layouts.isEmpty() ) { 113 request.getSession().removeAttribute(WebappConstants.LAYOUT_DEFINITION_KEY); 114 } else if ( request.getSession().getAttribute(WebappConstants.LAYOUT_DEFINITION_KEY) == null ) { 115 Layout layout = (Layout) layouts.iterator().next(); 117 request.getSession().setAttribute(WebappConstants.LAYOUT_DEFINITION_KEY, layout.getDefinition()); 118 } 119 120 List contentLocales = LocaleUtil.getInstance(servlet.getServletContext()).getAvailableLocales(); 121 122 request.getSession().setAttribute(WebappConstants.CONTENT_LOCALES_COLLECTION_KEY, contentLocales); 123 124 request.setAttribute(WebappConstants.LAYOUT_COLLECTION_KEY, layouts); 125 126 saveToken(request); 127 return mapping.findForward("viewActionPage"); 128 } 129 } | Popular Tags |