Subversion Repositories eFlore/Applications.coel

Rev

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

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