1 package org.gnomekr.potron.web.view; 2 3 import org.apache.myfaces.custom.tree2.TreeNode; 4 import org.gnomekr.potron.service.IProjectManager; 5 import org.gnomekr.potron.web.tree.RootNode; 6 7 /*** 8 * NavigationTreeView.java 9 * @author Xavier Cho 10 * @version $Revision 1.1 $ $Date: 2005/07/18 18:03:14 $ 11 * @jsf.bean 12 * name = "navigation" 13 * scope = "application" 14 */ 15 public class NavigationTreeView extends AbstractFacesView { 16 17 public static final String MENU_TRANSLATOR = "translatorMenu"; 18 public static final String MENU_ADMIN = "adminMenu"; 19 20 private TreeNode rootNode; 21 private String menuName = MENU_TRANSLATOR; 22 23 private IProjectManager manager; 24 25 protected synchronized TreeNode createRootNode() { 26 TreeNode rootNode = new RootNode(manager.getProjects()); 27 return rootNode; 28 } 29 30 public synchronized void refresh() { 31 this.rootNode = null; 32 } 33 34 public TreeNode getRootNode() { 35 if (rootNode == null) { 36 this.rootNode = createRootNode(); 37 } 38 39 return rootNode; 40 } 41 42 /*** 43 * @return 44 * @jsf.managed-property 45 * value = "#{projectManager}" 46 */ 47 public IProjectManager getManager() { 48 return manager; 49 } 50 51 /*** 52 * @param manager The manager to set. 53 */ 54 public void setManager(IProjectManager manager) { 55 this.manager = manager; 56 } 57 58 /*** 59 * @return Returns the menuName. 60 */ 61 public String getMenuName() { 62 return menuName; 63 } 64 65 /*** 66 * @param menuName The menuName to set. 67 */ 68 public void setMenuName(String menuName) { 69 this.menuName = menuName; 70 } 71 }