Rev 939 | 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.modeles.VoteDetermination;import org.tela_botanica.del.client.services.rest.async.AjoutVoteDeterminationCallback;import org.tela_botanica.del.client.services.rest.async.ListeVotesDeterminationCallback;import org.tela_botanica.del.client.services.rest.async.PHPCallback.ModeRequete;import com.google.gwt.http.client.RequestBuilder;import com.google.gwt.user.client.Window;public class VoteDeterminationServiceConcret implements VoteDeterminationService {private String baseUrl;public VoteDeterminationServiceConcret() {Config config = new Config();this.baseUrl = config.getServiceBaseUrl();}public VoteDeterminationServiceConcret(Config config) {this.baseUrl = config.getServiceBaseUrl();}@Overridepublic void ajouterVote(VoteDetermination voteDetermination, AjoutVoteDeterminationCallback callback) {String idObservation = voteDetermination.getPropositionDetermination().getObservation().getId();String idProposition = voteDetermination.getPropositionDetermination().getId();//cas de la proposition de détermination crée automatiquement à partir de l'obsif(idProposition == null) {idProposition = "0";}String urlService = baseUrl+"observations/"+idObservation+"/"+idProposition+"/vote/";RequestBuilder rb = new RequestBuilder(RequestBuilder.PUT, urlService);callback.setMode(ModeRequete.AJOUT);String chainePost = assemblerChaineRequeteAjoutModif(voteDetermination);try {rb.sendRequest(chainePost, callback);} catch (Exception e) {//TODO: quoi faire si la requete est mal formée coté client avant d'être envoyée ?}}@Overridepublic void modifierVote(VoteDetermination voteDetermination, AjoutVoteDeterminationCallback callback) {String idObservation = voteDetermination.getPropositionDetermination().getObservation().getId();String idProposition = voteDetermination.getPropositionDetermination().getId();//cas de la proposition de détermination crée automatiquement à partir de l'obsif(idProposition == null) {idProposition = "0";}String urlService = baseUrl+"observations/"+idObservation+"/"+idProposition+"/vote/";RequestBuilder rb = new RequestBuilder(RequestBuilder.POST, urlService);callback.setMode(ModeRequete.MODIFICATION);String chainePost = assemblerChaineRequeteAjoutModif(voteDetermination);try {rb.sendRequest(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(VoteDetermination voteDetermination) {String chaineRequete = "utilisateur="+voteDetermination.getContributeur()+"&"+"valeur="+voteDetermination.getVote();return chaineRequete;}@Overridepublic void consulterVotesPourPropositionDetermination(PropositionDetermination propositionDetermination, ListeVotesDeterminationCallback callback) {String idObservation = propositionDetermination.getObservation().getId();String idProposition = propositionDetermination.getId();//cas de la proposition de détermination crée automatiquement à partir de l'obsif(idProposition == null) {idProposition = "0";}String urlService = baseUrl+"observations/"+idObservation+"/"+idProposition+"/vote/";RequestBuilder rb = new RequestBuilder(RequestBuilder.GET, urlService);callback.setMode(ModeRequete.LECTURE);try {rb.sendRequest(null, callback);} catch (Exception e) {//TODO: quoi faire si la requete est mal formée coté client avant d'être envoyée ?}}}