29,7 → 29,6 |
|
|
//TODO : limiter taille du cache ? (si pb performance) |
|
/** |
* Le modèle associé au DAO |
*/ |
45,17 → 44,9 |
|
public ListeReferentielNomAsynchroneDAO(ObservationModele observationModele) |
{ |
|
this.observationModele=observationModele; |
} |
|
|
/** |
* Envoie une requete au serveur jrest pour obtenir les communes correspondant |
* à des critères données en paramètres |
* @param r le rafraichissable qui demande la mise à jour |
* @param criteres un string contenant le terme a rechercher |
*/ |
@Override |
public void obtenirListeDonnees(final Rafraichissable r,final String referentiel, final String critere) |
{ |
71,15 → 62,13 |
} |
|
else { |
|
// On vérifie si un genre et une espèce sont demandées |
// et ajoute le / manuellement car sinon il devient urlencode |
// et ajoute le / manuellement car sinon il devient urlencodé |
String[] criteres =critere.split("/"); |
String urlParams = "/NameSearch/"+referentiel+"/"; |
if(criteres.length > 1) { |
String critere1 = criteres[0]; |
String critere2 = criteres[1]; |
|
urlParams += URL.encode(critere1)+"/"+URL.encode(critere2); |
} else { |
urlParams += URL.encode(critere); |
89,13 → 78,11 |
RequestBuilderWithCredentials rb = new RequestBuilderWithCredentials(RequestBuilderWithCredentials.GET, Configuration.getServiceBaseUrl()+urlParams); |
|
try { |
|
rb.sendRequest(null, new RequestCallback() { |
|
@Override |
public void onError(Request request, Throwable exception) { |
// TODO Auto-generated method stub |
|
} |
|
@Override |
103,12 → 90,9 |
Response response) { |
|
final ListeReferentielNom referentielNomData ; |
|
final JSONValue responseValue = JSONParser.parse(response.getText()); |
|
JSONArray reponse=null; |
|
|
// si c'est un tableau |
if ((reponse=responseValue.isArray()) != null) { |
|
127,7 → 111,6 |
} |
} |
} else { |
|
referentielNomData = new ListeReferentielNom(0) ; |
} |
addToCache(critere, referentielNomData); |
138,9 → 121,7 |
} catch(RequestException e) { |
|
} |
|
} // fin else si pas de cache |
|
} |
|
@Override |