Subversion Repositories eFlore/Applications.del

Rev

Rev 1496 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1496 Rev 2109
1
package org.tela_botanica.del.client.services.rest;
1
package org.tela_botanica.del.client.services.rest;
2
 
2
 
3
import java.util.List;
3
import java.util.List;
4
 
4
 
5
import org.tela_botanica.del.client.config.Config;
5
import org.tela_botanica.del.client.config.Config;
6
import org.tela_botanica.del.client.modeles.VoteProtocole;
6
import org.tela_botanica.del.client.modeles.VoteProtocole;
7
import org.tela_botanica.del.client.services.rest.async.AjoutVoteProtocoleCallback;
7
import org.tela_botanica.del.client.services.rest.async.AjoutVoteProtocoleCallback;
8
import org.tela_botanica.del.client.services.rest.async.PHPCallback.ModeRequete;
8
import org.tela_botanica.del.client.services.rest.async.PHPCallback.ModeRequete;
-
 
9
import org.tela_botanica.del.client.utils.Analytics;
9
import org.tela_botanica.del.client.services.rest.async.VoteProtocoleCallback;
10
import org.tela_botanica.del.client.services.rest.async.VoteProtocoleCallback;
10
 
11
 
11
import org.tela_botanica.del.client.services.RequestBuilderWithCredentials;
12
import org.tela_botanica.del.client.services.RequestBuilderWithCredentials;
12
 
13
 
13
public class VoteProtocoleServiceConcret implements VoteProtocoleService {
14
public class VoteProtocoleServiceConcret implements VoteProtocoleService {
14
 
15
 
15
	private String baseUrl;
16
	private String baseUrl;
16
 
17
 
17
	public VoteProtocoleServiceConcret() {
18
	public VoteProtocoleServiceConcret() {
18
		Config config = new Config();
19
		Config config = new Config();
19
		this.baseUrl = config.getServiceBaseUrl();
20
		this.baseUrl = config.getServiceBaseUrl();
20
	}
21
	}
21
	
22
	
22
	public VoteProtocoleServiceConcret(Config config) {
23
	public VoteProtocoleServiceConcret(Config config) {
23
		this.baseUrl = config.getServiceBaseUrl();
24
		this.baseUrl = config.getServiceBaseUrl();
24
	}
25
	}
25
	
26
	
26
	@Override
27
	@Override
27
	public List<VoteProtocole> getVote(String idImage) {
28
	public List<VoteProtocole> getVote(String idImage) {
28
		// TODO Auto-generated method stub
29
		// TODO Auto-generated method stub
29
		return null;
30
		return null;
30
	}
31
	}
31
 
32
 
32
	@Override
33
	@Override
33
	public List<VoteProtocole> getVotePourImageEtProtocole(String idImage,
34
	public List<VoteProtocole> getVotePourImageEtProtocole(String idImage,
34
			String protocolName) {
35
			String protocolName) {
35
		// TODO Auto-generated method stub
36
		// TODO Auto-generated method stub
36
		return null;
37
		return null;
37
	}
38
	}
38
 
39
 
39
	@Override
40
	@Override
40
	public void ajouterVote(String idImage, VoteProtocole voteProtocole, AjoutVoteProtocoleCallback callback) {
41
	public void ajouterVote(String idImage, VoteProtocole voteProtocole, AjoutVoteProtocoleCallback callback) {
41
		RequestBuilderWithCredentials rb = new RequestBuilderWithCredentials(RequestBuilderWithCredentials.PUT, baseUrl+"images/"+idImage+"/votes/");
42
		RequestBuilderWithCredentials rb = new RequestBuilderWithCredentials(RequestBuilderWithCredentials.PUT, baseUrl+"images/"+idImage+"/votes/");
42
		callback.setMode(ModeRequete.AJOUT);
43
		callback.setMode(ModeRequete.AJOUT);
43
		String chainePost = assemblerChaineRequeteAjoutModif(voteProtocole);
44
		String chainePost = assemblerChaineRequeteAjoutModif(voteProtocole);
44
		try {
45
		try {
45
			rb.sendRequest(chainePost, callback);
46
			rb.sendRequest(chainePost, callback);
46
		} catch (Exception e) {
47
		} catch (Exception e) {
47
			//TODO: quoi faire si la requete est mal formée coté client avant d'être envoyée ?
48
			//TODO: quoi faire si la requete est mal formée coté client avant d'être envoyée ?
48
		}
49
		}
-
 
50
		// stats
-
 
51
		Analytics.evenement("vote", "ajout", "{\"valeur\": \"" + voteProtocole.getVote() + "\", \"auteur\": \"" + voteProtocole.getAuteur() + "\", \"id_image\": \"" + idImage + "\"}");
49
	}
52
	}
50
 
53
 
51
	private String assemblerChaineRequeteAjoutModif(VoteProtocole voteProtocole) {
54
	private String assemblerChaineRequeteAjoutModif(VoteProtocole voteProtocole) {
52
		String chaineRequete = "utilisateur="+voteProtocole.getContributeur()+"&"+
55
		String chaineRequete = "utilisateur="+voteProtocole.getContributeur()+"&"+
53
								"protocole="+voteProtocole.getIdProtocole()+"&"+
56
								"protocole="+voteProtocole.getIdProtocole()+"&"+
54
								"valeur="+voteProtocole.getVote();
57
								"valeur="+voteProtocole.getVote();
55
		return chaineRequete;
58
		return chaineRequete;
56
	}
59
	}
57
	
60
	
58
	@Override
61
	@Override
59
	public void modifierVote(String idImage, VoteProtocole voteProtocole, VoteProtocoleCallback callback) {
62
	public void modifierVote(String idImage, VoteProtocole voteProtocole, VoteProtocoleCallback callback) {
60
		RequestBuilderWithCredentials rb = new RequestBuilderWithCredentials(RequestBuilderWithCredentials.POST, baseUrl+"images/"+idImage+"/votes/");
63
		RequestBuilderWithCredentials rb = new RequestBuilderWithCredentials(RequestBuilderWithCredentials.POST, baseUrl+"images/"+idImage+"/votes/");
61
		callback.setMode(ModeRequete.MODIFICATION);
64
		callback.setMode(ModeRequete.MODIFICATION);
62
		String chainePost = assemblerChaineRequeteAjoutModif(voteProtocole);
65
		String chainePost = assemblerChaineRequeteAjoutModif(voteProtocole);
63
		try {
66
		try {
64
			rb.sendRequest(chainePost, callback);
67
			rb.sendRequest(chainePost, callback);
65
		} catch (Exception e) {
68
		} catch (Exception e) {
66
			//TODO: quoi faire si la requete est mal formée coté client avant d'être envoyée ?
69
			//TODO: quoi faire si la requete est mal formée coté client avant d'être envoyée ?
67
		}
70
		}
-
 
71
		// stats
-
 
72
		Analytics.evenement("vote", "modification", "{\"valeur\": \"" + voteProtocole.getVote() + "\", \"auteur\": \"" + voteProtocole.getAuteur() + "\", \"id_image\": \"" + idImage + "\"}");
68
	}
73
	}
69
 
74
 
70
	@Override
75
	@Override
71
	public void supprimerVote(String idImage, VoteProtocole voteProtocole,
76
	public void supprimerVote(String idImage, VoteProtocole voteProtocole,
72
			VoteProtocoleCallback callback) {
77
			VoteProtocoleCallback callback) {
73
		RequestBuilderWithCredentials rb = new RequestBuilderWithCredentials(RequestBuilderWithCredentials.DELETE, baseUrl+"images/"+idImage+"/votes/"+voteProtocole.getId());
78
		RequestBuilderWithCredentials rb = new RequestBuilderWithCredentials(RequestBuilderWithCredentials.DELETE, baseUrl+"images/"+idImage+"/votes/"+voteProtocole.getId());
74
		callback.setMode(ModeRequete.SUPPRESSION);
79
		callback.setMode(ModeRequete.SUPPRESSION);
75
		try {
80
		try {
76
			rb.sendRequest(null, callback);
81
			rb.sendRequest(null, callback);
77
		} catch (Exception e) {
82
		} catch (Exception e) {
78
			//TODO: quoi faire si la requete est mal formée coté client avant d'être envoyée ?
83
			//TODO: quoi faire si la requete est mal formée coté client avant d'être envoyée ?
79
		}
84
		}
-
 
85
		// stats
-
 
86
		Analytics.evenement("vote", "suppression", "{\"valeur\": \"" + voteProtocole.getVote() + "\", \"auteur\": \"" + voteProtocole.getAuteur() + "\", \"id_image\": \"" + idImage + "\"}");
80
	}
87
	}
81
}
88
}