Subversion Repositories eFlore/Applications.coel

Rev

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

Rev 764 Rev 786
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.json.client.JSONArray;
12
import com.google.gwt.json.client.JSONArray;
13
import com.google.gwt.json.client.JSONObject;
13
import com.google.gwt.json.client.JSONObject;
14
import com.google.gwt.json.client.JSONValue;
14
import com.google.gwt.json.client.JSONValue;
15
 
15
 
16
public class PublicationAsyncDao {
16
public class PublicationAsyncDao {
17
	private static final String SERVICE_NOM = "CoelPublication";
17
	private static final String SERVICE_NOM = "CoelPublication";
18
	
18
	
19
	private String utilisateurId = null;
19
	private String utilisateurId = null;
20
	private Rafraichissable vueARafraichir = null;
20
	private Rafraichissable vueARafraichir = null;
21
	
21
	
22
	public PublicationAsyncDao(Rafraichissable vueARafraichirCourrante) {
22
	public PublicationAsyncDao(Rafraichissable vueARafraichirCourrante) {
23
		vueARafraichir = vueARafraichirCourrante ;
23
		vueARafraichir = vueARafraichirCourrante ;
24
		utilisateurId = ((Mediateur) Registry.get(RegistreId.MEDIATEUR)).getUtilisateurId();
24
		utilisateurId = ((Mediateur) Registry.get(RegistreId.MEDIATEUR)).getUtilisateurId();
25
	}
25
	}
26
 
26
 
27
	public void selectionner(final String publicationId, String projetId, String nomComplet) {
27
	public void selectionner(final String publicationId, String projetId, String nomComplet) {
28
		String[] parametres = {projetId, publicationId, nomComplet};
28
		String[] parametres = {projetId, publicationId, nomComplet};
29
 
29
 
30
		final JsonRestRequestBuilder rb = UtilDAO.construireRequete(SERVICE_NOM, parametres);
30
		final JsonRestRequestBuilder rb = UtilDAO.construireRequete(SERVICE_NOM, parametres);
31
		rb.envoyerRequete(null, new JsonRestRequestCallback() {
31
		rb.envoyerRequete(null, new JsonRestRequestCallback() {
32
			@Override
32
			@Override
33
			public void surReponse(JSONValue responseValue) {
33
			public void surReponse(JSONValue responseValue) {
34
				if (responseValue != null) {
34
				if (responseValue != null) {
35
					// 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
36
					if (responseValue.isObject() != null) {
36
					if (responseValue.isObject() != null) {
37
						final JSONObject reponse = responseValue.isObject();
37
						final JSONObject reponse = responseValue.isObject();
38
						// Transformation du tableau JSON réponse en ListeInstitution
38
						// Transformation du tableau JSON réponse en ListeInstitution
39
						Publication publication = new Publication(reponse);
39
						Publication publication = new Publication(reponse);
40
						// et on met à jour le demandeur des données
40
						// et on met à jour le demandeur des données
41
						vueARafraichir.rafraichir(publication);
41
						vueARafraichir.rafraichir(publication);
42
					} else if (responseValue.isArray() != null) {
42
					} else if (responseValue.isArray() != null) {
43
						final JSONArray reponse = responseValue.isArray();
43
						final JSONArray reponse = responseValue.isArray();
44
						PublicationListe publications = new PublicationListe(reponse);
44
						PublicationListe publications = new PublicationListe(reponse);
45
						vueARafraichir.rafraichir(publications);
45
						vueARafraichir.rafraichir(publications);
46
					} else {
46
					} else {
47
						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);
48
					}
48
					}
49
				} else {
49
				} else {
50
					// 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
51
					if (publicationId == null) {
51
					if (publicationId == null) {
52
						PublicationListe publications = new PublicationListe(0);
52
						PublicationListe publications = new PublicationListe(0);
53
						vueARafraichir.rafraichir(publications);
53
						vueARafraichir.rafraichir(publications);
54
					}
54
					}
55
				}
55
				}
56
			}
56
			}
57
		});
57
		});
58
	}
58
	}
59
 
59
 
60
	public void ajouter(Publication publication) {
60
	public void ajouter(Publication publication) {
61
		String postDonneesEncodees = publication.obtenirChainePOST()+"&cmhl_ce_modifier_par="+utilisateurId;
61
		String postDonneesEncodees = publication.obtenirChainePOST()+"&cmhl_ce_modifier_par="+utilisateurId;
62
		
62
		
63
		final JsonRestRequestBuilder rb = UtilDAO.construireRequetePost(SERVICE_NOM);
63
		final JsonRestRequestBuilder rb = UtilDAO.construireRequetePost(SERVICE_NOM);
64
		rb.envoyerRequete(postDonneesEncodees, new JsonRestRequestCallback() {
64
		rb.envoyerRequete(postDonneesEncodees, new JsonRestRequestCallback() {
65
			@Override
65
			@Override
66
			public void surReponse(JSONValue reponseValeur) {
66
			public void surReponse(JSONValue reponseValeur) {
67
				traiterReponse(reponseValeur, "publication_valide");
67
				traiterReponse(reponseValeur, "publication_valide");
68
			}
68
			}
69
		}) ;
69
		}) ;
70
	}
70
	}
71
	
71
	
72
	public void modifier(Publication publication) {
72
	public void modifier(Publication publication) {
73
		String[] parametres = {publication.getId()};
73
		String[] parametres = {publication.getId()};
74
		final JsonRestRequestBuilder rb = UtilDAO.construireRequetePost(SERVICE_NOM, parametres);
74
		final JsonRestRequestBuilder rb = UtilDAO.construireRequetePost(SERVICE_NOM, parametres);
75
		
75
		
76
		String postDonneesEncodees = publication.obtenirChainePOST()+"&cmhl_ce_modifier_par="+utilisateurId;;
76
		String postDonneesEncodees = publication.obtenirChainePOST()+"&cmhl_ce_modifier_par="+utilisateurId;
77
		
77
		
78
		rb.envoyerRequete(postDonneesEncodees, new JsonRestRequestCallback() {
78
		rb.envoyerRequete(postDonneesEncodees, new JsonRestRequestCallback() {
79
			@Override
79
			@Override
80
			public void surReponse(JSONValue reponseValeur) {
80
			public void surReponse(JSONValue reponseValeur) {
-
 
81
				GWT.log("dans Asynch", null);
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
		}
-
 
106
		GWT.log("dans traiterReponse"+vueARafraichir.getClass(), null);
105
		vueARafraichir.rafraichir(info);
107
		vueARafraichir.rafraichir(info);
106
	}
108
	}
107
 
109
 
108
}
110
}