Rev 1470 | Blame | Compare with Previous | Last modification | View Log | RSS feed
package org.tela_botanica.del.client.services.rest;import java.util.HashMap;import java.util.Iterator;import org.tela_botanica.del.client.config.Config;import org.tela_botanica.del.client.modeles.Utilisateur;import org.tela_botanica.del.client.services.rest.async.ListePreferencesCallback;import org.tela_botanica.del.client.services.rest.async.ModificationPreferencesCallback;import org.tela_botanica.del.client.services.rest.async.PHPCallback.ModeRequete;import org.tela_botanica.del.client.services.RequestBuilderWithCredentials;import com.google.gwt.user.client.Window;public class PreferencesServiceConcret implements PreferencesService {private String baseUrl;public PreferencesServiceConcret() {this(new Config());}public PreferencesServiceConcret(Config config) {this.baseUrl = config.getUrl("serviceUtilisateursBaseUrl");}@Overridepublic void modifierPreferences(Utilisateur utilisateur, HashMap<String, String> preferences, ModificationPreferencesCallback callback) {String idUtilisateur = utilisateur.getId();String urlService = baseUrl+"utilisateurs/"+idUtilisateur+"/preferences/";RequestBuilderWithCredentials rb = new RequestBuilderWithCredentials(RequestBuilderWithCredentials.POST, urlService);callback.setMode(ModeRequete.MODIFICATION);String chainePost = assemblerRequeteModification(preferences);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 assemblerRequeteModification(HashMap<String, String> preferences) {String chaine = "";Iterator<String> it = preferences.keySet().iterator();while (it.hasNext()) {String cle = it.next();if(!chaine.equals("")) {chaine += "&";}chaine += cle+"="+preferences.get(cle);}return chaine;}@Overridepublic void chargerPreferences(Utilisateur utilisateur,ListePreferencesCallback callback) {String idUtilisateur = utilisateur.getId();String urlService = baseUrl+"utilisateurs/"+idUtilisateur+"/preferences/";RequestBuilderWithCredentials rb = new RequestBuilderWithCredentials(RequestBuilderWithCredentials.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 ?}}}