Subversion Repositories eFlore/Applications.cel

Rev

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

Rev Author Line No. Line
91 jpm 1
package org.tela_botanica.client.modeles;
2
 
3
import org.tela_botanica.client.interfaces.Rafraichissable;
4
import org.tela_botanica.client.observation.ObservationModele;
5
 
6
import com.google.gwt.http.client.Request;
7
import com.google.gwt.http.client.RequestBuilder;
8
import com.google.gwt.http.client.RequestCallback;
9
import com.google.gwt.http.client.RequestException;
10
import com.google.gwt.http.client.Response;
11
import com.google.gwt.json.client.JSONArray;
12
import com.google.gwt.json.client.JSONParser;
13
import com.google.gwt.json.client.JSONString;
14
import com.google.gwt.json.client.JSONValue;
15
import com.google.gwt.user.client.Window;
16
 
17
public class ListeDateObservationAsynchroneDAO {
18
 
19
	/**
20
	 * Le modèle associé au DAO.
21
	 */
22
	private ObservationModele observationModele = null;
23
 
24
 
25
	/**
26
	 *  Constructeur.
27
	 * @param obs : Modele
28
	 */
29
 
30
	public ListeDateObservationAsynchroneDAO(final ObservationModele obs) {
31
		this.observationModele = obs;
32
	}
33
 
34
 
35
	/**
36
	 * Envoie une requete au serveur jrest pour obtenir les communes  correspondant
37
	 * à des critères données en paramètres.
38
	 * @param r le rafraichissable qui demande la mise à jour
39
	 * @param critere un string contenant le terme a rechercher
40
	 */
41
 
42
 
43
	public final void obtenirListeDate(final Rafraichissable r, final String utilisateur) {
44
 
45
 
46
 
145 aurelien 47
		RequestBuilder rb = new RequestBuilder(RequestBuilder.GET, Configuration.getServiceBaseUrl() + "/InventoryDateList/" + utilisateur);
91 jpm 48
 
49
 
50
		try {
51
 
52
			rb.sendRequest(null, new RequestCallback() {
53
 
54
				public void onError(final Request request, final Throwable exception) {
55
					// TODO Auto-generated method stub
56
 
57
				}
58
 
59
				public void onResponseReceived(final Request request,
60
						final Response response) {
61
 
62
					final ListeDateObservation lDateObs;
63
 
64
					final JSONValue responseValue = JSONParser.parse(response.getText());
65
 
66
					JSONArray reponse = responseValue.isArray();
67
 
68
 
69
					// si c'est un tableau
70
					if ((reponse) != null) {
71
 
72
						lDateObs = new ListeDateObservation(reponse);
73
 
74
					} else {
75
 
76
						lDateObs = new ListeDateObservation(0);
77
 
78
					}
79
					// dans tous les cas on transmet la liste crée au rafraichissable en lui demandant de répandre les données car il est
80
					// le premier à les recevoir
81
					r.rafraichir(lDateObs, true);
82
				}
83
 
84
			});
85
 
86
		} catch (RequestException e) {
87
 
88
			e.printStackTrace();
89
		}
90
 
91
	}
92
 
93
}