Subversion Repositories eFlore/Applications.coel

Rev

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

Rev 822 Rev 901
1
package org.tela_botanica.client.modeles;
1
package org.tela_botanica.client.modeles;
2
 
2
 
3
import org.tela_botanica.client.Mediateur;
3
import org.tela_botanica.client.Mediateur;
4
import org.tela_botanica.client.RegistreId;
4
import org.tela_botanica.client.RegistreId;
5
import org.tela_botanica.client.http.JsonRestRequestBuilder;
5
import org.tela_botanica.client.http.JsonRestRequestBuilder;
6
import org.tela_botanica.client.http.JsonRestRequestCallback;
6
import org.tela_botanica.client.http.JsonRestRequestCallback;
7
import org.tela_botanica.client.interfaces.Rafraichissable;
7
import org.tela_botanica.client.interfaces.Rafraichissable;
8
import org.tela_botanica.client.util.UtilDAO;
8
import org.tela_botanica.client.util.UtilDAO;
9
 
9
 
10
import com.extjs.gxt.ui.client.Registry;
10
import com.extjs.gxt.ui.client.Registry;
11
import com.google.gwt.core.client.GWT;
11
import com.google.gwt.core.client.GWT;
12
import com.google.gwt.http.client.URL;
12
import com.google.gwt.http.client.URL;
13
import com.google.gwt.json.client.JSONArray;
13
import com.google.gwt.json.client.JSONArray;
14
import com.google.gwt.json.client.JSONObject;
14
import com.google.gwt.json.client.JSONObject;
15
import com.google.gwt.json.client.JSONValue;
15
import com.google.gwt.json.client.JSONValue;
16
 
16
 
17
public class PublicationAPersonneAsyncDao {
17
public class PublicationAPersonneAsyncDao {
18
 
18
 
19
	private static final String SERVICE_NOM = "CoelPublicationAPersonne";
19
	private static final String SERVICE_NOM = "CoelPublicationAPersonne";
20
	
20
	
21
	private String utilisateurId = null;
21
	private String utilisateurId = null;
22
	private Rafraichissable vueARafraichir = null;
22
	private Rafraichissable vueARafraichir = null;
23
	
23
	
24
	public PublicationAPersonneAsyncDao(Rafraichissable vueARafraichirCourrante) {
24
	public PublicationAPersonneAsyncDao(Rafraichissable vueARafraichirCourrante) {
25
		vueARafraichir = vueARafraichirCourrante;
25
		vueARafraichir = vueARafraichirCourrante;
26
		utilisateurId = ((Mediateur) Registry.get(RegistreId.MEDIATEUR)).getUtilisateurId();
26
		utilisateurId = ((Mediateur) Registry.get(RegistreId.MEDIATEUR)).getUtilisateurId();
27
	}
27
	}
28
	
28
	
29
	public void selectionner(String publicationId, String personnesId, String roleId) {
29
	public void selectionner(String publicationId, String personnesId, String roleId) {
30
		String[] parametres = {publicationId, personnesId, roleId};
30
		String[] parametres = {publicationId, personnesId, roleId};
31
		final JsonRestRequestBuilder rb = UtilDAO.construireRequete(SERVICE_NOM, parametres);
31
		final JsonRestRequestBuilder rb = UtilDAO.construireRequete(SERVICE_NOM, parametres);
32
		rb.envoyerRequete(null, new JsonRestRequestCallback() {
32
		rb.envoyerRequete(null, new JsonRestRequestCallback() {
33
			@Override
33
			@Override
34
			public void surReponse(JSONValue responseValue) {
34
			public void surReponse(JSONValue responseValue) {
35
				if (responseValue != null) {
35
				if (responseValue != null) {
36
					// Si la requête est un succès, réception 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
37
					if (responseValue.isObject() != null) {
37
					if (responseValue.isObject() != null) {
38
						final JSONObject reponse = responseValue.isObject();
38
						final JSONObject reponse = responseValue.isObject();
39
						// Transformation du tableau JSON réponse en ListeInstitution
39
						// Transformation du tableau JSON réponse en ListeInstitution
40
						PublicationAPersonne publicationAPersonne = new PublicationAPersonne(reponse);
40
						PublicationAPersonne publicationAPersonne = new PublicationAPersonne(reponse);
41
						// et on met à jour le demandeur des données
41
						// et on met à jour le demandeur des données
42
						vueARafraichir.rafraichir(publicationAPersonne);
42
						vueARafraichir.rafraichir(publicationAPersonne);
43
					} else if (responseValue.isArray() != null) {
43
					} else if (responseValue.isArray() != null) {
44
						final JSONArray reponse = responseValue.isArray();
44
						final JSONArray reponse = responseValue.isArray();
45
						PublicationAPersonneListe publicationsAPersonneListe = new PublicationAPersonneListe(reponse);
45
						PublicationAPersonneListe publicationsAPersonneListe = new PublicationAPersonneListe(reponse);
46
						vueARafraichir.rafraichir(publicationsAPersonneListe);
46
						vueARafraichir.rafraichir(publicationsAPersonneListe);
47
					} else {
47
					} else {
48
						GWT.log("La réponse n'est pas un objet ou un tableau JSON et vaut : "+responseValue.toString(), null);
48
						GWT.log("La réponse n'est pas un objet ou un tableau JSON et vaut : "+responseValue.toString(), null);
49
					}
49
					}
50
				} else {
50
				} else {
51
					// 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
52
					PublicationAPersonneListe publicationAPersonneListe = new PublicationAPersonneListe(0);
52
					PublicationAPersonneListe publicationAPersonneListe = new PublicationAPersonneListe(0);
53
					vueARafraichir.rafraichir(publicationAPersonneListe);
53
					vueARafraichir.rafraichir(publicationAPersonneListe);
54
				}
54
				}
55
			}
55
			}
56
		});
56
		});
57
	}
57
	}
58
	
58
	
59
	public void ajouter(String publicationId, String personnesId, String roleId) {
59
	public void ajouter(String publicationId, String personnesId, String roleId) {
60
		String postDonneesEncodees = "cpuap_id_publication="+URL.encodeComponent(publicationId)
60
		String postDonneesEncodees = "cpuap_id_publication="+URL.encodeComponent(publicationId)
61
		+"&cpuap_id_auteur="+personnesId
61
		+"&cpuap_id_auteur="+URL.encodeComponent(personnesId)
62
		+"&cpuap_id_role="+URL.encodeComponent(roleId)
62
		+"&cpuap_id_role="+URL.encodeComponent(roleId)
63
		+"&cmhl_ce_modifier_par="+utilisateurId;
63
		+"&cmhl_ce_modifier_par="+utilisateurId;
64
		
64
		
65
		final JsonRestRequestBuilder rb = UtilDAO.construireRequetePost(SERVICE_NOM);
65
		final JsonRestRequestBuilder rb = UtilDAO.construireRequetePost(SERVICE_NOM);
66
		rb.envoyerRequete(postDonneesEncodees, new JsonRestRequestCallback() {
66
		rb.envoyerRequete(postDonneesEncodees, new JsonRestRequestCallback() {
67
			@Override
67
			@Override
68
			public void surReponse(JSONValue reponseValeur) {
68
			public void surReponse(JSONValue reponseValeur) {
69
				traiterReponse(reponseValeur, "auteur_valide");
69
				traiterReponse(reponseValeur, "ajout_publication_a_personne");
70
			}
70
			}
71
		}) ;
71
		}) ;
72
	}
72
	}
73
 
73
 
74
	public void modifier(String publicationId, String personnesId, String roleId) {
74
	public void modifier(String publicationId, String personnesId, String roleId) {
75
		String[] parametres = {publicationId, personnesId, roleId};
75
		String[] parametres = {publicationId, personnesId, roleId};
76
		
76
		
77
		final JsonRestRequestBuilder rb = UtilDAO.construireRequetePost(SERVICE_NOM, parametres);
77
		final JsonRestRequestBuilder rb = UtilDAO.construireRequetePost(SERVICE_NOM, parametres);
78
		
78
		
79
		String postDonneesEncodees = "cpuap_id_publication="+URL.encodeComponent(publicationId)
79
		String postDonneesEncodees = "cpuap_id_publication="+URL.encodeComponent(publicationId)
80
		+"&cmhl_ce_modifier_par="+utilisateurId;
80
		+"&cmhl_ce_modifier_par="+utilisateurId;
81
		
81
		
82
		rb.envoyerRequete(postDonneesEncodees, new JsonRestRequestCallback() {
82
		rb.envoyerRequete(postDonneesEncodees, new JsonRestRequestCallback() {
83
			@Override
83
			@Override
84
			public void surReponse(JSONValue reponseValeur) {
84
			public void surReponse(JSONValue reponseValeur) {
85
				traiterReponse(reponseValeur, "auteur_valide");
85
				traiterReponse(reponseValeur, "modif_publication_a_personne");
86
			}
86
			}
87
		}) ;
87
		}) ;
88
	}
88
	}
-
 
89
	
-
 
90
	public void supprimer(String idPublicationAPersonne) {
-
 
91
		String[] parametres = {utilisateurId, idPublicationAPersonne};
-
 
92
		final JsonRestRequestBuilder rb = UtilDAO.construireRequetePost(SERVICE_NOM, parametres);
-
 
93
		rb.envoyerRequeteSuppression(new JsonRestRequestCallback() {
-
 
94
			@Override
-
 
95
			public void surReponse(JSONValue responseValue) {
-
 
96
				if (responseValue.isString() != null) {
-
 
97
					Information info = new Information("suppression_publication_a_personne");
-
 
98
					info.setMessage(responseValue.isString().stringValue());
-
 
99
					vueARafraichir.rafraichir(info);
-
 
100
				} else {
-
 
101
					GWT.log(rb.getUrl()+"\n\tLa réponse n'est pas une chaine JSON.", null);
-
 
102
				}
-
 
103
			}
-
 
104
		});
-
 
105
	}
89
	
106
	
90
	private void traiterReponse(JSONValue reponseValeur, String type) {
107
	private void traiterReponse(JSONValue reponseValeur, String type) {
91
		Information info = new Information(type);
108
		Information info = new Information(type);
92
		// Si la requête est un succès, réception d'une chaîne
109
		// Si la requête est un succès, réception d'une chaîne
93
		if (reponseValeur.isBoolean() != null) {
110
		if (reponseValeur.isBoolean() != null) {
94
			info.setDonnee(reponseValeur.isBoolean().booleanValue());
111
			info.setDonnee(reponseValeur.isBoolean().booleanValue());
95
		} else if (reponseValeur.isString() != null) {
112
		} else if (reponseValeur.isString() != null) {
96
			info.setDonnee(reponseValeur.isString().stringValue());
113
			info.setDonnee(reponseValeur.isString().stringValue());
97
		} else {
114
		} else {
98
			info.setDeboguage("La réponse n'est pas une chaine JSON.");
115
			info.setDeboguage("La réponse n'est pas une chaine JSON.");
99
		}
116
		}
100
		
117
		
101
		vueARafraichir.rafraichir(info);
118
		vueARafraichir.rafraichir(info);
102
	}
119
	}
103
}
120
}