Example usage for com.vaadin.navigator Navigator setErrorProvider

List of usage examples for com.vaadin.navigator Navigator setErrorProvider

Introduction

In this page you can find the example usage for com.vaadin.navigator Navigator setErrorProvider.

Prototype

public void setErrorProvider(ViewProvider provider) 

Source Link

Document

Registers a view provider that is queried for a view when no other view matches the navigation state.

Usage

From source file:com.lst.deploymentautomation.vaadin.core.LspsUI.java

License:Open Source License

private void initNavigation() {
    Navigator navigator = new AppNavigator(getUI(), appLayout);
    navigator.addView(TodoListView.ID, TodoListView.class);
    navigator.addView(DocumentsView.ID, DocumentsView.class);
    navigator.addView(RunModelView.ID, RunModelView.class);
    navigator.addView(SettingsView.ID, SettingsView.class);
    navigator.addView(TodoView.ID, TodoView.class); //expects to-do ID as parameter
    navigator.addView(DocumentView.ID, DocumentView.class); //expects document ID as parameter + optional document parameters aded as ?key=val&key=val
    navigator.addView(FormPreviewView.ID, FormPreviewView.class); //expects model instance ID + '/' + form expression as parameter

    navigator.setErrorProvider(new ViewProvider() {

        private static final long serialVersionUID = 1L;

        @Override/*from  ww w  . j  a v  a2 s  . com*/
        public String getViewName(String viewAndParameters) {
            return viewAndParameters;
        }

        @Override
        public View getView(String viewName) {
            return new EmptyView();
        }
    });

    navigator.addViewChangeListener(new ViewChangeListener() {

        private static final long serialVersionUID = 1L;

        @Override
        public boolean beforeViewChange(ViewChangeEvent event) {
            return true;
        }

        @Override
        public void afterViewChange(ViewChangeEvent event) {
            //update navigation menu
            String parameters = event.getParameters();
            boolean hasParameters = parameters != null && !parameters.isEmpty();
            appLayout.viewChanged(event.getViewName() + (hasParameters ? "/" + parameters : ""));

            //update page title
            View view = event.getNewView();
            Page page = event.getNavigator().getUI().getPage();
            String title = (view instanceof AppView) ? ((AppView) view).getTitle() : null;
            page.setTitle(getMessage("application.title") + (title == null ? "" : ": " + title));
        }
    });
}

From source file:de.symeda.sormas.ui.MainScreen.java

License:Open Source License

public MainScreen(SormasUI ui) {

    CssLayout viewContainer = new CssLayout();
    viewContainer.setSizeFull();// www.  j av  a 2  s.c  o m
    viewContainer.addStyleName("sormas-content");

    final Navigator navigator = new Navigator(ui, viewContainer);
    navigator.setErrorProvider(new ViewProvider() {
        @Override
        public String getViewName(String viewAndParameters) {
            return viewAndParameters;
        }

        @Override
        public View getView(String viewName) {
            try {
                // Add new views to this clause to make sure that the right error page is shown
                if (viewName.equals(SurveillanceDashboardView.VIEW_NAME)
                        || viewName.equals(ContactsDashboardView.VIEW_NAME)
                        || viewName.equals(TasksView.VIEW_NAME) || viewName.equals(CasesView.VIEW_NAME)
                        || viewName.equals(ContactsView.VIEW_NAME) || viewName.equals(EventsView.VIEW_NAME)
                        || viewName.equals(SamplesView.VIEW_NAME) || viewName.equals(ReportsView.VIEW_NAME)
                        || viewName.equals(StatisticsView.VIEW_NAME) || viewName.equals(UsersView.VIEW_NAME)
                        || viewName.equals(OutbreaksView.VIEW_NAME) || viewName.equals(RegionsView.VIEW_NAME)
                        || viewName.equals(DistrictsView.VIEW_NAME)
                        || viewName.equals(CommunitiesView.VIEW_NAME)
                        || viewName.equals(HealthFacilitiesView.VIEW_NAME)
                        || viewName.equals(LaboratoriesView.VIEW_NAME)
                        || viewName.equals(PointsOfEntryView.VIEW_NAME)
                        || viewName.equals(UserRightsView.VIEW_NAME)) {
                    return AccessDeniedView.class.newInstance();
                } else {
                    return ErrorView.class.newInstance();
                }
            } catch (Exception e) {
                throw new RuntimeException(e);
            }
        }
    });

    menu = new Menu(navigator);
    if (UserProvider.getCurrent().hasUserRight(UserRight.DASHBOARD_VIEW)) {
        ControllerProvider.getDashboardController().registerViews(navigator);
    }
    if (UserProvider.getCurrent().hasUserRight(UserRight.DASHBOARD_SURVEILLANCE_ACCESS)) {
        menu.addView(SurveillanceDashboardView.class, AbstractDashboardView.ROOT_VIEW_NAME,
                I18nProperties.getCaption(Captions.mainMenuDashboard), VaadinIcons.DASHBOARD);
    } else if (UserProvider.getCurrent().hasUserRight(UserRight.DASHBOARD_CONTACT_ACCESS)) {
        menu.addView(ContactsDashboardView.class, AbstractDashboardView.ROOT_VIEW_NAME,
                I18nProperties.getCaption(Captions.mainMenuDashboard), VaadinIcons.DASHBOARD);
    }
    if (UserProvider.getCurrent().hasUserRight(UserRight.TASK_VIEW)) {
        menu.addView(TasksView.class, TasksView.VIEW_NAME, I18nProperties.getCaption(Captions.mainMenuTasks),
                VaadinIcons.TASKS);
    }
    if (UserProvider.getCurrent().hasUserRight(UserRight.CASE_VIEW)) {
        ControllerProvider.getCaseController().registerViews(navigator);
        menu.addView(CasesView.class, CasesView.VIEW_NAME, I18nProperties.getCaption(Captions.mainMenuCases),
                VaadinIcons.EDIT);
    }
    if (UserProvider.getCurrent().hasUserRight(UserRight.CONTACT_VIEW)) {
        ControllerProvider.getContactController().registerViews(navigator);
        menu.addView(ContactsView.class, ContactsView.VIEW_NAME,
                I18nProperties.getCaption(Captions.mainMenuContacts), VaadinIcons.HAND);
    }
    if (UserProvider.getCurrent().hasUserRight(UserRight.EVENT_VIEW)) {
        ControllerProvider.getEventController().registerViews(navigator);
        menu.addView(EventsView.class, EventsView.VIEW_NAME, I18nProperties.getCaption(Captions.mainMenuEvents),
                VaadinIcons.PHONE);
    }
    if (UserProvider.getCurrent().hasUserRight(UserRight.SAMPLE_VIEW)) {
        ControllerProvider.getSampleController().registerViews(navigator);
        menu.addView(SamplesView.class, SamplesView.VIEW_NAME,
                I18nProperties.getCaption(Captions.mainMenuSamples), VaadinIcons.DATABASE);
    }
    if (UserProvider.getCurrent().hasUserRight(UserRight.WEEKLYREPORT_VIEW)) {
        menu.addView(ReportsView.class, ReportsView.VIEW_NAME,
                I18nProperties.getCaption(Captions.mainMenuReports), VaadinIcons.FILE_TEXT);
    }
    if (UserProvider.getCurrent().hasUserRight(UserRight.STATISTICS_ACCESS)) {
        ControllerProvider.getStatisticsController().registerViews(navigator);
        menu.addView(StatisticsView.class, AbstractStatisticsView.ROOT_VIEW_NAME,
                I18nProperties.getCaption(Captions.mainMenuStatistics), VaadinIcons.BAR_CHART);
    }
    if (UserProvider.getCurrent().hasUserRight(UserRight.USER_VIEW)) {
        menu.addView(UsersView.class, UsersView.VIEW_NAME, I18nProperties.getCaption(Captions.mainMenuUsers),
                VaadinIcons.USERS);
    }
    if (UserProvider.getCurrent().hasUserRight(UserRight.CONFIGURATION_ACCESS)) {
        AbstractConfigurationView.registerViews(navigator);
        menu.addView(OutbreaksView.class, AbstractConfigurationView.ROOT_VIEW_NAME,
                I18nProperties.getCaption(Captions.mainMenuConfiguration), VaadinIcons.COGS);
    }
    menu.addView(AboutView.class, AboutView.VIEW_NAME, I18nProperties.getCaption(Captions.mainMenuAbout),
            VaadinIcons.INFO_CIRCLE);

    navigator.addViewChangeListener(viewChangeListener);

    ui.setNavigator(navigator);

    addComponent(menu);
    addComponent(viewContainer);
    setExpandRatio(viewContainer, 1);
    setSpacing(false);
    setMargin(false);
    setSizeFull();
}

From source file:edu.nps.moves.mmowgli.AbstractMmowgliController.java

License:Open Source License

public void setupNavigator(Navigator nav) {
    nav.addProvider(new MyViewProvider());
    nav.addView("", CallToActionPage.class); // to start with
    nav.setErrorProvider(new MyErrorViewProvider());
}