List of usage examples for com.vaadin.navigator ViewProvider ViewProvider
ViewProvider
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); }