Subversion Repositories eFlore/Applications.coel

Rev

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

Rev 1052 Rev 1231
1
package org.tela_botanica.client.modeles.personne;
1
package org.tela_botanica.client.modeles.personne;
2
 
2
 
3
import java.util.HashMap;
3
import java.util.HashMap;
4
 
4
 
5
import org.tela_botanica.client.Mediateur;
5
import org.tela_botanica.client.Mediateur;
6
import org.tela_botanica.client.RegistreId;
6
import org.tela_botanica.client.RegistreId;
7
import org.tela_botanica.client.http.JsonRestRequestBuilder;
7
import org.tela_botanica.client.http.JsonRestRequestBuilder;
8
import org.tela_botanica.client.http.JsonRestRequestCallback;
8
import org.tela_botanica.client.http.JsonRestRequestCallback;
9
import org.tela_botanica.client.interfaces.Rafraichissable;
9
import org.tela_botanica.client.interfaces.Rafraichissable;
10
import org.tela_botanica.client.modeles.Information;
10
import org.tela_botanica.client.modeles.Information;
-
 
11
import org.tela_botanica.client.util.Debug;
11
import org.tela_botanica.client.util.UtilDAO;
12
import org.tela_botanica.client.util.UtilDAO;
12
import com.extjs.gxt.ui.client.Registry;
13
import com.extjs.gxt.ui.client.Registry;
13
import com.google.gwt.core.client.GWT;
14
import com.google.gwt.core.client.GWT;
14
import com.google.gwt.json.client.JSONArray;
15
import com.google.gwt.json.client.JSONArray;
15
import com.google.gwt.json.client.JSONValue;
16
import com.google.gwt.json.client.JSONValue;
16
 
17
 
17
public class PersonneAsyncDao {
18
public class PersonneAsyncDao {
18
	private static final String SERVICE_NOM = "CoelPersonne";
19
	private static final String SERVICE_NOM = "CoelPersonne";
19
	
20
	
20
	private String utilisateurId = null;
21
	private String utilisateurId = null;
21
	private Rafraichissable vueARafraichir = null;
22
	private Rafraichissable vueARafraichir = null;
22
	
23
	
23
	public PersonneAsyncDao(Rafraichissable vue) {
24
	public PersonneAsyncDao(Rafraichissable vue) {
24
		vueARafraichir = vue;
25
		vueARafraichir = vue;
25
		utilisateurId = ((Mediateur) Registry.get(RegistreId.MEDIATEUR)).getUtilisateurId();
26
		utilisateurId = ((Mediateur) Registry.get(RegistreId.MEDIATEUR)).getUtilisateurId();
26
	}
27
	}
27
 
28
 
28
	public void selectionner(String personneId, String projetId, String nomComplet, final int pageCourante, final int nbElements) {
29
	public void selectionner(String personneId, String projetId, String nomComplet, final int pageCourante, final int nbElements) {
29
		System.out.println(pageCourante +" " + nbElements);
-
 
-
 
30
 
30
		String[] parametres = {personneId, projetId, nomComplet};
31
		String[] parametres = {personneId, projetId, nomComplet};
31
		
32
		
32
		HashMap<String, String> restrictions = new HashMap<String, String>();
33
		HashMap<String, String> restrictions = new HashMap<String, String>();
33
		restrictions.put("start", String.valueOf(pageCourante*nbElements));
34
		restrictions.put("start", String.valueOf(pageCourante*nbElements));
-
 
35
		
34
		if (nbElements != -1)	{
36
		if (nbElements != -1)	{
35
			restrictions.put("limit", String.valueOf(nbElements));
37
			restrictions.put("limit", String.valueOf(nbElements));
36
		}
38
		}
37
		
39
		
38
		final JsonRestRequestBuilder rb = UtilDAO.construireRequete(SERVICE_NOM, parametres, restrictions);
40
		final JsonRestRequestBuilder rb = UtilDAO.construireRequete(SERVICE_NOM, parametres, restrictions);
39
		rb.envoyerRequete(null, new JsonRestRequestCallback() {
41
		rb.envoyerRequete(null, new JsonRestRequestCallback() {
40
			@Override
42
			@Override
41
			public void surReponse(JSONValue responseValue) {
43
			public void surReponse(JSONValue responseValue) {
42
				// Si la requête est un succès, réception d'un tableau
44
				// Si la requête est un succès, réception d'un tableau
43
				if (responseValue.isArray() != null) {
45
				if (responseValue.isArray() != null) {
44
					final JSONArray reponse = responseValue.isArray();
46
					final JSONArray reponse = responseValue.isArray();
45
					
47
					
46
					// Transformation du tableau JSON réponse en ListeInstitution
48
					// Transformation du tableau JSON réponse en ListeInstitution
47
					Information info = new Information("liste_personne");
49
					Information info = new Information("liste_personne");
48
					PersonneListe personnes;
50
					PersonneListe personnes;
49
					if (reponse.get(0).isArray() != null)	{
51
					if (reponse.get(0).isArray() != null)	{
50
						personnes = new PersonneListe(reponse);
52
						personnes = new PersonneListe(reponse);
51
					} else {
53
					} else {
52
						personnes = new PersonneListe(reponse.get(1).isArray(), reponse.get(0).isNumber(), vueARafraichir);
54
						personnes = new PersonneListe(reponse.get(1).isArray(), reponse.get(0).isNumber(), vueARafraichir);
53
					}
55
					}			
-
 
56
					
54
					personnes.setTaillePage(nbElements);
57
					personnes.setTaillePage(nbElements);
55
					personnes.setPageCourante(pageCourante);							
58
					personnes.setPageCourante(pageCourante);							
56
					info.setDonnee(0, personnes);
59
					info.setDonnee(0, personnes);
57
					
60
					
58
					// et on met à jour le demandeur des données
61
					// et on met à jour le demandeur des données
59
					vueARafraichir.rafraichir(info);
62
					vueARafraichir.rafraichir(info);
60
				} else {
63
				} else {
61
					GWT.log(rb.getUrl()+"\n\tLa réponse n'est pas un tableau JSON et vaut : "+responseValue.toString(), null);
64
					GWT.log(rb.getUrl()+"\n\tLa réponse n'est pas un tableau JSON et vaut : "+responseValue.toString(), null);
62
				}
65
				}
63
			}
66
			}
64
		});	
67
		});	
65
	}
68
	}
66
	
69
	
67
	public void ajouter(Personne personne) {
70
	public void ajouter(Personne personne) {
-
 
71
		
68
		String postDonneesEncodees = personne.obtenirChainePOST();
72
		String postDonneesEncodees = personne.obtenirChainePOST();
69
		postDonneesEncodees += "&cmhl_ce_modifier_par=" + utilisateurId;
73
		postDonneesEncodees += "&cmhl_ce_modifier_par=" + utilisateurId;
70
 
74
		
71
		final JsonRestRequestBuilder rb = UtilDAO.construireRequetePost(SERVICE_NOM);	
75
		final JsonRestRequestBuilder rb = UtilDAO.construireRequetePost(SERVICE_NOM);	
72
		rb.envoyerRequete(postDonneesEncodees, new JsonRestRequestCallback() {
76
		rb.envoyerRequete(postDonneesEncodees, new JsonRestRequestCallback() {
73
			@Override
77
			@Override
74
			public void surReponse(JSONValue responseValue) {
78
			public void surReponse(JSONValue responseValue) {
75
				if (responseValue.isString() != null) {
79
				if (responseValue.isString() != null) {
76
					Information info = new Information("ajout_personne");
80
					Information info = new Information("ajout_personne");
77
					String structureIdOuMessage = responseValue.isString().stringValue();
81
					String structureIdOuMessage = responseValue.isString().stringValue();
78
					if (structureIdOuMessage.matches("^[0-9]+$")) {
82
					if (structureIdOuMessage.matches("^[0-9]+$")) {
79
						info.setDonnee(structureIdOuMessage);
83
						info.setDonnee(structureIdOuMessage);
80
					} else {
84
					} else {
81
						info.setMessage(structureIdOuMessage);
85
						info.setMessage(structureIdOuMessage);
82
					}
86
					}
83
					vueARafraichir.rafraichir(info);
87
					vueARafraichir.rafraichir(info);
84
				} else {
88
				} else {
85
					GWT.log(rb.getUrl()+"\n\tLa réponse n'est pas une chaine JSON.", null);
89
					GWT.log(rb.getUrl()+"\n\tLa réponse n'est pas une chaine JSON.", null);
86
				}
90
				}
87
			}
91
			}
88
		});
92
		});	
89
	}
93
	}
90
	
94
	
91
	public void modifier(Personne personne) {
95
	public void modifier(Personne personne) {
92
		String postDonneesEncodees = personne.obtenirChainePOST();
96
		String postDonneesEncodees = personne.obtenirChainePOST();
93
		postDonneesEncodees += "&cmhl_ce_modifier_par=" + utilisateurId;
97
		postDonneesEncodees += "&cmhl_ce_modifier_par=" + utilisateurId;
94
		GWT.log(postDonneesEncodees, null);
98
		GWT.log(postDonneesEncodees, null);
95
		String[] parametres = {personne.getId()};
99
		String[] parametres = {personne.getId()};
96
		final JsonRestRequestBuilder rb = UtilDAO.construireRequetePost(SERVICE_NOM, parametres);
100
		final JsonRestRequestBuilder rb = UtilDAO.construireRequetePost(SERVICE_NOM, parametres);
97
		rb.envoyerRequete(postDonneesEncodees, new JsonRestRequestCallback() {
101
		rb.envoyerRequete(postDonneesEncodees, new JsonRestRequestCallback() {
98
			@Override
102
			@Override
99
			public void surReponse(JSONValue responseValue) {
103
			public void surReponse(JSONValue responseValue) {
100
				// Si la requête est un succès, reception d'une chaine
104
				// Si la requête est un succès, reception d'une chaine
101
				if (responseValue.isString() != null) {
105
				if (responseValue.isString() != null) {
102
					Information info = new Information("modification_personne");
106
					Information info = new Information("modification_personne");
103
					info.setMessage(responseValue.isString().stringValue());
107
					info.setMessage(responseValue.isString().stringValue());
104
					vueARafraichir.rafraichir(info);
108
					vueARafraichir.rafraichir(info);
105
				} else {
109
				} else {
106
					GWT.log(rb.getUrl()+"\n\tLa réponse n'est pas une chaine JSON.", null);
110
					GWT.log(rb.getUrl()+"\n\tLa réponse n'est pas une chaine JSON.", null);
107
				}
111
				}
108
			}
112
			}
109
		});
113
		});
110
	}
114
	}
111
 
115
 
112
	public void supprimer(String personnesId) {
116
	public void supprimer(String personnesId) {		
113
		String[] parametres = {utilisateurId, personnesId};
117
		String[] parametres = {utilisateurId, personnesId};
114
		final JsonRestRequestBuilder rb = UtilDAO.construireRequetePost(SERVICE_NOM, parametres);
118
		final JsonRestRequestBuilder rb = UtilDAO.construireRequetePost(SERVICE_NOM, parametres);
115
		rb.envoyerRequeteSuppression(new JsonRestRequestCallback() {
119
		rb.envoyerRequeteSuppression(new JsonRestRequestCallback() {
116
			@Override
120
			@Override
117
			public void surReponse(JSONValue responseValue) {
121
			public void surReponse(JSONValue responseValue) {
118
				if (responseValue.isString() != null) {
122
				if (responseValue.isString() != null) {
119
					Information info = new Information("suppression_personne");
123
					Information info = new Information("suppression_personne");
120
					info.setMessage(responseValue.isString().stringValue());
124
					info.setMessage(responseValue.isString().stringValue());
121
					vueARafraichir.rafraichir(info);
125
					vueARafraichir.rafraichir(info);
122
				} else {
126
				} else {
123
					GWT.log(rb.getUrl()+"\n\tLa réponse n'est pas une chaine JSON.", null);
127
					GWT.log(rb.getUrl()+"\n\tLa réponse n'est pas une chaine JSON.", null);
124
				}
128
				}
125
			}
129
			}
126
		});
130
		});
127
	}
131
	}
128
	
132
	
129
}
133
}