Subversion Repositories eFlore/Applications.coel

Rev

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

Rev 245 Rev 264
1
package org.tela_botanica.client.modeles;
1
package org.tela_botanica.client.modeles;
2
 
2
 
3
import org.tela_botanica.client.RegistreId;
3
import org.tela_botanica.client.RegistreId;
4
import org.tela_botanica.client.interfaces.Rafraichissable;
4
import org.tela_botanica.client.interfaces.Rafraichissable;
5
 
5
 
6
import com.extjs.gxt.ui.client.Registry;
6
import com.extjs.gxt.ui.client.Registry;
7
import com.extjs.gxt.ui.client.widget.Info;
7
import com.extjs.gxt.ui.client.widget.Info;
8
import com.google.gwt.core.client.GWT;
8
import com.google.gwt.core.client.GWT;
9
import com.google.gwt.http.client.Request;
9
import com.google.gwt.http.client.Request;
10
import com.google.gwt.http.client.RequestBuilder;
10
import com.google.gwt.http.client.RequestBuilder;
11
import com.google.gwt.http.client.RequestCallback;
11
import com.google.gwt.http.client.RequestCallback;
12
import com.google.gwt.http.client.RequestException;
12
import com.google.gwt.http.client.RequestException;
13
import com.google.gwt.http.client.Response;
13
import com.google.gwt.http.client.Response;
14
import com.google.gwt.http.client.URL;
14
import com.google.gwt.http.client.URL;
15
import com.google.gwt.json.client.JSONArray;
15
import com.google.gwt.json.client.JSONArray;
16
import com.google.gwt.json.client.JSONObject;
16
import com.google.gwt.json.client.JSONObject;
17
import com.google.gwt.json.client.JSONParser;
17
import com.google.gwt.json.client.JSONParser;
18
import com.google.gwt.json.client.JSONValue;
18
import com.google.gwt.json.client.JSONValue;
19
 
19
 
20
public class StructureAsyncDao {
20
public class StructureAsyncDao {
21
 
21
	
-
 
22
	private static final String SERVICE_NOM = "CoelStructureListe";
-
 
23
	
22
	public void selectionner(final Rafraichissable r, String idUtilisateur, final String projetId, final String idStr) {
24
	public void selectionner(final Rafraichissable vue, String idUtilisateur, final String projetId, final String structureId) {
23
		// Ajout des paramètres et données à selectionner dans l'URL
25
		// Ajout des paramètres et données à selectionner dans l'URL
24
		final String url = ((Configuration) Registry.get(RegistreId.CONFIG)).getServiceBaseUrl() + 
26
		final String url = ((Configuration) Registry.get(RegistreId.CONFIG)).getServiceBaseUrl() + 
25
			"CoelStructureListe/" +
27
			SERVICE_NOM + "/" +
26
			(projetId == null ? "*" : projetId) + "/" +
28
			(projetId == null ? "*" : projetId) + "/" +
27
			(idStr == null ? "" : idStr) +
29
			(structureId == null ? "*" : structureId) + "/" +
28
			"";
30
			"";
29
		
31
		
30
		RequestBuilder rb = new RequestBuilder(RequestBuilder.GET, url);
32
		RequestBuilder rb = new RequestBuilder(RequestBuilder.GET, url);
31
		try {
33
		try {
32
			rb.sendRequest(null, new RequestCallback() {
34
			rb.sendRequest(null, new RequestCallback() {
33
 
35
 
34
				public void onError(Request request, Throwable exception) {
36
				public void onError(Request request, Throwable exception) {
35
					// Gestion des exceptions déclenchées par l'exécution de la requête 
37
					// Gestion des exceptions déclenchées par l'exécution de la requête 
36
					GWT.log("Erreur à l'exécution du service CoelStructureListe (selection)", exception);
38
					GWT.log("Erreur à l'exécution du service CoelStructureListe (selection)", exception);
37
					Info.display("Erreur de Requête", "Une erreur s'est produite lors de l'exécution de la requête.");
39
					Info.display("Erreur de Requête", "Une erreur s'est produite lors de l'exécution de la requête.");
38
				}
40
				}
39
				
41
				
40
				public void onErrorHTTP(Request request, Response reponse) {
42
				public void onErrorHTTP(Request request, Response reponse) {
41
					// Gestion des erreurs HTTP renvoyé par Apache ou JRest
43
					// Gestion des erreurs HTTP renvoyé par Apache ou JRest
42
					Information info = new Information("erreur_jrest", JSONParser.parse(reponse.getText()).isArray());
44
					Information info = new Information("erreur_jrest", JSONParser.parse(reponse.getText()).isArray());
43
					GWT.log("Erreur JREST - Code "+reponse.getStatusCode()+"\n"+info.getMessages().toString(), null);
45
					GWT.log("Erreur JREST - Code "+reponse.getStatusCode()+"\n"+info.getMessages().toString(), null);
44
					Info.display("Erreur JREST - Code "+reponse.getStatusCode(), info.toString());
46
					Info.display("Erreur JREST - Code "+reponse.getStatusCode(), info.toString());
45
				}
47
				}
46
				
48
				
47
				public void onResponseReceived(Request request, Response response) {
49
				public void onResponseReceived(Request request, Response response) {
48
					// Si le code de réponse HTTP ne vaut pas 200 OK, on lance le mécanise d'erreur HTTP
50
					// Si le code de réponse HTTP ne vaut pas 200 OK, on lance le mécanise d'erreur HTTP
49
					if (response.getStatusCode() != 200) {
51
					if (response.getStatusCode() != 200) {
50
						onErrorHTTP(request, response);
52
						onErrorHTTP(request, response);
51
					} else {
53
					} else {
52
						if (response.getText().length() != 0 && response.getText() != null) {
54
						if (response.getText().length() != 0 && response.getText() != null) {
53
							final JSONValue responseValue = JSONParser.parse(response.getText());
55
							final JSONValue responseValue = JSONParser.parse(response.getText());
54
		
56
		
55
							// Si la requête est un succès, reception d'un objet ou d'un tableau
57
							// Si la requête est un succès, reception d'un objet ou d'un tableau
56
							if (responseValue.isObject() != null) {
58
							if (responseValue.isObject() != null) {
57
								final JSONObject reponse = responseValue.isObject();
59
								final JSONObject reponse = responseValue.isObject();
58
								// Transformation du tableau JSON réponse en ListeInstitution
60
								// Transformation du tableau JSON réponse en ListeInstitution
59
								Structure structure = new Structure(reponse);
61
								Structure structure = new Structure(reponse);
60
								StructureConservation structureConservation = new StructureConservation(reponse);
62
								StructureConservation structureConservation = new StructureConservation(reponse);
61
								StructureValorisation structureValorisation = new StructureValorisation(reponse);
63
								StructureValorisation structureValorisation = new StructureValorisation(reponse);
62
								Information info = new Information("selection_structure");
64
								Information info = new Information("selection_structure");
63
								info.setDonnee(0, structure);
65
								info.setDonnee(0, structure);
64
								info.setDonnee(1, structureConservation);
66
								info.setDonnee(1, structureConservation);
65
								info.setDonnee(2, structureValorisation);
67
								info.setDonnee(2, structureValorisation);
66
								r.rafraichir(info);
68
								vue.rafraichir(info);
67
							} else if (responseValue.isArray() != null) {
69
							} else if (responseValue.isArray() != null) {
68
								final JSONArray reponse = responseValue.isArray();
70
								final JSONArray reponse = responseValue.isArray();
69
								// Transformation du tableau JSON réponse en ListeInstitution
71
								// Transformation du tableau JSON réponse en ListeInstitution
70
								StructureListe structures = new StructureListe(reponse);
72
								StructureListe structures = new StructureListe(reponse);
71
								// et on met à jour le demandeur des données
73
								// et on met à jour le demandeur des données
72
								r.rafraichir(structures);
74
								vue.rafraichir(structures);
73
							} else {
75
							} else {
74
								GWT.log(url+"\n\tLa réponse n'est pas un objet ou un talbeau JSON et vaut : "+responseValue.toString(), null);
76
								GWT.log(url+"\n\tLa réponse n'est pas un objet ou un talbeau JSON et vaut : "+responseValue.toString(), null);
75
							}
77
							}
76
						} else {
78
						} else {
77
							if (idStr == null) {
79
							if (structureId == null) {
78
								// Dans le cas, où nous demandons toutes les institutions et qu'il n'y en a pas, nous retournons un objet vide
80
								// Dans le cas, où nous demandons toutes les institutions et qu'il n'y en a pas, nous retournons un objet vide
79
								StructureListe structures = new StructureListe(0);
81
								StructureListe structures = new StructureListe(0);
80
								r.rafraichir(structures);								
82
								vue.rafraichir(structures);								
81
							} else {
83
							} else {
82
								GWT.log(url, null);
84
								GWT.log(url, null);
83
								if (response.getText().length() == 0) {
85
								if (response.getText().length() == 0) {
84
									GWT.log("\tLa réponse a une taille de 0", null);
86
									GWT.log("\tLa réponse a une taille de 0", null);
85
								}
87
								}
86
								if (response.getText() == null) {
88
								if (response.getText() == null) {
87
									GWT.log("\tLa réponse vaul null", null);
89
									GWT.log("\tLa réponse vaul null", null);
88
								}
90
								}
89
							}
91
							}
90
						}
92
						}
91
					}
93
					}
92
				}
94
				}
93
			});
95
			});
94
		} catch (RequestException e) {
96
		} catch (RequestException e) {
95
			e.printStackTrace();
97
			e.printStackTrace();
96
		}
98
		}
97
	}
99
	}
98
	
100
	
99
	public void ajouter(final Rafraichissable r, String utilisateurId, final Structure str) {
101
	public void ajouter(final Rafraichissable r, String utilisateurId, final Structure str) {
100
		final String url = ((Configuration) Registry.get(RegistreId.CONFIG)).getServiceBaseUrl() + 
102
		final String url = ((Configuration) Registry.get(RegistreId.CONFIG)).getServiceBaseUrl() + 
101
			"CoelStructureListe/";
103
			SERVICE_NOM + "/" +
-
 
104
			"";
102
		
105
		
103
		RequestBuilder rb = new RequestBuilder(RequestBuilder.POST, url);
106
		RequestBuilder rb = new RequestBuilder(RequestBuilder.POST, url);
104
		
107
		
105
		String postDonnees = 	"cmhl_ce_modifier_par=" + utilisateurId +
108
		String postDonnees = 	"cmhl_ce_modifier_par=" + utilisateurId +
106
			"&cs_ce_projet =" + URL.encodeComponent(str.getIdProjet()) +
109
			"&cs_ce_projet=" + URL.encodeComponent(str.getIdProjet()) +
107
			"&cs_ce_mere =" + URL.encodeComponent(str.getIdMere()) +
110
			"&cs_ce_mere=" + URL.encodeComponent(str.getIdMere()) +
108
			"&cs_guid =" + URL.encodeComponent(str.getGuid()) +
111
			"&cs_guid=" + URL.encodeComponent(str.getGuid()) +
109
			"&cs_truk_identifiant_alternatif =" + URL.encodeComponent(str.getIdAlternatif()) +
112
			"&cs_truk_identifiant_alternatif=" + URL.encodeComponent(str.getIdAlternatif()) +
110
			"&cs_nom=" + URL.encodeComponent(str.getNom()) +
113
			"&cs_nom=" + URL.encodeComponent(str.getNom()) +
111
			"&cs_truk_nom_alternatif =" + URL.encodeComponent(str.getNomAlternatif()) +
114
			"&cs_truk_nom_alternatif=" + URL.encodeComponent(str.getNomAlternatif()) +
112
			"&cs_ce_type =" + URL.encodeComponent(str.getType()) +
115
			"&cs_ce_type=" + URL.encodeComponent(str.getType()) +
113
			"&cs_ce_truk_type_prive =" + URL.encodeComponent(str.getTypePrive()) +
116
			"&cs_ce_truk_type_prive=" + URL.encodeComponent(str.getTypePrive()) +
114
			"&cs_ce_truk_type_public =" + URL.encodeComponent(str.getTypePublic()) +
117
			"&cs_ce_truk_type_public=" + URL.encodeComponent(str.getTypePublic()) +
115
			"&cs_adresse_01 =" + URL.encodeComponent(str.getAdresse()) +
118
			"&cs_adresse_01=" + URL.encodeComponent(str.getAdresse()) +
116
			"&cs_adresse_02 =" + URL.encodeComponent(str.getAdresseComplement()) +
119
			"&cs_adresse_02=" + URL.encodeComponent(str.getAdresseComplement()) +
117
			"&cs_date_fondation =" + URL.encodeComponent(str.getDateFondationFormatMysql()) +
120
			"&cs_date_fondation=" + URL.encodeComponent(str.getDateFondationFormatMysql()) +
118
			"&cs_code_postal =" + URL.encodeComponent(str.getCodePostal()) +
121
			"&cs_code_postal=" + URL.encodeComponent(str.getCodePostal()) +
119
			"&cs_ville =" + URL.encodeComponent(str.getVille()) +
122
			"&cs_ville=" + URL.encodeComponent(str.getVille()) +
120
			"&cs_region =" + URL.encodeComponent(str.getRegion()) +
123
			"&cs_region=" + URL.encodeComponent(str.getRegion()) +
121
			"&cs_pays =" + URL.encodeComponent(str.getPays()) +
124
			"&cs_pays=" + URL.encodeComponent(str.getPays()) +
122
			"&cs_telephone =" + URL.encodeComponent(str.getTelephone()) +
125
			"&cs_telephone=" + URL.encodeComponent(str.getTelephone()) +
123
			"&cs_fax =" + URL.encodeComponent(str.getFax()) +
126
			"&cs_fax=" + URL.encodeComponent(str.getFax()) +
124
			"&cs_truk_url =" + URL.encodeComponent(str.getUrl()) +
127
			"&cs_truk_url=" + URL.encodeComponent(str.getUrl()) +
125
			"&cs_nbre_personne =" + URL.encodeComponent(Integer.toString(str.getNbrePersonne())) +
128
			"&cs_nbre_personne=" + URL.encodeComponent(Integer.toString(str.getNbrePersonne())) +
126
			"";
129
			"";
127
 
130
 
128
		try {
131
		try {
129
			rb.sendRequest(postDonnees, new RequestCallback() {
132
			rb.sendRequest(postDonnees, new RequestCallback() {
130
 
133
 
131
				public void onError(Request request, Throwable exception) {
134
				public void onError(Request request, Throwable exception) {
132
					// Gestion des exceptions déclenchées par l'exécution de la requête 
135
					// Gestion des exceptions déclenchées par l'exécution de la requête 
133
					GWT.log("Erreur à l'exécution du service CoelStructureListe (ajout)", exception);
136
					GWT.log("Erreur à l'exécution du service CoelStructureListe (ajout)", exception);
134
					Info.display("Erreur de Requête", "Une erreur s'est produite lors de l'exécution de la requête.");
137
					Info.display("Erreur de Requête", "Une erreur s'est produite lors de l'exécution de la requête.");
135
				}
138
				}
136
				
139
				
137
				public void onErrorHTTP(Request request, Response reponse) {
140
				public void onErrorHTTP(Request request, Response reponse) {
138
					// Gestion des erreurs HTTP renvoyé par Apache ou JRest 
141
					// Gestion des erreurs HTTP renvoyé par Apache ou JRest 
139
					Information info = new Information("erreur_jrest", JSONParser.parse(reponse.getText()).isArray());
142
					Information info = new Information("erreur_jrest", JSONParser.parse(reponse.getText()).isArray());
140
					GWT.log("Erreur JREST - Code "+reponse.getStatusCode()+"\n"+info.getMessages().toString(), null);
143
					GWT.log("Erreur JREST - Code "+reponse.getStatusCode()+"\n"+info.getMessages().toString(), null);
141
					Info.display("Erreur JREST - Code "+reponse.getStatusCode(), info.toString());
144
					Info.display("Erreur JREST - Code "+reponse.getStatusCode(), info.toString());
142
				}
145
				}
143
 
146
 
144
				public void onResponseReceived(Request request, Response response) {
147
				public void onResponseReceived(Request request, Response response) {
145
					// Si le code de réponse HTTP ne vaut pas 200 OK, on lance le mécanise d'erreur HTTP
148
					// Si le code de réponse HTTP ne vaut pas 200 OK, on lance le mécanise d'erreur HTTP
146
					if (response.getStatusCode() != 200) {
149
					if (response.getStatusCode() != 200) {
147
						onErrorHTTP(request, response);
150
						onErrorHTTP(request, response);
148
					} else {
151
					} else {
149
						if (response.getText().length() != 0 && response.getText() != null) {
152
						if (response.getText().length() != 0 && response.getText() != null) {
150
							final JSONValue responseValue = JSONParser.parse(response.getText());
153
							final JSONValue responseValue = JSONParser.parse(response.getText());
151
							
154
							
152
							// Si la requête est un succès, reception d'une chaine
155
							// Si la requête est un succès, reception d'une chaine
153
							if (responseValue.isString() != null) {
156
							if (responseValue.isString() != null) {
154
								Information info = new Information("ajout_structure", responseValue.isString().stringValue());
157
								Information info = new Information("ajout_structure", responseValue.isString().stringValue());
155
								r.rafraichir(info);
158
								r.rafraichir(info);
156
							} else {
159
							} else {
157
								GWT.log(url+"\n\tLa réponse n'est pas une chaine JSON.", null);
160
								GWT.log(url+"\n\tLa réponse n'est pas une chaine JSON.", null);
158
							}
161
							}
159
						} else {
162
						} else {
160
							GWT.log(url, null);
163
							GWT.log(url, null);
161
							if (response.getText().length() == 0) {
164
							if (response.getText().length() == 0) {
162
								GWT.log("\tLa réponse a une taille de 0", null);
165
								GWT.log("\tLa réponse a une taille de 0", null);
163
							}
166
							}
164
							if (response.getText() == null) {
167
							if (response.getText() == null) {
165
								GWT.log("\tLa réponse vaul null", null);
168
								GWT.log("\tLa réponse vaul null", null);
166
							}
169
							}
167
						}
170
						}
168
					}
171
					}
169
				}
172
				}
170
				
173
				
171
			}) ;
174
			}) ;
172
		} catch (RequestException e) {
175
		} catch (RequestException e) {
173
			// Gestion des exceptions déclenchées par la création de la requête (url non-valide ?)
176
			// Gestion des exceptions déclenchées par la création de la requête (url non-valide ?)
174
			GWT.log("Erreur à la création du service CoelProjetsListe", e);
177
			GWT.log("Erreur à la création du service CoelProjetsListe", e);
175
			Info.display("Erreur de Requête", "Une erreur s'est produite lors de la création de la requête.");
178
			Info.display("Erreur de Requête", "Une erreur s'est produite lors de la création de la requête.");
176
		}
179
		}
177
	}
180
	}
178
 
181
 
179
	public void supprimer(final Rafraichissable r, String idUtilisateur, String idStr) {
182
	public void supprimer(final Rafraichissable r, String utilisateurId, String structureId) {
180
		// Ajout des paramètres et données à supprimer dans l'URL
183
		// Ajout des paramètres et données à supprimer dans l'URL
181
		final String url = ((Configuration) Registry.get(RegistreId.CONFIG)).getServiceBaseUrl() + 
184
		final String url = ((Configuration) Registry.get(RegistreId.CONFIG)).getServiceBaseUrl() + 
182
			"CoelStructureListe/" +
185
			SERVICE_NOM + "/" +
183
			idUtilisateur + "/" +
186
			utilisateurId + "/" +
184
			idStr +
187
			structureId +
185
			"";
188
			"";
186
		
189
		
187
		// DELETE n'étant pas disponible comme méthode HTTP, nous utilisons POST avec le paramètre action=DELETE
190
		// DELETE n'étant pas disponible comme méthode HTTP, nous utilisons POST avec le paramètre action=DELETE
188
		RequestBuilder rb = new RequestBuilder(RequestBuilder.POST, url);
191
		RequestBuilder rb = new RequestBuilder(RequestBuilder.POST, url);
189
		String postDonnees = "action=DELETE";
192
		String postDonnees = "action=DELETE";
190
		
193
		
191
		try {
194
		try {
192
			rb.sendRequest(postDonnees, new RequestCallback() {
195
			rb.sendRequest(postDonnees, new RequestCallback() {
193
 
196
 
194
				public void onError(Request request, Throwable exception) {
197
				public void onError(Request request, Throwable exception) {
195
					// Gestion des exceptions déclenchées par l'exécution de la requête 
198
					// Gestion des exceptions déclenchées par l'exécution de la requête 
196
					GWT.log("Erreur à l'exécution du service CoelStructureListe (suppression)", exception);
199
					GWT.log("Erreur à l'exécution du service CoelStructureListe (suppression)", exception);
197
					Info.display("Erreur de Requête", "Une erreur s'est produite lors de l'exécution de la requête.");
200
					Info.display("Erreur de Requête", "Une erreur s'est produite lors de l'exécution de la requête.");
198
				}
201
				}
199
 
202
 
200
				public void onErrorHTTP(Request request, Response reponse) {
203
				public void onErrorHTTP(Request request, Response reponse) {
201
					// Gestion des erreurs HTTP renvoyé par Apache ou JRest 
204
					// Gestion des erreurs HTTP renvoyé par Apache ou JRest 
202
					Information info = new Information("erreur_jrest", JSONParser.parse(reponse.getText()).isArray());
205
					Information info = new Information("erreur_jrest", JSONParser.parse(reponse.getText()).isArray());
203
					GWT.log("Erreur JREST - Code "+reponse.getStatusCode()+"\n"+info.getMessages().toString(), null);
206
					GWT.log("Erreur JREST - Code "+reponse.getStatusCode()+"\n"+info.getMessages().toString(), null);
204
					Info.display("Erreur JREST - Code "+reponse.getStatusCode(), info.toString());
207
					Info.display("Erreur JREST - Code "+reponse.getStatusCode(), info.toString());
205
				}
208
				}
206
				
209
				
207
				public void onResponseReceived(Request request, Response response) {
210
				public void onResponseReceived(Request request, Response response) {
208
					// Si le code de réponse HTTP ne vaut pas 200 OK, on lance le mécanise d'erreur HTTP
211
					// Si le code de réponse HTTP ne vaut pas 200 OK, on lance le mécanise d'erreur HTTP
209
					if (response.getStatusCode() != 200) {
212
					if (response.getStatusCode() != 200) {
210
						onErrorHTTP(request, response);
213
						onErrorHTTP(request, response);
211
					} else {
214
					} else {
212
						if (response.getText().length() != 0 && response.getText() != null) {
215
						if (response.getText().length() != 0 && response.getText() != null) {
213
							final JSONValue responseValue = JSONParser.parse(response.getText());
216
							final JSONValue responseValue = JSONParser.parse(response.getText());
214
							
217
							
215
							// Si la requête est un succès, reception d'une chaine
218
							// Si la requête est un succès, reception d'une chaine
216
							if (responseValue.isString() != null) {
219
							if (responseValue.isString() != null) {
217
								Information info = new Information("suppression_structure", responseValue.isString().stringValue());
220
								Information info = new Information("suppression_structure", responseValue.isString().stringValue());
218
								r.rafraichir(info);
221
								r.rafraichir(info);
219
							} else {
222
							} else {
220
								GWT.log(url+"\n\tLa réponse n'est pas une chaine JSON.", null);
223
								GWT.log(url+"\n\tLa réponse n'est pas une chaine JSON.", null);
221
							}
224
							}
222
						} else {
225
						} else {
223
							GWT.log(url, null);
226
							GWT.log(url, null);
224
							if (response.getText().length() == 0) {
227
							if (response.getText().length() == 0) {
225
								GWT.log("\tLa réponse a une taille de 0", null);
228
								GWT.log("\tLa réponse a une taille de 0", null);
226
							}
229
							}
227
							if (response.getText() == null) {
230
							if (response.getText() == null) {
228
								GWT.log("\tLa réponse vaul null", null);
231
								GWT.log("\tLa réponse vaul null", null);
229
							}
232
							}
230
						}
233
						}
231
					}
234
					}
232
				}
235
				}
233
				
236
				
234
			}) ;
237
			}) ;
235
		} catch (RequestException e) {
238
		} catch (RequestException e) {
236
			// Gestion des exceptions déclenchées par la création de la requête (url non-valide ?)
239
			// Gestion des exceptions déclenchées par la création de la requête (url non-valide ?)
237
			GWT.log("Erreur à la création du service CoelProjetsListe", e);
240
			GWT.log("Erreur à la création du service CoelProjetsListe", e);
238
			Info.display("Erreur de Requête", "Une erreur s'est produite lors de la création de la requête.");
241
			Info.display("Erreur de Requête", "Une erreur s'est produite lors de la création de la requête.");
239
		}
242
		}
240
	}
243
	}
241
 
244
 
242
	public void modifier(final Rafraichissable r, String utilisateurId, Structure str, StructureConservation conservation, StructureValorisation valorisation) {
245
	public void modifier(final Rafraichissable r, String utilisateurId, Structure str, StructureConservation conservation, StructureValorisation valorisation) {
243
		final String url = ((Configuration) Registry.get(RegistreId.CONFIG)).getServiceBaseUrl() + 
246
		final String url = ((Configuration) Registry.get(RegistreId.CONFIG)).getServiceBaseUrl() + 
244
		"CoelStructureListe/" +
247
		SERVICE_NOM + "/" +
245
		str.getId()
248
		str.getId()
246
		;
249
		;
247
	
250
	
248
		RequestBuilder rb = new RequestBuilder(RequestBuilder.POST, url);
251
		RequestBuilder rb = new RequestBuilder(RequestBuilder.POST, url);
249
		
252
		
250
		String postDonnees = 	"cmhl_ce_modifier_par=" + utilisateurId +
253
		String postDonnees = 	"cmhl_ce_modifier_par=" + utilisateurId +
251
			"&cs_ce_projet =" + URL.encodeComponent(str.getIdProjet()) +
254
			"&cs_ce_projet=" + URL.encodeComponent(str.getIdProjet()) +
252
			"&cs_ce_mere =" + URL.encodeComponent(str.getIdMere()) +
255
			"&cs_ce_mere=" + URL.encodeComponent(str.getIdMere()) +
253
			"&cs_guid =" + URL.encodeComponent(str.getGuid()) +
256
			"&cs_guid=" + URL.encodeComponent(str.getGuid()) +
254
			"&cs_truk_identifiant_alternatif =" + URL.encodeComponent(str.getIdAlternatif()) +
257
			"&cs_truk_identifiant_alternatif=" + URL.encodeComponent(str.getIdAlternatif()) +
255
			"&cs_nom=" + URL.encodeComponent(str.getNom()) +
258
			"&cs_nom=" + URL.encodeComponent(str.getNom()) +
256
			"&cs_truk_nom_alternatif =" + URL.encodeComponent(str.getNomAlternatif()) +
259
			"&cs_truk_nom_alternatif=" + URL.encodeComponent(str.getNomAlternatif()) +
257
			"&cs_ce_type =" + URL.encodeComponent(str.getType()) +
260
			"&cs_ce_type=" + URL.encodeComponent(str.getType()) +
258
			"&cs_ce_truk_type_prive =" + URL.encodeComponent(str.getTypePrive()) +
261
			"&cs_ce_truk_type_prive=" + URL.encodeComponent(str.getTypePrive()) +
259
			"&cs_ce_truk_type_public =" + URL.encodeComponent(str.getTypePublic()) +
262
			"&cs_ce_truk_type_public=" + URL.encodeComponent(str.getTypePublic()) +
260
			"&cs_adresse_01 =" + URL.encodeComponent(str.getAdresse()) +
263
			"&cs_adresse_01=" + URL.encodeComponent(str.getAdresse()) +
261
			"&cs_adresse_02 =" + URL.encodeComponent(str.getAdresseComplement()) +
264
			"&cs_adresse_02=" + URL.encodeComponent(str.getAdresseComplement()) +
262
			"&cs_date_fondation =" + URL.encodeComponent(str.getDateFondationFormatMysql()) +
265
			"&cs_date_fondation=" + URL.encodeComponent(str.getDateFondationFormatMysql()) +
263
			"&cs_code_postal =" + URL.encodeComponent(str.getCodePostal()) +
266
			"&cs_code_postal=" + URL.encodeComponent(str.getCodePostal()) +
264
			"&cs_ville =" + URL.encodeComponent(str.getVille()) +
267
			"&cs_ville=" + URL.encodeComponent(str.getVille()) +
265
			"&cs_region =" + URL.encodeComponent(str.getRegion()) +
268
			"&cs_region=" + URL.encodeComponent(str.getRegion()) +
266
			"&cs_pays =" + URL.encodeComponent(str.getPays()) +
269
			"&cs_pays=" + URL.encodeComponent(str.getPays()) +
267
			"&cs_telephone =" + URL.encodeComponent(str.getTelephone()) +
270
			"&cs_telephone=" + URL.encodeComponent(str.getTelephone()) +
268
			"&cs_fax =" + URL.encodeComponent(str.getFax()) +
271
			"&cs_fax=" + URL.encodeComponent(str.getFax()) +
269
			"&cs_courriel =" + URL.encodeComponent(str.getCourriel()) +
272
			"&cs_courriel=" + URL.encodeComponent(str.getCourriel()) +
270
			"&cs_truk_url =" + URL.encodeComponent(str.getUrl()) +
273
			"&cs_truk_url=" + URL.encodeComponent(str.getUrl()) +
271
			"&cs_nbre_personne =" + URL.encodeComponent(Integer.toString(str.getNbrePersonne())) +
274
			"&cs_nbre_personne=" + URL.encodeComponent(Integer.toString(str.getNbrePersonne())) +
272
			"&csc_mark_formation =" + URL.encodeComponent(conservation.getFormation()) +
275
			"&csc_mark_formation=" + URL.encodeComponent(conservation.getFormation()) +
273
			"&csc_formation =" + URL.encodeComponent(conservation.getFormationInfo()) +
276
			"&csc_formation=" + URL.encodeComponent(conservation.getFormationInfo()) +
274
			"&csc_mark_formation_interet =" + URL.encodeComponent(conservation.getFormationInteret()) +
277
			"&csc_mark_formation_interet=" + URL.encodeComponent(conservation.getFormationInteret()) +
275
			"&csc_truk_stockage_local =" + URL.encodeComponent(conservation.getStockageLocal()) +
278
			"&csc_truk_stockage_local=" + URL.encodeComponent(conservation.getStockageLocal()) +
276
			"&csc_truk_stockage_meuble =" + URL.encodeComponent(conservation.getStockageMeuble()) +
279
			"&csc_truk_stockage_meuble=" + URL.encodeComponent(conservation.getStockageMeuble()) +
277
			"&csc_truk_stockage_parametre =" + URL.encodeComponent(conservation.getStockageParametre()) +
280
			"&csc_truk_stockage_parametre=" + URL.encodeComponent(conservation.getStockageParametre()) +
278
			"&csc_mark_collection_commune =" + URL.encodeComponent(conservation.getCollectionCommune()) +
281
			"&csc_mark_collection_commune=" + URL.encodeComponent(conservation.getCollectionCommune()) +
279
			"&csc_truk_collection_autre =" + URL.encodeComponent(conservation.getCollectionAutre()) +
282
			"&csc_truk_collection_autre=" + URL.encodeComponent(conservation.getCollectionAutre()) +
280
			"&csc_mark_acces_controle =" + URL.encodeComponent(conservation.getAccesControle()) +
283
			"&csc_mark_acces_controle=" + URL.encodeComponent(conservation.getAccesControle()) +
281
			"&csc_mark_restauration =" + URL.encodeComponent(conservation.getRestauration()) +
284
			"&csc_mark_restauration=" + URL.encodeComponent(conservation.getRestauration()) +
282
			"&csc_truk_restauration_operation =" + URL.encodeComponent(conservation.getRestaurationOperation()) +
285
			"&csc_truk_restauration_operation=" + URL.encodeComponent(conservation.getRestaurationOperation()) +
283
			"&csc_ce_materiel_conservation =" + URL.encodeComponent(conservation.getMaterielConservation()) +
286
			"&csc_ce_materiel_conservation=" + URL.encodeComponent(conservation.getMaterielConservation()) +
284
			"&csc_truk_materiel_autre =" + URL.encodeComponent(conservation.getMaterielAutre()) +
287
			"&csc_truk_materiel_autre=" + URL.encodeComponent(conservation.getMaterielAutre()) +
285
			"&csc_mark_traitement =" + URL.encodeComponent(conservation.getTraitement()) +
288
			"&csc_mark_traitement=" + URL.encodeComponent(conservation.getTraitement()) +
286
			"&csc_truk_traitement =" + URL.encodeComponent(conservation.getTraitements()) +
289
			"&csc_truk_traitement=" + URL.encodeComponent(conservation.getTraitements()) +
287
			"&csc_mark_acquisition_collection =" + URL.encodeComponent(conservation.getAcquisitionCollection()) +
290
			"&csc_mark_acquisition_collection=" + URL.encodeComponent(conservation.getAcquisitionCollection()) +
288
			"&csc_mark_acquisition_echantillon =" + URL.encodeComponent(conservation.getAcquisitionEchantillon()) +
291
			"&csc_mark_acquisition_echantillon=" + URL.encodeComponent(conservation.getAcquisitionEchantillon()) +
289
			"&csc_mark_acquisition_traitement =" + URL.encodeComponent(conservation.getAcquisitionTraitement()) +
292
			"&csc_mark_acquisition_traitement=" + URL.encodeComponent(conservation.getAcquisitionTraitement()) +
290
			"&csc_truk_acquisition_traitement_poison =" + URL.encodeComponent(conservation.getAcquisitionTraitementPoison()) +
293
			"&csc_truk_acquisition_traitement_poison=" + URL.encodeComponent(conservation.getAcquisitionTraitementPoison()) +
291
			"&csc_truk_acquisition_traitement_insecte =" + URL.encodeComponent(conservation.getAcquisitionTraitementInsecte()) +
294
			"&csc_truk_acquisition_traitement_insecte=" + URL.encodeComponent(conservation.getAcquisitionTraitementInsecte()) +
292
			"&csv_mark_action =" + URL.encodeComponent(valorisation.getAction()) +
295
			"&csv_mark_action=" + URL.encodeComponent(valorisation.getAction()) +
293
			"&csv_truk_action =" + URL.encodeComponent(valorisation.getActionInfo()) +
296
			"&csv_truk_action=" + URL.encodeComponent(valorisation.getActionInfo()) +
294
			"&csv_publication =" + URL.encodeComponent(valorisation.getPublication()) +
297
			"&csv_publication=" + URL.encodeComponent(valorisation.getPublication()) +
295
			"&csv_collection_autre =" + URL.encodeComponent(valorisation.getCollectionAutre()) +
298
			"&csv_collection_autre=" + URL.encodeComponent(valorisation.getCollectionAutre()) +
296
			"&csv_mark_action_future =" + URL.encodeComponent(valorisation.getActionFuture()) +
299
			"&csv_mark_action_future=" + URL.encodeComponent(valorisation.getActionFuture()) +
297
			"&csv_action_future =" + URL.encodeComponent(valorisation.getActionFutureInfo()) +
300
			"&csv_action_future=" + URL.encodeComponent(valorisation.getActionFutureInfo()) +
298
			"&csv_mark_recherche =" + URL.encodeComponent(valorisation.getRecherche()) +
301
			"&csv_mark_recherche=" + URL.encodeComponent(valorisation.getRecherche()) +
299
			"&csv_truk_recherche_provenance =" + URL.encodeComponent(valorisation.getRechercheProvenance()) +
302
			"&csv_truk_recherche_provenance=" + URL.encodeComponent(valorisation.getRechercheProvenance()) +
300
			"&csv_truk_recherche_type =" + URL.encodeComponent(valorisation.getRechercheType()) +
303
			"&csv_truk_recherche_type=" + URL.encodeComponent(valorisation.getRechercheType()) +
301
			"&csv_mark_acces_ss_motif =" + URL.encodeComponent(valorisation.getAccesSansMotif()) +
304
			"&csv_mark_acces_ss_motif=" + URL.encodeComponent(valorisation.getAccesSansMotif()) +
302
			"&csv_acces_ss_motif =" + URL.encodeComponent(valorisation.getAccesSansMotifInfo()) +
305
			"&csv_acces_ss_motif=" + URL.encodeComponent(valorisation.getAccesSansMotifInfo()) +
303
			"&csv_mark_visite_avec_motif =" + URL.encodeComponent(valorisation.getVisiteAvecMotif()) +
306
			"&csv_mark_visite_avec_motif=" + URL.encodeComponent(valorisation.getVisiteAvecMotif()) +
304
			"&csv_visite_avec_motif =" + URL.encodeComponent(valorisation.getVisiteAvecMotifInfo()) +
307
			"&csv_visite_avec_motif=" + URL.encodeComponent(valorisation.getVisiteAvecMotifInfo()) +
305
			"";
308
			"";
306
	
309
	
307
		try {
310
		try {
308
			rb.sendRequest(postDonnees, new RequestCallback() {
311
			rb.sendRequest(postDonnees, new RequestCallback() {
309
	
312
	
310
				public void onError(Request request, Throwable exception) {
313
				public void onError(Request request, Throwable exception) {
311
					// Gestion des exceptions déclenchées par l'exécution de la requête 
314
					// Gestion des exceptions déclenchées par l'exécution de la requête 
312
					GWT.log("Erreur à l'exécution du service CoelStructureListe (modif)", exception);
315
					GWT.log("Erreur à l'exécution du service CoelStructureListe (modif)", exception);
313
					Info.display("Erreur de Requête", "Une erreur s'est produite lors de l'exécution de la requête.");
316
					Info.display("Erreur de Requête", "Une erreur s'est produite lors de l'exécution de la requête.");
314
				}
317
				}
315
				
318
				
316
				public void onErrorHTTP(Request request, Response reponse) {
319
				public void onErrorHTTP(Request request, Response reponse) {
317
					// Gestion des erreurs HTTP renvoyé par Apache ou JRest 
320
					// Gestion des erreurs HTTP renvoyé par Apache ou JRest 
318
					Information info = new Information("erreur_jrest", JSONParser.parse(reponse.getText()).isArray());
321
					Information info = new Information("erreur_jrest", JSONParser.parse(reponse.getText()).isArray());
319
					GWT.log("Erreur JREST - Code "+reponse.getStatusCode()+"\n"+info.getMessages().toString(), null);
322
					GWT.log("Erreur JREST - Code "+reponse.getStatusCode()+"\n"+info.getMessages().toString(), null);
320
					Info.display("Erreur JREST - Code "+reponse.getStatusCode(), info.toString());
323
					Info.display("Erreur JREST - Code "+reponse.getStatusCode(), info.toString());
321
				}
324
				}
322
	
325
	
323
				public void onResponseReceived(Request request, Response response) {
326
				public void onResponseReceived(Request request, Response response) {
324
					// Si le code de réponse HTTP ne vaut pas 200 OK, on lance le mécanise d'erreur HTTP
327
					// Si le code de réponse HTTP ne vaut pas 200 OK, on lance le mécanise d'erreur HTTP
325
					if (response.getStatusCode() != 200) {
328
					if (response.getStatusCode() != 200) {
326
						onErrorHTTP(request, response);
329
						onErrorHTTP(request, response);
327
					} else {
330
					} else {
328
						if (response.getText().length() != 0 && response.getText() != null) {
331
						if (response.getText().length() != 0 && response.getText() != null) {
329
							final JSONValue responseValue = JSONParser.parse(response.getText());
332
							final JSONValue responseValue = JSONParser.parse(response.getText());
330
							
333
							
331
							// Si la requête est un succès, reception d'une chaine
334
							// Si la requête est un succès, reception d'une chaine
332
							if (responseValue.isString() != null) {
335
							if (responseValue.isString() != null) {
333
								Information info = new Information("modif_structure", responseValue.isString().stringValue());
336
								Information info = new Information("modif_structure", responseValue.isString().stringValue());
334
								r.rafraichir(info);
337
								r.rafraichir(info);
335
							} else {
338
							} else {
336
								GWT.log(url+"\n\tLa réponse n'est pas une chaine JSON.", null);
339
								GWT.log(url+"\n\tLa réponse n'est pas une chaine JSON.", null);
337
							}
340
							}
338
						} else {
341
						} else {
339
							GWT.log(url, null);
342
							GWT.log(url, null);
340
							if (response.getText().length() == 0) {
343
							if (response.getText().length() == 0) {
341
								GWT.log("\tLa réponse a une taille de 0", null);
344
								GWT.log("\tLa réponse a une taille de 0", null);
342
							}
345
							}
343
							if (response.getText() == null) {
346
							if (response.getText() == null) {
344
								GWT.log("\tLa réponse vaul null", null);
347
								GWT.log("\tLa réponse vaul null", null);
345
							}
348
							}
346
						}
349
						}
347
					}
350
					}
348
				}
351
				}
349
				
352
				
350
			}) ;
353
			}) ;
351
		} catch (RequestException e) {
354
		} catch (RequestException e) {
352
			// Gestion des exceptions déclenchées par la création de la requête (url non-valide ?)
355
			// Gestion des exceptions déclenchées par la création de la requête (url non-valide ?)
353
			GWT.log("Erreur à la création du service CoelProjetsListe", e);
356
			GWT.log("Erreur à la création du service CoelProjetsListe", e);
354
			Info.display("Erreur de Requête", "Une erreur s'est produite lors de la création de la requête.");
357
			Info.display("Erreur de Requête", "Une erreur s'est produite lors de la création de la requête.");
355
		}	
358
		}	
356
	}
359
	}
357
}
360
}