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 86... |
Line 88... |
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 132... |
Line 133... |
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 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 {
|
167 |
/** on retourne à la vue la liste contenue dans le cache **/
|
177 |
System.out.println("<-- ValeurListeAsyncDao > Liste en cache, retour à "+vueARafraichir.getClass().toString());
|
- |
|
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) **/
|
171 |
else {
|
182 |
else {
|
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 |
}
|