Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 252 → Rev 253

/trunk/src/org/tela_botanica/client/modeles/InformationCommuneDAO.java
1,7 → 1,6
package org.tela_botanica.client.modeles;
 
import org.tela_botanica.client.interfaces.Rafraichissable;
import org.tela_botanica.client.observation.ObservationModele;
 
import com.google.gwt.http.client.Request;
import com.google.gwt.http.client.RequestBuilder;
16,99 → 15,144
import com.google.gwt.maps.client.geom.LatLng;
import com.google.gwt.user.client.Window;
 
public class InformationCommuneDAO {
 
 
public class InformationCommuneDAO {
private final String NOM_SERVICE = "CoordSearch";
private final String CODE_PAYS = "FR";
ObservationModele oModele = null;
public InformationCommuneDAO(ObservationModele m) {
oModele = m ;
 
Rafraichissable r = null;
 
public InformationCommuneDAO(Rafraichissable r) {
this.r = r;
}
 
public void obtenirCommunePlusProche(final Rafraichissable r, double lng,double lat) {
String adresseAppel = Configuration.getServiceBaseUrl()+"/"+NOM_SERVICE+"/"+URL.encode(""+lat)+"/"+URL.encode(""+lng)+"/*/*/";
RequestBuilder rb = new RequestBuilder(RequestBuilder.GET,URL.encode(adresseAppel));
public void obtenirCommunePlusProche(final Rafraichissable r, double lng,
double lat) {
 
String adresseAppel = Configuration.getServiceBaseUrl() + "/"
+ NOM_SERVICE + "/" + URL.encode("" + lat) + "/"
+ URL.encode("" + lng) + "/*/*/";
RequestBuilder rb = new RequestBuilder(RequestBuilder.GET, adresseAppel);
 
try {
rb.sendRequest(null, new RequestCallback() {
public void onError(Request request, Throwable exception) {
rb.sendRequest(null, new RequestCallback() {
 
public void onError(Request request, Throwable exception) {
Window.alert(exception.getMessage());
}
public void onResponseReceived(Request request, Response response) {
if(response.getStatusCode() == Response.SC_BAD_REQUEST) {
 
public void onResponseReceived(Request request,
Response response) {
 
if (response.getStatusCode() == Response.SC_BAD_REQUEST) {
Window.alert("Requete mal formée");
}
else {
final JSONValue responseValue = JSONParser.parse(response.getText());
if(responseValue.isObject() != null) {
JSONObject resultat = responseValue.isObject() ;
JSONArray tableauCommune = resultat.get("geonames").isArray();
JSONObject objetCommune = tableauCommune.get(0).isObject();
} else {
final JSONValue responseValue = JSONParser
.parse(response.getText());
 
if (responseValue.isObject() != null) {
JSONObject resultat = responseValue.isObject();
JSONArray tableauCommune = resultat.get("geonames")
.isArray();
JSONObject objetCommune = tableauCommune.get(0)
.isObject();
 
/*String valeurCommune = objetCommune.get("name")
.isString().stringValue();
r.rafraichir(valeurCommune, false);*/
String valeurCommune = objetCommune.get("name").isString().stringValue();
r.rafraichir(valeurCommune, false);
String pays = objetCommune.get("countryName").isString()
.stringValue();
if(!pays.equals("France")){
r.rafraichir("Aucune commune française n'a été trouvée à cet emplacement", false);
return;
}
Double lng = objetCommune.get("lng").isNumber()
.doubleValue();
Double lat = objetCommune.get("lat").isNumber()
.doubleValue();
String nomCommune = objetCommune.get(
"name").isString().stringValue();
String idLocalite = objetCommune.get(
"adminCode2").isString().stringValue();
Object[] infos = { lat, lng, idLocalite, nomCommune};
r.rafraichir(infos, false);
}
}
}
}
});
}
catch (RequestException e) {
} catch (RequestException e) {
Window.alert(e.getMessage());
}
}
 
public void obtenirInfosCommune(final Rafraichissable r,
String valeurCommune, String codePostal) {
codePostal = codePostal.replaceAll("000null", "*");
codePostal = codePostal.replaceAll("\"", "");
valeurCommune = valeurCommune.replaceAll("000null", "*");
valeurCommune = valeurCommune.replaceAll("\"", "");
String adresseAppel = Configuration.getServiceBaseUrl() + "/"
+ NOM_SERVICE + "/*/*/" + URL.encode(valeurCommune) + "/"
+ URL.encode(codePostal) + "/"
+ URL.encode(CODE_PAYS);
RequestBuilder rb = new RequestBuilder(RequestBuilder.GET, adresseAppel);
 
public void obtenirInfosCommune(final Rafraichissable r, String valeurCommune) {
 
String adresseAppel = Configuration.getServiceBaseUrl()+"/"+NOM_SERVICE+"/*/*/"+URL.encode(valeurCommune)+"/"+CODE_PAYS;
RequestBuilder rb = new RequestBuilder(RequestBuilder.GET,URL.encode(adresseAppel));
 
try {
rb.sendRequest(null, new RequestCallback() {
 
public void onError(Request request, Throwable exception) {
Window.alert(exception.getMessage());
Window.alert(exception.getMessage());
}
public void onResponseReceived(Request request, Response response) {
if(response.getStatusCode() == Response.SC_BAD_REQUEST) {
Window.alert("Requete mal formée");
}
else {
final JSONValue responseValue = JSONParser.parse(response.getText());
if(responseValue.isObject() != null) {
JSONObject resultat = responseValue.isObject() ;
JSONArray tableauCommune = resultat.get("postalCodes").isArray();
if(tableauCommune.get(0) != null) {
JSONObject objetCommune = tableauCommune.get(0).isObject();
 
public void onResponseReceived(Request request,
Response response) {
 
if (response.getStatusCode() == Response.SC_BAD_REQUEST) {
r.rafraichir("Impossible de géolocaliser cette observation", false);
} else {
final JSONValue responseValue = JSONParser
.parse(response.getText());
 
if (responseValue.isObject() != null) {
 
JSONObject resultat = responseValue.isObject();
JSONArray tableauCommune = resultat.get(
"postalCodes").isArray();
 
if (tableauCommune.get(0) != null) {
JSONObject objetCommune = tableauCommune.get(0)
.isObject();
 
Double lng = objetCommune.get("lng").isNumber()
.doubleValue();
Double lat = objetCommune.get("lat").isNumber()
.doubleValue();
String nomCommune = objetCommune.get(
"placeName").isString().stringValue();
double lng = objetCommune.get("lng").isNumber().doubleValue();
double lat = objetCommune.get("lat").isNumber().doubleValue();
String nomCommune = objetCommune.get("postalCode").isString().stringValue();
r.rafraichir(nomCommune, false);
String idLocalite = objetCommune.get(
"adminCode2").isString().stringValue();
 
Object[] infos = { lat, lng, idLocalite, nomCommune};
 
 
r.rafraichir(infos, false);
}
}
}
}
}
});
}
catch (RequestException e) {
} catch (RequestException e) {
Window.alert(e.getMessage());
}
}
}