Subversion Repositories eFlore/Applications.coel

Rev

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

Rev 1513 Rev 1732
1
package org.tela_botanica.client.modeles;
1
package org.tela_botanica.client.modeles;
2
 
2
 
3
import org.tela_botanica.client.RegistreId;
3
import org.tela_botanica.client.RegistreId;
4
import org.tela_botanica.client.http.JsonRestRequestBuilder;
4
import org.tela_botanica.client.http.JsonRestRequestBuilder;
5
import org.tela_botanica.client.http.JsonRestRequestCallback;
5
import org.tela_botanica.client.http.JsonRestRequestCallback;
6
import org.tela_botanica.client.interfaces.Rafraichissable;
6
import org.tela_botanica.client.interfaces.Rafraichissable;
7
import org.tela_botanica.client.util.Debug;
-
 
8
import org.tela_botanica.client.util.UtilDAO;
7
import org.tela_botanica.client.util.UtilDAO;
9
 
8
 
10
import com.extjs.gxt.ui.client.Registry;
9
import com.extjs.gxt.ui.client.Registry;
11
import com.extjs.gxt.ui.client.widget.Info;
-
 
12
import com.google.gwt.core.client.GWT;
10
import com.google.gwt.core.client.GWT;
13
import com.google.gwt.http.client.Request;
-
 
14
import com.google.gwt.http.client.RequestBuilder;
-
 
15
import com.google.gwt.http.client.RequestCallback;
-
 
16
import com.google.gwt.http.client.RequestException;
-
 
17
import com.google.gwt.http.client.Response;
-
 
18
import com.google.gwt.json.client.JSONArray;
11
import com.google.gwt.json.client.JSONArray;
19
import com.google.gwt.json.client.JSONBoolean;
12
import com.google.gwt.json.client.JSONBoolean;
20
import com.google.gwt.json.client.JSONObject;
-
 
21
import com.google.gwt.json.client.JSONParser;
-
 
22
import com.google.gwt.json.client.JSONString;
13
import com.google.gwt.json.client.JSONString;
23
import com.google.gwt.json.client.JSONValue;
14
import com.google.gwt.json.client.JSONValue;
24
import com.google.gwt.user.client.Window;
-
 
25
 
15
 
26
/**
16
/**
27
 * Modele DAO, specifique, permettant la validation, l'acces aux donnees distantes et la présentation des donnees en retour
17
 * Modele DAO, specifique, permettant la validation, l'acces aux donnees distantes et la présentation des donnees en retour
28
 * 
18
 * 
29
 */
19
 */
30
public class UtilisateurAsyncDao {
20
public class UtilisateurAsyncDao {
31
	private static final String SERVICE_NOM = "CoelUtilisateur";
21
	private static final String SERVICE_NOM = "CoelUtilisateur";
32
	
22
	
33
	private Utilisateur utilisateur = null;
23
	private Utilisateur utilisateur = null;
34
	private Rafraichissable vueARafraichir = null;
24
	private Rafraichissable vueARafraichir = null;
35
	
25
	
36
	/**
26
	/**
37
	 * Constructeur
27
	 * Constructeur
38
	 * @param retour : méthode appellée en retour d'appel. 
28
	 * @param retour : méthode appellée en retour d'appel. 
39
	 */
29
	 */
40
	public UtilisateurAsyncDao(Rafraichissable vueARafraichirCourrante) {
30
	public UtilisateurAsyncDao(Rafraichissable vueARafraichirCourrante) {
41
		vueARafraichir = vueARafraichirCourrante;
31
		vueARafraichir = vueARafraichirCourrante;
42
		utilisateur = (Utilisateur) Registry.get(RegistreId.UTILISATEUR_COURANT);
32
		utilisateur = (Utilisateur) Registry.get(RegistreId.UTILISATEUR_COURANT);
43
	}
33
	}
44
		
34
		
45
	/**
35
	/**
46
	 * Méthode de classe d'appel du service des gestion d'identification. 
36
	 * Méthode de classe d'appel du service des gestion d'identification. 
47
	 */
37
	 */
48
	public void getEtatUtilisateur() {
38
	public void getEtatUtilisateur() {
49
		final JsonRestRequestBuilder rb = UtilDAO.construireRequete(SERVICE_NOM);
39
		final JsonRestRequestBuilder rb = UtilDAO.construireRequete(SERVICE_NOM);
50
		rb.envoyerRequete(null, new JsonRestRequestCallback() {
40
		rb.envoyerRequete(null, new JsonRestRequestCallback() {
51
			@Override
41
			@Override
52
			public void surReponse(JSONValue responseValue) {
42
			public void surReponse(JSONValue responseValue) {
53
				if (responseValue.isArray() != null) {
43
				if (responseValue.isArray() != null) {
54
					final JSONArray reponse = responseValue.isArray();
44
					final JSONArray reponse = responseValue.isArray();
55
					// Identifiant utilisateur ou identifiant de session si non identifié
45
					// Identifiant utilisateur ou identifiant de session si non identifié
56
					String login = ((JSONString) reponse.get(2)).stringValue();
46
					String login = ((JSONString) reponse.get(2)).stringValue();
57
					// Drapeau leve si utilisateur deja identifié
47
					// Drapeau leve si utilisateur deja identifié
58
					boolean identifie = ((JSONBoolean) reponse.get(3)).booleanValue();
48
					boolean identifie = ((JSONBoolean) reponse.get(3)).booleanValue();
59
					utilisateur.setIdentification(identifie);
49
					utilisateur.setIdentification(identifie);
60
					utilisateur.setLogin(login);
50
					utilisateur.setLogin(login);
61
					vueARafraichir.rafraichir(utilisateur);
51
					vueARafraichir.rafraichir(utilisateur);
62
				}
52
				}
63
			}
53
			}
64
		});
54
		});
65
	}
55
	}
66
 
56
 
67
	/**
57
	/**
68
	 * Méthode déconnectant un utilisateur de l'application. 
58
	 * Méthode déconnectant un utilisateur de l'application. 
69
	 * @param identifiant de l'utilisateur à déconnecter.
59
	 * @param identifiant de l'utilisateur à déconnecter.
70
	 */
60
	 */
71
	public void deconnecterUtilisateur() {
61
	public void deconnecterUtilisateur() {
72
		String[] parametres = {utilisateur.getId()};
62
		String[] parametres = {utilisateur.getId()};
73
		
63
		
74
		final JsonRestRequestBuilder rb = UtilDAO.construireRequete(SERVICE_NOM, parametres);
64
		final JsonRestRequestBuilder rb = UtilDAO.construireRequete(SERVICE_NOM, parametres);
75
		rb.envoyerRequete(null, new JsonRestRequestCallback() {
65
		rb.envoyerRequete(null, new JsonRestRequestCallback() {
76
			@Override
66
			@Override
77
			public void surReponse(JSONValue responseValue) {
67
			public void surReponse(JSONValue responseValue) {
78
				if (responseValue.isArray() != null) {
68
				if (responseValue.isArray() != null) {
79
					final JSONArray reponse = responseValue.isArray();
69
					final JSONArray reponse = responseValue.isArray();
80
					// Identifiant utilisateur ou identifiant de session si non identifié
70
					// Identifiant utilisateur ou identifiant de session si non identifié
81
					String id = ((JSONString) reponse.get(1)).stringValue();
71
					String id = ((JSONString) reponse.get(1)).stringValue();
82
					// Drapeau levé si l'utilisateur est déjà identifié
72
					// Drapeau levé si l'utilisateur est déjà identifié
83
					boolean identifie = ((JSONBoolean) reponse.get(2)).booleanValue();
73
					boolean identifie = ((JSONBoolean) reponse.get(2)).booleanValue();
84
					
74
					
85
					// Nous réinitialisons l'utilisateur
75
					// Nous réinitialisons l'utilisateur
86
					utilisateur = new Utilisateur(id, identifie);
76
					utilisateur = new Utilisateur(id, identifie);
87
					
77
					
88
					GWT.log(utilisateur.toString(), null);
78
					GWT.log(utilisateur.toString(), null);
89
					vueARafraichir.rafraichir(utilisateur);
79
					vueARafraichir.rafraichir(utilisateur);
90
				}
80
				}
91
			}
81
			}
92
		});
82
		});
93
	}
83
	}
94
	
84
	
95
	/**
85
	/**
96
	 * Méthode connectant un utilisateur à l'application. 
86
	 * Méthode connectant un utilisateur à l'application. 
97
	 * @param Utilisateur l'utilisateur courant.
87
	 * @param Utilisateur l'utilisateur courant.
98
	 */
88
	 */
99
	public void connecterUtilisateur() {
89
	public void connecterUtilisateur() {
100
		String[] parametres = {utilisateur.getLogin(), utilisateur.getMotDePasse()};
90
		String[] parametres = {utilisateur.getLogin(), utilisateur.getMotDePasse()};
101
		
91
		
102
		final JsonRestRequestBuilder rb = UtilDAO.construireRequete(SERVICE_NOM, parametres);
92
		final JsonRestRequestBuilder rb = UtilDAO.construireRequete(SERVICE_NOM, parametres);
103
		
93
		
104
		rb.envoyerRequete(null, new JsonRestRequestCallback() {
94
		rb.envoyerRequete(null, new JsonRestRequestCallback() {
105
			@Override
95
			@Override
106
			public void surReponse(JSONValue responseValue) {
96
			public void surReponse(JSONValue responseValue) {
107
				if (responseValue.isArray() != null) {
97
				if (responseValue.isArray() != null) {
108
					final JSONArray reponse = responseValue.isArray();
98
					final JSONArray reponse = responseValue.isArray();
109
					
99
					
110
					//Ajout des informations licence
100
					//Ajout des informations licence
111
					if (reponse.get(0).isString() != null)	{
101
					if (reponse.get(0).isString() != null)	{
112
						utilisateur.setLicence(reponse.get(0).isString().stringValue());
102
						utilisateur.setLicence(reponse.get(0).isString().stringValue());
113
					} else {
103
					} else {
114
						utilisateur.setLicence("");						
104
						utilisateur.setLicence("");						
115
					}
105
					}
116
					
106
					
117
					if (reponse.size() > 0) {
107
					if (reponse.size() > 0) {
118
						
108
						
119
						// Identifiant de l'utilisateur ou identifiant de session si non identifié
109
						// Identifiant de l'utilisateur ou identifiant de session si non identifié
120
						utilisateur.setId(((JSONString) reponse.get(1)).stringValue());
110
						utilisateur.setId(((JSONString) reponse.get(1)).stringValue());
121
					
111
					
122
						// Drapeau levé si l'utilisateur est déjà identifié
112
						// Drapeau levé si l'utilisateur est déjà identifié
123
						utilisateur.setIdentification(((JSONBoolean) reponse.get(2)).booleanValue());
113
						utilisateur.setIdentification(((JSONBoolean) reponse.get(2)).booleanValue());
124
					
114
					
125
						// Plus de deux valeurs, l'utilisateur est identifié nous récupérons des données supplémentaires
115
						// Plus de deux valeurs, l'utilisateur est identifié nous récupérons des données supplémentaires
126
						if (reponse.size() > 3) {
116
						if (reponse.size() > 3) {
127
							// Nom complet de l'utilisateur
117
							// Nom complet de l'utilisateur
128
							if (reponse.get(3).isString() != null) {
118
							if (reponse.get(3).isString() != null) {
129
								utilisateur.setNomComplet(((JSONString) reponse.get(3)).stringValue());
119
								utilisateur.setNomComplet(((JSONString) reponse.get(3)).stringValue());
130
							}
120
							}
131
							// Prénom de l'utilisateur
121
							// Prénom de l'utilisateur
132
							if (reponse.get(4).isString() != null) {
122
							if (reponse.get(4).isString() != null) {
133
								utilisateur.setPrenom(((JSONString) reponse.get(4)).stringValue());
123
								utilisateur.setPrenom(((JSONString) reponse.get(4)).stringValue());
134
							}
124
							}
135
							
125
							
136
							// Nom de l'utilisateur
126
							// Nom de l'utilisateur
137
							if (reponse.get(5).isString() != null) {
127
							if (reponse.get(5).isString() != null) {
138
								utilisateur.setNom(((JSONString) reponse.get(5)).stringValue());
128
								utilisateur.setNom(((JSONString) reponse.get(5)).stringValue());
139
							}
129
							}
140
							
130
							
141
							// Paramètres
131
							// Paramètres
142
							if (reponse.get(6).isString() != null) {
132
							if (reponse.get(6).isString() != null) {
143
								utilisateur.setParametre(((JSONString) reponse.get(6)).stringValue());
133
								utilisateur.setParametre(((JSONString) reponse.get(6)).stringValue());
144
							}
134
							}
145
							
135
							
146
						}
136
						}
147
						vueARafraichir.rafraichir(utilisateur);
137
						vueARafraichir.rafraichir(utilisateur);
148
					}
138
					}
149
				}
139
				}
150
			}
140
			}
151
		});
141
		});
152
	}
142
	}
153
	
143
	
154
	/*
144
	/*
155
	 * */
145
	 * */
156
	public void accepterLicence()	{
146
	public void accepterLicence()	{
157
		String[] parametres = {utilisateur.getLogin(), utilisateur.getMotDePasse(), utilisateur.getId()};
147
		String[] parametres = {utilisateur.getLogin(), utilisateur.getMotDePasse(), utilisateur.getId()};
158
		
148
		
159
		final JsonRestRequestBuilder rb = UtilDAO.construireRequete(SERVICE_NOM, parametres);
149
		final JsonRestRequestBuilder rb = UtilDAO.construireRequete(SERVICE_NOM, parametres);
160
		rb.envoyerRequete(null, new JsonRestRequestCallback() {
150
		rb.envoyerRequete(null, new JsonRestRequestCallback() {
161
			@Override
151
			@Override
162
			public void surReponse(JSONValue responseValue) {
152
			public void surReponse(JSONValue responseValue) {
163
				if (responseValue.isArray() != null) {
153
				if (responseValue.isArray() != null) {
164
					final JSONArray reponse = responseValue.isArray();
154
					final JSONArray reponse = responseValue.isArray();
165
					if (reponse.get(0).isString() != null)	{
155
					if (reponse.get(0).isString() != null)	{
166
						String licenceAcceptee = reponse.get(0).isString().stringValue();
156
						String licenceAcceptee = reponse.get(0).isString().stringValue();
167
						Information info = new Information("maj_licence");
157
						Information info = new Information("maj_licence");
168
						info.setDonnee(0, licenceAcceptee);
158
						info.setDonnee(0, licenceAcceptee);
169
						vueARafraichir.rafraichir(info);
159
						vueARafraichir.rafraichir(info);
170
					}
160
					}
171
				}
161
				}
172
			}
162
			}
173
		});
163
		});
174
	}
164
	}
175
}	
165
}