Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 64 → Rev 65

/trunk/src/org/tela_botanica/client/modeles/ListeReferentielCommuneAsynchroneDAO.java
15,7 → 15,7
import com.google.gwt.json.client.JSONValue;
 
/**
* DAO la liste des communes
* DAO la liste des communes.
* @author David Delon
*
*/
25,51 → 25,54
/**
* Le modèle associé au DAO
* Le modèle associé au DAO.
*/
private ObservationModele observationModele = null ;
private ObservationModele observationModele = null;
public ListeReferentielCommuneAsynchroneDAO(ObservationModele observationModele)
{
this.observationModele=observationModele;
/**
* Constructeur.
* @param obs : Modele
*/
public ListeReferentielCommuneAsynchroneDAO(final ObservationModele obs) {
this.observationModele = obs;
}
/**
* Envoie une requete au serveur jrest pour obtenir les communes correspondant
* à des critères données en paramètres
* à 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
* @param critere un string contenant le terme a rechercher
*/
public void obtenirListeDonnees(final Rafraichissable r, String critere)
{
public final void obtenirListeDonnees(final Rafraichissable r, final String critere) {
RequestBuilder rb = new RequestBuilder(RequestBuilder.GET,observationModele.getConfig().getServiceBaseUrl()+"/LocationSearch/"+critere) ;
RequestBuilder rb = new RequestBuilder(RequestBuilder.GET, observationModele.getConfig().getServiceBaseUrl() + "/LocationSearch/" + critere);
try {
rb.sendRequest(null, new RequestCallback() {
 
public void onError(Request request, Throwable exception) {
public void onError(final Request request, final Throwable exception) {
// TODO Auto-generated method stub
}
 
public void onResponseReceived(Request request,
Response response) {
public void onResponseReceived(final Request request,
final Response response) {
final ListeReferentielCommune referentielCommuneData ;
final ListeReferentielCommune referentielCommuneData;
final JSONValue responseValue = JSONParser.parse(response.getText());
JSONArray reponse=null;
JSONArray reponse = null;
// si c'est un tableau
if ((reponse=responseValue.isArray()) != null) {
if ((reponse = responseValue.isArray()) != null) {
JSONArray communes;
final int taillemax = reponse.size();
77,34 → 80,35
referentielCommuneData = new ListeReferentielCommune(taillemax);
for (int i = 0; i < taillemax; i++) {
if ((communes=reponse.get(i).isArray()) != null) {
if ((communes = reponse.get(i).isArray()) != null) {
String commune=((JSONString) communes.get(0)).stringValue();
String departement=((JSONString) communes.get(1)).stringValue();
String commune = ((JSONString) communes.get(0)).stringValue();
String departement = ((JSONString) communes.get(1)).stringValue();
ReferentielCommune com=new ReferentielCommune(commune, departement);
ReferentielCommune com = new ReferentielCommune(commune, departement);
referentielCommuneData.put(com.getCommune()+com.getDepartement(),com);
referentielCommuneData.put(com.getCommune() + com.getDepartement(), com);
}
}
} else {
referentielCommuneData = new ListeReferentielCommune(0) ;
referentielCommuneData = new ListeReferentielCommune(0);
}
// dans tous les cas on transmet la liste crée au rafraichissable en lui demandant de répandre les données car il est
// le premier à les recevoir
r.rafraichir(referentielCommuneData,true);
// le premier à les recevoir
r.rafraichir(referentielCommuneData, true);
}
}) ;
});
} catch (RequestException e) {
e.printStackTrace() ;
e.printStackTrace();
}
}