Example usage for com.vaadin.navigator ViewProvider ViewProvider

List of usage examples for com.vaadin.navigator ViewProvider ViewProvider

Introduction

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

Prototype

ViewProvider

Source Link

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  .ja va2s. c o  m
        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();//from ww  w  . 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:fr.univlorraine.mondossierweb.MainUI.java

License:Apache License

/**
 * @see com.vaadin.ui.UI#init(com.vaadin.server.VaadinRequest)
 *//* w w  w  .  ja v  a  2s .co  m*/
@Override
protected void init(VaadinRequest request) {

    LOG.debug("init(); mainUI");

    if (PropertyUtils.isPushEnabled() && !PropertyUtils.isWebSocketPushEnabled()) {
        getPushConfiguration().setTransport(Transport.LONG_POLLING);
    }

    //Gestion des erreurs
    VaadinSession.getCurrent().setErrorHandler(e -> {
        Throwable cause = e.getThrowable();
        while (cause instanceof Throwable) {
            /* Gre les accs non autoriss */
            if (cause instanceof AccessDeniedException) {
                Notification.show(cause.getMessage(), Type.ERROR_MESSAGE);
                displayViewFullScreen(AccesRefuseView.NAME);
                return;
            }
            if (cause != null && cause.getClass() != null) {
                String simpleName = cause.getClass().getSimpleName();
                if (PropertyUtils.getListeErreursAIgnorer().contains(simpleName)) {
                    Notification.show(cause.getMessage(), Type.ERROR_MESSAGE);
                    displayViewFullScreen(ErreurView.NAME);
                    return;
                }
            }
            cause = cause.getCause();
        }
        // Traite les autres erreurs normalement 
        LOG.error(e.getThrowable().toString(), e.getThrowable());
        // Affiche de la vue d'erreur
        displayViewFullScreen(ErreurView.NAME);
        //DefaultErrorHandler.doDefault(e);
    });

    // Affiche le nom de l'application dans l'onglet du navigateur 
    getPage().setTitle(environment.getRequiredProperty("app.name"));

    //Gestion de l'acces a un dossier prcis via url deepLinking (ne peut pas tre fait dans navigator 
    //car le fragment ne correspond pas  une vue existante)
    getPage().addUriFragmentChangedListener(new UriFragmentChangedListener() {
        public void uriFragmentChanged(UriFragmentChangedEvent source) {

            //Si l'application est en maintenance on bloque l'accs
            if (!applicationActive() && !source.getUriFragment().contains(AccesBloqueView.NAME)
                    && !(source.getUriFragment().contains(AdminView.NAME) && userController.isAdmin())) {

                displayViewFullScreen(AccesBloqueView.NAME);
            } else {

                if (source.getUriFragment().contains("accesDossierEtudiant") && userController.isEnseignant()) {
                    rechercheController.accessToDossierEtudiantDeepLinking(source.getUriFragment());

                } /*else{
                    if(source.getUriFragment().contains("accesNotesEtudiant") 
                  && userController.isEnseignant()){
                       rechercheController.accessToDossierEtudiantDeepLinking(source.getUriFragment());
                       navigator.navigateTo(NotesView.NAME);
                    }
                  }*/

            }
        }
    });

    //Paramtrage du comportement en cas de perte de connexion
    configReconnectDialog();

    /* Construit le gestionnaire de vues utilis par la barre d'adresse et pour naviguer dans le dossier d'un tudiant */
    navigator.addProvider(viewProvider);
    navigator.setErrorProvider(new ViewProvider() {
        @Override
        public String getViewName(final String viewAndParameters) {
            return ErreurView.NAME;
        }

        @Override
        public View getView(final String viewName) {
            return viewProvider.getView(ErreurView.NAME);
        }
    });

    navigator.addViewChangeListener(new ViewChangeListener() {
        private static final long serialVersionUID = 7905379446201794289L;

        private static final String SELECTED_ITEM = "selected";

        @Override
        public boolean beforeViewChange(ViewChangeEvent event) {

            //Avant de se rendre sur une vue, on supprime le style "selected" des objets du menu
            viewButtons.values().forEach(button -> button.removeStyleName(SELECTED_ITEM));

            //Si on tente d'accder  la vue admin et que l'utilisateur est admin
            if (event.getViewName().equals(AdminView.NAME) && userController.userCanAccessAdminView()) {
                //Afficher la vue admin
                setContent(adminView);
                return true;
            }

            //Si l'application est en maintenance on bloque l'accs
            if (!applicationActive() && !event.getViewName().equals(AccesBloqueView.NAME)) {
                displayViewFullScreen(AccesBloqueView.NAME);
                return false;
            }

            //On bloque l'accs aux vues mobile
            if (!Utils.isViewDesktop(event.getViewName())) {
                return false;
            }
            //On bloque l'accs aux vues enseignants
            if (Utils.isViewEnseignant(event.getViewName())) {
                //Si utilisateur n'est pas enseignant
                if (!userController.isEnseignant()) {
                    //acces bloque
                    return false;
                } else {
                    //Affichage de la vue enseignant demande
                    if (event.getViewName().equals(FavorisView.NAME)) {
                        navigateToFavoris();
                        return true;
                    }
                    if (event.getViewName().equals(ListeInscritsView.NAME)) {
                        navigateToListeInscrits(null);
                        return true;
                    }
                    if (event.getViewName().equals(RechercheRapideView.NAME)) {
                        navigateToRechercheRapide();
                        return true;
                    }
                    if (event.getViewName().equals(RechercheArborescenteView.NAME)) {
                        navigateToRechercheArborescente(null);
                        return true;
                    }

                    return false; //la vue enseignant demande n'est pas gr (ex :vue mobile appele depuis la version desktop)
                }
            }

            return true;
        }

        @Override
        public void afterViewChange(ViewChangeEvent event) {

            //On rcupre l'lment du menu concern par la vue  afficher
            Button button = viewButtons.get(event.getViewName());

            if (button instanceof Button) {
                //on applique le style "selected" sur l'objet du menu concern par la vue affiche
                button.addStyleName(SELECTED_ITEM);
            }
        }
    });

    //init du tracker
    initAnalyticsTracker();

    //mainVerticalLayout est le contenu principal de la page
    setContent(mainVerticalLayout);

    //Si utilisateur enseignant ou tudiant
    if (userController.isEnseignant() || userController.isEtudiant()) {

        if (!applicationActive()) {
            displayViewFullScreen(AccesBloqueView.NAME);
        } else {
            //On rcupre l'IP du client
            GenericUI.getCurrent().getIpClient();
            /* Parametre le layoutDossierEtudiant */
            menuLayout.setPrimaryStyleName(ValoTheme.MENU_ROOT);
            //Le contentLayout est scrollable si besoin
            contentLayout.addStyleName("v-scrollable");
            //contentLayout prend toute la place possible
            contentLayout.setSizeFull();
            //le contentLayout prend toute la place disponible dans le layoutDossierEtudiant
            layoutDossierEtudiant.setExpandRatio(contentLayout, 1);
            //layoutDossierEtudiant prend toute la place possible
            layoutDossierEtudiant.setSizeFull();

            //Si user enseignant
            if (userController.isEnseignant()) {
                //On consultera les notes en vue enseignant
                vueEnseignantNotesEtResultats = true;

                //Construit le menu horizontal pour les enseignants
                tabSheetGlobal.setSizeFull();
                tabSheetGlobal.addStyleName(ValoTheme.TABSHEET_FRAMED);

                rangTabRecherche = 0;
                rangTabDossierEtudiant = 1;

                //ajout de l'onglet principal 'recherche'
                layoutOngletRecherche = new VerticalLayout();
                ajoutOngletRecherche();
                layoutOngletRecherche.setSizeFull();
                tabSheetGlobal.addTab(layoutOngletRecherche,
                        applicationContext.getMessage("mainUI.recherche.title", null, getLocale()),
                        FontAwesome.SEARCH);

                //ajout de l'onglet principal 'assistance'
                tabSheetGlobal.addTab(assistanceView,
                        applicationContext.getMessage(assistanceView.NAME + ".title", null, getLocale()),
                        FontAwesome.SUPPORT);

                //ajout de l'onglet dossier tudiant
                addTabDossierEtudiant();

                //Ce tabSheet sera align  droite
                tabSheetGlobal.addStyleName("right-aligned-tabs");

                //Le menu horizontal pour les enseignants est dfinit comme tant le contenu de la page
                mainVerticalLayout.addComponent(tabSheetGlobal);
                mainVerticalLayout.setSizeFull();
                mainVerticalLayout.setExpandRatio(tabSheetGlobal, 1);
            } else {
                //On consultera les notes en vue etudiant
                vueEnseignantNotesEtResultats = false;

                //User Etudiant
                //Le Dossier est dfinit comme tant le contenu de la page
                mainVerticalLayout.addComponent(layoutDossierEtudiant);
                mainVerticalLayout.setSizeFull();
                mainVerticalLayout.setExpandRatio(layoutDossierEtudiant, 1);

                //On renseigne l'tudiant dont on consulte le dossier
                //Rcupration du cod_etu
                etudiant = new Etudiant(
                        daoCodeLoginEtudiant.getCodEtuFromLogin(userController.getCurrentUserName()));
                LOG.debug("MainUI etudiant : " + MainUI.getCurrent().getEtudiant().getCod_etu());
                //Rcupration de l'tat-civil (et les adresses)
                etudiantController.recupererEtatCivil();
                //On construit le menu affich  l'tudiant
                buildMainMenuEtudiant();
            }

            /* Enregistre l'UI pour la rception de notifications */
            uiController.registerUI(this);

            boolean navigationComplete = false;
            String fragment = Page.getCurrent().getUriFragment();
            if (fragment != null && !fragment.isEmpty()) {
                //Cas de l'appel initial de l'application via l'url vers la vue admin (sinon le cas est grer dans le listener du navigator
                if (fragment.contains("adminView") && userController.userCanAccessAdminView()) {
                    //Afficher la vue admin
                    navigator.navigateTo(AdminView.NAME);
                    navigationComplete = true;
                }
                if (fragment.contains("accesDossierEtudiant") && userController.isEnseignant()) {
                    rechercheController.accessToDossierEtudiantDeepLinking(fragment);
                    navigationComplete = true;
                }
                /*if(fragment.contains("accesNotesEtudiant") && userController.isEnseignant()){
                   rechercheController.accessToDossierEtudiantDeepLinking(fragment);
                   navigator.navigateTo(NotesView.NAME);
                   navigationComplete=true;
                }*/
            }

            if (!navigationComplete) {
                //PROBLEME DU F5 : on passe ici (init()) que quand on reinitialise l'UI ou en cas d'erreur. 
                //On ne peut donc pas rediriger vers des vues qui utilisent des variables non initialises (ex : Main.getCurrent.getEtudiant)
                if (!applicationActive()) {
                    displayViewFullScreen(AccesBloqueView.NAME);
                } else {
                    //Si utilisateur enseignant
                    if (userController.isEnseignant()) {
                        //Rcupration des favoris pour l'utilisateur
                        List<Favoris> lfav = favorisController.getFavoris();
                        if (lfav != null && lfav.size() > 0) {
                            //On affiche la vue des favoris
                            navigator.navigateTo(FavorisView.NAME);
                        } else {
                            //On affiche la vue de recherche rapide
                            navigator.navigateTo(RechercheRapideView.NAME);
                        }
                        //Affichage du message d'intro si besoin
                        afficherMessageIntroEnseignants(false, true);
                    } else {
                        //Si utilisateur tudiant
                        if (userController.isEtudiant()) {
                            //On affiche la vue de l'tat-civil
                            navigator.navigateTo(EtatCivilView.NAME);
                            //Affichage du message d'intro si besoin
                            afficherMessageIntroEtudiants();
                        } else {
                            //On affiche la vue d'erreur
                            displayViewFullScreen(ErreurView.NAME);
                        }
                    }
                }
            }
        }
    } else {
        //Si utilisateur n'est ni enseignant, ni tudiant
        //On affiche la vue accs refus
        displayViewFullScreen(AccesRefuseView.NAME);
    }
}

From source file:fr.univlorraine.mondossierweb.MdwTouchkitUI.java

License:Apache License

@Override
protected void init(VaadinRequest request) {

    VaadinSession.getCurrent().setErrorHandler(e -> {
        Throwable cause = e.getThrowable();
        while (cause instanceof Throwable) {
            /* Gre les accs non autoriss */
            if (cause instanceof AccessDeniedException) {
                Notification.show(cause.getMessage(), Type.ERROR_MESSAGE);
                afficherMessageAccesRefuse();
                return;
            }//from  w ww .j a  v  a  2  s .  co  m
            if (cause != null && cause.getClass() != null) {
                String simpleName = cause.getClass().getSimpleName();
                if (PropertyUtils.getListeErreursAIgnorer().contains(simpleName)) {
                    Notification.show(cause.getMessage(), Type.ERROR_MESSAGE);
                    navigator.navigateTo(ErreurView.NAME);
                    return;
                }
            }
            cause = cause.getCause();
        }
        /* Traite les autres erreurs normalement */
        LOG.error(e.getThrowable().toString(), e.getThrowable());
        // Affiche de la vue d'erreur
        navigator.navigateTo(ErreurView.NAME);
    });

    //Le contenu principal n'est pas scrollable. Par contre les lment  l'intrieur pourront l'tre
    setStyleName("v-noscrollableelement");

    //Le contentLayout prend toute la place disponible
    contentLayout.setSizeFull();

    /* Affiche le nom de l'application dans l'onglet du navigateur */
    getPage().setTitle(environment.getRequiredProperty("app.name"));

    /* Gestion de l'acces a un dossier prcis via url deepLinking (ne peut pas tre fait dans navigator 
    car le fragment ne correspond pas  une vue existante) */
    getPage().addUriFragmentChangedListener(new UriFragmentChangedListener() {
        public void uriFragmentChanged(UriFragmentChangedEvent source) {

            //On bloque l'accs aux vues desktop
            /*   if(!Utils.isViewMobile(source.getUriFragment())){
               afficherMessageAccesRefuse();
            }*/

            //Si l'application est en maintenance on bloque l'accs
            if (!applicationActive() && !source.getUriFragment().contains(AccesBloqueView.NAME)) {
                afficherMessageMaintenance();
            }
        }
    });

    /* Ex de Device Detection */
    Device currentDevice = DeviceUtils.getCurrentDevice((HttpServletRequest) request);
    if (currentDevice.isMobile())
        LOG.debug("device : mobile");
    if (currentDevice.isTablet())
        LOG.debug("device : tablet");
    if (currentDevice.isNormal())
        LOG.debug("device : normal");

    //Paramtrage du comportement en cas de perte de connexion
    configReconnectDialog();

    /* Construit le gestionnaire de vues */
    navigator.addProvider(viewProvider);
    navigator.setErrorProvider(new ViewProvider() {
        @Override
        public String getViewName(final String viewAndParameters) {
            return ErreurView.NAME;
        }

        @Override
        public View getView(final String viewName) {
            return viewProvider.getView(ErreurView.NAME);
        }
    });

    navigator.addViewChangeListener(new ViewChangeListener() {

        private static final long serialVersionUID = 9183991275107545154L;

        @Override
        public boolean beforeViewChange(ViewChangeEvent event) {

            //On bloque l'accs aux vues desktop
            if (!Utils.isViewMobile(event.getViewName())) {
                return false;
            }

            //Si l'application est en maintenance on bloque l'accs
            if (!applicationActive() && !event.getViewName().equals(AccesBloqueView.NAME)) {
                afficherMessageMaintenance();
                return false;
            }

            return true;
        }

        @Override
        public void afterViewChange(ViewChangeEvent event) {
            // TODO Auto-generated method stub

        }

    });

    //init du tracker
    initAnalyticsTracker();

    //contentLayout est le contenu principal de la page
    setContent(contentLayout);

    // Si l'utilisateur est enseignant ou tudiant
    if (userController.isEnseignant() || userController.isEtudiant()) {

        if (!applicationActive()) {
            afficherMessageMaintenance();
        } else {

            //On rcupre l'IP du client
            GenericUI.getCurrent().getIpClient();

            // Si l'utilisateur est enseignant
            if (userController.isEnseignant()) {

                //On consultera les notes en vue enseignant
                vueEnseignantNotesEtResultats = true;
                //On se rend par dfaut  la vue des favoris
                navigator.navigateTo(FavorisMobileView.NAME);
                //On affiche le message d'intro
                afficherMessageIntroEnseignants();

            } else {
                // Si l'utilisateur est tudiant
                //On consultera les notes en vue etudiant
                vueEnseignantNotesEtResultats = false;
                //On rcupre le codetu de l'tudiant
                String codetu = daoCodeLoginEtudiant.getCodEtuFromLogin(userController.getCurrentUserName());
                etudiant = new Etudiant(codetu);
                try {
                    //On rcupre l'tat-civil et les adresses de l'tudiant
                    etudiantController.recupererEtatCivil();
                    //Si on a eu une erreur  la rcupration de l'tat-civil
                    if (GenericUI.getCurrent().getEtudiant() == null) {
                        navigator.navigateTo(ErreurView.NAME);
                    } else {
                        //On rcupre le calendrier de l'tudiant
                        etudiantController.recupererCalendrierExamens();
                        //On rcupre les notes de l'tudiant
                        etudiantController.recupererNotesEtResultats(etudiant);
                        //On affiche le dossier
                        navigateToDossierEtudiant();
                    }
                } catch (WebBaseException ex) {
                    LOG.error(
                            "Probleme avec le WS lors de la recherche de l'tat-civil pour etudiant dont codetu est : "
                                    + codetu,
                            ex);
                    navigator.navigateTo(ErreurView.NAME);
                } catch (Exception ex) {
                    LOG.error("Probleme lors de la recherche de l'tat-civil pour etudiant dont codetu est : "
                            + codetu, ex);
                    navigator.navigateTo(ErreurView.NAME);
                }

            }
        }
    } else {
        //Utilisateur ni enseignant, ni tudiant, on le redirige vers la vue accs refus
        afficherMessageAccesRefuse();
    }

}

From source file:lu.uni.lassy.excalibur.examples.icrash.dev.web.java.entrypoints.AdministratorLauncher.java

License:Open Source License

@Override
protected void init(VaadinRequest request) {

    actAdmin.setActorUI(getUI());//w ww  . ja  v  a2  s  .co m
    env.setActAdministrator(actAdmin.getName(), actAdmin);

    final VerticalLayout layout = new VerticalLayout();
    layout.setMargin(true);
    setContent(layout);

    new Navigator(this, this);

    ViewProvider adminViewProvider = new ViewProvider() {

        @Override
        public String getViewName(String viewAndParameters) {
            return "";
        }

        @Override
        public View getView(String viewName) {

            if (!ctAdmin.vpIsLogged.getValue())
                return new AdminLoginView();

            else if (ctAdmin.vpIsLogged.getValue())
                return new AdminAuthView();

            // practically unreachable code
            return null;
        }
    };

    getNavigator().addProvider(adminViewProvider);
}

From source file:lu.uni.lassy.excalibur.examples.icrash.dev.web.java.entrypoints.ComCompanyLauncher.java

License:Open Source License

@Override
protected void init(VaadinRequest request) {
    new Navigator(this, this);

    ViewProvider comCompaniesViewProvider = new ViewProvider() {
        private static final long serialVersionUID = -7990230620031142257L;

        @Override//from  w  ww  .jav  a  2s . c o m
        public String getViewName(String viewAndParameters) {
            return viewAndParameters;
        }

        @Override
        public View getView(String viewName) {

            /* now, when those 2 lines are commented, it gives NullPointerException
             * when /comcompanies/* path is called and Creator was not launched before.
             * The reason - IcrashSystem.comCompanyViewNames is null (not initialized) */

            //   if (viewName.isEmpty())
            //      return new ComCompanyErrorView();

            for (int i = 0; i < (IcrashSystem.comCompanyViewNames.size()); i++) {
                if (viewName.equals(IcrashSystem.comCompanyViewNames.get(i)))
                    return new ComCompanyView(viewName);
            }

            // return new ComCompanyErrorView();
            return null;
        }
    };

    // format for views: http://localhost:8080/iCrash/comcompanies#!00
    getNavigator().addProvider(comCompaniesViewProvider);
}

From source file:lu.uni.lassy.excalibur.examples.icrash.dev.web.java.entrypoints.CoordinatorLauncher.java

License:Open Source License

@Override
protected void init(VaadinRequest request) {

    new Navigator(this, this);

    ViewProvider coordinatorsViewProvider = new ViewProvider() {
        private static final long serialVersionUID = -2918314754706507334L;

        @Override//from w  w w .  java 2 s .co  m
        public String getViewName(String viewAndParameters) {
            return viewAndParameters;
        }

        @Override
        public View getView(String viewName) {

            CtCoordinator thisCtCoord = (CtCoordinator) sys
                    .getCtCoordinator(new DtCoordinatorID(new PtString(viewName)));

            if (!thisCtCoord.vpIsLogged.getValue()) {
                log.debug(
                        "coordinatorsViewProvider: actor is logged out, so let's return CoordMobileLoginView");
                return new CoordMobileLoginView(viewName);
            }

            else {
                log.debug("coordinatorsViewProvider: actor is logged in, so let's return CoordMobileAuthView");
                return new CoordMobileAuthView(viewName);
            }
        }
    };

    getNavigator().addProvider(coordinatorsViewProvider);
}

From source file:org.mpavel.app.ApplicationUI.java

License:Apache License

@Override
public void init(VaadinRequest request) {
    logger.executionTrace();/*w w w.  java  2 s  . c  o  m*/
    HibernateUtil.getSessionFactory(); // Initialize...

    /*if (dataInjector != null)
     throw new RuntimeException("data injector already created");
            
    dataInjector = Guice.createInjector(new DataModule());
            
    ApplicationDataInitializer.insertAuthData();
            
    logger.debug("Successfully imported data ........... ");*/

    final Navigator navigator = new Navigator(this, this);
    setNavigator(navigator);

    navigator.addProvider(new ViewProvider() {
        private static final long serialVersionUID = -3308179049710571790L;

        @Override
        public String getViewName(String viewAndParameters) {
            if (viewAndParameters == null || viewAndParameters.length() == 0)
                return ApplicationView.class.getSimpleName();

            String[] parts = viewAndParameters.split("/");
            return parts[0];
        }

        @Override
        public View getView(String viewName) {
            final Injector injector = ApplicationFilter.getSecurityInjector();
            final String packageName = ApplicationView.class.getPackage().getName();
            Class<?> classType = ApplicationView.class;

            try {
                classType = Class.forName(packageName + "." + viewName);
            } catch (ClassNotFoundException e) {
            }

            return (View) injector.getInstance(classType);
        }
    });

    final String viewName = (ApplicationSecurity.isAuthenticated()) ? ApplicationView.NAME : LoginView.NAME;

    navigator.navigateTo(viewName);
}