Subversion Repositories eFlore/Applications.cel

Rev

Rev 1293 | 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
 
8
import com.google.gwt.http.client.Request;
9
import com.google.gwt.http.client.RequestBuilder;
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 ListeDateImageAsynchroneDAO {
18
 
19
	/**
20
	 * Le modèle associé au DAO.
21
	 */
22
	private ImageModele imageModele = null;
23
 
24
 
25
	/**
26
	 *  Constructeur.
27
	 * @param obs : Modele
28
	 */
29
 
30
	public ListeDateImageAsynchroneDAO(final ImageModele obs) {
31
		this.imageModele = 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
 
47
		RequestBuilder rb = new RequestBuilder(RequestBuilder.GET, Configuration.getServiceBaseUrl() + "/ImageDateList/" + utilisateur);
48
 
49
 
50
		try {
51
 
52
			rb.sendRequest(null, new RequestCallback() {
53
 
1293 aurelien 54
				@Override
640 aurelien 55
				public void onError(final Request request, final Throwable exception) {
1293 aurelien 56
					// TODO Auto-generated method stub
640 aurelien 57
				}
58
 
1293 aurelien 59
				@Override
640 aurelien 60
				public void onResponseReceived(final Request request,
61
						final Response response) {
62
 
1293 aurelien 63
					final ListeDate lDateObs;
64
					final JSONValue responseValue = JSONParser.parse(response.getText());
640 aurelien 65
					JSONArray reponse = responseValue.isArray();
66
 
67
					// si c'est un tableau
1293 aurelien 68
					lDateObs = (reponse) != null ? new ListeDate(reponse) : new ListeDate(0);
640 aurelien 69
					// dans tous les cas on transmet la liste crée au rafraichissable en lui demandant de répandre les données car il est
70
					// le premier à les recevoir
71
					r.rafraichir(lDateObs, true);
72
				}
73
 
74
			});
75
 
76
		} catch (RequestException e) {
77
 
78
			e.printStackTrace();
79
		}
80
 
81
	}
82
 
83
}
84