Subversion Repositories eFlore/Applications.cel

Rev

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

Rev Author Line No. Line
989 aurelien 1
package org.tela_botanica.client.modeles.dao;
2 aperonnet 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;
989 aurelien 10
import org.tela_botanica.client.modeles.objets.Configuration;
11
import org.tela_botanica.client.modeles.objets.Utilisateur;
2 aperonnet 12
 
33 jpm 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;
937 aurelien 18
import com.google.gwt.json.client.JSONObject;
2 aperonnet 19
import com.google.gwt.json.client.JSONParser;
20
import com.google.gwt.json.client.JSONValue;
676 aurelien 21
import com.google.gwt.user.client.Window;
2 aperonnet 22
 
23
public class UtilisateurAsynchroneDAO {
24
 
25
	/**
12 david 26
	 * Le modèle associé au DAO
2 aperonnet 27
	 */
12 david 28
	private CarnetEnLigneModele carnetEnLigneModele = null ;
29
 
30
	/**
31
	 * Constructeur
32
	 */
33
 
937 aurelien 34
	public UtilisateurAsynchroneDAO(CarnetEnLigneModele carnetEnLigneModele) {
12 david 35
		this.carnetEnLigneModele=carnetEnLigneModele;
2 aperonnet 36
	}
37
	/**
12 david 38
	 * Methode de classe d'appel du service gestion identification
39
	 * @param baseURL : URL du service
40
	 * @param retour : methode appelle en retour d'appel
2 aperonnet 41
	 */
12 david 42
 
43
	public void getEtatUtilisateur(final Rafraichissable r) {
5 aperonnet 44
 
2 aperonnet 45
		// Recherche identifiant utilisateur identifie
140 aurelien 46
		RequestBuilder rb = new RequestBuilder(RequestBuilder.GET,Configuration.getServiceBaseUrl() + "/User/") ;
33 jpm 47
 
48
		try {
49
 
50
			rb.sendRequest(null, new RequestCallback() {
2 aperonnet 51
 
1293 aurelien 52
				@Override
33 jpm 53
				public void onError(Request request, Throwable exception) {
676 aurelien 54
 
2 aperonnet 55
				}
56
 
1293 aurelien 57
				@Override
33 jpm 58
				public void onResponseReceived(Request request,
59
						Response response) {
60
 
676 aurelien 61
					if(response.getText().isEmpty()) {
62
						Window.alert("Impossible de contacter le serveur, veuillez vérifier la configuration du cel ou contacter un administrateur");
63
					} else {
64
 
65
						JSONValue jsonValue = JSONParser.parse(response.getText());
937 aurelien 66
						JSONObject objetJsonUtilisateur;
140 aurelien 67
 
937 aurelien 68
						if ((objetJsonUtilisateur = jsonValue.isObject()) != null) {
676 aurelien 69
 
937 aurelien 70
							Utilisateur utilisateur = Utilisateur.InitialiserInstance(objetJsonUtilisateur);
676 aurelien 71
							r.rafraichir(utilisateur,true);
72
						}
73
					}
33 jpm 74
				}
75
			}) ;
937 aurelien 76
 
33 jpm 77
		} catch (RequestException e) {
937 aurelien 78
 
33 jpm 79
		}
2 aperonnet 80
	}
81
 
82
 
12 david 83
 
84
	public void deconnecterUtilisateur(final Rafraichissable r, String user) {
85
 
140 aurelien 86
		RequestBuilder rb = new RequestBuilder(RequestBuilder.GET, Configuration.getServiceBaseUrl()+ "/User/" + user) ;
33 jpm 87
 
88
		try {
89
 
90
			rb.sendRequest(null, new RequestCallback() {
2 aperonnet 91
 
1293 aurelien 92
				@Override
33 jpm 93
				public void onError(Request request, Throwable exception) {
94
					// TODO Auto-generated method stub
95
 
96
				}
97
 
1293 aurelien 98
				@Override
33 jpm 99
				public void onResponseReceived(Request request,
100
						Response response) {
101
 
102
					JSONValue jsonValue = JSONParser.parse(response.getText());
937 aurelien 103
					JSONObject objetJsonUtilisateur;
104
 
105
					if ((objetJsonUtilisateur = jsonValue.isObject()) != null) {
596 aurelien 106
 
937 aurelien 107
						Utilisateur utilisateur = Utilisateur.InitialiserInstance(objetJsonUtilisateur);
108
						r.rafraichir(utilisateur,true);
109
					}
33 jpm 110
				}
111
			}) ;
112
 
113
		} catch (RequestException e) {
937 aurelien 114
 
33 jpm 115
		}
2 aperonnet 116
	}
117
 
12 david 118
	public void connecteUtilisateur (final Rafraichissable r, String login, String password) {
33 jpm 119
 
143 aurelien 120
		RequestBuilder rb = new RequestBuilder(RequestBuilder.GET,Configuration.getServiceBaseUrl() + "/User/" + login + "/" + password) ;
33 jpm 121
 
122
		try {
123
 
124
			rb.sendRequest(null, new RequestCallback() {
12 david 125
 
1293 aurelien 126
				@Override
33 jpm 127
				public void onError(Request request, Throwable exception) {
128
					// TODO Auto-generated method stub
129
 
130
				}
2 aperonnet 131
 
1293 aurelien 132
				@Override
33 jpm 133
				public void onResponseReceived(Request request,
134
						Response response) {
135
 
136
					JSONValue jsonValue = JSONParser.parse(response.getText());
937 aurelien 137
					JSONObject objetJsonUtilisateur;
33 jpm 138
 
937 aurelien 139
					if ((objetJsonUtilisateur = jsonValue.isObject()) != null) {
12 david 140
 
937 aurelien 141
						Utilisateur utilisateur = Utilisateur.InitialiserInstance(objetJsonUtilisateur);
596 aurelien 142
						r.rafraichir(utilisateur,true);
937 aurelien 143
					}
33 jpm 144
				}
145
 
146
 
147
			}) ;
148
 
149
		} catch (RequestException e) {
150
 
151
			e.printStackTrace() ;
152
		}
2 aperonnet 153
	}
154
 
596 aurelien 155
	public void accepterLicence(String identifiantUtilisateur) {
156
 
157
		RequestBuilder rb = new RequestBuilder(RequestBuilder.POST,Configuration.getServiceBaseUrl() + "/LicenceUtilisateur/"+identifiantUtilisateur) ;
158
 
159
		try {
160
 
965 aurelien 161
			String postData = "licence=1";
596 aurelien 162
 
163
			rb.sendRequest(postData, new RequestCallback() {
12 david 164
 
1293 aurelien 165
				@Override
596 aurelien 166
				public void onError(Request request, Throwable exception) {
167
					// TODO Auto-generated method stub
168
 
169
				}
12 david 170
 
1293 aurelien 171
				@Override
596 aurelien 172
				public void onResponseReceived(Request request,
173
						Response response) {
174
 
937 aurelien 175
				}
596 aurelien 176
			}) ;
177
 
178
		} catch (RequestException e) {
179
 
180
			e.printStackTrace() ;
937 aurelien 181
		}
596 aurelien 182
	}
937 aurelien 183
}