Subversion Repositories eFlore/Applications.coel

Rev

Rev 741 | Rev 749 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 741 Rev 748
1
package org.tela_botanica.client.modeles;
1
package org.tela_botanica.client.modeles;
2
 
2
 
3
import org.tela_botanica.client.RegistreId;
3
import org.tela_botanica.client.RegistreId;
4
import org.tela_botanica.client.http.JsonRestRequestBuilder;
4
import org.tela_botanica.client.http.JsonRestRequestBuilder;
5
import org.tela_botanica.client.http.JsonRestRequestCallback;
5
import org.tela_botanica.client.http.JsonRestRequestCallback;
6
import org.tela_botanica.client.interfaces.Rafraichissable;
6
import org.tela_botanica.client.interfaces.Rafraichissable;
-
 
7
import org.tela_botanica.client.util.UtilDAO;
7
 
8
 
8
import com.extjs.gxt.ui.client.Registry;
9
import com.extjs.gxt.ui.client.Registry;
9
import com.google.gwt.core.client.GWT;
10
import com.google.gwt.core.client.GWT;
10
import com.google.gwt.http.client.RequestBuilder;
11
import com.google.gwt.http.client.RequestBuilder;
11
import com.google.gwt.http.client.URL;
12
import com.google.gwt.http.client.URL;
12
import com.google.gwt.json.client.JSONArray;
13
import com.google.gwt.json.client.JSONArray;
13
import com.google.gwt.json.client.JSONBoolean;
14
import com.google.gwt.json.client.JSONBoolean;
14
import com.google.gwt.json.client.JSONObject;
15
import com.google.gwt.json.client.JSONObject;
15
import com.google.gwt.json.client.JSONValue;
16
import com.google.gwt.json.client.JSONValue;
16
import com.google.gwt.user.client.Window;
17
import com.google.gwt.user.client.Window;
17
 
18
 
18
public class PublicationAPersonneAsyncDao {
19
public class PublicationAPersonneAsyncDao {
19
 
20
 
20
	private static final String SERVICE_NOM = "CoelPublicationAPersonne";
21
	private static final String SERVICE_NOM = "CoelPublicationAPersonne";
21
	
22
	
22
	private Rafraichissable vueARafraichir = null;
23
	private Rafraichissable vueARafraichir = null;
23
	
24
	
24
	public PublicationAPersonneAsyncDao(Rafraichissable vueARafraichir) {
25
	public PublicationAPersonneAsyncDao(Rafraichissable vueARafraichir) {
25
		this.vueARafraichir = vueARafraichir;
26
		this.vueARafraichir = vueARafraichir;
26
	}
27
	}
27
	
28
	
28
	public void selectionnerAuteurAPublication(String projetId, String idAuteurs,
29
	public void selectionnerAuteurAPublication(String projetId, String idAuteurs, String role, String idPublication) {
29
			String role, String idPublication) {
-
 
30
		String url = ((Configuration) Registry.get(RegistreId.CONFIG)).getServiceBaseUrl() + 
-
 
31
		SERVICE_NOM + "/" +
-
 
32
		(projetId == null ? "*" : projetId) + "/" +
-
 
33
		(idAuteurs == null ? "*" : idAuteurs) + "/" +
-
 
34
		(idPublication == null ? "*" : idPublication) + "/" +
-
 
35
		"";
-
 
36
		url = URL.encode(url);
-
 
37
		
30
		String[] parametres = {projetId, idAuteurs, idPublication};
38
		JsonRestRequestBuilder rb = new JsonRestRequestBuilder(RequestBuilder.GET, url);
-
 
39
		
31
		final JsonRestRequestBuilder rb = UtilDAO.construireRequete(SERVICE_NOM, parametres);
40
		rb.envoyerRequete(null, new JsonRestRequestCallback() {
32
		rb.envoyerRequete(null, new JsonRestRequestCallback() {
41
			@Override
33
			@Override
42
			public void surReponse(JSONValue responseValue) {
34
			public void surReponse(JSONValue responseValue) {
43
				if (responseValue != null) {
35
				if (responseValue != null) {
44
					// Si la requête est un succès, reception d'un objet ou d'un tableau
36
					// Si la requête est un succès, réception d'un objet ou d'un tableau
45
					if (responseValue.isObject() != null) {
37
					if (responseValue.isObject() != null) {
46
						final JSONObject reponse = responseValue.isObject();
38
						final JSONObject reponse = responseValue.isObject();
47
						// Transformation du tableau JSON réponse en ListeInstitution
39
						// Transformation du tableau JSON réponse en ListeInstitution
48
						PublicationAPersonne publicationAPersonne = new PublicationAPersonne(reponse);
40
						PublicationAPersonne publicationAPersonne = new PublicationAPersonne(reponse);
49
						// et on met à jour le demandeur des données
41
						// et on met à jour le demandeur des données
50
						vueARafraichir.rafraichir(publicationAPersonne);
42
						vueARafraichir.rafraichir(publicationAPersonne);
51
					} else if (responseValue.isArray() != null) {
43
					} else if (responseValue.isArray() != null) {
52
						final JSONArray reponse = responseValue.isArray();
44
						final JSONArray reponse = responseValue.isArray();
53
						PublicationAPersonneListe publicationsAPersonneListe = new PublicationAPersonneListe(reponse);
45
						PublicationAPersonneListe publicationsAPersonneListe = new PublicationAPersonneListe(reponse);
54
						vueARafraichir.rafraichir(publicationsAPersonneListe);
46
						vueARafraichir.rafraichir(publicationsAPersonneListe);
55
					} else {
47
					} else {
56
						GWT.log("La réponse n'est pas un objet ou un talbeau JSON et vaut : "+responseValue.toString(), null);
48
						GWT.log("La réponse n'est pas un objet ou un talbeau JSON et vaut : "+responseValue.toString(), null);
57
					}
49
					}
58
				} else {
50
				} else {
59
					// Dans le cas, où nous demandons toutes les publication et qu'il n'y en a pas, nous retournons un objet vide
51
					// Dans le cas, où nous demandons toutes les publication et qu'il n'y en a pas, nous retournons un objet vide
60
					PublicationAPersonneListe publicationAPersonneListe = new PublicationAPersonneListe(0);
52
					PublicationAPersonneListe publicationAPersonneListe = new PublicationAPersonneListe(0);
61
					vueARafraichir.rafraichir(publicationAPersonneListe);
53
					vueARafraichir.rafraichir(publicationAPersonneListe);
62
				}
54
				}
63
			}
55
			}
64
		});
56
		});
65
	}
57
	}
66
	
58
	
67
	public void ajouterAuteur(String utilisateurid, String idAuteurs,
-
 
68
			String role, String idPublication) {
59
	public void ajouterAuteur(String utilisateurid, String idAuteurs, String role, String idPublication) {
69
 
60
 
70
		final String url = ((Configuration) Registry.get(RegistreId.CONFIG)).getServiceBaseUrl()+SERVICE_NOM+"/";
61
		final String url = ((Configuration) Registry.get(RegistreId.CONFIG)).getServiceBaseUrl()+SERVICE_NOM+"/";
71
		// auteur 2360
62
		// auteur 2360
72
		JsonRestRequestBuilder rb = new JsonRestRequestBuilder(RequestBuilder.POST, url);
63
		JsonRestRequestBuilder rb = new JsonRestRequestBuilder(RequestBuilder.POST, url);
73
		String postDonneesEncodees = "cpuap_id_publication="+URL.encode(idPublication)
64
		String postDonneesEncodees = "cpuap_id_publication="+URL.encode(idPublication)
74
		+"&cpuap_id_role="+URL.encode(role)
65
		+"&cpuap_id_role="+URL.encode(role)
75
		+"&cpuap_id_auteur="+idAuteurs
66
		+"&cpuap_id_auteur="+idAuteurs
76
		+"&cmhl_ce_modifier_par="+utilisateurid;
67
		+"&cmhl_ce_modifier_par="+utilisateurid;
77
				
68
				
78
		rb.envoyerRequete(postDonneesEncodees, new JsonRestRequestCallback() {
69
		rb.envoyerRequete(postDonneesEncodees, new JsonRestRequestCallback() {
79
			@Override
70
			@Override
80
			public void surReponse(JSONValue reponseValeur) {
71
			public void surReponse(JSONValue reponseValeur) {
81
				traiterReponse(reponseValeur, "auteur_valide");
72
				traiterReponse(reponseValeur, "auteur_valide");
82
			}
73
			}
83
		}) ;
74
		}) ;
84
	}
75
	}
85
	
76
	
86
 
77
 
87
	public void modifierAuteur(String utilisateurid, String idAuteurs,
-
 
88
			String idPublication) {
78
	public void modifierAuteur(String utilisateurid, String idAuteurs, String idPublication) {
89
		final String url = ((Configuration) Registry.get(RegistreId.CONFIG)).getServiceBaseUrl()+SERVICE_NOM+"/"
79
		final String url = ((Configuration) Registry.get(RegistreId.CONFIG)).getServiceBaseUrl()+SERVICE_NOM+"/"
90
		+idPublication+"/"
80
		+idPublication+"/"
91
		+idAuteurs+"/"
81
		+idAuteurs+"/"
92
		+"2360";
82
		+"2360";
93
		// auteur 2360
83
		// auteur 2360
94
		JsonRestRequestBuilder rb = new JsonRestRequestBuilder(RequestBuilder.POST, url);
84
		JsonRestRequestBuilder rb = new JsonRestRequestBuilder(RequestBuilder.POST, url);
95
		String postDonneesEncodees = "cpuap_id_publication="+URL.encode(idPublication)
85
		String postDonneesEncodees = "cpuap_id_publication="+URL.encode(idPublication)
96
		+"&cmhl_ce_modifier_par="+utilisateurid;
86
		+"&cmhl_ce_modifier_par="+utilisateurid;
97
				
87
				
98
		rb.envoyerRequete(postDonneesEncodees, new JsonRestRequestCallback() {
88
		rb.envoyerRequete(postDonneesEncodees, new JsonRestRequestCallback() {
99
			@Override
89
			@Override
100
			public void surReponse(JSONValue reponseValeur) {
90
			public void surReponse(JSONValue reponseValeur) {
101
				traiterReponse(reponseValeur, "auteur_valide");
91
				traiterReponse(reponseValeur, "auteur_valide");
102
			}
92
			}
103
		}) ;
93
		}) ;
104
	}
94
	}
105
	
95
	
106
	private void traiterReponse(JSONValue reponseValeur, String type) {
96
	private void traiterReponse(JSONValue reponseValeur, String type) {
107
		Information info = new Information(type);
97
		Information info = new Information(type);
108
		// Si la requête est un succès, reception d'une chaine
98
		// Si la requête est un succès, réception d'une chaîne
109
		if (reponseValeur.isBoolean() != null) {
99
		if (reponseValeur.isBoolean() != null) {
110
			info.setDonnee(reponseValeur.isBoolean().booleanValue());
100
			info.setDonnee(reponseValeur.isBoolean().booleanValue());
111
		} else if (reponseValeur.isString() != null) {
101
		} else if (reponseValeur.isString() != null) {
112
			info.setDonnee(reponseValeur.isString().stringValue());
102
			info.setDonnee(reponseValeur.isString().stringValue());
113
		} else {
103
		} else {
114
			info.setDeboguage("La réponse n'est pas une chaine JSON.");
104
			info.setDeboguage("La réponse n'est pas une chaine JSON.");
115
		}
105
		}
116
		
106
		
117
		vueARafraichir.rafraichir(info);
107
		vueARafraichir.rafraichir(info);
118
	}
108
	}
119
}
109
}