Subversion Repositories eFlore/Applications.coel

Rev

Rev 1417 | Rev 1513 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1417 Rev 1468
Line 1... Line 1...
1
package org.tela_botanica.client.modeles.structure;
1
package org.tela_botanica.client.modeles.structure;
Line -... Line 2...
-
 
2
 
-
 
3
import java.util.HashMap;
2
 
4
 
3
import org.tela_botanica.client.Mediateur;
5
import org.tela_botanica.client.Mediateur;
4
import org.tela_botanica.client.RegistreId;
6
import org.tela_botanica.client.RegistreId;
5
import org.tela_botanica.client.http.JsonRestRequestBuilder;
7
import org.tela_botanica.client.http.JsonRestRequestBuilder;
6
import org.tela_botanica.client.http.JsonRestRequestCallback;
8
import org.tela_botanica.client.http.JsonRestRequestCallback;
Line 12... Line 14...
12
 
14
 
13
import com.extjs.gxt.ui.client.Registry;
15
import com.extjs.gxt.ui.client.Registry;
14
import com.google.gwt.core.client.GWT;
16
import com.google.gwt.core.client.GWT;
15
import com.google.gwt.http.client.URL;
17
import com.google.gwt.http.client.URL;
-
 
18
import com.google.gwt.json.client.JSONArray;
16
import com.google.gwt.json.client.JSONArray;
19
import com.google.gwt.json.client.JSONObject;
Line 17... Line 20...
17
import com.google.gwt.json.client.JSONValue;
20
import com.google.gwt.json.client.JSONValue;
18
 
21
 
Line 25... Line 28...
25
	public StructureAPersonneAsyncDao(Rafraichissable vueARafraichirCourrante) {
28
	public StructureAPersonneAsyncDao(Rafraichissable vueARafraichirCourrante) {
26
		if (Mediateur.DEBUG) System.out.println("|| StructureAPersonneAsyncDao > vueARafraichir = "+vueARafraichirCourrante.getClass().toString());
29
		if (Mediateur.DEBUG) System.out.println("|| StructureAPersonneAsyncDao > vueARafraichir = "+vueARafraichirCourrante.getClass().toString());
27
		vueARafraichir = vueARafraichirCourrante;
30
		vueARafraichir = vueARafraichirCourrante;
28
		utilisateurId = ((Mediateur) Registry.get(RegistreId.MEDIATEUR)).getUtilisateurId();
31
		utilisateurId = ((Mediateur) Registry.get(RegistreId.MEDIATEUR)).getUtilisateurId();
29
	}
32
	}
-
 
33
 
Line 30... Line 34...
30
	
34
	
-
 
35
	public void selectionner(final boolean paginationProgressive, final String structureId, final String roleId, final String recherche, final int start, final int nbElements, final Integer seqId) {
-
 
36
Debug.log("selectionner structure a personne");
-
 
37
/*Debug.log("paginationProgressive="+paginationProgressive);
-
 
38
Debug.log("structureId="+structureId);
-
 
39
Debug.log("roleId="+roleId);
-
 
40
Debug.log("recherche="+recherche);
-
 
41
Debug.log("nbElements="+nbElements);
31
	public void selectionner(final String structureId, final String roleId, final Integer seqId) {
42
Debug.log("seqId="+seqId);*/
Line -... Line 43...
-
 
43
		String[] parametres = {structureId, roleId};
-
 
44
		
-
 
45
		HashMap<String, String> restrictions = new HashMap<String, String>();
-
 
46
		
-
 
47
		if (nbElements != -1)	{
-
 
48
			restrictions.put("limit", String.valueOf(nbElements));
-
 
49
		}
-
 
50
		
-
 
51
		restrictions.put("orderby", "cp_nom");
-
 
52
 
-
 
53
		/** GESTION DE LA REQUETE dans le cas d'une liste paginée progressive **/
-
 
54
		if (paginationProgressive) {
-
 
55
 
-
 
56
			/** DEFINITION DU TUPLE DE DEPART **/
-
 
57
			restrictions.put("start", String.valueOf(start));
-
 
58
			
-
 
59
			/** CONSTRUCTION DE LA REQUETE **/
-
 
60
    		final JsonRestRequestBuilder rb = UtilDAO.construireRequete(SERVICE_NOM, parametres, restrictions);
-
 
61
 
-
 
62
    		/** ENVOI DE LA REQUETE **/
-
 
63
    		rb.envoyerRequete(null, new JsonRestRequestCallback()
-
 
64
    		{
-
 
65
    			/** RECEPTION DE LA REPONSE **/
-
 
66
    			public void surReponse(JSONValue responseValue)
-
 
67
    			{
-
 
68
    				/** Dans le cas d'une liste paginée, vueARafraichir est un objet Proxy.
-
 
69
    				 * On retourne l'objet JSON au proxy afin que ce soit lui qui le traite **/
-
 
70
					if (seqId != null)	{
-
 
71
						if (Mediateur.DEBUG) System.out.println("<-- StructureAPersonneAsyncDao > Liste paginée, retour au sequenceur");
-
 
72
						Reponse reponseRequete = new Reponse(responseValue, seqId);
-
 
73
						vueARafraichir.rafraichir(reponseRequete);
-
 
74
					}
-
 
75
					else	{
-
 
76
						if (Mediateur.DEBUG) System.out.println("<-- StructureAPersonneAsyncDao > Liste paginée, retour à "+vueARafraichir.getClass().toString());
-
 
77
						vueARafraichir.rafraichir(responseValue);
-
 
78
					}
-
 
79
    			}
-
 
80
    		});
-
 
81
		}
-
 
82
		/** GESTION DE LA REQUETE dans le cas d'une liste NON paginée progressive **/
-
 
83
		else {
-
 
84
			
-
 
85
			/** DEFINITION DU TUPLE DE DEPART **/
32
		String[] parametres = {structureId, roleId};
86
			restrictions.put("start", String.valueOf(start*nbElements));
-
 
87
			
33
		
88
			final JsonRestRequestBuilder rb = UtilDAO.construireRequete(SERVICE_NOM, parametres, restrictions);
34
		final JsonRestRequestBuilder rb = UtilDAO.construireRequete(SERVICE_NOM, parametres);
89
 
35
		rb.envoyerRequete(null, new JsonRestRequestCallback() {
90
			rb.envoyerRequete(null, new JsonRestRequestCallback() {
-
 
91
				@Override
36
			@Override
92
				public void surReponse(JSONValue responseValue) {
-
 
93
					
37
			public void surReponse(JSONValue responseValue) {
94
					Information info = new Information("liste_structure_a_personne");
-
 
95
 
38
				Information info = new Information("liste_structure_a_personne");
96
					if (responseValue != null) {
-
 
97
 
39
				if (responseValue != null) {
98
						JSONObject responseObject = responseValue.isObject();
-
 
99
 
-
 
100
						if (responseObject != null) {
-
 
101
 
-
 
102
							// Si la réponse est un tableau, alors c'est une liste de Structures qui a été retournée
40
					// Si la requête est un succès, reception d'un tableau
103
							if (responseObject.get("structuresAPersonne").isArray() != null) {
41
					if (responseValue.isArray() != null) {
104
 
42
						final JSONArray reponse = responseValue.isArray();
105
								final JSONArray reponse = responseObject.get("structuresAPersonne").isArray();
43
						// Transformation du tableau JSON réponse en ListeInstitution
106
								// Transformation du tableau JSON réponse en ListeInstitution
44
						StructureAPersonneListe personnel = new StructureAPersonneListe(reponse);
107
								StructureAPersonneListe personnes = new StructureAPersonneListe(reponse);
45
						info.setDonnee(0, personnel);
108
								info.setDonnee(0, personnes);
46
						// et on met à jour le demandeur des données
109
								// et on met à jour le demandeur des données
47
						if (seqId !=null)	{
110
								if (seqId != null)	{
-
 
111
									Reponse reponseRequete = new Reponse(info, seqId);
48
							Reponse reponseSequenceur = new Reponse(info, seqId);
112
									vueARafraichir.rafraichir(reponseRequete);
49
							vueARafraichir.rafraichir(reponseSequenceur);
113
								}
-
 
114
								else	{
-
 
115
									vueARafraichir.rafraichir(info);
-
 
116
								}
-
 
117
								
-
 
118
							// Si la réponse est un objet, alors c'est une unique Structure qui a été retournée
-
 
119
							} else if (responseObject.get("structuresAPersonne").isObject() != null) {
50
						} else {
120
								GWT.log(rb.getUrl()+"\n\tLa réponse n'est pas un tableau JSON et vaut : "+responseValue.toString(), null);
51
							vueARafraichir.rafraichir(info);
121
							}
52
						}
122
						}
53
					} else {
-
 
54
						GWT.log(rb.getUrl()+"\n\tLa réponse n'est pas un talbeau JSON et vaut : "+responseValue.toString(), null);
-
 
55
					}
123
					} else {
56
				} else {
124
						// Dans le cas, où nous demandons toutes les institutions et qu'il n'y en a pas, nous retournons un objet vide
57
					if (structureId == null) {
125
						if (structureId == null) {
58
						// Dans le cas, où nous demandons toutes les relations Structure à Personne et qu'il n'y en a pas, nous retournons un message d'information
126
							// Dans le cas, où nous demandons toutes les relations Structure à Personne et qu'il n'y en a pas, nous retournons un message d'information
-
 
127
							info.setMessage("Aucun personnel");
59
						info.setMessage("Aucun personnel");
128
							vueARafraichir.rafraichir(info);
60
						vueARafraichir.rafraichir(info);
129
						}
61
					}
130
					}
62
				}
131
				}
63
			}
132
			});
-
 
133
		}
Line 64... Line 134...
64
		});
134
	}	
65
	}
135
 
66
 
136
 
67
	public void ajouter(String structureId, StructureAPersonne personnel) {		
137
	public void ajouter(String structureId, StructureAPersonne personnel) {