Subversion Repositories eFlore/Applications.del

Rev

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

Rev 879 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.exceptions.ExceptionClient;
-
 
5
import org.tela_botanica.del.client.modeles.Commentaire;
4
import org.tela_botanica.del.client.modeles.Commentaire;
6
import org.tela_botanica.del.client.modeles.PropositionDetermination;
5
import org.tela_botanica.del.client.modeles.PropositionDetermination;
7
import org.tela_botanica.del.client.services.rest.async.CommentaireCallback;
6
import org.tela_botanica.del.client.services.rest.async.CommentaireCallback;
8
import org.tela_botanica.del.client.services.rest.async.CommentaireCallback.ModeRequete;
7
import org.tela_botanica.del.client.services.rest.async.CommentaireCallback.ModeRequete;
9
 
8
 
10
import com.google.gwt.http.client.RequestBuilder;
9
import com.google.gwt.http.client.RequestBuilder;
11
import com.google.gwt.user.client.Window;
10
import com.google.gwt.user.client.Window;
12
 
11
 
13
public class CommentaireServiceConcret implements CommentaireService {
12
public class CommentaireServiceConcret implements CommentaireService {
14
 
13
 
15
	private String baseUrl;
14
	private String baseUrl;
16
 
15
 
17
	public CommentaireServiceConcret() {
16
	public CommentaireServiceConcret() {
18
		Config config = new Config();
17
		Config config = new Config();
19
		this.baseUrl = config.getServiceBaseUrl();
18
		this.baseUrl = config.getServiceBaseUrl();
20
	}
19
	}
21
	
20
	
22
	public CommentaireServiceConcret(Config config) {
21
	public CommentaireServiceConcret(Config config) {
23
		this.baseUrl = config.getServiceBaseUrl();
22
		this.baseUrl = config.getServiceBaseUrl();
24
	}
23
	}
25
	
24
	
26
	@Override
25
	@Override
27
	public void ajouterCommentaire(Commentaire commentaire, CommentaireCallback callback) {
26
	public void ajouterCommentaire(Commentaire commentaire, CommentaireCallback callback) {
28
		
27
		
29
		String urlService = baseUrl+"commentaires/";
28
		String urlService = baseUrl+"commentaires/";
30
		RequestBuilder rb = new RequestBuilder(RequestBuilder.PUT, urlService);
29
		RequestBuilder rb = new RequestBuilder(RequestBuilder.PUT, urlService);
31
		
30
		
32
		callback.setMode(ModeRequete.AJOUT);
31
		callback.setMode(ModeRequete.AJOUT);
33
		String chainePost = assemblerChaineRequeteAjoutModif(commentaire);
32
		String chainePost = assemblerChaineRequeteAjoutModif(commentaire);
34
		
-
 
35
		try {
33
		try {
36
			rb.sendRequest(chainePost, callback);
34
			rb.sendRequest(chainePost, callback);
37
		} catch (Exception e) {
35
		} catch (Exception e) {
38
			//TODO: quoi faire si la requete est mal formée coté client avant d'être envoyée ?
36
			//TODO: quoi faire si la requete est mal formée coté client avant d'être envoyée ?
39
		}
37
		}
40
	}
38
	}
41
	
39
	
42
	private String assemblerChaineRequeteAjoutModif(Commentaire commentaire) {
40
	private String assemblerChaineRequeteAjoutModif(Commentaire commentaire) {
43
 
41
 
44
		String chaineRequete = "";
42
		String chaineRequete = "";
45
		if(commentaire.getObservation() != null && commentaire.getObservation().getId() != null) {
43
		if(commentaire.getObservation() != null && commentaire.getObservation().getId() != null) {
46
			chaineRequete += "observation="+commentaire.getObservation().getId();
44
			chaineRequete += "observation="+commentaire.getObservation().getId();
47
		}
45
		}
48
		if(commentaire.getContributeur().getId() != null) {
46
		if(commentaire.getContributeur().getId() != null) {
49
			chaineRequete += "&auteur.id="+commentaire.getContributeur().getId();
47
			chaineRequete += "&auteur.id="+commentaire.getContributeur().getId();
50
		}
48
		}
51
 
49
 
52
		// TODO voir à quoi on rattache les commentaires		
50
		// TODO voir à quoi on rattache les commentaires		
53
		if(commentaire.getParent() != null && commentaire.getParent().getId() != null) {
51
		if(commentaire.getParent() != null && commentaire.getParent().getId() != null) {
54
			if(commentaire.getParent() instanceof PropositionDetermination) {
52
			if(commentaire.getParent() instanceof PropositionDetermination) {
55
				chaineRequete += "&ce_proposition="+commentaire.getParent().getId();
53
				chaineRequete += "&ce_proposition="+commentaire.getParent().getId();
56
			} else if(commentaire.getParent() instanceof Commentaire) {
54
			} else if(commentaire.getParent() instanceof Commentaire) {
57
				chaineRequete += "&ce_commentaire_parent="+commentaire.getParent().getId();
55
				chaineRequete += "&ce_commentaire_parent="+commentaire.getParent().getId();
58
			}
56
			}
59
		}
57
		}
60
		chaineRequete += "&texte="+commentaire.getCommentaire()+
58
		chaineRequete += "&texte="+commentaire.getCommentaire()+
61
		"&auteur.prenom="+commentaire.getContributeur().getPrenom()+
59
		"&auteur.prenom="+commentaire.getContributeur().getPrenom()+
62
		"&auteur.nom="+commentaire.getContributeur().getNom()+
60
		"&auteur.nom="+commentaire.getContributeur().getNom()+
63
		"&auteur.courriel="+commentaire.getContributeur().getAdresseEmail();
61
		"&auteur.courriel="+commentaire.getContributeur().getAdresseEmail();
64
		return chaineRequete;
62
		return chaineRequete;
65
	}
63
	}
66
}
64
}