Subversion Repositories eFlore/Applications.coel

Rev

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

Rev 299 Rev 303
1
package org.tela_botanica.client.modeles;
1
package org.tela_botanica.client.modeles;
2
 
-
 
3
import org.tela_botanica.client.RegistreId;
2
 
4
import org.tela_botanica.client.interfaces.Rafraichissable;
3
import org.tela_botanica.client.interfaces.Rafraichissable;
5
import org.tela_botanica.client.util.UtilDAO;
4
import org.tela_botanica.client.util.UtilDAO;
6
 
5
 
7
import com.google.gwt.http.client.Request;
6
import com.google.gwt.http.client.Request;
8
import com.google.gwt.http.client.RequestBuilder;
7
import com.google.gwt.http.client.RequestBuilder;
9
import com.google.gwt.http.client.RequestCallback;
8
import com.google.gwt.http.client.RequestCallback;
10
import com.google.gwt.http.client.RequestException;
9
import com.google.gwt.http.client.RequestException;
11
import com.google.gwt.http.client.Response;
10
import com.google.gwt.http.client.Response;
12
import com.google.gwt.json.client.JSONArray;
11
import com.google.gwt.json.client.JSONArray;
13
import com.google.gwt.json.client.JSONObject;
12
import com.google.gwt.json.client.JSONObject;
14
import com.google.gwt.json.client.JSONParser;
13
import com.google.gwt.json.client.JSONParser;
15
import com.google.gwt.json.client.JSONString;
14
import com.google.gwt.json.client.JSONString;
16
import com.google.gwt.json.client.JSONValue;
15
import com.google.gwt.json.client.JSONValue;
17
 
16
 
18
public class ValeurListeAsyncDao {
17
public class ValeurListeAsyncDao {
19
	private static final String SERVICE_NOM = "CoelValeurListe";
18
	private static final String SERVICE_NOM = "CoelValeurListe";
20
	
19
	
21
	private Rafraichissable vue = null;
20
	private Rafraichissable vue = null;
22
	
21
	
23
	public ValeurListeAsyncDao() {
22
	public ValeurListeAsyncDao() {
24
		// TODO Auto-generated constructor stub
23
		// TODO Auto-generated constructor stub
25
	}
24
	}
26
	
25
	
27
	public ValeurListeAsyncDao(Rafraichissable vueARafraichir) {
26
	public ValeurListeAsyncDao(Rafraichissable vueARafraichir) {
28
		vue = vueARafraichir;
27
		vue = vueARafraichir;
29
	}
28
	}
30
	
29
	
31
	public void obtenirListe(Integer cle)	{
30
	public void obtenirListe(Integer cle)	{
32
		selectionner("id", cle, "*");
31
		selectionner("id", cle, "*", "*");
33
	}
32
	}
34
	
33
	
35
	public void selectionner(String type, Integer cle, String abv) {
-
 
36
		// Demande de toutes les structures
-
 
37
    	//String url = ((Configuration) Registry.get(RegistreId.CONFIG)).getServiceBaseUrl();
34
	public void selectionner(String type, Integer cleParent, String abv, String idValeur) {
38
    	
35
    	
39
    	// Ajout des paramètres et données à selectionner dans l'URL
36
    	// Ajout des paramètres et données à selectionner dans l'URL
-
 
37
		String[] parametres = new String[4];
-
 
38
		parametres[0] = type;
40
		String[] parametres = new String[3];
39
		parametres[1] = cleParent.toString();
41
		parametres[0] = type;
-
 
42
		
-
 
43
    	if (type.equals("id"))	{
40
		parametres[2] = "*";
44
    		parametres[1] = cle.toString();
-
 
45
    	} else {
41
		
-
 
42
    	if (!type.equals("id"))	{
-
 
43
    		parametres[2] = abv;
-
 
44
    	}
-
 
45
    	
46
    		parametres[1] = abv;
46
    	parametres[3] = idValeur;
47
    		parametres[2] = cle.toString();
-
 
48
    	}
-
 
49
    	
-
 
50
    	RequestBuilder rb = UtilDAO.construireRequete(SERVICE_NOM, parametres);
47
    	
51
		
48
    	
52
    	//RequestBuilder rb = new RequestBuilder(RequestBuilder.GET, url);
49
    	
53
		//GWT.log(url, null);
50
    	RequestBuilder rb = UtilDAO.construireRequete(SERVICE_NOM, parametres);
54
		try {
51
		try {
55
			rb.sendRequest(null, new RequestCallback() {
52
			rb.sendRequest(null, new RequestCallback() {
56
 
53
 
57
				public void onError(Request request, Throwable exception) {
54
				public void onError(Request request, Throwable exception) {
58
					// TODO Auto-generated method stub
55
					// TODO Auto-generated method stub
59
 
56
 
60
				}
57
				}
61
 
58
 
62
				public void onResponseReceived(Request request, Response response) {
59
				public void onResponseReceived(Request request, Response response) {
63
					
60
					
64
					final JSONValue responseValue = JSONParser.parse(response.getText());
61
					final JSONValue responseValue = JSONParser.parse(response.getText());
65
 
62
 
66
					// Si la requête est un succès, reception d'un tableau
63
					// Si la requête est un succès, reception d'un tableau
67
					if (responseValue.isObject() != null) {
64
					if (responseValue.isObject() != null) {
-
 
65
						
68
						try {
66
						try {
69
							final JSONObject reponse = responseValue.isObject();
67
							final JSONObject reponse = responseValue.isObject();
70
							JSONString listeId = reponse.get("id").isString();
68
							JSONString listeId = reponse.get("id").isString();
71
							JSONArray listeValeurs = reponse.get("valeurs").isArray();
69
							JSONArray listeValeurs = reponse.get("valeurs").isArray();
-
 
70
							if (listeId != null)	{
72
							// Transformation du tableau JSON réponse en Liste
71
								// Transformation du tableau JSON réponse en Liste
73
							ValeurListe liste = new ValeurListe(listeId, listeValeurs);
72
								ValeurListe liste = new ValeurListe(listeId, listeValeurs);
74
							// et on met à jour le demandeur des données
73
								// et on met à jour le demandeur des données
75
							vue.rafraichir(liste);
74
								vue.rafraichir(liste);
-
 
75
							}
76
						} catch (NullPointerException e) {
76
						} catch (NullPointerException e) {
77
							e.printStackTrace();
77
							e.printStackTrace();
78
						}
78
						}
79
					}
79
					}
80
 
80
 
81
				}
81
				}
82
			});
82
			});
83
		} catch (RequestException e) {
83
		} catch (RequestException e) {
84
			e.printStackTrace();
84
			e.printStackTrace();
85
		}
85
		}
86
	}
86
	}
87
	
87
	
88
	
88
	
89
}
89
}