Subversion Repositories eFlore/Applications.del

Rev

Rev 1934 | Rev 2050 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1934 Rev 1969
1
package org.tela_botanica.del.client.vues.identiplante.resultats;
1
package org.tela_botanica.del.client.vues.identiplante.resultats;
2
 
2
 
3
import java.util.List;
3
import java.util.List;
4
 
4
 
5
import org.tela_botanica.del.client.cache.CacheClient;
5
import org.tela_botanica.del.client.cache.CacheClient;
6
import org.tela_botanica.del.client.composants.pagination.PaginationPresenteur;
6
import org.tela_botanica.del.client.composants.pagination.PaginationPresenteur;
7
import org.tela_botanica.del.client.composants.pagination.PaginationVue;
7
import org.tela_botanica.del.client.composants.pagination.PaginationVue;
8
import org.tela_botanica.del.client.composants.presenteur.Presenteur;
8
import org.tela_botanica.del.client.composants.presenteur.Presenteur;
9
import org.tela_botanica.del.client.modeles.Image;
9
import org.tela_botanica.del.client.modeles.Image;
10
import org.tela_botanica.del.client.modeles.InformationsRecherche;
10
import org.tela_botanica.del.client.modeles.InformationsRecherche;
11
import org.tela_botanica.del.client.modeles.ModeTri;
11
import org.tela_botanica.del.client.modeles.ModeTri;
12
import org.tela_botanica.del.client.modeles.Observation;
12
import org.tela_botanica.del.client.modeles.Observation;
13
import org.tela_botanica.del.client.modeles.ObservationServiceResultat;
13
import org.tela_botanica.del.client.modeles.ObservationServiceResultat;
14
import org.tela_botanica.del.client.services.rest.ObservationService;
14
import org.tela_botanica.del.client.services.rest.ObservationService;
15
import org.tela_botanica.del.client.services.rest.async.ObservationsCallback;
15
import org.tela_botanica.del.client.services.rest.async.ObservationsCallback;
16
import org.tela_botanica.del.client.vues.identiplante.resultats.observations.ObservationPresenteur;
16
import org.tela_botanica.del.client.vues.identiplante.resultats.observations.ObservationPresenteur;
17
import org.tela_botanica.del.client.vues.identiplante.resultats.observations.ObservationVue;
17
import org.tela_botanica.del.client.vues.identiplante.resultats.observations.ObservationVue;
18
 
18
 
19
import com.google.gwt.event.dom.client.ClickEvent;
19
import com.google.gwt.event.dom.client.ClickEvent;
20
import com.google.gwt.event.dom.client.ClickHandler;
20
import com.google.gwt.event.dom.client.ClickHandler;
21
import com.google.gwt.event.dom.client.HasClickHandlers;
21
import com.google.gwt.event.dom.client.HasClickHandlers;
22
import com.google.gwt.user.client.Window;
22
import com.google.gwt.user.client.Window;
23
import com.google.gwt.user.client.ui.HasWidgets;
23
import com.google.gwt.user.client.ui.HasWidgets;
24
import com.google.gwt.user.client.ui.IsWidget;
24
import com.google.gwt.user.client.ui.IsWidget;
25
import com.google.gwt.user.client.ui.Label;
25
import com.google.gwt.user.client.ui.Label;
26
 
26
 
27
public class ResultatsIdentiplantePresenteur extends Presenteur {
27
public class ResultatsIdentiplantePresenteur extends Presenteur {
28
 
28
 
29
	/**
29
	/**
30
	 * Interface vue : création des composants graphiques
30
	 * Interface vue : création des composants graphiques
31
	 * */
31
	 * */
32
	public abstract interface Vue extends IsWidget {
32
	public abstract interface Vue extends IsWidget {
33
		public HasWidgets getZoneObservations();
33
		public HasWidgets getZoneObservations();
34
 
34
 
35
		public HasWidgets getZonePaginationHaut();
35
		public HasWidgets getZonePaginationHaut();
36
 
36
 
37
		public HasWidgets getZonePaginationBas();
37
		public HasWidgets getZonePaginationBas();
38
 
38
 
39
		public void startChargement();
39
		public void startChargement();
40
 
40
 
41
		public void stopChargement();
41
		public void stopChargement();
42
 
42
 
43
		public void nettoyer();
43
		public void nettoyer();
44
 
44
 
45
		public HasClickHandlers getTriParDateObservationAscendant();
45
		public HasClickHandlers getTriParDateObservationAscendant();
46
 
46
 
47
		public HasClickHandlers getTriParDateObservationDescendant();
47
		public HasClickHandlers getTriParDateObservationDescendant();
48
		
48
		
49
		public HasClickHandlers getTriParDatePublicationAscendant();
49
		public HasClickHandlers getTriParDatePublicationAscendant();
50
 
50
 
51
		public HasClickHandlers getTriParDatePublicationDescendant();
51
		public HasClickHandlers getTriParDatePublicationDescendant();
52
		
52
		
53
		public HasClickHandlers getTriParNbCommentairesAscendant();
53
		public HasClickHandlers getTriParNbCommentairesAscendant();
54
 
54
 
55
		public HasClickHandlers getTriParNbCommentairesDescendant();
55
		public HasClickHandlers getTriParNbCommentairesDescendant();
56
 
56
 
57
		public void afficherElementsAucunResultatTrouve();
57
		public void afficherElementsAucunResultatTrouve();
58
 
58
 
59
		public void afficherElementsResultatsTrouves();
59
		public void afficherElementsResultatsTrouves();
60
 
60
 
61
		public HasClickHandlers getLabelDateObservation();
61
		public HasClickHandlers getLabelDateObservation();
62
		
62
		
63
		public HasClickHandlers getLabelDatePublication();
63
		public HasClickHandlers getLabelDatePublication();
64
		
64
		
65
		public HasClickHandlers getLabelNbCommentaires();
65
		public HasClickHandlers getLabelNbCommentaires();
66
 
66
 
67
		void setModeTriPublication(ModeTri mode);
67
		void setModeTriPublication(ModeTri mode);
68
 
68
 
69
		void setModeTriObservation(ModeTri mode);
69
		void setModeTriObservation(ModeTri mode);
70
 
70
 
71
		void setModeTriNbCommentaires(ModeTri mode);
71
		void setModeTriNbCommentaires(ModeTri mode);
72
	}
72
	}
73
 
73
 
74
	private Vue vue;
74
	private Vue vue;
75
	private ObservationService serviceObs;
75
	private ObservationService serviceObs;
76
	private ModeTri triCourantDatePublication = ModeTri.TRI_DESCENDANT;
76
	private ModeTri triCourantDatePublication = ModeTri.TRI_DESCENDANT;
77
	private ModeTri triCourantDateObservation = ModeTri.PAS_DE_TRI;
77
	private ModeTri triCourantDateObservation = ModeTri.PAS_DE_TRI;
78
	private ModeTri triCourantNbCommentaires = ModeTri.PAS_DE_TRI;
78
	private ModeTri triCourantNbCommentaires = ModeTri.PAS_DE_TRI;
79
	private CacheClient cache = CacheClient.getInstance();
79
	private CacheClient cache = CacheClient.getInstance();
80
	private String statut;
80
	private String statut;
81
 
81
 
82
	/**
82
	/**
83
	 * Constructeur de la classe
83
	 * Constructeur de la classe
84
	 * 
84
	 * 
85
	 * @param ObservationService
85
	 * @param ObservationService
86
	 *            serviceObs le service pour récupérer les observations
86
	 *            serviceObs le service pour récupérer les observations
87
	 * @Vue Vue l'objet implémentant l'interface
87
	 * @Vue Vue l'objet implémentant l'interface
88
	 * */
88
	 * */
89
	public ResultatsIdentiplantePresenteur(ObservationService serviceObs, Vue vue) {
89
	public ResultatsIdentiplantePresenteur(ObservationService serviceObs, Vue vue) {
90
		String statut = CacheClient.getInstance().getFiltreStatut();
90
		String statut = CacheClient.getInstance().getFiltreStatut();
91
		this.vue = vue;
91
		this.vue = vue;
92
		InformationsRecherche infos = CacheClient.getInstance().getInformationsRechercheObservation();
92
		InformationsRecherche infos = CacheClient.getInstance().getInformationsRechercheObservation();
93
		
93
		
94
		if (infos.getTriParDatePublication() != ModeTri.PAS_DE_TRI) {
94
		if (infos.getTriParDatePublication() != ModeTri.PAS_DE_TRI) {
95
			triCourantDatePublication = infos.getTriParDatePublication();
95
			triCourantDatePublication = infos.getTriParDatePublication();
96
			vue.setModeTriPublication(triCourantDatePublication);
96
			vue.setModeTriPublication(triCourantDatePublication);
97
		}
97
		}
98
		
98
		
99
		if (infos.getTriParDateObservation() != ModeTri.PAS_DE_TRI) {
99
		if (infos.getTriParDateObservation() != ModeTri.PAS_DE_TRI) {
100
			triCourantDateObservation = infos.getTriParDateObservation();
100
			triCourantDateObservation = infos.getTriParDateObservation();
101
			vue.setModeTriObservation(triCourantDatePublication);
101
			vue.setModeTriObservation(triCourantDatePublication);
102
		}
102
		}
103
			
103
			
104
		if (infos.getTriParNbCommentaires() != ModeTri.PAS_DE_TRI) {
104
		if (infos.getTriParNbCommentaires() != ModeTri.PAS_DE_TRI) {
105
			triCourantNbCommentaires = infos.getTriParNbCommentaires();
105
			triCourantNbCommentaires = infos.getTriParNbCommentaires();
106
			vue.setModeTriNbCommentaires(triCourantNbCommentaires);
106
			vue.setModeTriNbCommentaires(triCourantNbCommentaires);
107
		}
107
		}
108
		
108
		
109
		this.serviceObs = serviceObs;
109
		this.serviceObs = serviceObs;
110
		this.statut = statut;
110
		this.statut = statut;
111
	}
111
	}
112
 
112
 
113
	/**
113
	/**
114
	 * Lancer l'affichage de la recherche dans le composant passé en paramètre
114
	 * Lancer l'affichage de la recherche dans le composant passé en paramètre
115
	 * 
115
	 * 
116
	 * @param HasWidgets composite le conteneur de widgets dans lequel ajouter la vue
116
	 * @param HasWidgets composite le conteneur de widgets dans lequel ajouter la vue
117
	 * */
117
	 * */
118
	public void go(HasWidgets composite) {
118
	public void go(HasWidgets composite) {
119
		composite.add(vue.asWidget());
119
		composite.add(vue.asWidget());
120
		lancerRechercheEtCreerWidgetPagination();
120
		lancerRechercheEtCreerWidgetPagination();
121
		gererEvenements();
121
		gererEvenements();
122
	}
122
	}
123
 
123
 
124
	/**
124
	/**
125
	 * Initier un callback pour créer le widget de pagination et afficher les
125
	 * Initier un callback pour créer le widget de pagination et afficher les
126
	 * observations recues et lancer la recherche avec le service
126
	 * observations recues et lancer la recherche avec le service
127
	 * */
127
	 * */
128
	public void lancerRechercheEtCreerWidgetPagination() {
128
	public void lancerRechercheEtCreerWidgetPagination() {
129
 
129
 
130
		int debut = (cache.getPageCouranteRechercheObservations() - 1) * cache.getPasPagination();
130
		int debut = (cache.getPageCouranteRechercheObservations() - 1) * cache.getPasPagination();
131
		int fin = cache.getPageCouranteRechercheObservations() * cache.getPasPagination();
131
		int fin = cache.getPageCouranteRechercheObservations() * cache.getPasPagination();
132
 
132
 
133
		ObservationsCallback callback = new ObservationsCallback() {
133
		ObservationsCallback callback = new ObservationsCallback() {
134
 
134
 
135
			@Override
135
			@Override
136
			public void surRetour(ObservationServiceResultat observationsRecues) {
136
			public void surRetour(ObservationServiceResultat observationsRecues) {
137
				creerWidgetPagination(observationsRecues.getNbTotalObservationsPourLaRecherche());
137
				creerWidgetPagination(observationsRecues.getNbTotalObservationsPourLaRecherche());
138
				afficherObservations(observationsRecues);
138
				afficherObservations(observationsRecues);
139
 
139
 
140
			}
140
			}
141
 
141
 
142
			@Override
142
			@Override
143
			public void surErreur(String messageErreur) {
143
			public void surErreur(String messageErreur) {
144
				Window.alert(messageErreur);
144
				Window.alert(messageErreur);
145
 
145
 
146
			}
146
			}
147
		};
147
		};
148
 
148
 
149
		serviceObs.getObservations(cache.getInformationsRechercheObservation(), debut, fin, statut, callback);
149
		serviceObs.getObservations(cache.getInformationsRechercheObservation(), debut, fin, statut, callback);
150
	}
150
	}
151
 
151
 
152
	/**
152
	/**
153
	 * Créer les widgets de pagination en fonction du nombre d'observation
153
	 * Créer les widgets de pagination en fonction du nombre d'observation
154
	 * 
154
	 * 
155
	 * @param int nbObservations le nombre d'observations à afficher
155
	 * @param int nbObservations le nombre d'observations à afficher
156
	 * */
156
	 * */
157
	private void creerWidgetPagination(int nbObservations) {
157
	private void creerWidgetPagination(int nbObservations) {
158
		vue.getZonePaginationHaut().clear();
158
		vue.getZonePaginationHaut().clear();
159
		PaginationPresenteur paginationPresenteurHaut = creerPresenteurPagination(nbObservations);
159
		PaginationPresenteur paginationPresenteurHaut = creerPresenteurPagination(nbObservations);
160
		paginationPresenteurHaut.setGroupePagination("pagination_observations");
160
		paginationPresenteurHaut.setGroupePagination("pagination_observations");
161
		paginationPresenteurHaut.go(vue.getZonePaginationHaut());
161
		paginationPresenteurHaut.go(vue.getZonePaginationHaut());
162
 
162
 
163
		vue.getZonePaginationBas().clear();
163
		vue.getZonePaginationBas().clear();
164
		PaginationPresenteur paginationPresenteurBas = creerPresenteurPagination(nbObservations);
164
		PaginationPresenteur paginationPresenteurBas = creerPresenteurPagination(nbObservations);
165
		paginationPresenteurBas.setGroupePagination("pagination_observations");
165
		paginationPresenteurBas.setGroupePagination("pagination_observations");
166
		paginationPresenteurBas.go(vue.getZonePaginationBas());
166
		paginationPresenteurBas.go(vue.getZonePaginationBas());
167
	}
167
	}
168
 
168
 
169
	/**
169
	/**
170
	 * Créer un présenteur du widget pagination
170
	 * Créer un présenteur du widget pagination
171
	 * 
171
	 * 
172
	 * @param int nbObservations le nombre total d'observation à afficher
172
	 * @param int nbObservations le nombre total d'observation à afficher
173
	 * */
173
	 * */
174
	private PaginationPresenteur creerPresenteurPagination(int nbObservations) {
174
	private PaginationPresenteur creerPresenteurPagination(int nbObservations) {
175
		PaginationPresenteur presenteur = new PaginationPresenteur(new PaginationVue(), nbObservations, cache.getPasPagination(), cache.getPageCouranteRechercheObservations()) {
175
		PaginationPresenteur presenteur = new PaginationPresenteur(new PaginationVue(), nbObservations, cache.getPasPagination(), cache.getPageCouranteRechercheObservations()) {
176
 
176
 
177
			@Override
177
			@Override
178
			public void chargerElements(int debut, int fin) {
178
			public void chargerElements(int debut, int fin) {
179
				chargerEtAfficherObservations(debut, fin);
179
				chargerEtAfficherObservations(debut, fin);
180
				cache.setPageCouranteRechercheObservations(getPageCourante());
180
				cache.setPageCouranteRechercheObservations(getPageCourante());
181
			}
181
			}
182
 
182
 
183
			@Override
183
			@Override
184
			public void actualiserPasCache(int pas) {
184
			public void actualiserPasCache(int pas) {
185
				cache.setPasPagination(pas);
185
				cache.setPasPagination(pas);
186
			}
186
			}
187
 
187
 
188
		};
188
		};
189
		return presenteur;
189
		return presenteur;
190
	}
190
	}
191
 
191
 
192
	/**
192
	/**
193
	 * Gestion des évènements de la vue recherche Observation
193
	 * Gestion des évènements de la vue recherche Observation
194
	 * */
194
	 * */
195
	protected void gererEvenements() {
195
	protected void gererEvenements() {
196
 
196
 
197
		ClickHandler surClicDateObservation = new ClickHandler() {
197
		ClickHandler surClicDateObservation = new ClickHandler() {
198
			/**
198
			/**
199
			 * Gestion du clic sur l'option de tri par date d'observation Masque
199
			 * Gestion du clic sur l'option de tri par date d'observation Masque
200
			 * les éléments de tri qui sont en cours et affiche les autres
200
			 * les éléments de tri qui sont en cours et affiche les autres
201
			 * */
201
			 * */
202
			public void onClick(ClickEvent event) {
202
			public void onClick(ClickEvent event) {
203
				toggleModeTriObservation();
203
				toggleModeTriObservation();
204
 
204
 
205
				InformationsRecherche informationsRechercheObservations = cache.getInformationsRechercheObservation();
205
				InformationsRecherche informationsRechercheObservations = cache.getInformationsRechercheObservation();
206
				informationsRechercheObservations.setTriParDatePublication(ModeTri.PAS_DE_TRI);
206
				informationsRechercheObservations.setTriParDatePublication(ModeTri.PAS_DE_TRI);
207
				informationsRechercheObservations.setTriParNbCommentaires(ModeTri.PAS_DE_TRI);
207
				informationsRechercheObservations.setTriParNbCommentaires(ModeTri.PAS_DE_TRI);
208
				informationsRechercheObservations.setTriParDateObservation(triCourantDateObservation);
208
				informationsRechercheObservations.setTriParDateObservation(triCourantDateObservation);
209
				chercherEtAfficherObservationsPageEnCours();
209
				chercherEtAfficherObservationsPageEnCours();
210
			}
210
			}
211
		};
211
		};
212
		
212
		
213
		ClickHandler surClicDatePublication = new ClickHandler() {
213
		ClickHandler surClicDatePublication = new ClickHandler() {
214
			/**
214
			/**
215
			 * Gestion du clic sur l'option de tri par date d'observation Masque
215
			 * Gestion du clic sur l'option de tri par date d'observation Masque
216
			 * les éléments de tri qui sont en cours et affiche les autres
216
			 * les éléments de tri qui sont en cours et affiche les autres
217
			 * */
217
			 * */
218
			public void onClick(ClickEvent event) {
218
			public void onClick(ClickEvent event) {
219
				toggleModeTriPublication();
219
				toggleModeTriPublication();
220
 
220
 
221
				InformationsRecherche informationsRechercheObservations = cache.getInformationsRechercheObservation();
221
				InformationsRecherche informationsRechercheObservations = cache.getInformationsRechercheObservation();
222
				informationsRechercheObservations.setTriParDateObservation(ModeTri.PAS_DE_TRI);
222
				informationsRechercheObservations.setTriParDateObservation(ModeTri.PAS_DE_TRI);
223
				informationsRechercheObservations.setTriParNbCommentaires(ModeTri.PAS_DE_TRI);
223
				informationsRechercheObservations.setTriParNbCommentaires(ModeTri.PAS_DE_TRI);
224
				informationsRechercheObservations.setTriParDatePublication(triCourantDatePublication);
224
				informationsRechercheObservations.setTriParDatePublication(triCourantDatePublication);
225
 
225
 
226
				chercherEtAfficherObservationsPageEnCours();
226
				chercherEtAfficherObservationsPageEnCours();
227
			}
227
			}
228
		};
228
		};
229
		
229
		
230
		ClickHandler surClicNbCommentaires = new ClickHandler() {
230
		ClickHandler surClicNbCommentaires = new ClickHandler() {
231
			/**
231
			/**
232
			 * Même comportement qu'au dessus mais pour le tri par nb de commentaires
232
			 * Même comportement qu'au dessus mais pour le tri par nb de commentaires
233
			 */
233
			 */
234
			public void onClick(ClickEvent event) {
234
			public void onClick(ClickEvent event) {
235
				toggleModeTriNbCommentaires();
235
				toggleModeTriNbCommentaires();
236
 
236
 
237
				InformationsRecherche informationsRechercheObservations = cache.getInformationsRechercheObservation();
237
				InformationsRecherche informationsRechercheObservations = cache.getInformationsRechercheObservation();
238
				informationsRechercheObservations.setTriParDateObservation(ModeTri.PAS_DE_TRI);
238
				informationsRechercheObservations.setTriParDateObservation(ModeTri.PAS_DE_TRI);
239
				informationsRechercheObservations.setTriParDatePublication(ModeTri.PAS_DE_TRI);
239
				informationsRechercheObservations.setTriParDatePublication(ModeTri.PAS_DE_TRI);
240
				informationsRechercheObservations.setTriParNbCommentaires(triCourantNbCommentaires);
240
				informationsRechercheObservations.setTriParNbCommentaires(triCourantNbCommentaires);
241
				chercherEtAfficherObservationsPageEnCours();
241
				chercherEtAfficherObservationsPageEnCours();
242
			}
242
			}
243
		};
243
		};
244
 
244
 
245
		vue.getLabelDateObservation().addClickHandler(surClicDateObservation);
245
		vue.getLabelDateObservation().addClickHandler(surClicDateObservation);
246
		vue.getTriParDateObservationAscendant().addClickHandler(surClicDateObservation);
246
		vue.getTriParDateObservationAscendant().addClickHandler(surClicDateObservation);
247
		vue.getTriParDateObservationDescendant().addClickHandler(surClicDateObservation);
247
		vue.getTriParDateObservationDescendant().addClickHandler(surClicDateObservation);
248
		
248
		
249
		vue.getLabelDatePublication().addClickHandler(surClicDatePublication);
249
		vue.getLabelDatePublication().addClickHandler(surClicDatePublication);
250
		vue.getTriParDatePublicationAscendant().addClickHandler(surClicDatePublication);
250
		vue.getTriParDatePublicationAscendant().addClickHandler(surClicDatePublication);
251
		vue.getTriParDatePublicationDescendant().addClickHandler(surClicDatePublication);
251
		vue.getTriParDatePublicationDescendant().addClickHandler(surClicDatePublication);
252
		
252
		
253
		vue.getLabelNbCommentaires().addClickHandler(surClicNbCommentaires);
253
		vue.getLabelNbCommentaires().addClickHandler(surClicNbCommentaires);
254
		vue.getTriParNbCommentairesAscendant().addClickHandler(surClicNbCommentaires);
254
		vue.getTriParNbCommentairesAscendant().addClickHandler(surClicNbCommentaires);
255
		vue.getTriParNbCommentairesDescendant().addClickHandler(surClicNbCommentaires);
255
		vue.getTriParNbCommentairesDescendant().addClickHandler(surClicNbCommentaires);
256
	}
256
	}
257
 
257
 
258
	/**
258
	/**
259
	 * Inverser le mode de tri en fonction du précédent
259
	 * Inverser le mode de tri en fonction du précédent
260
	 * */
260
	 * */
261
	public void toggleModeTriPublication() {
261
	public void toggleModeTriPublication() {
262
		if (triCourantDatePublication == ModeTri.TRI_ASCENDANT) {
262
		if (triCourantDatePublication == ModeTri.TRI_ASCENDANT) {
263
			triCourantDatePublication = ModeTri.TRI_DESCENDANT;
263
			triCourantDatePublication = ModeTri.TRI_DESCENDANT;
264
		} else {
264
		} else if(triCourantDatePublication == ModeTri.TRI_DESCENDANT) {
265
			triCourantDatePublication = ModeTri.TRI_ASCENDANT;
265
			triCourantDatePublication = ModeTri.TRI_ASCENDANT;
-
 
266
		} else {
-
 
267
			triCourantDatePublication = ModeTri.TRI_DESCENDANT;
266
		}
268
		}
267
		
269
		
268
		triCourantDateObservation = ModeTri.PAS_DE_TRI;
270
		triCourantDateObservation = ModeTri.PAS_DE_TRI;
269
		triCourantNbCommentaires = ModeTri.PAS_DE_TRI;
271
		triCourantNbCommentaires = ModeTri.PAS_DE_TRI;
270
 
272
 
271
		vue.setModeTriPublication(triCourantDatePublication);
273
		vue.setModeTriPublication(triCourantDatePublication);
272
	}
274
	}
273
	
275
	
274
	/**
276
	/**
275
	 * Inverser le mode de tri en fonction du précédent
277
	 * Inverser le mode de tri en fonction du précédent
276
	 * */
278
	 * */
277
	public void toggleModeTriObservation() {
279
	public void toggleModeTriObservation() {
278
		if (triCourantDateObservation == ModeTri.TRI_ASCENDANT) {
280
		if (triCourantDateObservation == ModeTri.TRI_ASCENDANT) {
279
			triCourantDateObservation = ModeTri.TRI_DESCENDANT;
281
			triCourantDateObservation = ModeTri.TRI_DESCENDANT;
280
		} else {
282
		} else if(triCourantDateObservation == ModeTri.TRI_DESCENDANT) {
281
			triCourantDateObservation = ModeTri.TRI_ASCENDANT;
283
			triCourantDateObservation = ModeTri.TRI_ASCENDANT;
-
 
284
		} else {
-
 
285
			triCourantDateObservation = ModeTri.TRI_DESCENDANT;
282
		}
286
		}
283
		
287
		
284
		triCourantDatePublication = ModeTri.PAS_DE_TRI;
288
		triCourantDatePublication = ModeTri.PAS_DE_TRI;
285
		triCourantNbCommentaires = ModeTri.PAS_DE_TRI;
289
		triCourantNbCommentaires = ModeTri.PAS_DE_TRI;
286
 
290
 
287
		vue.setModeTriObservation(triCourantDateObservation);
291
		vue.setModeTriObservation(triCourantDateObservation);
288
	}
292
	}
289
	
293
	
290
	/**
294
	/**
291
	 * Inverser le mode de tri en fonction du précédent
295
	 * Inverser le mode de tri en fonction du précédent
292
	 * */
296
	 * */
293
	public void toggleModeTriNbCommentaires() {
297
	public void toggleModeTriNbCommentaires() {
294
		if (triCourantNbCommentaires == ModeTri.TRI_ASCENDANT) {
298
		if (triCourantNbCommentaires == ModeTri.TRI_ASCENDANT) {
295
			triCourantNbCommentaires = ModeTri.TRI_DESCENDANT;
299
			triCourantNbCommentaires = ModeTri.TRI_DESCENDANT;
296
		} else {
300
		} else if(triCourantNbCommentaires == ModeTri.TRI_DESCENDANT) {
297
			triCourantNbCommentaires = ModeTri.TRI_ASCENDANT;
301
			triCourantNbCommentaires = ModeTri.TRI_ASCENDANT;
-
 
302
		} else {
-
 
303
			triCourantNbCommentaires = ModeTri.TRI_DESCENDANT;
298
		}
304
		}
299
		
-
 
300
		System.out.println(triCourantNbCommentaires);
-
 
301
		
305
		
302
		triCourantDateObservation = ModeTri.PAS_DE_TRI;
306
		triCourantDateObservation = ModeTri.PAS_DE_TRI;
303
		triCourantDatePublication = ModeTri.PAS_DE_TRI;
307
		triCourantDatePublication = ModeTri.PAS_DE_TRI;
304
 
308
 
305
		vue.setModeTriNbCommentaires(triCourantNbCommentaires);
309
		vue.setModeTriNbCommentaires(triCourantNbCommentaires);
306
	}
310
	}
307
 
311
 
308
	/**
312
	/**
309
	 * Initialiser les variable de début et fin et lancer le chargement des
313
	 * Initialiser les variable de début et fin et lancer le chargement des
310
	 * observations
314
	 * observations
311
	 * */
315
	 * */
312
	public void chercherEtAfficherObservationsPageEnCours() {
316
	public void chercherEtAfficherObservationsPageEnCours() {
313
		int debut = (cache.getPageCouranteRechercheObservations() - 1) * cache.getPasPagination();
317
		int debut = (cache.getPageCouranteRechercheObservations() - 1) * cache.getPasPagination();
314
		int fin = (cache.getPageCouranteRechercheObservations()) * cache.getPasPagination();
318
		int fin = (cache.getPageCouranteRechercheObservations()) * cache.getPasPagination();
315
		chargerEtAfficherObservations(debut, fin);
319
		chargerEtAfficherObservations(debut, fin);
316
	}
320
	}
317
 
321
 
318
	/**
322
	/**
319
	 * Lancer le service pour charger les observations entre debut et fin et les
323
	 * Lancer le service pour charger les observations entre debut et fin et les
320
	 * afficher
324
	 * afficher
321
	 * 
325
	 * 
322
	 * @param int debut l'entier de départ de la requete
326
	 * @param int debut l'entier de départ de la requete
323
	 * @param int fin l'entier de limite de la requete
327
	 * @param int fin l'entier de limite de la requete
324
	 * */
328
	 * */
325
	public void chargerEtAfficherObservations(int debut, int fin) {
329
	public void chargerEtAfficherObservations(int debut, int fin) {
326
		vue.startChargement();
330
		vue.startChargement();
327
		vue.nettoyer();
331
		vue.nettoyer();
328
 
332
 
329
		ObservationsCallback surReceptionObservation = new ObservationsCallback() {
333
		ObservationsCallback surReceptionObservation = new ObservationsCallback() {
330
 
334
 
331
			@Override
335
			@Override
332
			public void surRetour(ObservationServiceResultat observationsRecues) {
336
			public void surRetour(ObservationServiceResultat observationsRecues) {
333
				afficherObservations(observationsRecues);
337
				afficherObservations(observationsRecues);
334
 
338
 
335
			}
339
			}
336
 
340
 
337
			@Override
341
			@Override
338
			public void surErreur(String messageErreur) {
342
			public void surErreur(String messageErreur) {
339
				Window.alert(messageErreur);
343
				Window.alert(messageErreur);
340
 
344
 
341
			}
345
			}
342
		};
346
		};
343
		serviceObs.getObservations(cache.getInformationsRechercheObservation(), debut, fin, statut, surReceptionObservation);
347
		serviceObs.getObservations(cache.getInformationsRechercheObservation(), debut, fin, statut, surReceptionObservation);
344
	}
348
	}
345
 
349
 
346
	/**
350
	/**
347
	 * Parcrourir les résultats de la recherche pour initier l'affichage de
351
	 * Parcrourir les résultats de la recherche pour initier l'affichage de
348
	 * chaque observation
352
	 * chaque observation
349
	 * 
353
	 * 
350
	 * @param ObservationServiceResultat
354
	 * @param ObservationServiceResultat
351
	 *            resultats les résultats issus de la requête
355
	 *            resultats les résultats issus de la requête
352
	 * */
356
	 * */
353
	private void afficherObservations(ObservationServiceResultat resultats) {
357
	private void afficherObservations(ObservationServiceResultat resultats) {
354
		vue.nettoyer();
358
		vue.nettoyer();
355
 
359
 
356
		if (resultats.getObservations() == null || resultats.getObservations().size() == 0) {
360
		if (resultats.getObservations() == null || resultats.getObservations().size() == 0) {
357
			vue.afficherElementsAucunResultatTrouve();
361
			vue.afficherElementsAucunResultatTrouve();
358
		} else {
362
		} else {
359
			vue.afficherElementsResultatsTrouves();
363
			vue.afficherElementsResultatsTrouves();
360
			for (Observation observation : resultats.getObservations()) {
364
			for (Observation observation : resultats.getObservations()) {
361
				List<Image> listeImagesObs = observation.getImages();
365
				List<Image> listeImagesObs = observation.getImages();
362
				Image imagePrincipale = null;
366
				Image imagePrincipale = null;
363
				if(listeImagesObs != null && listeImagesObs.size() > 0) {
367
				if(listeImagesObs != null && listeImagesObs.size() > 0) {
364
					imagePrincipale = listeImagesObs.get(0);
368
					imagePrincipale = listeImagesObs.get(0);
365
				}
369
				}
366
				ObservationPresenteur presenteur = new ObservationPresenteur(new ObservationVue(), observation, imagePrincipale);
370
				ObservationPresenteur presenteur = new ObservationPresenteur(new ObservationVue(), observation, imagePrincipale);
367
				presenteur.go(vue.getZoneObservations());
371
				presenteur.go(vue.getZoneObservations());
368
			}
372
			}
369
		}
373
		}
370
		CacheClient.getInstance().mettreAjourUrlCourante();
374
		CacheClient.getInstance().mettreAjourUrlCourante();
371
		vue.stopChargement();
375
		vue.stopChargement();
372
	}
376
	}
373
}
377
}