Subversion Repositories eFlore/Applications.coel

Rev

Rev 277 | Rev 358 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 277 Rev 346
Line 1... Line 1...
1
package org.tela_botanica.client.modeles;
1
package org.tela_botanica.client.modeles;
Line 2... Line 2...
2
 
2
 
3
import org.tela_botanica.client.RegistreId;
3
import org.tela_botanica.client.RegistreId;
-
 
4
import org.tela_botanica.client.interfaces.Rafraichissable;
Line 4... Line 5...
4
import org.tela_botanica.client.interfaces.Rafraichissable;
5
import org.tela_botanica.client.util.UtilDAO;
-
 
6
 
5
 
7
import com.extjs.gxt.ui.client.Registry;
6
import com.extjs.gxt.ui.client.Registry;
8
import com.extjs.gxt.ui.client.widget.Info;
7
import com.google.gwt.core.client.GWT;
9
import com.google.gwt.core.client.GWT;
8
import com.google.gwt.http.client.Request;
10
import com.google.gwt.http.client.Request;
9
import com.google.gwt.http.client.RequestBuilder;
11
import com.google.gwt.http.client.RequestBuilder;
Line 107... Line 109...
107
	/**
109
	/**
108
	 * Méthode déconnectant un utilisateur de l'application. 
110
	 * Méthode déconnectant un utilisateur de l'application. 
109
	 * @param Utilisateur l'utilisateur courant.
111
	 * @param Utilisateur l'utilisateur courant.
110
	 */
112
	 */
111
	public void connecterUtilisateur () {
113
	public void connecterUtilisateur () {
112
		String login = utilisateur.getLogin();
114
		String[] parametres = new String[2];
113
		String password = utilisateur.getMotDePasse();
115
		parametres[0] = utilisateur.getLogin();
114
		String url = urlServiceBase+SERVICE_NOM+"/";
116
		parametres[1] = utilisateur.getMotDePasse();
Line 115... Line -...
115
		
-
 
116
		if (login != null & password != null) {
-
 
117
			url = url+login+"/"+password;
-
 
118
		}
-
 
119
		
117
		
120
		RequestBuilder rb = new RequestBuilder(RequestBuilder.GET, url);
118
		RequestBuilder rb = UtilDAO.construireRequete(SERVICE_NOM, parametres);
121
		try {
119
		try {
Line 122... Line 120...
122
			rb.sendRequest(null, new RequestCallback() {
120
			rb.sendRequest(null, new RequestCallback() {
-
 
121
 
123
 
122
				public void onError(Request request, Throwable exception) {
124
				public void onError(Request request, Throwable exception) {
123
					GWT.log("Erreur à l'exécution du service " + SERVICE_NOM + " (selection)", exception);
Line 125... Line 124...
125
					// TODO : ajouter un message d'erreur en cas d'erreur de requête HTTP
124
					Info.display("Erreur de Requête", "Une erreur s'est produite lors de l'exécution de la requête.");
126
				}
125
				}
127
 
126
 
128
				public void onResponseReceived(Request request, Response response) {
127
				public void onResponseReceived(Request request, Response response) {
129
					JSONValue jsonValue = JSONParser.parse(response.getText());
-
 
130
					JSONArray jsonArray;
-
 
Line 131... Line -...
131
					if ((jsonArray = jsonValue.isArray()) != null) {
-
 
132
						// Identifiant de l'utilisateur ou identifiant de session si non identifié
-
 
Line -... Line 128...
-
 
128
					JSONValue jsonValue = JSONParser.parse(response.getText());
-
 
129
					JSONArray jsonArray;
-
 
130
					if ((jsonArray = jsonValue.isArray()) != null) {
-
 
131
						
-
 
132
						
-
 
133
						
-
 
134
						if (jsonArray.size() > 0)	{
-
 
135
							
-
 
136
							// Identifiant de l'utilisateur ou identifiant de session si non identifié
133
						utilisateur.setId(((JSONString) jsonArray.get(0)).stringValue());
137
							utilisateur.setId(((JSONString) jsonArray.get(0)).stringValue());
134
						
138
						
135
						// Drapeau levé si l'utilisateur est déjà identifié
139
							// Drapeau levé si l'utilisateur est déjà identifié
136
						utilisateur.setIdentifie(((JSONBoolean) jsonArray.get(1)).booleanValue());
140
							utilisateur.setIdentifie(((JSONBoolean) jsonArray.get(1)).booleanValue());
137
						
141
						
138
						// Plus de deux valeurs, l'utilisateur est identifié nous récupérons des données supplémentaires
142
							// Plus de deux valeurs, l'utilisateur est identifié nous récupérons des données supplémentaires
139
						if (jsonArray.size() > 2) {
143
							if (jsonArray.size() > 2) {
140
							// Nom complet de l'utilisateur
144
								// Nom complet de l'utilisateur
141
							if (jsonArray.get(2).isString() != null) {
145
								if (jsonArray.get(2).isString() != null) {
142
								utilisateur.setNomComplet(((JSONString) jsonArray.get(2)).stringValue());
146
									utilisateur.setNomComplet(((JSONString) jsonArray.get(2)).stringValue());
143
							}
147
								}
144
							// Prénom de l'utilisateur
148
								// Prénom de l'utilisateur
145
							if (jsonArray.get(3).isString() != null) {
149
								if (jsonArray.get(3).isString() != null) {
-
 
150
									utilisateur.setPrenom(((JSONString) jsonArray.get(3)).stringValue());
-
 
151
								}
146
								utilisateur.setPrenom(((JSONString) jsonArray.get(3)).stringValue());
152
								// Nom de l'utilisateur
147
							}
153
								if (jsonArray.get(4).isString() != null) {
-
 
154
									utilisateur.setNom(((JSONString) jsonArray.get(4)).stringValue());
-
 
155
								}
148
							// Nom de l'utilisateur
156
								GWT.log(utilisateur.toString(), null);
149
							if (jsonArray.get(4).isString() != null) {
-
 
150
								utilisateur.setNom(((JSONString) jsonArray.get(4)).stringValue());
157
							}
151
							}
158
							rafraichissement.rafraichir(utilisateur);
152
							GWT.log(utilisateur.toString(), null);
159
						}	else	{
153
						}
160
							Info.display("Erreur d'identification", "L'identification a échouée");							
154
						rafraichissement.rafraichir(utilisateur);
161
						}