Rev 898 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
package org.tela_botanica.del.client.services.rest;import org.tela_botanica.del.client.config.Config;import org.tela_botanica.del.client.modeles.PropositionDetermination;import org.tela_botanica.del.client.services.rest.async.PropositionDeterminationCallBack;import org.tela_botanica.del.client.services.rest.async.PropositionDeterminationCallBack.ModeRequete;import com.google.gwt.http.client.RequestBuilder;import com.google.gwt.http.client.URL;public class PropositionDeterminationServiceConcret implementsPropositionDeterminationService {private String baseUrl;public PropositionDeterminationServiceConcret() {Config config = new Config();this.baseUrl = config.getServiceBaseUrl();}public PropositionDeterminationServiceConcret(Config config) {this.baseUrl = config.getServiceBaseUrl();}@Overridepublic void ajouterProposition(PropositionDetermination proposition, PropositionDeterminationCallBack callback) {String urlService = baseUrl+"commentaires/";RequestBuilder rb = new RequestBuilder(RequestBuilder.PUT, urlService);callback.setMode(ModeRequete.AJOUT);String chainePost = assemblerChaineRequeteAjoutModif(proposition);try {// TODO urlencoder toutes les requetes;rb.sendRequest(URL.encode(chainePost), callback);} catch (Exception e) {//TODO: quoi faire si la requete est mal formée coté client avant d'être envoyée ?}}private String assemblerChaineRequeteAjoutModif(PropositionDetermination proposition) {String chaineRequete = "";//TODO: tests sur les num nn et nt et la famille quand ils seront implémentéschaineRequete += "nom_sel="+proposition.getEspece()+"&auteur.prenom="+proposition.getContributeur().getPrenom()+"&auteur.nom="+proposition.getContributeur().getNom()+"&auteur.courriel="+proposition.getContributeur().getAdresseEmail();if(proposition.getObservation() != null && proposition.getObservation().getId() != null) {chaineRequete += "&observation="+proposition.getObservation().getId();}if(proposition.getContributeur().getId() != null) {chaineRequete += "&auteur.id="+proposition.getContributeur().getId();}if(proposition.getParent() != null && proposition.getParent().getId() != null) {chaineRequete += "&id_parent="+proposition.getParent().getId();PropositionDetermination propositionParente = proposition.getPropositionParenteOuNulle();if(propositionParente != null) {chaineRequete += "&proposition="+proposition.getPropositionParenteOuNulle();}}//TODO prise en compte du texte qui pourrait être saisi avec le commentairereturn chaineRequete;}}