Subversion Repositories eFlore/Applications.coel

Rev

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

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