Subversion Repositories eFlore/Applications.coel

Rev

Rev 741 | Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
736 aurelien 1
package org.tela_botanica.client.modeles;
2
 
3
import org.tela_botanica.client.RegistreId;
4
import org.tela_botanica.client.http.JsonRestRequestBuilder;
5
import org.tela_botanica.client.http.JsonRestRequestCallback;
6
import org.tela_botanica.client.interfaces.Rafraichissable;
7
 
8
import com.extjs.gxt.ui.client.Registry;
9
import com.google.gwt.core.client.GWT;
10
import com.google.gwt.http.client.RequestBuilder;
11
import com.google.gwt.http.client.URL;
12
import com.google.gwt.json.client.JSONArray;
13
import com.google.gwt.json.client.JSONBoolean;
14
import com.google.gwt.json.client.JSONObject;
15
import com.google.gwt.json.client.JSONValue;
16
import com.google.gwt.user.client.Window;
17
 
18
public class PublicationAPersonneAsyncDao {
19
 
20
	private static final String SERVICE_NOM = "CoelPublicationAPersonne";
21
 
22
	private Rafraichissable vueARafraichir = null;
23
 
24
	public PublicationAPersonneAsyncDao(Rafraichissable vueARafraichir) {
25
		this.vueARafraichir = vueARafraichir;
26
	}
27
 
28
	public void ajouterAuteur(String utilisateurid, String idAuteurs,
29
			String role, String idPublication) {
30
 
31
		final String url = ((Configuration) Registry.get(RegistreId.CONFIG)).getServiceBaseUrl()+SERVICE_NOM+"/";
32
		// auteur 2360
33
		JsonRestRequestBuilder rb = new JsonRestRequestBuilder(RequestBuilder.POST, url);
34
		String postDonneesEncodees = "cpuap_id_publication="+URL.encode(idPublication)
35
		+"&cpuap_id_role="+URL.encode(role)
36
		+"&cpuap_id_auteur="+idAuteurs
37
		+"&cmhl_ce_modifier_par="+utilisateurid;
38
 
39
		rb.envoyerRequete(postDonneesEncodees, new JsonRestRequestCallback() {
40
			@Override
41
			public void surReponse(JSONValue reponseValeur) {
42
				traiterReponse(reponseValeur, "auteur_valide");
43
			}
44
		}) ;
45
	}
46
 
47
	private void traiterReponse(JSONValue reponseValeur, String type) {
48
		Information info = new Information(type);
49
		// Si la requête est un succès, reception d'une chaine
50
		if (reponseValeur.isBoolean() != null) {
51
			info.setDonnee(reponseValeur.isBoolean().booleanValue());
52
		} else if (reponseValeur.isString() != null) {
53
			info.setDonnee(reponseValeur.isString().stringValue());
54
		} else {
55
			info.setDeboguage("La réponse n'est pas une chaine JSON.");
56
		}
57
 
58
		vueARafraichir.rafraichir(info);
59
	}
60
 
61
}