Subversion Repositories eFlore/Applications.cel

Rev

Rev 989 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

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