Subversion Repositories eFlore/Applications.cel

Rev

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

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