Subversion Repositories eFlore/Applications.cel

Rev

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