Subversion Repositories eFlore/Applications.cel

Rev

Details | 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;
1918 aurelien 9
import org.tela_botanica.client.util.RequestBuilderWithCredentials;
640 aurelien 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
	public final void obtenirListeDate(final Rafraichissable r, final String utilisateur) {
35
 
2566 aurelien 36
		RequestBuilderWithCredentials rb = new RequestBuilderWithCredentials(RequestBuilderWithCredentials.GET, Configuration.getServiceBaseUrl() + "/ImageDateList/" + utilisateur);
640 aurelien 37
 
38
		try {
39
 
40
			rb.sendRequest(null, new RequestCallback() {
41
 
1293 aurelien 42
				@Override
640 aurelien 43
				public void onError(final Request request, final Throwable exception) {
1293 aurelien 44
					// TODO Auto-generated method stub
640 aurelien 45
				}
46
 
1293 aurelien 47
				@Override
640 aurelien 48
				public void onResponseReceived(final Request request,
49
						final Response response) {
50
 
1293 aurelien 51
					final ListeDate lDateObs;
52
					final JSONValue responseValue = JSONParser.parse(response.getText());
640 aurelien 53
					JSONArray reponse = responseValue.isArray();
54
 
55
					// si c'est un tableau
1293 aurelien 56
					lDateObs = (reponse) != null ? new ListeDate(reponse) : new ListeDate(0);
640 aurelien 57
					// dans tous les cas on transmet la liste crée au rafraichissable en lui demandant de répandre les données car il est
58
					// le premier à les recevoir
59
					r.rafraichir(lDateObs, true);
60
				}
61
 
62
			});
63
 
64
		} catch (RequestException e) {
65
 
66
			e.printStackTrace();
67
		}
68
 
69
	}
70
 
2566 aurelien 71
}