Subversion Repositories eFlore/Archives.cel-v2

Rev

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

Rev 8 Rev 9
1
package org.tela_botanica.client.observation;
1
package org.tela_botanica.client.observation;
2
 
2
 
3
 
3
 
4
 
-
 
5
import net.mygwt.ui.client.event.BaseEvent;
-
 
6
import net.mygwt.ui.client.event.Listener;
-
 
7
import net.mygwt.ui.client.util.Observable;
4
 
8
 
5
 
9
import org.tela_botanica.client.CarnetEnLigneMediateur;
6
import org.tela_botanica.client.CarnetEnLigneMediateur;
10
import org.tela_botanica.client.interfaces.iMediateur;
7
import org.tela_botanica.client.interfaces.iMediateur;
11
import org.tela_botanica.client.interfaces.iRetourObservation;
8
import org.tela_botanica.client.interfaces.iRetourObservation;
12
import org.tela_botanica.client.modeles.Observation;
9
import org.tela_botanica.client.modeles.Observation;
13
 
10
 
14
import com.google.gwt.user.client.Window;
11
import com.google.gwt.user.client.Window;
15
import com.google.gwt.user.client.ui.RootPanel;
12
import com.google.gwt.user.client.ui.RootPanel;
16
import com.google.gwt.user.client.ui.VerticalPanel;
13
import com.google.gwt.user.client.ui.VerticalPanel;
17
 
14
 
18
public class ObservationMediateur extends Observable implements iMediateur, Listener {
15
public class ObservationMediateur implements iMediateur{
19
 
16
 
20
 
17
 
21
	// Evenenements
18
	// Evenenements
22
	final static public  int NOMBRE_OBSERVATION=1;
19
	final static public  int NOMBRE_OBSERVATION=1;
23
 
20
 
24
	final static public  int LISTE_OBSERVATION=2;
21
	final static public  int LISTE_OBSERVATION=2;
25
	
22
	
26
	
23
	
27
	private CarnetEnLigneMediateur carnetEnLigneMediateur=null;  // Mediateur General
24
	private CarnetEnLigneMediateur carnetEnLigneMediateur=null;  // Mediateur General
28
	private final ObservationModele observationModele=new ObservationModele();
25
	private final ObservationModele observationModele=new ObservationModele();
29
 
26
 
30
	private Observation observation=null; 
27
	private Observation observation=null; 
31
 
28
 
32
	// Variable interne 
29
	// Variable interne 
33
	private final String texteDeconnexion="Utilisez ce carnet en ligne pour saisir vos observations, <u>identifiez-vous</u> pour les transmettre à Tela Botanica"; 
30
	private final String texteDeconnexion="Utilisez ce carnet en ligne pour saisir vos observations, <u>identifiez-vous</u> pour les transmettre à Tela Botanica"; 
34
 
31
 
35
	// Composants graphiques
32
	// Composants graphiques
36
	
33
	
37
	private EtatConnexionVue etatConnexionVue=null; // Vue Etat de la connexion utilisateur
34
	private EtatConnexionVue etatConnexionVue=null; // Vue Etat de la connexion utilisateur
38
	private FormulaireDeConnexionVue formulaireDeConnexionVue=null; // Formulaire de connexion utilisateur
35
	private FormulaireDeConnexionVue formulaireDeConnexionVue=null; // Formulaire de connexion utilisateur
39
	private ListeObservationsVue listeObservationsVue = null;  // Liste de releves
36
	private ListeObservationsVue listeObservationsVue = null;  // Liste de releves
40
 
37
 
41
    // 
38
    // 
42
		
39
		
43
	
40
	
44
	public ObservationMediateur(CarnetEnLigneMediateur carnetEnLigneMediateur) {
41
	public ObservationMediateur(CarnetEnLigneMediateur carnetEnLigneMediateur) {
45
		
42
		
46
 
43
 
47
		this.carnetEnLigneMediateur=carnetEnLigneMediateur;
44
		this.carnetEnLigneMediateur=carnetEnLigneMediateur;
48
		
45
		
49
		etatConnexionVue=new EtatConnexionVue(this);
46
		etatConnexionVue=new EtatConnexionVue(this);
50
		listeObservationsVue=new ListeObservationsVue(this);
47
		listeObservationsVue=new ListeObservationsVue(this);
51
		
48
		
52
		VerticalPanel panel=new VerticalPanel();
49
		VerticalPanel panel=new VerticalPanel();
53
		
50
		
54
		panel.add(etatConnexionVue);
51
		panel.add(etatConnexionVue);
55
	
52
	
56
		panel.add(listeObservationsVue);
53
		panel.add(listeObservationsVue);
57
	
54
	
58
 
55
 
59
		RootPanel.get().add(panel);
56
		RootPanel.get().add(panel);
60
		
57
		
61
		onInitialisation();
58
		onInitialisation();
62
		
59
		
63
	}
60
	}
64
 
61
 
65
	
62
	
66
	/// Methodes privees 
63
	/// Methodes privees 
67
 
64
 
68
	/**
65
	/**
69
	 * 
66
	 * 
70
	 * Initialisations
67
	 * Initialisations
71
	 * 
68
	 * 
72
	 */
69
	 */
73
	
70
	
74
	private void onInitialisation() {
71
	private void onInitialisation() {
75
	
72
	
76
	
73
	
77
		afficheEtatConnexion();
74
		afficheEtatConnexion();
78
		onFiltrageListeObservation("all","all","all");
75
		onFiltrageListeObservation("all","all","all");
79
		
76
		
80
	
77
	
81
	}
78
	}
82
	
79
	
83
	// Filtre  selection lieu
80
	// Filtre  selection lieu
84
	
81
	
85
	/**
82
	/**
86
	 * Action sur selection d'un lieu : affichage de la liste des taxons correspondants au filtrage
83
	 * Action sur selection d'un lieu : affichage de la liste des taxons correspondants au filtrage
87
	 */
84
	 */
88
	
85
	
89
	public void onFiltrageListeObservation(String id_loc, String loc,String lieu) {
86
	public void onFiltrageListeObservation(String id_loc, String loc,String lieu) {
90
 
87
 
91
		// Positionnement Filtre affichage
88
		// Positionnement Filtre affichage
92
		listeObservationsVue.setIdLocation(id_loc);
89
		listeObservationsVue.setIdLocation(id_loc);
93
		listeObservationsVue.setLocalite(loc);
90
		listeObservationsVue.setLocalite(loc);
94
		listeObservationsVue.setLieudit(lieu);
91
		listeObservationsVue.setLieudit(lieu);
95
		listeObservationsVue.initialiser();
92
		listeObservationsVue.initialiser();
96
 
93
 
97
		// Affichage des filtres
94
		// Affichage des filtres
98
		listeObservationsVue.displayFilter();
95
		listeObservationsVue.displayFilter();
99
 
96
 
100
		
97
		
101
	}
98
	}
102
	
99
	
103
 
100
 
104
 
101
 
105
 
102
 
106
	
103
	
107
	/// UTILISATEUR
104
	/// UTILISATEUR
108
 
105
 
109
	
106
	
110
	/**
107
	/**
111
	 *  Affichage etat de la connexion
108
	 *  Affichage etat de la connexion
112
	 */
109
	 */
113
	
110
	
114
	
111
	
115
	private void afficheEtatConnexion() {
112
	private void afficheEtatConnexion() {
116
		 if (!carnetEnLigneMediateur.getUtilisateur().isIdentifie()) {
113
		 if (!carnetEnLigneMediateur.getUtilisateur().isIdentifie()) {
117
			    etatConnexionVue.setEtat(texteDeconnexion,false);
114
			    etatConnexionVue.setEtat(texteDeconnexion,false);
118
		 }
115
		 }
119
		 else {
116
		 else {
120
		    etatConnexionVue.setEtat(carnetEnLigneMediateur.getUtilisateur().getIdentifiant()+ " (deconnexion)",true);
117
		    etatConnexionVue.setEtat(carnetEnLigneMediateur.getUtilisateur().getIdentifiant()+ " (deconnexion)",true);
121
		 }
118
		 }
122
		
119
		
123
	}
120
	}
124
 
121
 
125
	
122
	
126
	/**
123
	/**
127
	 * 
124
	 * 
128
	 * Affichage boite de connexion
125
	 * Affichage boite de connexion
129
	 *
126
	 *
130
	 */
127
	 */
131
	
128
	
132
	public void afficherDialogueConnexion() {
129
	public void afficherDialogueConnexion() {
133
		
130
		
134
		  // TODO : singleton ? 
131
		  // TODO : singleton ? 
135
		  formulaireDeConnexionVue = new FormulaireDeConnexionVue(this);
132
		  formulaireDeConnexionVue = new FormulaireDeConnexionVue(this);
136
 
133
 
137
		  // Position it roughly in the middle of the screen.
134
		  // Position it roughly in the middle of the screen.
138
		  int left = (Window.getClientWidth() - 512) / 2;
135
		  int left = (Window.getClientWidth() - 512) / 2;
139
		  int top = (Window.getClientHeight() - 256) / 2;
136
		  int top = (Window.getClientHeight() - 256) / 2;
140
		  formulaireDeConnexionVue.setPopupPosition(left, top);
137
		  formulaireDeConnexionVue.setPopupPosition(left, top);
141
		  formulaireDeConnexionVue.show();
138
		  formulaireDeConnexionVue.show();
142
		
139
		
143
	}
140
	}
144
 
141
 
145
	
142
	
146
	/**
143
	/**
147
	 * Deconnexion de l'utilisateur en cours 
144
	 * Deconnexion de l'utilisateur en cours 
148
	 */
145
	 */
149
	
146
	
150
	public void deconnecterUtilisateur() {
147
	public void deconnecterUtilisateur() {
151
		
148
		
152
		carnetEnLigneMediateur.addListener(CarnetEnLigneMediateur.DECONNEXION,this);
149
	//	carnetEnLigneMediateur.addListener(CarnetEnLigneMediateur.DECONNEXION,this);
153
		carnetEnLigneMediateur.deconnecterUtilisateur();
150
		carnetEnLigneMediateur.deconnecterUtilisateur();
154
	
151
	
155
	}
152
	}
156
 
153
 
157
 
154
 
158
	/**
155
	/**
159
	 * Tentative de connexion utilisateur
156
	 * Tentative de connexion utilisateur
160
	 * @param login
157
	 * @param login
161
	 * @param password
158
	 * @param password
162
	 */
159
	 */
163
	
160
	
164
	
161
	
165
	public void connecterUtilisateur(String login, String password) {
162
	public void connecterUtilisateur(String login, String password) {
166
		
163
		
167
		carnetEnLigneMediateur.addListener(CarnetEnLigneMediateur.CONNEXION,this);
164
	//	carnetEnLigneMediateur.addListener(CarnetEnLigneMediateur.CONNEXION,this);
168
		carnetEnLigneMediateur.connecterUtilisateur(login, password);
165
		carnetEnLigneMediateur.connecterUtilisateur(login, password);
169
 
166
 
170
	}
167
	}
171
 
168
 
172
 
169
 
173
 
170
 
174
	/// OBSERVATION
171
	/// OBSERVATION
175
	
172
	
176
	/**
173
	/**
177
	 * Recherche nombre d'enregistrement pour l'utilisateur et la localite en cours
174
	 * Recherche nombre d'enregistrement pour l'utilisateur et la localite en cours
178
	 * 
175
	 * 
179
	 */
176
	 */
180
	
177
	
181
	
178
	
182
	public void getNombreObservation (String identifiantLocalite, String localite, String annee,  String mois,  String jour, String lieudit, String rechercheLibre ) {
179
	public void getNombreObservation (String identifiantLocalite, String localite, String annee,  String mois,  String jour, String lieudit, String rechercheLibre ) {
183
		
180
		
184
 
181
 
185
		observationModele.getNombreObservation(
182
		observationModele.getNombreObservation(
186
				new iRetourObservation() {
183
				new iRetourObservation() {
187
					public void onRetour(Observation obs) {
184
					public void onRetour(Observation obs) {
188
						observation=obs;
185
						observation=obs;
189
						fireEvent(NOMBRE_OBSERVATION); 
186
						//fireEvent(NOMBRE_OBSERVATION); 
190
					}
187
					}
191
 
188
 
192
					
189
					
193
				}, carnetEnLigneMediateur.getUtilisateur().getIdentifiant(), identifiantLocalite, localite , annee, mois, jour, lieudit ,rechercheLibre
190
				}, carnetEnLigneMediateur.getUtilisateur().getIdentifiant(), identifiantLocalite, localite , annee, mois, jour, lieudit ,rechercheLibre
194
				
191
				
195
		);
192
		);
196
		
193
		
197
		
194
		
198
		  
195
		  
199
	}
196
	}
200
 
197
 
201
	 public void getListeObservation (String identifiantLocalite, String localite, String annee, String mois, String jour, String lieudit, String rechercheLibre, int debut, int longueur) {
198
	 public void getListeObservation (String identifiantLocalite, String localite, String annee, String mois, String jour, String lieudit, String rechercheLibre, int debut, int longueur) {
202
 
199
 
203
			
200
			
204
			observationModele.getListeObservation(
201
			observationModele.getListeObservation(
205
					new iRetourObservation() {
202
					new iRetourObservation() {
206
						public void onRetour(Observation obs) {
203
						public void onRetour(Observation obs) {
207
							observation=obs;
204
							observation=obs;
208
							fireEvent(LISTE_OBSERVATION); 
205
							//fireEvent(LISTE_OBSERVATION); 
209
						}
206
						}
210
 
207
 
211
						
208
						
212
					}, carnetEnLigneMediateur.getUtilisateur().getIdentifiant(), identifiantLocalite, localite , annee, mois, jour, lieudit ,rechercheLibre, debut, longueur
209
					}, carnetEnLigneMediateur.getUtilisateur().getIdentifiant(), identifiantLocalite, localite , annee, mois, jour, lieudit ,rechercheLibre, debut, longueur
213
					
210
					
214
			);
211
			);
215
 
212
 
216
	}
213
	}
217
 
214
 
218
 
215
 
219
			
216
			
220
	 public Observation getObservation() {
217
	 public Observation getObservation() {
221
			return observation;
218
			return observation;
222
	}
219
	}
223
 
220
 
224
 
221
 
225
	
222
	
226
 
223
 
227
	/// EVENEMENTS 
224
	/// EVENEMENTS 
228
	
225
	
229
/**
226
/**
230
 * Evenements
227
 * Evenements
231
 * 
228
 * 
232
 */	
229
 */	
233
	
230
	/*
234
	public void handleEvent(BaseEvent be) {
231
	public void handleEvent(BaseEvent be) {
235
		switch (be.type) {
232
		switch (be.type) {
236
			case CarnetEnLigneMediateur.DECONNEXION:
233
			case CarnetEnLigneMediateur.DECONNEXION:
237
				afficheEtatConnexion();
234
				afficheEtatConnexion();
238
				break;
235
				break;
239
			case CarnetEnLigneMediateur.CONNEXION:
236
			case CarnetEnLigneMediateur.CONNEXION:
240
				if (carnetEnLigneMediateur.getUtilisateur().isIdentifie()) {
237
				if (carnetEnLigneMediateur.getUtilisateur().isIdentifie()) {
241
					formulaireDeConnexionVue.hide(); 
238
					formulaireDeConnexionVue.hide(); 
242
					afficheEtatConnexion();
239
					afficheEtatConnexion();
243
				}
240
				}
244
				else {
241
				else {
245
					formulaireDeConnexionVue.afficherMessageAlerte(); // Erreur identification
242
					formulaireDeConnexionVue.afficherMessageAlerte(); // Erreur identification
246
				}
243
				}
247
				break;
244
				break;
248
		}
245
		}
249
	}
246
	}
250
 
247
 
251
 
248
*/
252
 
249
 
253
 
250
 
254
 
251
 
255
 
252
 
256
 
253
 
257
			
254
			
258
 
255
 
259
}
256
}