Subversion Repositories eFlore/Applications.coel

Rev

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

Rev 346 Rev 358
Line 25... Line 25...
25
public class UtilisateurAsyncDao {
25
public class UtilisateurAsyncDao {
26
	private static final String SERVICE_NOM = "CoelUtilisateur";
26
	private static final String SERVICE_NOM = "CoelUtilisateur";
Line 27... Line 27...
27
	
27
	
28
	private Utilisateur utilisateur = null;
28
	private Utilisateur utilisateur = null;
29
	private String urlServiceBase = null;
29
	private String urlServiceBase = null;
Line 30... Line 30...
30
	private Rafraichissable rafraichissement = null;
30
	private Rafraichissable vueARafraichir = null;
31
	
31
	
32
	/**
32
	/**
33
	 * Constructeur
33
	 * Constructeur
34
	 * @param retour : méthode appellée en retour d'appel. 
34
	 * @param retour : méthode appellée en retour d'appel. 
35
	 */
35
	 */
36
	public UtilisateurAsyncDao(Rafraichissable r) {
36
	public UtilisateurAsyncDao(Rafraichissable r) {
37
		rafraichissement = r;
37
		vueARafraichir = r;
38
		urlServiceBase = ((Configuration) Registry.get(RegistreId.CONFIG)).getServiceBaseUrl();
38
		urlServiceBase = ((Configuration) Registry.get(RegistreId.CONFIG)).getServiceBaseUrl();
Line 39... Line 39...
39
		utilisateur = (Utilisateur) Registry.get(RegistreId.UTILISATEUR_COURANT);
39
		utilisateur = (Utilisateur) Registry.get(RegistreId.UTILISATEUR_COURANT);
Line 60... Line 60...
60
						String login = ((JSONString) jsonArray.get(0)).stringValue();
60
						String login = ((JSONString) jsonArray.get(0)).stringValue();
61
						// Drapeau leve si utilisateur deja identifié
61
						// Drapeau leve si utilisateur deja identifié
62
						boolean identifie = ((JSONBoolean) jsonArray.get(1)).booleanValue();
62
						boolean identifie = ((JSONBoolean) jsonArray.get(1)).booleanValue();
63
						utilisateur.setIdentifie(identifie);
63
						utilisateur.setIdentifie(identifie);
64
						utilisateur.setLogin(login);
64
						utilisateur.setLogin(login);
65
						rafraichissement.rafraichir(utilisateur);
65
						vueARafraichir.rafraichir(utilisateur);
66
					}			
66
					}			
67
				}			
67
				}			
68
			}) ;
68
			}) ;
69
		} catch (RequestException e) {
69
		} catch (RequestException e) {
70
			e.printStackTrace();
70
			e.printStackTrace();
Line 95... Line 95...
95
						
95
						
96
						// Nous réinitialisons l'utilisateur
96
						// Nous réinitialisons l'utilisateur
Line 97... Line 97...
97
						utilisateur = new Utilisateur(id, identifie);
97
						utilisateur = new Utilisateur(id, identifie);
98
						
98
						
99
						GWT.log(utilisateur.toString(), null);
99
						GWT.log(utilisateur.toString(), null);
100
						rafraichissement.rafraichir(utilisateur);
100
						vueARafraichir.rafraichir(utilisateur);
101
					}				
101
					}				
102
				}			
102
				}			
103
			}) ;
103
			}) ;
104
		} catch (RequestException e) {
104
		} catch (RequestException e) {
105
			e.printStackTrace();
105
			e.printStackTrace();
Line 106... Line 106...
106
		}
106
		}
107
	}
107
	}
108
	
108
	
109
	/**
109
	/**
110
	 * Méthode déconnectant un utilisateur de l'application. 
110
	 * Méthode connectant un utilisateur à l'application. 
111
	 * @param Utilisateur l'utilisateur courant.
111
	 * @param Utilisateur l'utilisateur courant.
112
	 */
112
	 */
Line 121... Line 121...
121
 
121
 
122
				public void onError(Request request, Throwable exception) {
122
				public void onError(Request request, Throwable exception) {
123
					GWT.log("Erreur à l'exécution du service " + SERVICE_NOM + " (selection)", exception);
123
					GWT.log("Erreur à l'exécution du service " + SERVICE_NOM + " (selection)", exception);
124
					Info.display("Erreur de Requête", "Une erreur s'est produite lors de l'exécution de la requête.");
124
					Info.display("Erreur de Requête", "Une erreur s'est produite lors de l'exécution de la requête.");
125
				}
125
				}
-
 
126
				
-
 
127
				public void onErrorHTTP(Request request, Response reponse) {
-
 
128
					// Gestion des erreurs HTTP renvoyé par Apache ou JRest
-
 
129
					Information info = new Information("erreur_jrest", JSONParser.parse(reponse.getText()).isArray());
-
 
130
					GWT.log("Erreur JREST - Code "+reponse.getStatusCode()+"\n"+info.getMessages().toString(), null);
-
 
131
					Info.display("Erreur JREST - Code "+reponse.getStatusCode(), info.toString());
-
 
132
				}
126
 
133
				
-
 
134
				public void onResponseReceived(Request request, Response response) {
-
 
135
					if (response.getStatusCode() != 200) {
-
 
136
						onErrorHTTP(request, response);
127
				public void onResponseReceived(Request request, Response response) {
137
					} else {
128
					JSONValue jsonValue = JSONParser.parse(response.getText());
138
						JSONValue jsonValue = JSONParser.parse(response.getText());
129
					JSONArray jsonArray;
139
						JSONArray jsonArray;
130
					if ((jsonArray = jsonValue.isArray()) != null) {
-
 
131
						
-
 
132
						
-
 
133
						
140
						if ((jsonArray = jsonValue.isArray()) != null) {
-
 
141
							if (jsonArray.size() > 0) {
-
 
142
								// Identifiant de l'utilisateur ou identifiant de session si non identifié
Line 134... Line 143...
134
						if (jsonArray.size() > 0)	{
143
								utilisateur.setId(((JSONString) jsonArray.get(0)).stringValue());
135
							
144
							
136
							// Identifiant de l'utilisateur ou identifiant de session si non identifié
-
 
137
							utilisateur.setId(((JSONString) jsonArray.get(0)).stringValue());
-
 
138
						
145
								// Drapeau levé si l'utilisateur est déjà identifié
139
							// Drapeau levé si l'utilisateur est déjà identifié
146
								GWT.log(jsonArray.toString(), null);
140
							utilisateur.setIdentifie(((JSONBoolean) jsonArray.get(1)).booleanValue());
147
								utilisateur.setIdentifie(((JSONBoolean) jsonArray.get(1)).booleanValue());
141
						
148
							
142
							// Plus de deux valeurs, l'utilisateur est identifié nous récupérons des données supplémentaires
149
								// Plus de deux valeurs, l'utilisateur est identifié nous récupérons des données supplémentaires
143
							if (jsonArray.size() > 2) {
150
								if (jsonArray.size() > 2) {
144
								// Nom complet de l'utilisateur
151
									// Nom complet de l'utilisateur
145
								if (jsonArray.get(2).isString() != null) {
152
									if (jsonArray.get(2).isString() != null) {
146
									utilisateur.setNomComplet(((JSONString) jsonArray.get(2)).stringValue());
153
										utilisateur.setNomComplet(((JSONString) jsonArray.get(2)).stringValue());
147
								}
154
									}
148
								// Prénom de l'utilisateur
155
									// Prénom de l'utilisateur
149
								if (jsonArray.get(3).isString() != null) {
156
									if (jsonArray.get(3).isString() != null) {
150
									utilisateur.setPrenom(((JSONString) jsonArray.get(3)).stringValue());
157
										utilisateur.setPrenom(((JSONString) jsonArray.get(3)).stringValue());
151
								}
158
									}
152
								// Nom de l'utilisateur
159
									// Nom de l'utilisateur
-
 
160
									if (jsonArray.get(4).isString() != null) {
-
 
161
										utilisateur.setNom(((JSONString) jsonArray.get(4)).stringValue());
153
								if (jsonArray.get(4).isString() != null) {
162
									}
154
									utilisateur.setNom(((JSONString) jsonArray.get(4)).stringValue());
163
									GWT.log(utilisateur.toString(), null);
155
								}
164
								}
156
								GWT.log(utilisateur.toString(), null);
-
 
157
							}
-
 
158
							rafraichissement.rafraichir(utilisateur);
-
 
159
						}	else	{
165
								vueARafraichir.rafraichir(utilisateur);
160
							Info.display("Erreur d'identification", "L'identification a échouée");							
166
							}
161
						}
167
						}
162
					}				
168
					}
163
				}
169
				}
164
			}) ;
170
			}) ;
165
		} catch (RequestException e) {
171
		} catch (RequestException e) {