List of usage examples for com.vaadin.shared.ui.ui Transport LONG_POLLING
Transport LONG_POLLING
To view the source code for com.vaadin.shared.ui.ui Transport LONG_POLLING.
Click Source Link
From source file:com.haulmont.cuba.web.sys.CubaUIProvider.java
License:Apache License
@Override public Transport getPushTransport(UICreateEvent event) { WebConfig webConfig = configuration.getConfig(WebConfig.class); if (webConfig.getUsePushLongPolling()) { return Transport.LONG_POLLING; }/*from w w w .ja v a2 s .c o m*/ return super.getPushTransport(event); }
From source file:fr.univlorraine.mondossierweb.MainUI.java
License:Apache License
/** * @see com.vaadin.ui.UI#init(com.vaadin.server.VaadinRequest) *//*from w ww. j a v a 2 s . c o 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); } }