Subversion Repositories eFlore/Applications.del

Rev

Rev 869 | Rev 890 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

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