package org.openiam.webadmin.admin; import java.io.IOException; import java.util.*; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import org.apache.struts.action.*; import org.openiam.idm.srvc.menu.dto.Menu; import org.openiam.idm.srvc.menu.ws.NavigatorDataWebService; import org.springframework.web.struts.DispatchActionSupport; /** * @version 1.0 * @author */ public class MenuNavigationAction extends DispatchActionSupport { protected NavigatorDataWebService navDS; public ActionForward execute( ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { ActionErrors err = new ActionErrors(); String langCd = "en"; HttpSession session = request.getSession(); // remove the menu that is underneath the calling level. String level = request.getParameter("l"); if (level.equalsIgnoreCase("p")) { session.removeAttribute("topLevelMenus"); session.removeAttribute("sideMenus"); } if (level.equalsIgnoreCase("t")) { session.removeAttribute("sideMenus"); } String userId = (String)session.getAttribute("userId"); String menuId = request.getParameter("menuid"); request.setAttribute("menuGroup", menuId); try { List<Menu> menus = navDS.menuGroupByUser(menuId, userId, langCd).getMenuList(); if (menus != null && menus.size() > 0 ) { session.setAttribute("sideMenus", menus); }else { session.removeAttribute("sideMenus"); } } catch (Exception e) { // e.printStackTrace(); err.add(ActionMessages.GLOBAL_MESSAGE,new ActionMessage("error.ejb")); //err.add(ActionErrors.GLOBAL_ERROR, new ActionError("error.ejb")); } if (!err.isEmpty()) { saveErrors(request, err); return (mapping.findForward("failure")); } // show the login page first return mapping.findForward("success"); } public NavigatorDataWebService getNavDS() { return navDS; } public void setNavDS(NavigatorDataWebService navDS) { this.navDS = navDS; } }