Subversion Repositories eFlore/Applications.cel

Rev

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