Rev 1836 | Blame | Compare with Previous | Last modification | View Log | RSS feed
package org.tela_botanica.del.client.services.rest;import org.tela_botanica.del.client.cache.CacheClient;import org.tela_botanica.del.client.config.Config;import org.tela_botanica.del.client.modeles.Commentaire;import org.tela_botanica.del.client.modeles.PropositionDetermination;import org.tela_botanica.del.client.modeles.Utilisateur;import org.tela_botanica.del.client.services.rest.async.AjoutCommentaireCallback;import org.tela_botanica.del.client.services.rest.async.ListeCommentairesCallback;import org.tela_botanica.del.client.services.rest.async.PHPCallback.ModeRequete;import org.tela_botanica.del.client.services.rest.async.SuppressionCommentaireCallback;import org.tela_botanica.del.client.utils.Analytics;import org.tela_botanica.del.client.services.RequestBuilderWithCredentials;import com.google.gwt.http.client.URL;public class CommentaireServiceConcret implements CommentaireService {private String baseUrl;public CommentaireServiceConcret() {Config config = new Config();this.baseUrl = config.getServiceBaseUrl();}public CommentaireServiceConcret(Config config) {this.baseUrl = config.getServiceBaseUrl();}@Overridepublic void ajouterCommentaire(Commentaire commentaire, AjoutCommentaireCallback callback) {String urlService = baseUrl+"commentaires/";RequestBuilderWithCredentials rb = new RequestBuilderWithCredentials(RequestBuilderWithCredentials.PUT, urlService);callback.setMode(ModeRequete.AJOUT);String chainePost = assemblerChaineRequeteAjoutModif(commentaire);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 ?}// statsAnalytics.evenement("commentaire", "ajout", "{\"auteur\": \"" + commentaire.getAuteur() + "\", \"observation\": \"" + commentaire.getObservation().getId() + "\"}");}private String assemblerChaineRequeteAjoutModif(Commentaire commentaire) {String chaineRequete = "";if(commentaire.getObservation() != null && commentaire.getObservation().getId() != null) {chaineRequete += "observation="+URL.encodeQueryString(commentaire.getObservation().getId());}if(commentaire.getContributeur().getId() != null) {chaineRequete += "&auteur.id="+URL.encodeQueryString(commentaire.getContributeur().getId());}if(commentaire.getParent() != null && commentaire.getParent().getId() != null) {chaineRequete += "&id_parent="+URL.encodeQueryString(commentaire.getParent().getId());PropositionDetermination propositionParente = commentaire.getPropositionParenteOuNulle();if(propositionParente != null) {chaineRequete += "&proposition="+URL.encodeQueryString(propositionParente.getId());}}chaineRequete += "&texte="+URL.encodeQueryString(commentaire.getCommentaire())+"&auteur.prenom="+URL.encodeQueryString(commentaire.getContributeur().getPrenom())+"&auteur.nom="+URL.encodeQueryString(commentaire.getContributeur().getNom())+"&auteur.courriel="+URL.encodeQueryString(commentaire.getContributeur().getAdresseEmail());return chaineRequete;}public void chargerCommentaires(PropositionDetermination propositionDetermination, ListeCommentairesCallback commentaireCallback) {String urlService = baseUrl+"commentaires/?proposition="+propositionDetermination.getId();RequestBuilderWithCredentials rb = new RequestBuilderWithCredentials(RequestBuilderWithCredentials.GET, urlService);commentaireCallback.setMode(ModeRequete.LECTURE);try {rb.sendRequest(null, commentaireCallback);} catch (Exception e) {//TODO: quoi faire si la requete est mal formée coté client avant d'être envoyée ?}}@Overridepublic void supprimerCommentaire(Commentaire commentaire, SuppressionCommentaireCallback callback) {String urlService = baseUrl+"commentaires/"+commentaire.getId();RequestBuilderWithCredentials rb = new RequestBuilderWithCredentials(RequestBuilderWithCredentials.DELETE, urlService);callback.setMode(ModeRequete.SUPPRESSION);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 ?}// statsAnalytics.evenement("commentaire", "suppression", "{\"auteur\": \"" + commentaire.getAuteur() + "\", \"observation\": \"" + commentaire.getObservation().getId() + "\"}");}}