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,23 → 15,24 |
import com.google.gwt.maps.client.geom.LatLng; |
import com.google.gwt.user.client.Window; |
|
|
|
public class InformationCommuneDAO { |
|
private final String NOM_SERVICE = "CoordSearch"; |
private final String CODE_PAYS = "FR"; |
|
ObservationModele oModele = null; |
Rafraichissable r = null; |
|
public InformationCommuneDAO(ObservationModele m) { |
oModele = m ; |
public InformationCommuneDAO(Rafraichissable r) { |
this.r = r; |
} |
|
public void obtenirCommunePlusProche(final Rafraichissable r, double lng,double lat) { |
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)); |
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() { |
41,37 → 41,70 |
Window.alert(exception.getMessage()); |
} |
|
public void onResponseReceived(Request request, Response response) { |
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()); |
} 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(); |
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("\"", ""); |
|
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)); |
String adresseAppel = Configuration.getServiceBaseUrl() + "/" |
+ NOM_SERVICE + "/*/*/" + URL.encode(valeurCommune) + "/" |
+ URL.encode(codePostal) + "/" |
+ URL.encode(CODE_PAYS); |
RequestBuilder rb = new RequestBuilder(RequestBuilder.GET, adresseAppel); |
|
try { |
rb.sendRequest(null, new RequestCallback() { |
80,35 → 113,46 |
Window.alert(exception.getMessage()); |
} |
|
public void onResponseReceived(Request request, Response response) { |
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()); |
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(); |
JSONArray tableauCommune = resultat.get( |
"postalCodes").isArray(); |
|
if(tableauCommune.get(0) != null) { |
JSONObject objetCommune = tableauCommune.get(0).isObject(); |
JSONObject objetCommune = tableauCommune.get(0) |
.isObject(); |
|
double lng = objetCommune.get("lng").isNumber().doubleValue(); |
double lat = objetCommune.get("lat").isNumber().doubleValue(); |
String nomCommune = objetCommune.get("postalCode").isString().stringValue(); |
Double lng = objetCommune.get("lng").isNumber() |
.doubleValue(); |
Double lat = objetCommune.get("lat").isNumber() |
.doubleValue(); |
String nomCommune = objetCommune.get( |
"placeName").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()); |
} |
} |
} |
|