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