i have an example how to create a menu by java

public class MenuPage {
        
    private static GrantedAuthority[] UserAuthorities;
        
    private static class MenuHolder {
        private static Menu INSTANCE = createMenus();
    }

    public static void setUserAuthorities(GrantedAuthority[]
userAuthorities) {
                UserAuthorities = userAuthorities;
        }

        public static Menu getMenus() {
                return MenuHolder.INSTANCE;
    }

    @SuppressWarnings("unchecked")
        private static Menu createMenus() {
        
                Menu rootMenu = new Menu("rootMenu");
                Menu menu;
                Menu subMenu;

                menu = createMenu("Home", "home.htm","/assets/images/home.png");
            rootMenu.getChildren().add(menu);

        menu = createMenu("Task Manager","#","/assets/icons/book_open.png");
        rootMenu.getChildren().add(menu);
                
                subMenu = createMenu("List tasks", 
"taskmanager/list-tasks.htm");
                menu.getChildren().add(subMenu);
                
                subMenu = createMenu("Add new Task",
"taskmanager/add-new-task.htm");
                menu.getChildren().add(subMenu);
                
                subMenu = createMenu("Phone Book", "phonebook/phonebook.htm");
                menu.getChildren().add(subMenu);

                subMenu = createMenu("Add New Phone",
"phonebook/add-new-phone.htm");
                menu.getChildren().add(subMenu);                
                
            menu = 
createMenu("Administration","#","/assets/icons/book_open.png");
            rootMenu.getChildren().add(menu);
                
                subMenu = createMenu("Create new
User","administration/create-user.htm");
                menu.getChildren().add(subMenu);        
                subMenu = createMenu("Create new Role","user/user.htm");
                menu.getChildren().add(subMenu);
                
                if (userHasAuthority(Permission.TEST)) {
                        subMenu = createMenu("Asign Roles","user/user.htm");
                        menu.getChildren().add(subMenu);
                }
            
                return rootMenu;

        }
        
    @SuppressWarnings("unused")
        private static Menu createMenu(String label) {
        Menu menu = new Menu();
        menu.setLabel(label);
        menu.setTitle(label);
        return menu;
    }

    private static Menu createMenu(String label, String path) {
        Menu menu = new Menu();
        menu.setLabel(label);
        menu.setPath(path);
        menu.setTitle(label);
        return menu;
    }

    private static Menu createMenu(String label, String path, String
IconPath) {
        Menu menu = new Menu();
        menu.setLabel(label);
        menu.setPath(path);
        menu.setTitle(label);
        menu.setImageSrc(IconPath);
        return menu;
    }
    
    public static boolean userHasAuthority(String authority) {
        for (int i = 0; i < UserAuthorities.length; i++) {
            if (authority.equals(UserAuthorities[i].getAuthority())) {
                return true;
            }
        }

        return false;
    }
    
}

and from BorderPage you can call

        public void onInit() {
                super.onInit();
                if (hasPermission(Permission.LOGIN)) {
                        MenuPage.setUserAuthorities(getAuthorities());
                        rootMenu = MenuPage.getMenus();
                }
        }

i am using spring security + CAS all authorities are being read from mysql
database


-- 
View this message in context: http://n2.nabble.com/menu-tp3070583p3085855.html
Sent from the click-user mailing list archive at Nabble.com.

Reply via email to