User: Zhang Kaitao
Date: 13-4-9 下午4:20
Version: 1.0
145146147148149150151152153154155156157
if (resources.size() == 0) { return Collections.EMPTY_LIST; } Menu root = convertToMenu(resources.remove(resources.size() - 1)); recursiveMenu(root, resources); List<Menu> menus = root.getChildren(); removeNoLeafMenu(menus); return menus; }
159160161162163164165166167168169170
private static void removeNoLeafMenu(List<Menu> menus) { if (menus.size() == 0) { return; } for (int i = menus.size() - 1; i >= 0; i--) { Menu m = menus.get(i); removeNoLeafMenu(m.getChildren()); if (!m.isHasChildren() && StringUtils.isEmpty(m.getUrl())) { menus.remove(i); } } }
182183184185186187188
recursiveMenu(subMenu, resources); } } private static Menu convertToMenu(Resource resource) { return new Menu(resource.getId(), resource.getName(), resource.getIcon(), resource.getUrl()); }