Subversion Repositories eFlore/Applications.coel

Rev

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

Rev 1292 Rev 1319
Line 3... Line 3...
3
import java.util.HashMap;
3
import java.util.HashMap;
Line 4... Line 4...
4
 
4
 
5
import org.tela_botanica.client.http.JsonRestRequestBuilder;
5
import org.tela_botanica.client.http.JsonRestRequestBuilder;
6
import org.tela_botanica.client.http.JsonRestRequestCallback;
6
import org.tela_botanica.client.http.JsonRestRequestCallback;
-
 
7
import org.tela_botanica.client.interfaces.Rafraichissable;
-
 
8
import org.tela_botanica.client.synchronisation.Reponse;
7
import org.tela_botanica.client.interfaces.Rafraichissable;
9
import org.tela_botanica.client.synchronisation.Sequenceur;
8
import org.tela_botanica.client.util.Debug;
10
import org.tela_botanica.client.util.Debug;
Line 9... Line 11...
9
import org.tela_botanica.client.util.UtilDAO;
11
import org.tela_botanica.client.util.UtilDAO;
10
 
12
 
Line 33... Line 35...
33
	
35
	
34
	public static HashMap<String, Object> getOntologieCache() {
36
	public static HashMap<String, Object> getOntologieCache() {
35
		return ontologieCache;
37
		return ontologieCache;
Line 36... Line 38...
36
	}
38
	}
37
 
39
 
38
	public void chargerListe(boolean nextPage, String type, Integer cle, String abv, String idValeur, boolean pagination, String recherche, int start, int nbElements) {
40
	public void chargerListe(boolean nextPage, String type, Integer cle, String abv, String idValeur, boolean pagination, String recherche, int start, int nbElements, final Integer seqId) {
39
		/** Si nextpage est VRAI, alors cela signifie que la liste est plus grande
41
		/** Si nextpage est VRAI, alors cela signifie que la liste est plus grande
40
		que la limite du JREST et l'on doit relancer une requete pour obtenir
42
		que la limite du JREST et l'on doit relancer une requete pour obtenir
41
		la page suivante **/
43
		la page suivante **/
42
		if (nextPage) {
44
		if (nextPage) {
43
			cptPage++;
45
			cptPage++;
44
			selectionner(type, cle, abv, idValeur, pagination, recherche, cptPage*limiteJREST, limiteJREST);
46
			selectionner(type, cle, abv, idValeur, pagination, recherche, cptPage*limiteJREST, limiteJREST, seqId);
45
		}
47
		}
46
		/** Sinon cela signifie que le chargement de la liste est terminé et on peut
48
		/** Sinon cela signifie que le chargement de la liste est terminé et on peut
47
		la mettre en cache et retourner la réponse au demandeur **/
49
		la mettre en cache et retourner la réponse au demandeur **/
Line 60... Line 62...
60
			// réinitialiser le compteur
62
			// réinitialiser le compteur
61
			cptPage = 0;
63
			cptPage = 0;
Line 62... Line 64...
62
 
64
 
63
			// et on met à jour le demandeur des données			
65
			// et on met à jour le demandeur des données			
-
 
66
			if (ontologieCache.get(id) != null) {
-
 
67
				if (vueARafraichir instanceof Sequenceur)	{
-
 
68
					vueARafraichir = (Sequenceur) vueARafraichir;
-
 
69
					
-
 
70
					Reponse reponse = new Reponse(ontologieCache.get(id), seqId);
-
 
71
					vueARafraichir.rafraichir(reponse);
64
			if (ontologieCache.get(id) != null) {
72
				} else {
-
 
73
					vueARafraichir.rafraichir(ontologieCache.get(id));
65
				vueARafraichir.rafraichir(ontologieCache.get(id));
74
				}
66
			}
75
			}
67
		}
76
		}
Line 68... Line 77...
68
	}
77
	}
69
	
78
	
70
	public void obtenirListe(Integer cle)	{		
79
	public void obtenirListe(Integer cle, Integer seqId)	{		
Line 71... Line 80...
71
		selectionner("id", cle, null, null, false, null, -1, -1);
80
		selectionner("id", cle, null, null, false, null, -1, -1, seqId);
72
	}
81
	}
73
	
82
	
Line 74... Line 83...
74
	public void obtenirListe(String type, String identifiantValeur)	{		
83
	public void obtenirListe(String type, String identifiantValeur, Integer seqId)	{		
75
		selectionner(type, null, null, identifiantValeur, false, null, -1, -1);
84
		selectionner(type, null, null, identifiantValeur, false, null, -1, -1, seqId);
76
	}
85
	}
Line 77... Line 86...
77
	
86
	
78
	public void obtenirListe(Integer cle, boolean pagination, String recherche, int start, int limit)	{
87
	public void obtenirListe(Integer cle, boolean pagination, String recherche, int start, int limit, Integer seqId)	{
79
		selectionner("nom", cle, null, null, pagination, recherche, start, limit);
88
		selectionner("nom", cle, null, null, pagination, recherche, start, limit, seqId);
Line 80... Line 89...
80
	}
89
	}
81
	
-
 
82
	public void selectionner(String type, Integer cle, String abv, String idValeur) {
90
	
83
		selectionner(type, cle, abv, idValeur, false, null, -1, -1);
91
	public void selectionner(String type, Integer cle, String abv, String idValeur, Integer seqId) {
84
	}
92
		selectionner(type, cle, abv, idValeur, false, null, -1, -1, seqId);
85
 
93
	}
Line 120... Line 128...
120
    		rb.envoyerRequete(null, new JsonRestRequestCallback()
128
    		rb.envoyerRequete(null, new JsonRestRequestCallback()
121
    		{
129
    		{
122
    			@Override
130
    			@Override
123
    			public void surReponse(JSONValue responseValue)
131
    			public void surReponse(JSONValue responseValue)
124
    			{	    			
132
    			{	    			
-
 
133
    				if (vueARafraichir instanceof Sequenceur)	{
-
 
134
    					Reponse reponse = new Reponse(responseValue, seqId);
-
 
135
    					vueARafraichir.rafraichir(reponse);
-
 
136
    				} else {
125
    				vueARafraichir.rafraichir(responseValue);
137
    					vueARafraichir.rafraichir(responseValue);
-
 
138
    				}
126
    			}
139
    			}
127
    		});
140
    		});
128
		}
141
		}
129
		else
142
		else
130
		{
143
		{
Line 143... Line 156...
143
			
156
			
144
			// si l'on est pas dans un processus de récupération d'une liste
157
			// si l'on est pas dans un processus de récupération d'une liste
145
			// et si le cache contient déjà la liste recherchée
158
			// et si le cache contient déjà la liste recherchée
146
			if (ontologieCache.containsKey(cleParentPourCache) && !nextPage)
159
			if (ontologieCache.containsKey(cleParentPourCache) && !nextPage)
-
 
160
			{
-
 
161
				//On est à la derniere page, on peu rafraichir
-
 
162
				if (vueARafraichir instanceof Sequenceur)	{
-
 
163
					Reponse reponse = new Reponse(ontologieCache.get(cleParentPourCache), seqId);
-
 
164
					vueARafraichir.rafraichir(reponse);
147
			{
165
				} else {
-
 
166
					vueARafraichir.rafraichir(ontologieCache.get(cleParentPourCache));
148
				vueARafraichir.rafraichir(ontologieCache.get(cleParentPourCache));
167
				}
149
	    	}
168
	    	}
150
			else
169
			else
151
	    	{
170
	    	{
152
	    		final JsonRestRequestBuilder rb = UtilDAO.construireRequete(SERVICE_NOM, parametres, restrictions);
171
	    		final JsonRestRequestBuilder rb = UtilDAO.construireRequete(SERVICE_NOM, parametres, restrictions);
Line 193... Line 212...
193
								else {
212
								else {
194
									ontologieCache.put(identifiantCache,liste);
213
									ontologieCache.put(identifiantCache,liste);
195
								}
214
								}
Line 196... Line 215...
196
 
215
 
197
								/** Appel à la méthode qui gère le retour à l'appelant ou la suite du chargement **/
216
								/** Appel à la méthode qui gère le retour à l'appelant ou la suite du chargement **/
198
								chargerListe(getNextPage.booleanValue(), type, liste.getId(), abv, idValeur, pagination, recherche, start, limit);
217
								chargerListe(getNextPage.booleanValue(), type, liste.getId(), abv, idValeur, pagination, recherche, start, limit, seqId);
199
							}
218
							}
200
	    				}
219
	    				}
201
	    			}
220
	    			}
202
	    		});
221
	    		});