Subversion Repositories eFlore/Applications.del

Rev

Rev 1467 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
21 aurelien 1
package org.tela_botanica.del.client.gestionhistorique;
2
 
1092 gduche 3
import org.tela_botanica.del.client.cache.CacheClient;
1549 jpm 4
import org.tela_botanica.del.client.config.Config;
347 aurelien 5
import org.tela_botanica.del.client.services.rest.ImageServiceConcret;
392 aurelien 6
import org.tela_botanica.del.client.services.rest.ObservationServiceConcret;
959 benjamin 7
import org.tela_botanica.del.client.services.rest.ProtocoleServiceConcret;
73 benjamin 8
import org.tela_botanica.del.client.vues.comparaisoneflore.ComparaisonEflorePresenteur;
285 benjamin 9
import org.tela_botanica.del.client.vues.comparaisoneflore.ComparaisonEfloreVue;
1206 gduche 10
import org.tela_botanica.del.client.vues.entete.EntetePresenteur;
11
import org.tela_botanica.del.client.vues.entete.EnteteVue;
1196 gduche 12
import org.tela_botanica.del.client.vues.identiplante.moteur.MoteurIdentiplantePresenteur;
13
import org.tela_botanica.del.client.vues.identiplante.moteur.MoteurIdentiplanteVue;
14
import org.tela_botanica.del.client.vues.identiplante.plateformedetermination.IdentiplanteDeterminationPresenteur;
15
import org.tela_botanica.del.client.vues.identiplante.plateformedetermination.IdentiplanteDeterminationVue;
16
import org.tela_botanica.del.client.vues.pictoflora.moteur.MoteurPictofloraPresenteur;
17
import org.tela_botanica.del.client.vues.pictoflora.moteur.MoteurPictofloraVue;
18
import org.tela_botanica.del.client.vues.pictoflora.plateformedetermination.PictofloraDeterminationPresenteur;
19
import org.tela_botanica.del.client.vues.pictoflora.plateformedetermination.PictofloraDeterminationVue;
21 aurelien 20
 
1549 jpm 21
import com.google.gwt.core.shared.GWT;
21 aurelien 22
import com.google.gwt.event.logical.shared.ValueChangeEvent;
23
import com.google.gwt.event.logical.shared.ValueChangeHandler;
1549 jpm 24
import com.google.gwt.user.client.Window;
1188 gduche 25
import com.google.gwt.user.client.ui.HTML;
1183 gduche 26
import com.google.gwt.user.client.ui.Panel;
21 aurelien 27
import com.google.gwt.user.client.ui.RootPanel;
28
 
29
/**
30
 * @author Benjamin
25 gduche 31
 *
21 aurelien 32
 */
25 gduche 33
public class GestionnaireHistorique implements ValueChangeHandler<String> {
21 aurelien 34
 
25 gduche 35
	/**
36
	 * Évènement lorsque l'historique change. L'action par défaut affiche la
37
	 * page d'accueil.
38
	 * */
39
	public void onValueChange(ValueChangeEvent<String> event) {
1196 gduche 40
		//1. définition des variables
1183 gduche 41
		String eventValue = event.getValue();
1549 jpm 42
		GWT.log("Historique -> eventValue:"+eventValue);
1183 gduche 43
		Panel contenu = RootPanel.get("contenu");
1549 jpm 44
		Panel zoneEntete = RootPanel.get("zoneEnteteContenu");
1183 gduche 45
		CacheClient cache = CacheClient.getInstance();
1206 gduche 46
		cache.setPageCourante(eventValue);
1183 gduche 47
 
48
		//2. nettoyer le contenu
49
		contenu.clear();
1206 gduche 50
		zoneEntete.clear();
1183 gduche 51
 
1206 gduche 52
		//3. gérer l'entete
1549 jpm 53
		EntetePresenteur entetePresenteur = new EntetePresenteur(new EnteteVue());
1206 gduche 54
		entetePresenteur.go(zoneEntete);
1467 aurelien 55
 
1549 jpm 56
		//Actions en fonction de la valeur de l'évènement et de l'url
57
		String urlCourante = Window.Location.getHref();
58
		Config config = new Config();
59
		String urlAppliObs = config.getUrl("identiplante");
60
		String urlAppliImg = config.getUrl("pictoflora");
61
 
62
		if (urlCourante.contains(urlAppliImg)) {
63
			if (eventValue.startsWith(ConstantesNavigation.PAGE_DETAIL_IMG)) {
64
				PictofloraDeterminationPresenteur presenteur = new PictofloraDeterminationPresenteur(
65
						new PictofloraDeterminationVue(),
66
						new ObservationServiceConcret(),
67
						new ProtocoleServiceConcret()
68
				);
69
				presenteur.go(contenu);
70
			} else {
1183 gduche 71
				lancerMoteurRechercheImages(contenu);
1549 jpm 72
			}
73
		} else if (urlCourante.contains(urlAppliObs)) {
74
			if (eventValue.startsWith(ConstantesNavigation.PAGE_DETAIL_OBS)) {
75
				IdentiplanteDeterminationPresenteur presenteur = new IdentiplanteDeterminationPresenteur(
76
					new IdentiplanteDeterminationVue(),
77
					new ObservationServiceConcret()
78
				);
79
				presenteur.go(contenu);
80
			} else if (eventValue.startsWith(ConstantesNavigation.PAGE_COMPARAISON_EFLORE)) {
81
				ComparaisonEflorePresenteur presenteur = new ComparaisonEflorePresenteur(
82
					new ComparaisonEfloreVue(),
83
					new ImageServiceConcret()
84
				);
85
				presenteur.go(contenu);
1092 gduche 86
			} else {
1183 gduche 87
				lancerMoteurRechercheObservation(contenu);
1092 gduche 88
			}
1549 jpm 89
		} else {
1183 gduche 90
			lancerMoteurRechercheObservation(contenu);
1035 benjamin 91
		}
1549 jpm 92
 
93
		// Mise à jour de l'url courante (re-écriture)
1467 aurelien 94
		CacheClient.getInstance().mettreAjourUrlCourante();
25 gduche 95
	}
1183 gduche 96
 
97
	/**
98
	 * Générer la page de recherche observation et l'afficher dans panneau
99
	 * @param Panel panneau le panneau pour afficher le résultat
100
	 * */
101
	public void lancerMoteurRechercheObservation(Panel panneau) {
1196 gduche 102
		MoteurIdentiplantePresenteur presenteur = new MoteurIdentiplantePresenteur(new ObservationServiceConcret(), new MoteurIdentiplanteVue());
1183 gduche 103
		presenteur.go(panneau);
104
	}
105
 
106
	/**
107
	 * Générer la page de recherche images et l'afficher dans panneau
108
	 * @param Panel panneau le panneau pour afficher le résultat
109
	 * */
110
	public void lancerMoteurRechercheImages(Panel panneau) {
1196 gduche 111
		MoteurPictofloraPresenteur presenteur = new MoteurPictofloraPresenteur(new MoteurPictofloraVue(), new ProtocoleServiceConcret());
1183 gduche 112
		presenteur.go(panneau);
113
	}
21 aurelien 114
}