Subversion Repositories eFlore/Archives.cel-v2

Rev

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

Rev 9 Rev 10
1
package org.tela_botanica.client;
1
package org.tela_botanica.client;
2
 
2
 
3
 
-
 
4
import net.mygwt.ui.client.event.BaseEvent;
-
 
5
import net.mygwt.ui.client.event.Listener;
-
 
6
import net.mygwt.ui.client.util.Observable;
3
 
7
 
4
 
8
import org.tela_botanica.client.image.ImageMediateur;
5
import org.tela_botanica.client.image.ImageMediateur;
9
import org.tela_botanica.client.interfaces.iMediateur;
6
import org.tela_botanica.client.interfaces.iMediateur;
10
import org.tela_botanica.client.interfaces.iRetourUtilisateur;
7
import org.tela_botanica.client.interfaces.iRetourUtilisateur;
11
import org.tela_botanica.client.modeles.Utilisateur;
8
import org.tela_botanica.client.modeles.Utilisateur;
12
import org.tela_botanica.client.observation.ObservationMediateur;
9
import org.tela_botanica.client.observation.ObservationMediateur;
13
 
10
 
14
 
11
 
15
public class CarnetEnLigneMediateur extends Observable implements iMediateur, Listener {
12
public class CarnetEnLigneMediateur  {
16
	
13
	
17
	// Evenenements
14
	// Evenenements
18
	final static public  int ETAT_CONNEXION=1;
15
	final static public  int ETAT_CONNEXION=1;
19
	final static public  int DECONNEXION=2;
16
	final static public  int DECONNEXION=2;
20
	final static public  int CONNEXION = 3;
17
	final static public  int CONNEXION = 3;
21
	
18
	
22
	
19
	
23
	private final CarnetEnLigneModele carnetEnLigneModele;
20
	private final CarnetEnLigneModele carnetEnLigneModele;
24
	private Utilisateur utilisateur=null; 
21
	private Utilisateur utilisateur=null; 
25
	
22
	
26
	// Fonctionnement servicecs
23
	// Fonctionnement servicecs
27
	private boolean async=true;
24
	private boolean async=true;
28
 
25
 
29
	
26
	
30
	
27
	
31
	public CarnetEnLigneMediateur() {
28
	public CarnetEnLigneMediateur() {
32
		
29
		
33
		carnetEnLigneModele=new CarnetEnLigneModele();
30
		carnetEnLigneModele=new CarnetEnLigneModele();
34
		addListener(ETAT_CONNEXION,this);
31
		//addListener(ETAT_CONNEXION,this);
35
		getEtatUtilisateur(); // Alimente Objet Utilisateur 
32
		getEtatUtilisateur(); // Alimente Objet Utilisateur 
36
		
33
		
37
	}
34
	}
38
	
35
	
39
	/**
36
	/**
40
	 * Fin construction (est appelle sur reception evenement Applicatif ETAT_CONNEXION)
37
	 * Fin construction (est appelle sur reception evenement Applicatif ETAT_CONNEXION)
41
	 *
38
	 *
42
	 */
39
	 */
43
	
40
	
44
	private void _CarnetEnLigneMediateur() {
41
	private void _CarnetEnLigneMediateur() {
45
		
42
		
46
		new ImageMediateur(this); 
43
		//new ImageMediateur(this); 
47
		new ObservationMediateur(this); 
44
		new ObservationMediateur(this); 
48
 
45
 
49
	}
46
	}
50
	
47
	
51
	
48
	
52
	private void getEtatUtilisateur() {  // Pourrait devenir publique ...
49
	private void getEtatUtilisateur() {  // Pourrait devenir publique ...
53
		
50
		
54
// TODO : utiliser une factory ici : Avec Modele synchrone ou non, ou au niveau methode comme dans cette exemple
51
// TODO : utiliser une factory ici : Avec Modele synchrone ou non, ou au niveau methode comme dans cette exemple
55
	
52
	
56
		
53
		
57
// Pas possible de traiter dans Modele car retour asynchrone devant etre traité ici.
54
// Pas possible de traiter dans Modele car retour asynchrone devant etre traité ici.
58
		
55
		
59
		// if asynchrone 
56
		// if asynchrone 
60
		
57
		
61
		if (async) {
58
		if (async) {
62
		carnetEnLigneModele.getUtilisateurAsynchroneDAO(
59
		carnetEnLigneModele.getUtilisateurAsynchroneDAO(
63
				new iRetourUtilisateur() {
60
				new iRetourUtilisateur() {
64
					public void onRetour(Utilisateur uti) {
61
					public void onRetour(Utilisateur uti) {
65
						utilisateur=uti;
62
						utilisateur=uti;
66
						fireEvent(ETAT_CONNEXION); 
63
					//	fireEvent(ETAT_CONNEXION); 
67
					}
64
					}
68
 
65
 
69
					
66
					
70
				}
67
				}
71
				
68
				
72
		);
69
		);
73
		
70
		
74
		}
71
		}
75
		// else if synchrone 
72
		// else if synchrone 
76
		else {
73
		else {
77
 
74
 
78
		utilisateur= carnetEnLigneModele.getUtilisateurSynchroneDAO();
75
		utilisateur= carnetEnLigneModele.getUtilisateurSynchroneDAO();
79
		_CarnetEnLigneMediateur();
76
		_CarnetEnLigneMediateur();
80
 
77
 
81
		}
78
		}
82
 
79
 
83
		
80
		
84
 
81
 
85
		
82
		
86
	}
83
	}
87
 
84
 
88
 
85
 
89
	// Evenenements Applicatifs
86
	// Evenenements Applicatifs
90
	
87
	/*
91
	public void handleEvent(BaseEvent be) {
88
	public void handleEvent(BaseEvent be) {
92
		if (be.type==CarnetEnLigneMediateur.ETAT_CONNEXION) {
89
		if (be.type==CarnetEnLigneMediateur.ETAT_CONNEXION) {
93
		 _CarnetEnLigneMediateur(); // Fin initialisation 
90
		 _CarnetEnLigneMediateur(); // Fin initialisation 
94
		}
91
		}
95
	}
92
	}
96
	
93
	*/
97
	
94
	
98
	// Methode publiques
95
	// Methode publiques
99
	
96
	
100
	/**
97
	/**
101
	 * Recherche Identifiant utilisateur en cours et etat de connection
98
	 * Recherche Identifiant utilisateur en cours et etat de connection
102
	 * @return Utilisateur
99
	 * @return Utilisateur
103
	 */
100
	 */
104
	
101
	
105
	
102
	
106
	public Utilisateur getUtilisateur() {
103
	public Utilisateur getUtilisateur() {
107
		return utilisateur;
104
		return utilisateur;
108
	}
105
	}
109
 
106
 
110
	/**
107
	/**
111
	 * Deconnecte l'utilisateur passe en parametre
108
	 * Deconnecte l'utilisateur passe en parametre
112
	 * @param String uti (utilisateur connecte)
109
	 * @param String uti (utilisateur connecte)
113
	 */
110
	 */
114
	
111
	
115
	
112
	
116
    public void deconnecterUtilisateur() {
113
    public void deconnecterUtilisateur() {
117
 
114
 
118
			
115
			
119
			carnetEnLigneModele.deconnecterUtilisateur(
116
			carnetEnLigneModele.deconnecterUtilisateur(
120
					new iRetourUtilisateur() {
117
					new iRetourUtilisateur() {
121
						public void onRetour(Utilisateur uti) {
118
						public void onRetour(Utilisateur uti) {
122
							utilisateur=uti;
119
							utilisateur=uti;
123
							fireEvent(DECONNEXION); 
120
							//fireEvent(DECONNEXION); 
124
						}
121
						}
125
 
122
 
126
						
123
						
127
					}, utilisateur.getIdentifiant()
124
					}, utilisateur.getIdentifiant()
128
					
125
					
129
			);
126
			);
130
 
127
 
131
		
128
		
132
		
129
		
133
	}
130
	}
134
 
131
 
135
	public void connecterUtilisateur(String login, String password) {
132
	public void connecterUtilisateur(String login, String password) {
136
	
133
	
137
		carnetEnLigneModele.connecterUtilisateur(
134
		carnetEnLigneModele.connecterUtilisateur(
138
				new iRetourUtilisateur() {
135
				new iRetourUtilisateur() {
139
					public void onRetour(Utilisateur uti) {
136
					public void onRetour(Utilisateur uti) {
140
						utilisateur=uti;
137
						utilisateur=uti;
141
						fireEvent(CONNEXION); 
138
						//fireEvent(CONNEXION); 
142
					}
139
					}
143
 
140
 
144
					
141
					
145
				}, login, password 
142
				}, login, password 
146
				
143
				
147
		);
144
		);
148
 
145
 
149
		
146
		
150
	}
147
	}
151
 
148
 
152
 
149
 
153
}
150
}
154
 
151