Subversion Repositories eFlore/Applications.del

Rev

Rev 1091 | Rev 1188 | Go to most recent revision | 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.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.plateformedetermination.DeterminationPresenteur;
import org.tela_botanica.del.client.vues.plateformedetermination.DeterminationVue;
import org.tela_botanica.del.client.vues.rechercheimages.moteur.MoteurRechercheImagePresenteur;
import org.tela_botanica.del.client.vues.rechercheimages.moteur.MoteurRechercheImageVue;
import org.tela_botanica.del.client.vues.rechercheobservations.moteur.MoteurRechercheObservationsPresenteur;
import org.tela_botanica.del.client.vues.rechercheobservations.moteur.MoteurRechercheObservationsVue;
import org.tela_botanica.del.client.vues.vueinitiale.PresenteurInitial;

import com.google.gwt.event.logical.shared.ValueChangeEvent;
import com.google.gwt.event.logical.shared.ValueChangeHandler;
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) {

                RootPanel.get("navigation").clear();
                new PresenteurInitial().go(RootPanel.get("navigation"));

                if (event.getValue().equals(ConstantesNavigation.PAGE_RECHERCHE_IMAGES)) {
                        CacheClient.getInstance().setHome(ConstantesNavigation.PAGE_RECHERCHE_IMAGES);
                        RootPanel.get("contenu").clear();
                        new MoteurRechercheImagePresenteur(new MoteurRechercheImageVue(), new ProtocoleServiceConcret()).go(RootPanel.get("contenu"));
                } else if (event.getValue().contains(ConstantesNavigation.PAGE_VALIDATION)) {
                        RootPanel.get("contenu").clear();
                        new DeterminationPresenteur(new DeterminationVue(), new ObservationServiceConcret(), new ProtocoleServiceConcret()).go(RootPanel.get("contenu"));
                } else if (event.getValue().equals(ConstantesNavigation.PAGE_COMPARAISON_EFLORE)) {
                        RootPanel.get("contenu").clear();
                        new ComparaisonEflorePresenteur(new ComparaisonEfloreVue(), new ImageServiceConcret()).go(RootPanel.get("contenu"));
                } else if (event.getValue().equals(ConstantesNavigation.PAGE_RECHERCHE_OBSERVATIONS)) {
                        CacheClient.getInstance().setHome(ConstantesNavigation.PAGE_RECHERCHE_OBSERVATIONS);
                        RootPanel.get("contenu").clear();
                        MoteurRechercheObservationsPresenteur presenteur = new MoteurRechercheObservationsPresenteur(new ObservationServiceConcret(), new MoteurRechercheObservationsVue());
                        presenteur.go(RootPanel.get("contenu"));
                } else if (event.getValue().equals(ConstantesNavigation.HOME)) {
                        String home = CacheClient.getInstance().getHome();
                        if (home.equals(ConstantesNavigation.PAGE_RECHERCHE_IMAGES)) {
                                RootPanel.get("contenu").clear();
                                new MoteurRechercheImagePresenteur(new MoteurRechercheImageVue(), new ProtocoleServiceConcret()).go(RootPanel.get("contenu"));
                        } else {
                                RootPanel.get("contenu").clear();
                                MoteurRechercheObservationsPresenteur presenteur = new MoteurRechercheObservationsPresenteur(new ObservationServiceConcret(), new MoteurRechercheObservationsVue());
                                presenteur.go(RootPanel.get("contenu"));
                        }
                }
                else{
                        RootPanel.get("contenu").clear();
                        MoteurRechercheObservationsPresenteur presenteur = new MoteurRechercheObservationsPresenteur(new ObservationServiceConcret(), new MoteurRechercheObservationsVue());
                        presenteur.go(RootPanel.get("contenu"));
                }
        }
}