1 16 package com.blandware.atleap.webapp.action.core.menuItem; 17 18 import com.blandware.atleap.common.Constants; 19 import com.blandware.atleap.model.core.MenuItem; 20 import com.blandware.atleap.service.core.MenuManager; 21 import com.blandware.atleap.webapp.action.core.BaseAction; 22 import com.blandware.atleap.webapp.form.MenuItemForm; 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 31 import javax.servlet.http.HttpServletRequest ; 32 import javax.servlet.http.HttpServletResponse ; 33 import java.util.LinkedList ; 34 import java.util.List ; 35 36 54 public final class CallCreateMenuItemAction extends BaseAction { 55 64 public ActionForward execute(ActionMapping mapping, ActionForm form, 65 HttpServletRequest request, HttpServletResponse response) throws Exception { 66 67 MenuItemForm menuItemForm = (MenuItemForm) form; 68 69 Long ownerId = null; 70 if ( !GenericValidator.isBlankOrNull(menuItemForm.getOwnerId()) ) { 71 ownerId = Long.valueOf(menuItemForm.getOwnerId()); 72 } else { 73 if ( log.isWarnEnabled() ) { 74 log.warn("Missing owner ID. Returning to index..."); 75 } 76 return mapping.findForward("admin"); 77 } 78 79 request.getSession().removeAttribute(WebappConstants.BROWSER_LOCALE_SUFFIX_KEY); 81 82 request.getSession().setAttribute(WebappConstants.OWNER_ID_KEY, ownerId); 83 84 Long parentItemId = (Long ) request.getSession().getAttribute(WebappConstants.MENU_ITEM_PARENT_ID_KEY); 85 if ( parentItemId == null ) { 86 return mapping.findForward("listMenuItems"); 88 } 89 90 List contentLocales = LocaleUtil.getInstance(servlet.getServletContext()).getAvailableLocales(); 91 92 request.getSession().setAttribute(WebappConstants.CONTENT_LOCALES_COLLECTION_KEY, contentLocales); 93 94 request.setAttribute(WebappConstants.OWNER_INFO_KEY, WebappUtil.getLocalizableInfo(ownerId, request)); 96 97 MenuManager menuManager = (MenuManager) getBean(Constants.MENU_MANAGER_BEAN); 99 MenuItem parentItem = menuManager.retrieveMenuItem(parentItemId); 100 101 if ( parentItem != null ) { 102 LinkedList parents = new LinkedList (); 104 while ( parentItem != null ) { 105 parents.addFirst(parentItem); 106 parentItem = parentItem.getParentItem(); 107 } 108 request.setAttribute(WebappConstants.MENU_ITEM_PARENTS_LIST_KEY, parents); 109 } 110 111 saveToken(request); 113 114 return mapping.findForward("createMenuItem"); 115 } 116 } | Popular Tags |