Rev 1549 | Blame | Compare with Previous | Last modification | View Log | RSS feed
package org.tela_botanica.del.client.gestionhistorique;import org.tela_botanica.del.client.cache.CacheClient;import org.tela_botanica.del.client.config.Config;import org.tela_botanica.del.client.services.rest.ImageServiceConcret;import org.tela_botanica.del.client.services.rest.ObservationServiceConcret;import org.tela_botanica.del.client.services.rest.ProtocoleServiceConcret;import org.tela_botanica.del.client.vues.comparaisoneflore.ComparaisonEflorePresenteur;import org.tela_botanica.del.client.vues.comparaisoneflore.ComparaisonEfloreVue;import org.tela_botanica.del.client.vues.entete.EntetePresenteur;import org.tela_botanica.del.client.vues.entete.EnteteVue;import org.tela_botanica.del.client.vues.identiplante.moteur.MoteurIdentiplantePresenteur;import org.tela_botanica.del.client.vues.identiplante.moteur.MoteurIdentiplanteVue;import org.tela_botanica.del.client.vues.identiplante.plateformedetermination.IdentiplanteDeterminationPresenteur;import org.tela_botanica.del.client.vues.identiplante.plateformedetermination.IdentiplanteDeterminationVue;import org.tela_botanica.del.client.vues.pictoflora.moteur.MoteurPictofloraPresenteur;import org.tela_botanica.del.client.vues.pictoflora.moteur.MoteurPictofloraVue;import org.tela_botanica.del.client.vues.pictoflora.plateformedetermination.PictofloraDeterminationPresenteur;import org.tela_botanica.del.client.vues.pictoflora.plateformedetermination.PictofloraDeterminationVue;import com.google.gwt.core.shared.GWT;import com.google.gwt.event.logical.shared.ValueChangeEvent;import com.google.gwt.event.logical.shared.ValueChangeHandler;import com.google.gwt.user.client.Window;import com.google.gwt.user.client.ui.HTML;import com.google.gwt.user.client.ui.Panel;import com.google.gwt.user.client.ui.RootPanel;/*** @author Benjamin**/public class GestionnaireHistorique implements ValueChangeHandler<String> {/*** Évènement lorsque l'historique change. L'action par défaut affiche la* page d'accueil.* */public void onValueChange(ValueChangeEvent<String> event) {//1. définition des variablesString eventValue = event.getValue();GWT.log("Historique -> eventValue:"+eventValue);Panel contenu = RootPanel.get("contenu");Panel zoneEntete = RootPanel.get("zoneEnteteContenu");CacheClient cache = CacheClient.getInstance();cache.setPageCourante(eventValue);//2. nettoyer le contenucontenu.clear();zoneEntete.clear();//3. gérer l'enteteEntetePresenteur entetePresenteur = new EntetePresenteur(new EnteteVue());entetePresenteur.go(zoneEntete);//Actions en fonction de la valeur de l'évènement et de l'urlString urlCourante = Window.Location.getHref();Config config = new Config();String urlAppliObs = config.getUrl("identiplante");String urlAppliImg = config.getUrl("pictoflora");if (urlCourante.contains(urlAppliImg)) {if (eventValue.startsWith(ConstantesNavigation.PAGE_DETAIL_IMG)) {PictofloraDeterminationPresenteur presenteur = new PictofloraDeterminationPresenteur(new PictofloraDeterminationVue(),new ObservationServiceConcret(),new ProtocoleServiceConcret());presenteur.go(contenu);} else {lancerMoteurRechercheImages(contenu);}} else if (urlCourante.contains(urlAppliObs)) {if (eventValue.startsWith(ConstantesNavigation.PAGE_DETAIL_OBS)) {IdentiplanteDeterminationPresenteur presenteur = new IdentiplanteDeterminationPresenteur(new IdentiplanteDeterminationVue(),new ObservationServiceConcret());presenteur.go(contenu);} else if (eventValue.startsWith(ConstantesNavigation.PAGE_COMPARAISON_EFLORE)) {ComparaisonEflorePresenteur presenteur = new ComparaisonEflorePresenteur(new ComparaisonEfloreVue(),new ImageServiceConcret());presenteur.go(contenu);} else {lancerMoteurRechercheObservation(contenu);}} else {lancerMoteurRechercheObservation(contenu);}// Mise à jour de l'url courante (re-écriture)CacheClient.getInstance().mettreAjourUrlCourante();}/*** Générer la page de recherche observation et l'afficher dans panneau* @param Panel panneau le panneau pour afficher le résultat* */public void lancerMoteurRechercheObservation(Panel panneau) {MoteurIdentiplantePresenteur presenteur = new MoteurIdentiplantePresenteur(new ObservationServiceConcret(), new MoteurIdentiplanteVue());presenteur.go(panneau);}/*** Générer la page de recherche images et l'afficher dans panneau* @param Panel panneau le panneau pour afficher le résultat* */public void lancerMoteurRechercheImages(Panel panneau) {MoteurPictofloraPresenteur presenteur = new MoteurPictofloraPresenteur(new MoteurPictofloraVue(), new ProtocoleServiceConcret());presenteur.go(panneau);}}