Subversion Repositories eFlore/Applications.del

Rev

Rev 1467 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

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