Subversion Repositories eFlore/Applications.del

Rev

Rev 840 | Rev 869 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
836 aurelien 1
package org.tela_botanica.del.client.services.rest;
2
 
3
import org.tela_botanica.del.client.config.Config;
4
import org.tela_botanica.del.client.modeles.VoteDetermination;
5
import org.tela_botanica.del.client.services.rest.async.VoteDeterminationCallBack;
6
import org.tela_botanica.del.client.services.rest.async.VoteDeterminationCallBack.ModeRequete;
7
 
8
import com.google.gwt.http.client.RequestBuilder;
9
 
10
public class VoteDeterminationServiceConcret implements VoteDeterminationService {
11
 
12
	private String baseUrl;
13
 
14
	public VoteDeterminationServiceConcret() {
15
		Config config = new Config();
16
		this.baseUrl = config.getServiceBaseUrl();
17
	}
18
 
19
	public VoteDeterminationServiceConcret(Config config) {
20
		this.baseUrl = config.getServiceBaseUrl();
21
	}
22
 
23
	@Override
24
	public void ajouterVote(VoteDetermination voteDetermination, VoteDeterminationCallBack callback) {
25
		String idObservation = voteDetermination.getPropositionDetermination().getObservation().getId();
26
		String idProposition = voteDetermination.getPropositionDetermination().getId();
27
 
28
		String urlService = baseUrl+"observations/"+idObservation+"/"+idProposition+"/vote/";
29
		RequestBuilder rb = new RequestBuilder(RequestBuilder.PUT, urlService);
30
 
852 aurelien 31
		callback.setMode(ModeRequete.AJOUT);
836 aurelien 32
		String chainePost = assemblerChaineRequeteAjoutModif(voteDetermination);
33
		try {
34
			rb.sendRequest(chainePost, callback);
35
		} catch (Exception e) {
36
			//TODO: quoi faire si la requete est mal formée coté client avant d'être envoyée ?
852 aurelien 37
		}
836 aurelien 38
	}
39
 
40
	@Override
41
	public void modifierVote(VoteDetermination voteDetermination, VoteDeterminationCallBack callback) {
42
		String idObservation = voteDetermination.getPropositionDetermination().getObservation().getId();
43
		String idProposition = voteDetermination.getPropositionDetermination().getId();
44
 
45
		String urlService = baseUrl+"observations/"+idObservation+"/"+idProposition+"/vote/";
46
		RequestBuilder rb = new RequestBuilder(RequestBuilder.POST, urlService);
47
 
852 aurelien 48
		callback.setMode(ModeRequete.MODIFICATION);
836 aurelien 49
		String chainePost = assemblerChaineRequeteAjoutModif(voteDetermination);
50
		try {
51
			rb.sendRequest(chainePost, callback);
52
		} catch (Exception e) {
53
			//TODO: quoi faire si la requete est mal formée coté client avant d'être envoyée ?
852 aurelien 54
		}
836 aurelien 55
	}
56
 
57
	private String assemblerChaineRequeteAjoutModif(VoteDetermination voteDetermination) {
58
		String chaineRequete = "utilisateur="+voteDetermination.getContributeur()+"&"+
59
								"valeur="+voteDetermination.getVote();
60
		return chaineRequete;
61
	}
62
}