1 19 20 package com.sslexplorer.navigation.tags; 21 22 import java.util.Iterator ; 23 import java.util.List ; 24 25 import javax.servlet.http.HttpServletRequest ; 26 import javax.servlet.http.HttpSession ; 27 import javax.servlet.jsp.tagext.TagSupport ; 28 29 import com.sslexplorer.core.AvailableMenuItem; 30 import com.sslexplorer.core.CoreMenuTree; 31 import com.sslexplorer.navigation.NavigationBar; 32 import com.sslexplorer.navigation.NavigationManager; 33 import com.sslexplorer.security.Constants; 34 35 public class MenuTag extends TagSupport { 36 37 String name; 38 String submenu; 39 String hide; 40 41 public MenuTag() { 42 } 43 44 public void setName(String name) { 45 this.name = name; 46 } 47 48 public int doStartTag() { 49 return (EVAL_BODY_INCLUDE); 50 } 51 52 public int doEndTag() { 53 54 HttpServletRequest request = (HttpServletRequest ) pageContext.getRequest(); 55 HttpSession session = request.getSession(); 56 57 if (session.getAttribute(Constants.MENU_TREE) == null) { 59 session.setAttribute(Constants.MENU_TREE, NavigationManager.getMenuTree(CoreMenuTree.MENU_ITEM_MENU_TREE).rebuildMenus( 60 request)); 61 } 62 pageContext.getRequest().removeAttribute(Constants.SELECTED_MENU); 63 List menus = (List ) pageContext.getSession().getAttribute(Constants.MENU_TREE); 64 if (menus == null) { 65 } else { 66 AvailableMenuItem it = findAvailableMenuItem(menus); 67 if (it != null) { 68 pageContext.getRequest().setAttribute(Constants.SELECTED_MENU, it); 69 } 70 } 71 72 session.setAttribute(Constants.NAV_BAR, NavigationManager.getMenuTree(NavigationBar.NAV_BAR_MENU_TREE) 73 .rebuildMenus(request)); 74 75 return (EVAL_PAGE); 76 } 77 78 private AvailableMenuItem findAvailableMenuItem(List l) { 79 for (Iterator i = l.iterator(); i.hasNext();) { 80 AvailableMenuItem item = (AvailableMenuItem) i.next(); 81 if (item.getMenuItem().getId().equals(name)) { 82 return item; 83 } 84 AvailableMenuItem f = findAvailableMenuItem(item); 85 if (f != null) { 86 return f; 87 } 88 } 89 return null; 90 } 91 92 } | Popular Tags |