Subversion Repositories eFlore/Applications.cel

Rev

Rev 145 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

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