Subversion Repositories eFlore/Applications.coel

Rev

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

Rev 757 Rev 764
1
package org.tela_botanica.client.modeles;
1
package org.tela_botanica.client.modeles;
-
 
2
 
-
 
3
import org.tela_botanica.client.Mediateur;
2
 
4
import org.tela_botanica.client.RegistreId;
3
import org.tela_botanica.client.http.JsonRestRequestBuilder;
5
import org.tela_botanica.client.http.JsonRestRequestBuilder;
4
import org.tela_botanica.client.http.JsonRestRequestCallback;
6
import org.tela_botanica.client.http.JsonRestRequestCallback;
5
import org.tela_botanica.client.interfaces.Rafraichissable;
7
import org.tela_botanica.client.interfaces.Rafraichissable;
6
import org.tela_botanica.client.util.UtilDAO;
8
import org.tela_botanica.client.util.UtilDAO;
-
 
9
 
7
 
10
import com.extjs.gxt.ui.client.Registry;
8
import com.google.gwt.core.client.GWT;
11
import com.google.gwt.core.client.GWT;
9
import com.google.gwt.json.client.JSONArray;
12
import com.google.gwt.json.client.JSONArray;
10
import com.google.gwt.json.client.JSONObject;
13
import com.google.gwt.json.client.JSONObject;
11
import com.google.gwt.json.client.JSONValue;
14
import com.google.gwt.json.client.JSONValue;
12
 
15
 
13
public class PublicationAsyncDao {
16
public class PublicationAsyncDao {
14
	private static final String SERVICE_NOM = "CoelPublication";
17
	private static final String SERVICE_NOM = "CoelPublication";
-
 
18
	
-
 
19
	private String utilisateurId = null;
15
	private Rafraichissable vueARafraichir = null;
20
	private Rafraichissable vueARafraichir = null;
16
	
21
	
17
	public PublicationAsyncDao(Rafraichissable vueARafraichirCourrante) {
22
	public PublicationAsyncDao(Rafraichissable vueARafraichirCourrante) {
18
		vueARafraichir = vueARafraichirCourrante ;
23
		vueARafraichir = vueARafraichirCourrante ;
-
 
24
		utilisateurId = ((Mediateur) Registry.get(RegistreId.MEDIATEUR)).getUtilisateurId();
19
	}
25
	}
20
 
26
 
21
	public void selectionner(final String publicationId, String projetId, String nomComplet) {
27
	public void selectionner(final String publicationId, String projetId, String nomComplet) {
22
		String[] parametres = {projetId, publicationId, nomComplet};
28
		String[] parametres = {projetId, publicationId, nomComplet};
23
 
29
 
24
		final JsonRestRequestBuilder rb = UtilDAO.construireRequete(SERVICE_NOM, parametres);
30
		final JsonRestRequestBuilder rb = UtilDAO.construireRequete(SERVICE_NOM, parametres);
25
		rb.envoyerRequete(null, new JsonRestRequestCallback() {
31
		rb.envoyerRequete(null, new JsonRestRequestCallback() {
26
			@Override
32
			@Override
27
			public void surReponse(JSONValue responseValue) {
33
			public void surReponse(JSONValue responseValue) {
28
				if (responseValue != null) {
34
				if (responseValue != null) {
29
					// Si la requête est un succès, réception d'un objet ou d'un tableau
35
					// Si la requête est un succès, réception d'un objet ou d'un tableau
30
					if (responseValue.isObject() != null) {
36
					if (responseValue.isObject() != null) {
31
						final JSONObject reponse = responseValue.isObject();
37
						final JSONObject reponse = responseValue.isObject();
32
						// Transformation du tableau JSON réponse en ListeInstitution
38
						// Transformation du tableau JSON réponse en ListeInstitution
33
						Publication publication = new Publication(reponse);
39
						Publication publication = new Publication(reponse);
34
						// et on met à jour le demandeur des données
40
						// et on met à jour le demandeur des données
35
						vueARafraichir.rafraichir(publication);
41
						vueARafraichir.rafraichir(publication);
36
					} else if (responseValue.isArray() != null) {
42
					} else if (responseValue.isArray() != null) {
37
						final JSONArray reponse = responseValue.isArray();
43
						final JSONArray reponse = responseValue.isArray();
38
						PublicationListe publications = new PublicationListe(reponse);
44
						PublicationListe publications = new PublicationListe(reponse);
39
						vueARafraichir.rafraichir(publications);
45
						vueARafraichir.rafraichir(publications);
40
					} else {
46
					} else {
41
						GWT.log("La réponse n'est pas un objet ou un talbeau JSON et vaut : "+responseValue.toString(), null);
47
						GWT.log("La réponse n'est pas un objet ou un talbeau JSON et vaut : "+responseValue.toString(), null);
42
					}
48
					}
43
				} else {
49
				} else {
44
					// Dans le cas, où nous demandons toutes les publication et qu'il n'y en a pas, nous retournons un objet vide
50
					// Dans le cas, où nous demandons toutes les publication et qu'il n'y en a pas, nous retournons un objet vide
45
					if (publicationId == null) {
51
					if (publicationId == null) {
46
						PublicationListe publications = new PublicationListe(0);
52
						PublicationListe publications = new PublicationListe(0);
47
						vueARafraichir.rafraichir(publications);
53
						vueARafraichir.rafraichir(publications);
48
					}
54
					}
49
				}
55
				}
50
			}
56
			}
51
		});
57
		});
52
	}
58
	}
53
 
59
 
54
	public void ajouter(String utilisateurId, Publication publication) {
60
	public void ajouter(Publication publication) {
55
		String postDonneesEncodees = publication.obtenirChainePOST()+"&cmhl_ce_modifier_par="+utilisateurId;
61
		String postDonneesEncodees = publication.obtenirChainePOST()+"&cmhl_ce_modifier_par="+utilisateurId;
56
		
62
		
57
		final JsonRestRequestBuilder rb = UtilDAO.construireRequetePost(SERVICE_NOM);
63
		final JsonRestRequestBuilder rb = UtilDAO.construireRequetePost(SERVICE_NOM);
58
		rb.envoyerRequete(postDonneesEncodees, new JsonRestRequestCallback() {
64
		rb.envoyerRequete(postDonneesEncodees, new JsonRestRequestCallback() {
59
			@Override
65
			@Override
60
			public void surReponse(JSONValue reponseValeur) {
66
			public void surReponse(JSONValue reponseValeur) {
61
				traiterReponse(reponseValeur, "publication_valide");
67
				traiterReponse(reponseValeur, "publication_valide");
62
			}
68
			}
63
		}) ;
69
		}) ;
64
	}
70
	}
65
	
71
	
66
	public void modifier(String utilisateurId, Publication publication) {
72
	public void modifier(Publication publication) {
67
		String[] parametres = {publication.getId()};
73
		String[] parametres = {publication.getId()};
68
		final JsonRestRequestBuilder rb = UtilDAO.construireRequetePost(SERVICE_NOM, parametres);
74
		final JsonRestRequestBuilder rb = UtilDAO.construireRequetePost(SERVICE_NOM, parametres);
69
		
75
		
70
		String postDonneesEncodees = publication.obtenirChainePOST();
76
		String postDonneesEncodees = publication.obtenirChainePOST()+"&cmhl_ce_modifier_par="+utilisateurId;;
71
		
77
		
72
		rb.envoyerRequete(postDonneesEncodees, new JsonRestRequestCallback() {
78
		rb.envoyerRequete(postDonneesEncodees, new JsonRestRequestCallback() {
73
			@Override
79
			@Override
74
			public void surReponse(JSONValue reponseValeur) {
80
			public void surReponse(JSONValue reponseValeur) {
75
				traiterReponse(reponseValeur, "publication_valide");
81
				traiterReponse(reponseValeur, "publication_valide");
76
			}
82
			}
77
		});
83
		});
78
	}
84
	}
79
 
85
 
80
	public void supprimer(String utilisateurId, String publicationsId) {
86
	public void supprimer(String publicationsId) {
81
		String[] parametres = {utilisateurId, publicationsId};
87
		String[] parametres = {utilisateurId, publicationsId};
82
		final JsonRestRequestBuilder rb = UtilDAO.construireRequetePost(SERVICE_NOM, parametres);
88
		final JsonRestRequestBuilder rb = UtilDAO.construireRequetePost(SERVICE_NOM, parametres);
83
		rb.envoyerRequeteSuppression(new JsonRestRequestCallback() {
89
		rb.envoyerRequeteSuppression(new JsonRestRequestCallback() {
84
			@Override
90
			@Override
85
			public void surReponse(JSONValue reponseValeur) {
91
			public void surReponse(JSONValue reponseValeur) {
86
				traiterReponse(reponseValeur, "suppression_publication");
92
				traiterReponse(reponseValeur, "suppression_publication");
87
			}
93
			}
88
		});
94
		});
89
	}
95
	}
90
	
96
	
91
	private void traiterReponse(JSONValue reponseValeur, String type) {
97
	private void traiterReponse(JSONValue reponseValeur, String type) {
92
		Information info = new Information(type);
98
		Information info = new Information(type);
93
		// Si la requête est un succès, réception d'une chaîne
99
		// Si la requête est un succès, réception d'une chaîne
94
		if (reponseValeur.isString() != null) {
100
		if (reponseValeur.isString() != null) {
95
			info.setDonnee(reponseValeur.isString().stringValue());
101
			info.setDonnee(reponseValeur.isString().stringValue());
96
		} else {
102
		} else {
97
			info.setDeboguage("La réponse n'est pas une chaine JSON.");
103
			info.setDeboguage("La réponse n'est pas une chaine JSON.");
98
		}
104
		}
99
		vueARafraichir.rafraichir(info);
105
		vueARafraichir.rafraichir(info);
100
	}
106
	}
101
 
107
 
102
}
108
}