Subversion Repositories eFlore/Applications.coel

Rev

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

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