Subversion Repositories eFlore/Applications.cel

Rev

Rev 2 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2 Rev 5
Line 10... Line 10...
10
import com.google.gwt.json.client.JSONParser;
10
import com.google.gwt.json.client.JSONParser;
11
import com.google.gwt.json.client.JSONString;
11
import com.google.gwt.json.client.JSONString;
12
import com.google.gwt.json.client.JSONValue;
12
import com.google.gwt.json.client.JSONValue;
Line 13... Line 13...
13
 
13
 
14
/**
14
/**
-
 
15
 * DAO qui renvoie le nombre d'image associées à différents critères donnés
-
 
16
 * (utile pour la pagination)
15
 * DAO qui renvoie le nombre d'image associées à différents critères donnés (utile pour la pagination)
17
 * 
16
 * @author aurelien
18
 * @author aurelien
17
 *
19
 * 
18
 */
20
 */
Line 19... Line 21...
19
public class NombreImageAsynchroneDAO {
21
public class NombreImageAsynchroneDAO {
20
 
22
 
21
	/**
23
	/**
22
	 * Le modèle associé au DAO
24
	 * Le modèle associé au DAO
23
	 */
25
	 */
24
	private ImageModele iModele = null ;
26
	private ImageModele iModele = null;
25
	
-
 
26
	public NombreImageAsynchroneDAO(ImageModele im)
27
 
27
	{
28
	public NombreImageAsynchroneDAO(ImageModele im) {
28
		iModele = im ;
29
		iModele = im;
29
	}
30
	}
30
	
31
 
-
 
32
	/**
-
 
33
	 * Setteur pour le modèle
31
	/**
34
	 * 
32
	 * Setteur pour le modèle
35
	 * @param im
33
	 * @param im le modèlme à associer
36
	 *            le modèlme à associer
34
	 */
-
 
35
	public void setIModele(ImageModele im)
37
	 */
36
	{
38
	public void setIModele(ImageModele im) {
37
		iModele = im ;
39
		iModele = im;
38
	}
40
	}
39
	
41
 
40
	/**
42
	/**
-
 
43
	 * Envoie une requete au serveur jrest pour obtenir le nombre d'images
-
 
44
	 * correspondant à des critères données en paramètres
41
	 * Envoie une requete au serveur jrest pour obtenir le nombre d'images correspondant
45
	 * 
-
 
46
	 * @param r
42
	 * à des critères données en paramètres
47
	 *            le rafraichissable qui demande la mise à jour
43
	 * @param r le rafraichissable qui demande la mise à jour
48
	 * @param criteres
44
	 * @param criteres un tableau nom/valeur des critères pour les images
49
	 *            un tableau nom/valeur des critères pour les images
45
	 */
-
 
46
	public void obtenirNombreImages(final Rafraichissable r, String[][] criteres)
50
	 */
47
	{
51
	public void obtenirNombreImages(final Rafraichissable r, String[][] criteres) {
48
		String requete = "" ;
52
		String requete = "";
49
			
-
 
50
		if(criteres != null)
53
 
-
 
54
		if (criteres != null) {
51
		{
55
			// on construit les paramètres du get avec les critères
52
			// on construit les paramètres du get avec les critères (&critere1=valeur1&critere2=valeur2 etc...)
56
			// (&critere1=valeur1&critere2=valeur2 etc...)
53
			for (int i = 0; i < criteres.length; i++) {
57
			for (int i = 0; i < criteres.length; i++) {
54
				
-
 
55
				if(!criteres[i][1].equals(""))
58
 
56
				{
-
 
57
					if(i!= 0)
59
				if (!criteres[i][1].equals("")) {
58
					{
60
					if (i != 0) {
59
						requete += "&";
61
						requete += "&";
60
					}
62
					}
61
					requete += criteres[i][0]+"="+criteres[i][1] ;
63
					requete += criteres[i][0] + "=" + criteres[i][1];
62
				}
64
				}
63
			}
65
			}
64
		}
66
		}
65
		
67
 
-
 
68
		// on fait un get asynchrone
-
 
69
		RequestBuilder rb = new RequestBuilder(RequestBuilder.GET, iModele
-
 
70
				.getConfig().getServiceBaseUrl()
-
 
71
				+ "/InventoryImageCount/"
-
 
72
				+ iModele.getIdentifiant()
66
		// on fait un get asynchrone
73
				+ "/"
67
		RequestBuilder rb = new RequestBuilder(RequestBuilder.GET, iModele.getConfig().getServiceBaseUrl()+"/InventoryImageCount/"+iModele.getIdentifiant()+"/"+requete) ;
74
				+ requete);
Line 68... Line 75...
68
		try {
75
		try {
69
			rb.sendRequest(null, new RequestCallback() {
76
			rb.sendRequest(null, new RequestCallback() {
70
 
77
 
71
				public void onError(Request request, Throwable exception) {
78
				public void onError(Request request, Throwable exception) {
Line 72... Line 79...
72
					// TODO Auto-generated method stub
79
					// TODO Auto-generated method stub
-
 
80
 
73
					
81
				}
74
				}
82
 
-
 
83
				public void onResponseReceived(Request request,
75
 
84
						Response response) {
76
				public void onResponseReceived(Request request, Response response) {
85
 
77
					
86
					final JSONValue responseValue = JSONParser.parse(response
78
					final JSONValue responseValue = JSONParser.parse(response.getText());
-
 
79
					
87
							.getText());
-
 
88
 
80
					// si la requete se passe bien on reçoit un tableau JSON
89
					// si la requete se passe bien on reçoit un tableau JSON
81
					if(responseValue.isArray() != null)
90
					if (responseValue.isArray() != null) {
82
					{
91
						// qui contient une valeur : le nombre d'images
-
 
92
						// correspondant au critères
83
						// qui contient une valeur : le nombre d'images correspondant au critères
93
						JSONValue res = responseValue.isArray().get(0);
84
						JSONValue res = responseValue.isArray().get(0) ;
94
						JSONString reponseNombre = res.isString();
-
 
95
						int maxImages = Integer.parseInt(reponseNombre
85
							JSONString reponseNombre = res.isString() ;
96
								.stringValue());
86
							int maxImages = Integer.parseInt(reponseNombre.stringValue()) ;
97
						int[] nbImages = { maxImages };
87
							int[] nbImages = {maxImages} ;
98
						// on le met dans un tableau d'entiers qu'on transmet au
88
							// on le met dans un tableau d'entiers qu'on transmet au demandeur de la mise à jour
99
						// demandeur de la mise à jour
89
							r.rafraichir(nbImages, true) ;
100
						r.rafraichir(nbImages, true);
90
					}
101
					}
91
					
102
 
92
				}
103
				}
93
				
104
 
94
			}) ;
105
			});
95
		} catch (RequestException e) {
106
		} catch (RequestException e) {
96
			// TODO Auto-generated catch block
107
			// TODO Auto-generated catch block
97
			e.printStackTrace();
108
			e.printStackTrace();
98
		}
109
		}