Subversion Repositories eFlore/Applications.del

Rev

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

Rev 1860 Rev 2109
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.cache.CacheClient;
3
import org.tela_botanica.del.client.cache.CacheClient;
4
import org.tela_botanica.del.client.config.Config;
4
import org.tela_botanica.del.client.config.Config;
5
import org.tela_botanica.del.client.services.rest.async.AjoutMotsClesImageCallback;
5
import org.tela_botanica.del.client.services.rest.async.AjoutMotsClesImageCallback;
6
import org.tela_botanica.del.client.services.rest.async.ListeMotsClesImageCallBack;
6
import org.tela_botanica.del.client.services.rest.async.ListeMotsClesImageCallBack;
7
import org.tela_botanica.del.client.services.rest.async.PHPCallback.ModeRequete;
7
import org.tela_botanica.del.client.services.rest.async.PHPCallback.ModeRequete;
-
 
8
import org.tela_botanica.del.client.utils.Analytics;
8
import org.tela_botanica.del.client.services.rest.async.SuppressionMotCleImageCallback;
9
import org.tela_botanica.del.client.services.rest.async.SuppressionMotCleImageCallback;
9
 
10
 
10
import org.tela_botanica.del.client.services.RequestBuilderWithCredentials;
11
import org.tela_botanica.del.client.services.RequestBuilderWithCredentials;
11
import com.google.gwt.http.client.URL;
12
import com.google.gwt.http.client.URL;
12
 
13
 
13
public class MotsClesServiceConcret implements MotsClesService {
14
public class MotsClesServiceConcret implements MotsClesService {
14
 
15
 
15
	private String baseUrl;
16
	private String baseUrl;
16
	
17
	
17
	public MotsClesServiceConcret() {
18
	public MotsClesServiceConcret() {
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 MotsClesServiceConcret(Config config) {
23
	public MotsClesServiceConcret(Config config) {
23
		this.baseUrl = config.getServiceBaseUrl();
24
		this.baseUrl = config.getServiceBaseUrl();
24
	}
25
	}
25
	
26
	
26
	@Override
27
	@Override
27
	public void getMotsClesImage(String idImage,
28
	public void getMotsClesImage(String idImage,
28
			ListeMotsClesImageCallBack callback) {
29
			ListeMotsClesImageCallBack callback) {
29
		RequestBuilderWithCredentials rb = new RequestBuilderWithCredentials(RequestBuilderWithCredentials.GET, baseUrl + "mots-cles" + assemblerChaineRequete(idImage));
30
		RequestBuilderWithCredentials rb = new RequestBuilderWithCredentials(RequestBuilderWithCredentials.GET, baseUrl + "mots-cles" + assemblerChaineRequete(idImage));
30
		callback.setMode(ModeRequete.LECTURE);
31
		callback.setMode(ModeRequete.LECTURE);
31
		try {
32
		try {
32
			rb.sendRequest(null, callback);
33
			rb.sendRequest(null, callback);
33
		} catch (Exception e) {
34
		} catch (Exception e) {
34
			// TODO: handle exception
35
			// TODO: handle exception
35
		}
36
		}
36
	}
37
	}
37
	
38
	
38
	private String assemblerChaineRequete(String idImage) {
39
	private String assemblerChaineRequete(String idImage) {
39
		String chaineRequete = "?image="+idImage;
40
		String chaineRequete = "?image="+idImage;
40
		return chaineRequete;
41
		return chaineRequete;
41
	}
42
	}
42
 
43
 
43
	@Override
44
	@Override
44
	public void ajouterMotCleImage(String idImage, String motCle,
45
	public void ajouterMotCleImage(String idImage, String motCle,
45
			AjoutMotsClesImageCallback callback) {
46
			AjoutMotsClesImageCallback callback) {
46
		String urlService = baseUrl+"mots-cles/";
47
		String urlService = baseUrl+"mots-cles/";
47
		RequestBuilderWithCredentials rb = new RequestBuilderWithCredentials(RequestBuilderWithCredentials.PUT, urlService);
48
		RequestBuilderWithCredentials rb = new RequestBuilderWithCredentials(RequestBuilderWithCredentials.PUT, urlService);
48
		
49
		
49
		callback.setMode(ModeRequete.AJOUT);
50
		callback.setMode(ModeRequete.AJOUT);
50
		String chainePost = assemblerChaineRequeteAjout(idImage, motCle);
51
		String chainePost = assemblerChaineRequeteAjout(idImage, motCle);
51
		try {
52
		try {
52
			rb.sendRequest(chainePost, callback);
53
			rb.sendRequest(chainePost, callback);
53
		} catch (Exception e) {
54
		} catch (Exception e) {
54
			//TODO: quoi faire si la requete est mal formée coté client avant d'être envoyée ?
55
			//TODO: quoi faire si la requete est mal formée coté client avant d'être envoyée ?
55
		}
56
		}
56
 
57
		// stats
-
 
58
		Analytics.evenement("mot-cle-image", "ajout", "{\"mot-cle\": \"" + motCle + "\", \"image\": \"" + idImage + "\"}");
57
	}
59
	}
58
 
60
 
59
	private String assemblerChaineRequeteAjout(String idImage, String motCle) {
61
	private String assemblerChaineRequeteAjout(String idImage, String motCle) {
60
		return "image="+URL.encodeQueryString(idImage)+
62
		return "image="+URL.encodeQueryString(idImage)+
61
			   "&mot_cle="+URL.encodeQueryString(motCle)+
63
			   "&mot_cle="+URL.encodeQueryString(motCle)+
62
			   "&"+URL.encodeQueryString("auteur.id")+"="+URL.encodeQueryString(CacheClient.getInstance().getUtilisateur().getId());
64
			   "&"+URL.encodeQueryString("auteur.id")+"="+URL.encodeQueryString(CacheClient.getInstance().getUtilisateur().getId());
63
	}
65
	}
64
 
66
 
65
	@Override
67
	@Override
66
	public void supprimerMotCleImage(String idMotCle, SuppressionMotCleImageCallback callback) {
68
	public void supprimerMotCleImage(String idMotCle, SuppressionMotCleImageCallback callback) {
67
		String urlService = baseUrl+"mots-cles/"+idMotCle;
69
		String urlService = baseUrl+"mots-cles/"+idMotCle;
68
		RequestBuilderWithCredentials rb = new RequestBuilderWithCredentials(RequestBuilderWithCredentials.DELETE, urlService);
70
		RequestBuilderWithCredentials rb = new RequestBuilderWithCredentials(RequestBuilderWithCredentials.DELETE, urlService);
69
		
71
		
70
		callback.setMode(ModeRequete.SUPPRESSION);
72
		callback.setMode(ModeRequete.SUPPRESSION);
71
		try {
73
		try {
72
			rb.sendRequest(null, callback);
74
			rb.sendRequest(null, callback);
73
		} catch (Exception e) {
75
		} catch (Exception e) {
74
			//TODO: quoi faire si la requete est mal formée coté client avant d'être envoyée ?
76
			//TODO: quoi faire si la requete est mal formée coté client avant d'être envoyée ?
75
		}
77
		}
-
 
78
		// stats
-
 
79
		Analytics.evenement("mot-cle-image", "suppression", "{\"id_mot-cle\": \"" + idMotCle + "\"}");
76
	}
80
	}
77
}
81
}