Rev 2621 | Blame | Compare with Previous | Last modification | View Log | RSS feed
package org.tela_botanica.client.modeles.dao;import org.tela_botanica.client.i18n.Msg;import org.tela_botanica.client.interfaces.Rafraichissable;import org.tela_botanica.client.modeles.objets.Configuration;import org.tela_botanica.client.modeles.objets.Observation;import org.tela_botanica.client.observation.ObservationModele;import org.tela_botanica.client.util.Util;import com.google.gwt.http.client.Request;import org.tela_botanica.client.util.RequestBuilderWithCredentials;import com.google.gwt.http.client.RequestCallback;import com.google.gwt.http.client.RequestException;import com.google.gwt.http.client.Response;import com.google.gwt.http.client.URL;import com.google.gwt.user.client.Window;/*** DAO d'accès a une observation** @author aurelien**/public class ObservationAsynchroneDAO {/*** Le modele associé au DAO*/private ObservationModele oModele = null;public ObservationAsynchroneDAO(ObservationModele obs) {oModele = obs;}/*** Setteur pour le modèle** @param obs* le modèle à associer*/public void setoModele(ObservationModele obs) {oModele = obs;}/*** Envoie requete au serveur pour ajouter une observations** @param motcle* le mots clés à ajouter avec son parent et son identifiant*/public void ajouter(final Rafraichissable r, String utilisateur, final Observation obs) {RequestBuilderWithCredentials rb = new RequestBuilderWithCredentials(RequestBuilderWithCredentials.POST,Configuration.getServiceBaseUrl()+ "/Inventory/") ;rb.setHeader("Content-type", "application/x-www-form-urlencoded");String postData = "ce_utilisateur="+ utilisateur+"&nom_sel="+URL.encodeComponent(obs.getNomSaisi())+"&nom_sel_nn="+obs.getNumeroNomenclaturalSaisi()+"&zone_geo="+URL.encodeComponent(obs.getLocalite())+"&pays="+ (obs.getPays() != null ? obs.getPays() : "")+"&ce_zone_geo="+obs.getIdentifiantLocalite()+"&date_observation=" + obs.getDate()+"&lieudit="+ URL.encodeComponent(obs.getLieudit())+"&station="+URL.encodeComponent(obs.getStation())+"&milieu="+URL.encodeComponent(obs.getMilieu())+"&commentaire="+obs.getCommentaire()+"&latitude="+URL.encodeComponent(""+obs.getLatitude())+"&longitude="+URL.encodeComponent(""+obs.getLongitude())+"&altitude="+URL.encodeComponent(""+obs.getAltitude())+"&abondance="+URL.encodeComponent(""+obs.getAbondance())+"&certitude="+URL.encodeComponent(""+obs.getCertitude())+"&phenologie="+URL.encodeComponent(""+obs.getPhenologie())+"&nom_referentiel="+URL.encodeComponent(""+obs.getCodeCourtReferentielTaxo())+"&obs_etendue="+URL.encodeComponent(""+Util.convertirChampsEtendusEnChaineRequete(obs.getChampsEtendus()));try {rb.sendRequest(postData, new RequestCallback() {@Overridepublic void onError(Request request, Throwable exception) {// TODO Auto-generated method stub}@Overridepublic void onResponseReceived(Request request,Response response) {if(response.getStatusCode() >= 400) {com.google.gwt.user.client.Window.alert(response.getText());}r.rafraichir(obs,true);}}) ;} catch (RequestException e) {}}/*** Envoie requete au serveur pour modifier une observations** @param motcle* le mots clés à ajouter avec son parent et son identifiant*/public void modifier(final Rafraichissable r, String utilisateur, final Observation obs) {RequestBuilderWithCredentials rb = new RequestBuilderWithCredentials(RequestBuilderWithCredentials.POST,Configuration.getServiceBaseUrl()+ "/Inventory/" + utilisateur + "/" + obs.getNumeroOrdre()+ "/") ;rb.setHeader("Content-type", "application/x-www-form-urlencoded");String postData = "ce_utilisateur="+ utilisateur+ "&nom_sel=" + URL.encodeComponent(obs.getNomSaisi())+ "&nom_sel_nn=" + obs.getNumeroNomenclaturalSaisi()+ "&zone_geo=" + URL.encodeComponent(obs.getLocalite())+"&pays="+ (obs.getPays() != null ? obs.getPays() : "")+ "&ce_zone_geo=" + obs.getIdentifiantLocalite()+ "&date_observation=" + obs.getDate()+ "&lieudit="+ URL.encodeComponent(obs.getLieudit())+ "&station="+ URL.encodeComponent(obs.getStation())+"&milieu="+ URL.encodeComponent(obs.getMilieu())+"&commentaire="+obs.getCommentaire()+"&latitude="+URL.encodeComponent(""+obs.getLatitude())+"&longitude="+URL.encodeComponent(""+obs.getLongitude())+"&altitude="+URL.encodeComponent(""+obs.getAltitude())+"&abondance="+URL.encodeComponent(""+obs.getAbondance())+"&certitude="+URL.encodeComponent(""+obs.getCertitude())+"&phenologie="+URL.encodeComponent(""+obs.getPhenologie())+"&nom_referentiel="+URL.encodeComponent(""+obs.getCodeCourtReferentielTaxo())+"&obs_etendue="+URL.encodeComponent(""+Util.convertirChampsEtendusEnChaineRequete(obs.getChampsEtendus()));try {rb.sendRequest(postData, new RequestCallback() {@Overridepublic void onError(Request request, Throwable exception) {// TODO Auto-generated method stub}@Overridepublic void onResponseReceived(Request request,Response response) {if(response.getStatusCode() >= 400) {com.google.gwt.user.client.Window.alert(response.getText());}r.rafraichir(obs,true);}}) ;} catch (RequestException e) {}}public void supprimer(Rafraichissable r, String identifiant, String numeroOrdre) {String postData = "";postData += "&action=DELETE";// on envoie un post avec l'id de l'image à supprimerRequestBuilderWithCredentials rb = new RequestBuilderWithCredentials(RequestBuilderWithCredentials.POST,Configuration.getServiceBaseUrl()+ "/inventory/"+ identifiant+ "/"+ numeroOrdre);try {rb.sendRequest(postData, new RequestCallback() {@Overridepublic void onError(Request request, Throwable exception) {// TODO Auto-generated method stub}@Overridepublic void onResponseReceived(Request request,Response response) {if (response.getText().equals("OK")) {} else {com.google.gwt.user.client.Window.alert(Msg.get("probleme-mise-a-jour-donnees"));return ;}}});r.rafraichir("OK", true) ;} catch (RequestException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}