Subversion Repositories eFlore/Applications.cel

Rev

Rev 1918 | 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;
91 jpm 2
 
3
import org.tela_botanica.client.interfaces.Rafraichissable;
989 aurelien 4
import org.tela_botanica.client.modeles.objets.Configuration;
5
import org.tela_botanica.client.modeles.objets.ListeDate;
91 jpm 6
import org.tela_botanica.client.observation.ObservationModele;
7
 
8
import com.google.gwt.http.client.Request;
1918 aurelien 9
import org.tela_botanica.client.util.RequestBuilderWithCredentials;
91 jpm 10
import com.google.gwt.http.client.RequestCallback;
11
import com.google.gwt.http.client.RequestException;
12
import com.google.gwt.http.client.Response;
13
import com.google.gwt.json.client.JSONArray;
14
import com.google.gwt.json.client.JSONParser;
15
import com.google.gwt.json.client.JSONValue;
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
 
1918 aurelien 47
		RequestBuilderWithCredentials rb = new RequestBuilderWithCredentials(RequestBuilderWithCredentials.GET, Configuration.getServiceBaseUrl() + "/InventoryDateList/" + utilisateur);
91 jpm 48
 
49
 
50
		try {
51
 
52
			rb.sendRequest(null, new RequestCallback() {
53
 
1293 aurelien 54
				@Override
91 jpm 55
				public void onError(final Request request, final Throwable exception) {
56
					// TODO Auto-generated method stub
57
 
58
				}
59
 
1293 aurelien 60
				@Override
91 jpm 61
				public void onResponseReceived(final Request request,
62
						final Response response) {
63
 
640 aurelien 64
					final ListeDate lDateObs;
91 jpm 65
 
66
					final JSONValue responseValue = JSONParser.parse(response.getText());
67
 
68
					JSONArray reponse = responseValue.isArray();
69
 
1293 aurelien 70
					// si c'est un tableau
71
					lDateObs = (reponse) != null ? new ListeDate(reponse) : new ListeDate(0);
72
 
91 jpm 73
					// dans tous les cas on transmet la liste crée au rafraichissable en lui demandant de répandre les données car il est
74
					// le premier à les recevoir
75
					r.rafraichir(lDateObs, true);
76
				}
77
 
78
			});
79
 
80
		} catch (RequestException e) {
81
 
82
			e.printStackTrace();
83
		}
84
 
85
	}
86
 
87
}