Subversion Repositories eFlore/Applications.cel

Rev

Rev 364 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 aperonnet 1
package org.tela_botanica.client.modeles;
2
 
3
/**
4
 * Modele DAO, specifique, permettant la validation, l'acces aux donnees distantes et la présentation des donnees en retour
5
 *
6
 */
7
 
12 david 8
import org.tela_botanica.client.CarnetEnLigneModele;
9
import org.tela_botanica.client.interfaces.Rafraichissable;
2 aperonnet 10
 
33 jpm 11
import com.google.gwt.http.client.Request;
12
import com.google.gwt.http.client.RequestBuilder;
13
import com.google.gwt.http.client.RequestCallback;
14
import com.google.gwt.http.client.RequestException;
15
import com.google.gwt.http.client.Response;
2 aperonnet 16
import com.google.gwt.json.client.JSONArray;
17
import com.google.gwt.json.client.JSONBoolean;
18
import com.google.gwt.json.client.JSONParser;
19
import com.google.gwt.json.client.JSONString;
20
import com.google.gwt.json.client.JSONValue;
21
 
22
public class UtilisateurAsynchroneDAO {
23
 
12 david 24
 
25
 
26
 
2 aperonnet 27
	/**
12 david 28
	 * Le modèle associé au DAO
2 aperonnet 29
	 */
12 david 30
	private CarnetEnLigneModele carnetEnLigneModele = null ;
31
 
32
	/**
33
	 * Constructeur
34
	 */
35
 
36
	public UtilisateurAsynchroneDAO(CarnetEnLigneModele carnetEnLigneModele) {
37
 
38
		this.carnetEnLigneModele=carnetEnLigneModele;
39
 
2 aperonnet 40
	}
12 david 41
 
42
 
43
 
44
 
2 aperonnet 45
	/**
12 david 46
	 * Methode de classe d'appel du service gestion identification
47
	 * @param baseURL : URL du service
48
	 * @param retour : methode appelle en retour d'appel
2 aperonnet 49
	 */
12 david 50
 
51
	public void getEtatUtilisateur(final Rafraichissable r) {
5 aperonnet 52
 
2 aperonnet 53
		// Recherche identifiant utilisateur identifie
54
 
140 aurelien 55
		RequestBuilder rb = new RequestBuilder(RequestBuilder.GET,Configuration.getServiceBaseUrl() + "/User/") ;
33 jpm 56
 
57
		try {
58
 
59
			rb.sendRequest(null, new RequestCallback() {
2 aperonnet 60
 
33 jpm 61
				public void onError(Request request, Throwable exception) {
62
					// TODO Auto-generated method stub
63
 
2 aperonnet 64
				}
65
 
33 jpm 66
				public void onResponseReceived(Request request,
67
						Response response) {
68
 
69
					JSONValue jsonValue = JSONParser.parse(response.getText());
70
					JSONArray jsonArray;
71
					if ((jsonArray = jsonValue.isArray()) != null) {
72
						String identifiant = ((JSONString) jsonArray.get(0))
73
								.stringValue(); // Identifiant utilisateur ou
74
												// identifiant de session si non
75
												// identifie
76
						boolean identifie = ((JSONBoolean) jsonArray.get(1))
77
								.booleanValue(); // Drapeau leve si utilisateur
78
													// deja identifie
140 aurelien 79
						boolean isAdmin = ((JSONBoolean) jsonArray.get(2))
80
						.booleanValue(); // Drapeau leve si utilisateur
81
											// est admin
82
 
596 aurelien 83
						boolean licenceAcceptee = ((JSONBoolean) jsonArray.get(3))
84
						.booleanValue(); // Drapeau leve si utilisateur
85
											// a accepte licence
86
 
87
						Utilisateur utilisateur = new Utilisateur(identifiant, identifie, isAdmin);
88
						utilisateur.setLicenceAcceptee(licenceAcceptee);
89
 
90
						r.rafraichir(utilisateur,true);
33 jpm 91
					}
92
				}
93
			}) ;
94
 
95
 
96
		} catch (RequestException e) {
97
 
98
 
99
		}
2 aperonnet 100
	}
101
 
102
 
12 david 103
 
104
	public void deconnecterUtilisateur(final Rafraichissable r, String user) {
105
 
140 aurelien 106
		RequestBuilder rb = new RequestBuilder(RequestBuilder.GET, Configuration.getServiceBaseUrl()+ "/User/" + user) ;
33 jpm 107
 
108
		try {
109
 
110
			rb.sendRequest(null, new RequestCallback() {
2 aperonnet 111
 
33 jpm 112
				public void onError(Request request, Throwable exception) {
113
					// TODO Auto-generated method stub
114
 
115
				}
116
 
117
				public void onResponseReceived(Request request,
118
						Response response) {
119
 
120
					JSONValue jsonValue = JSONParser.parse(response.getText());
121
					JSONArray jsonArray;
122
					if ((jsonArray = jsonValue.isArray()) != null) {
123
						String identifiant = ((JSONString) jsonArray.get(0))
124
						.stringValue(); // Identifiant utilisateur ou
125
										// identifiant de session si non
126
										// identifie
127
						boolean identifie = ((JSONBoolean) jsonArray.get(1))
128
						.booleanValue(); // Drapeau leve si utilisateur
596 aurelien 129
 
33 jpm 130
											// deja identifie
12 david 131
 
596 aurelien 132
						Utilisateur utilisateur = new Utilisateur(identifiant, identifie);
133
						utilisateur.setLicenceAcceptee(false);
134
 
135
					r.rafraichir(utilisateur,true);
33 jpm 136
					}
137
				}
138
 
139
			}) ;
140
 
141
		} catch (RequestException e) {
142
 
143
 
144
		}
2 aperonnet 145
	}
146
 
147
 
12 david 148
 
149
	public void connecteUtilisateur (final Rafraichissable r, String login, String password) {
33 jpm 150
 
143 aurelien 151
		RequestBuilder rb = new RequestBuilder(RequestBuilder.GET,Configuration.getServiceBaseUrl() + "/User/" + login + "/" + password) ;
33 jpm 152
 
153
		try {
154
 
155
			rb.sendRequest(null, new RequestCallback() {
12 david 156
 
33 jpm 157
				public void onError(Request request, Throwable exception) {
158
					// TODO Auto-generated method stub
159
 
160
				}
2 aperonnet 161
 
33 jpm 162
				public void onResponseReceived(Request request,
163
						Response response) {
164
 
165
					JSONValue jsonValue = JSONParser.parse(response.getText());
166
					JSONArray jsonArray;
167
 
168
					if ((jsonArray = jsonValue.isArray()) != null) {
169
						String identifiant = ((JSONString) jsonArray.get(0))
170
						.stringValue(); // Identifiant utilisateur ou
171
										// identifiant de session si non
172
										// identifie
173
						boolean identifie = ((JSONBoolean) jsonArray.get(1))
174
						.booleanValue(); // Drapeau leve si utilisateur
175
											// deja identifie
143 aurelien 176
						boolean isAdmin = ((JSONBoolean) jsonArray.get(2))
177
						.booleanValue(); // Drapeau leve si utilisateur
178
											// est admin
12 david 179
 
596 aurelien 180
						boolean licenceAcceptee = ((JSONBoolean) jsonArray.get(3))
181
						.booleanValue(); // Drapeau leve si utilisateur
182
											// a accepte licence
183
 
184
						Utilisateur utilisateur = new Utilisateur(identifiant, identifie, isAdmin);
185
						utilisateur.setLicenceAcceptee(licenceAcceptee);
186
 
2 aperonnet 187
 
596 aurelien 188
						r.rafraichir(utilisateur,true);
33 jpm 189
					}
190
				}
191
 
192
 
193
			}) ;
194
 
195
		} catch (RequestException e) {
196
 
197
			e.printStackTrace() ;
198
		}
2 aperonnet 199
	}
200
 
596 aurelien 201
	public void accepterLicence(String identifiantUtilisateur) {
202
 
203
		RequestBuilder rb = new RequestBuilder(RequestBuilder.POST,Configuration.getServiceBaseUrl() + "/LicenceUtilisateur/"+identifiantUtilisateur) ;
204
 
205
		try {
206
 
207
			String postData = "acceptation_licence=1";
208
 
209
			rb.sendRequest(postData, new RequestCallback() {
12 david 210
 
596 aurelien 211
				public void onError(Request request, Throwable exception) {
212
					// TODO Auto-generated method stub
213
 
214
				}
12 david 215
 
596 aurelien 216
				public void onResponseReceived(Request request,
217
						Response response) {
218
 
219
				}
220
 
221
 
222
			}) ;
223
 
224
		} catch (RequestException e) {
225
 
226
			e.printStackTrace() ;
227
		}
228
 
229
	}
12 david 230
 
596 aurelien 231
 
232
 
233
 
2 aperonnet 234
}