Line 1... |
Line 1... |
1 |
package org.tela_botanica.client.modeles;
|
1 |
package org.tela_botanica.client.modeles;
|
Line 2... |
Line 2... |
2 |
|
2 |
|
Line -... |
Line 3... |
- |
|
3 |
import java.util.HashMap;
|
3 |
import java.util.HashMap;
|
4 |
|
4 |
|
5 |
import org.tela_botanica.client.Mediateur;
|
5 |
import org.tela_botanica.client.http.JsonRestRequestBuilder;
|
6 |
import org.tela_botanica.client.http.JsonRestRequestBuilder;
|
6 |
import org.tela_botanica.client.http.JsonRestRequestCallback;
|
7 |
import org.tela_botanica.client.http.JsonRestRequestCallback;
|
7 |
import org.tela_botanica.client.interfaces.Rafraichissable;
|
8 |
import org.tela_botanica.client.interfaces.Rafraichissable;
|
Line 27... |
Line 28... |
27 |
// FIXME : limiteJREST devrait être récupéré depuis un registre/dictionnaire
|
28 |
// FIXME : limiteJREST devrait être récupéré depuis un registre/dictionnaire
|
28 |
private int limiteJREST = 150;
|
29 |
private int limiteJREST = 150;
|
Line 29... |
Line 30... |
29 |
|
30 |
|
30 |
public ValeurListeAsyncDao(Rafraichissable vueCourante) {
|
31 |
public ValeurListeAsyncDao(Rafraichissable vueCourante) {
|
- |
|
32 |
vueARafraichir = vueCourante;
|
31 |
vueARafraichir = vueCourante;
|
33 |
if (Mediateur.DEBUG) System.out.println("|| ValeurListeAsyncDao > vueARafraichir = "+vueARafraichir.getClass().toString());
|
Line 32... |
Line 34... |
32 |
}
|
34 |
}
|
33 |
|
35 |
|
34 |
public static HashMap<String, Object> getOntologieCache() {
|
36 |
public static HashMap<String, Object> getOntologieCache() {
|
Line 35... |
Line 37... |
35 |
return ontologieCache;
|
37 |
return ontologieCache;
|
36 |
}
|
38 |
}
|
37 |
|
39 |
|
Line 38... |
Line 40... |
38 |
public void obtenirListe(Integer cle, Integer seqId) {
|
40 |
public void obtenirListe(Integer cle, Integer seqId) {
|
39 |
selectionner("id", cle, null, null, false, null, -1, -1, seqId);
|
41 |
selectionner("id", cle, null, null, false, null, -1, -1, seqId);
|
40 |
}
|
42 |
}
|
Line 41... |
Line 43... |
41 |
|
43 |
|
42 |
public void obtenirListe(String type, String identifiantValeur, Integer seqId) {
|
44 |
public void obtenirListe(String type, String identifiantValeur, Integer seqId) {
|
43 |
selectionner(type, null, null, identifiantValeur, false, null, -1, -1, seqId);
|
45 |
selectionner(type, null, null, identifiantValeur, false, null, -1, -1, seqId);
|
Line 44... |
Line 46... |
44 |
}
|
46 |
}
|
45 |
|
47 |
|
Line 85... |
Line 87... |
85 |
* @param 'start' et 'limit' sont les paramètres indispensables à la pagination. 'start'
|
87 |
* @param 'start' et 'limit' sont les paramètres indispensables à la pagination. 'start'
|
86 |
* est le paramètre qui décrit le numéro du tuple de départ et 'limit' le nombre
|
88 |
* est le paramètre qui décrit le numéro du tuple de départ et 'limit' le nombre
|
87 |
* d'éléments à collecter.
|
89 |
* d'éléments à collecter.
|
88 |
*
|
90 |
*
|
89 |
*****************************************************************************************************/
|
91 |
*****************************************************************************************************/
|
90 |
public void selectionner(final String type, final Integer cle, final String abv, final String idValeur, final boolean pagination, final String recherche, final int start, final int limit, final Integer seqId) {
|
92 |
public void selectionner(final String type, final Integer cle, final String abv, final String idValeur, final boolean pagination, final String recherche, final int start, final int limit, final Integer seqId) {
|
91 |
|
- |
|
92 |
/**
|
93 |
/**
|
93 |
* La cleParent en Integer est insuffisante pour les liste valeurs comme Région qui on plusieurs
|
94 |
* La cleParent en Integer est insuffisante pour les liste valeurs comme Région qui on plusieurs
|
94 |
* sections sur leur liste (ex : on ne sélectionne que les régions FR.__ puis les régions ES.__ sur la liste 1078 ....
|
95 |
* sections sur leur liste (ex : on ne sélectionne que les régions FR.__ puis les régions ES.__ sur la liste 1078 ....
|
95 |
**/
|
96 |
**/
|
96 |
final String cleParentPourCache = cle + (abv == null ? "" : abv);
|
97 |
final String cleParentPourCache = cle + (abv == null ? "" : abv);
|
Line 130... |
Line 131... |
130 |
/** ENVOI DE LA REQUETE **/
|
131 |
/** ENVOI DE LA REQUETE **/
|
131 |
rb.envoyerRequete(null, new JsonRestRequestCallback()
|
132 |
rb.envoyerRequete(null, new JsonRestRequestCallback()
|
132 |
{
|
133 |
{
|
133 |
/** RECEPTION DE LA REPONSE **/
|
134 |
/** RECEPTION DE LA REPONSE **/
|
134 |
public void surReponse(JSONValue responseValue)
|
135 |
public void surReponse(JSONValue responseValue)
|
135 |
{
|
136 |
{
|
136 |
if (vueARafraichir instanceof Sequenceur) {
|
137 |
if (vueARafraichir instanceof Sequenceur) {
|
- |
|
138 |
if (Mediateur.DEBUG) System.out.println("<-- ValeurListeAsyncDao > Liste paginée, retour au sequenceur");
|
137 |
Reponse reponse = new Reponse(responseValue, seqId);
|
139 |
Reponse reponse = new Reponse(responseValue, seqId);
|
138 |
vueARafraichir.rafraichir(reponse);
|
140 |
vueARafraichir.rafraichir(reponse);
|
Line 139... |
Line 141... |
139 |
|
141 |
|
140 |
/** Dans le cas d'une liste paginée, vueARafraichir est un objet Proxy.
|
142 |
/** Dans le cas d'une liste paginée, vueARafraichir est un objet Proxy.
|
141 |
* On retourne l'objet JSON au proxy afin que ce soit lui qui le traite **/
|
143 |
* On retourne l'objet JSON au proxy afin que ce soit lui qui le traite **/
|
- |
|
144 |
} else {
|
142 |
} else {
|
145 |
if (Mediateur.DEBUG) System.out.println("<-- ValeurListeAsyncDao > Liste paginée, retour à "+vueARafraichir.getClass().toString());
|
143 |
vueARafraichir.rafraichir(responseValue);
|
146 |
vueARafraichir.rafraichir(responseValue);
|
144 |
}
|
147 |
}
|
145 |
}
|
148 |
}
|
146 |
});
|
149 |
});
|
Line 162... |
Line 165... |
162 |
}
|
165 |
}
|
Line 163... |
Line 166... |
163 |
|
166 |
|
164 |
/** Si l'on est pas dans un processus de récupération d'une liste, alors si le cache contient déjà la liste recherchée **/
|
167 |
/** Si l'on est pas dans un processus de récupération d'une liste, alors si le cache contient déjà la liste recherchée **/
|
Line 165... |
Line 168... |
165 |
if (!nextPage && ontologieCache.containsKey(cleParentPourCache)) {
|
168 |
if (!nextPage && ontologieCache.containsKey(cleParentPourCache)) {
|
- |
|
169 |
|
- |
|
170 |
/** on retourne à la vue la liste contenue dans le cache **/
|
- |
|
171 |
if (vueARafraichir instanceof Sequenceur) {
|
- |
|
172 |
if (Mediateur.DEBUG) System.out.println("<-- ValeurListeAsyncDao > Liste en cache, retour au sequenceur");
|
- |
|
173 |
vueARafraichir = (Sequenceur) vueARafraichir;
|
- |
|
174 |
Reponse reponse = new Reponse(ontologieCache.get(cleParentPourCache), seqId);
|
- |
|
175 |
vueARafraichir.rafraichir(reponse);
|
166 |
|
176 |
} else {
|
- |
|
177 |
System.out.println("<-- ValeurListeAsyncDao > Liste en cache, retour à "+vueARafraichir.getClass().toString());
|
167 |
/** on retourne à la vue la liste contenue dans le cache **/
|
178 |
vueARafraichir.rafraichir(ontologieCache.get(cleParentPourCache));
|
168 |
vueARafraichir.rafraichir(ontologieCache.get(cleParentPourCache));
|
179 |
}
|
169 |
}
|
180 |
}
|
Line 170... |
Line 181... |
170 |
/** Si l'on est en train de récupérer une liste (c-a-d que l'on est en train de charger des blocs de données afin de récupérer totalement une liste) **/
|
181 |
/** Si l'on est en train de récupérer une liste (c-a-d que l'on est en train de charger des blocs de données afin de récupérer totalement une liste) **/
|
Line 269... |
Line 280... |
269 |
cptPage = 0;
|
280 |
cptPage = 0;
|
Line 270... |
Line 281... |
270 |
|
281 |
|
271 |
/** On retourne la liste à la vue **/
|
282 |
/** On retourne la liste à la vue **/
|
272 |
if (ontologieCache.get(id) != null) {
|
283 |
if (ontologieCache.get(id) != null) {
|
- |
|
284 |
if (vueARafraichir instanceof Sequenceur) {
|
273 |
if (vueARafraichir instanceof Sequenceur) {
|
285 |
System.out.println("<-- ValeurListeAsyncDao > Liste en cache, retour au sequenceur");
|
274 |
vueARafraichir = (Sequenceur) vueARafraichir;
|
286 |
vueARafraichir = (Sequenceur) vueARafraichir;
|
275 |
Reponse reponse = new Reponse(ontologieCache.get(id), seqId);
|
287 |
Reponse reponse = new Reponse(ontologieCache.get(id), seqId);
|
276 |
vueARafraichir.rafraichir(reponse);
|
288 |
vueARafraichir.rafraichir(reponse);
|
- |
|
289 |
} else {
|
277 |
} else {
|
290 |
System.out.println("<-- ValeurListeAsyncDao > Liste en cache, retour à "+vueARafraichir.getClass().toString());
|
278 |
vueARafraichir.rafraichir(ontologieCache.get(id));
|
291 |
vueARafraichir.rafraichir(ontologieCache.get(id));
|
279 |
}
|
292 |
}
|
280 |
}
|
293 |
}
|
281 |
}
|
294 |
}
|