Subversion Repositories eFlore/Applications.cel

Rev

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