Subversion Repositories eFlore/Applications.cel

Rev

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

Rev 140 Rev 157
1
package org.tela_botanica.client.modeles;
1
package org.tela_botanica.client.modeles;
2
 
2
 
3
import org.tela_botanica.client.image.ImageModele;
3
import org.tela_botanica.client.image.ImageModele;
4
import org.tela_botanica.client.interfaces.Rafraichissable;
4
import org.tela_botanica.client.interfaces.Rafraichissable;
-
 
5
import org.tela_botanica.client.observation.ObservationMediateur;
-
 
6
import org.tela_botanica.client.observation.ObservationModele;
-
 
7
 
5
import com.google.gwt.http.client.Request;
8
import com.google.gwt.http.client.Request;
6
import com.google.gwt.http.client.RequestBuilder;
9
import com.google.gwt.http.client.RequestBuilder;
7
import com.google.gwt.http.client.RequestCallback;
10
import com.google.gwt.http.client.RequestCallback;
8
import com.google.gwt.http.client.RequestException;
11
import com.google.gwt.http.client.RequestException;
9
import com.google.gwt.http.client.Response;
12
import com.google.gwt.http.client.Response;
10
import com.google.gwt.json.client.JSONArray;
13
import com.google.gwt.json.client.JSONArray;
11
import com.google.gwt.json.client.JSONParser;
14
import com.google.gwt.json.client.JSONParser;
12
import com.google.gwt.json.client.JSONValue;
15
import com.google.gwt.json.client.JSONValue;
13
import com.google.gwt.user.client.Window;
16
import com.google.gwt.user.client.Window;
14
 
17
 
15
/**
18
/**
16
 * DAO d'accès à l'arbre de mots clés
19
 * DAO d'accès à l'arbre de mots clés
17
 * 
20
 * 
18
 * @author aurelien
21
 * @author aurelien
19
 * 
22
 * 
20
 */
23
 */
21
public class MotsClesAsynchroneDAO {
24
public class MotsClesAsynchroneDAO {
22
 
25
 
23
	/**
26
	/**
24
	 * Le modele associé au DAO
27
	 * Le modele associé au DAO
25
	 */
28
	 */
26
	private ImageModele iModele = null;
29
	private ImageModele iModele = null;
-
 
30
	
-
 
31
	private ObservationModele oModele = null ;
-
 
32
	
-
 
33
	private String identifiant = "" ;
27
 
34
 
28
	public MotsClesAsynchroneDAO(ImageModele im) {
35
	public MotsClesAsynchroneDAO(ImageModele im) {
29
		iModele = im;
36
		iModele = im;
-
 
37
		identifiant = im.getIdentifiant();
-
 
38
	}
-
 
39
	
-
 
40
	public MotsClesAsynchroneDAO(ObservationModele om) {
-
 
41
		oModele = om;
-
 
42
		identifiant = om.getIdentifiant();
30
	}
43
	}
-
 
44
	
-
 
45
	
31
 
46
 
32
	/**
47
	/**
33
	 * Setteur pour le modèle
48
	 * Setteur pour le modèle
34
	 * 
49
	 * 
35
	 * @param im
50
	 * @param im
36
	 *            le modèle à associer
51
	 *            le modèle à associer
37
	 */
52
	 */
38
	public void setIModele(ImageModele im) {
53
	public void setIModele(ImageModele im) {
39
		iModele = im;
54
		iModele = im;
40
	}
55
	}
41
 
56
 
42
	/**
57
	/**
43
	 * Envoie une requete au serveur jrest pour obtenir l'arbre des mots clés
58
	 * Envoie une requete au serveur jrest pour obtenir l'arbre des mots clés
44
	 * 
59
	 * 
45
	 * @param r
60
	 * @param r
46
	 *            le rafraichissable qui demande les données
61
	 *            le rafraichissable qui demande les données
47
	 */
62
	 */
48
	public void obtenirListeMotsCles(final Rafraichissable r) {
63
	public void obtenirListeMotsCles(final Rafraichissable r) {
49
		// on demande tous les mots clés associés à l'utilisateur
64
		// on demande tous les mots clés associés à l'utilisateur
50
		RequestBuilder rb = new RequestBuilder(RequestBuilder.GET, Configuration.getServiceBaseUrl()
65
		RequestBuilder rb = new RequestBuilder(RequestBuilder.GET, Configuration.getServiceBaseUrl()
51
				+ "/InventoryKeyWordList/" + iModele.getIdentifiant());
66
				+ "/InventoryKeyWordList/" + identifiant);
52
 
67
 
53
		try {
68
		try {
54
			rb.sendRequest(null, new RequestCallback() {
69
			rb.sendRequest(null, new RequestCallback() {
55
 
70
 
56
				public void onError(Request request, Throwable exception) {
71
				public void onError(Request request, Throwable exception) {
57
					// TODO Auto-generated method stub
72
					// TODO Auto-generated method stub
58
 
73
 
59
				}
74
				}
60
 
75
 
61
				public void onResponseReceived(Request request,
76
				public void onResponseReceived(Request request,
62
						Response response) {
77
						Response response) {
63
 
78
 
64
					final JSONValue responseValue = JSONParser.parse(response
79
					final JSONValue responseValue = JSONParser.parse(response
65
							.getText());
80
							.getText());
66
					// si la requête est un succès on reçoit un tableau
81
					// si la requête est un succès on reçoit un tableau
67
					if (responseValue.isArray() != null) {
82
					if (responseValue.isArray() != null) {
68
 
83
 
69
						final JSONArray reponse = responseValue.isArray();
84
						final JSONArray reponse = responseValue.isArray();
70
						// et on met à jour le demandeur des données
85
						// et on met à jour le demandeur des données
71
						r.rafraichir(reponse, true);
86
						r.rafraichir(reponse, true);
72
					}
87
					}
73
 
88
 
74
				}
89
				}
75
 
90
 
76
			});
91
			});
77
		} catch (RequestException e) {
92
		} catch (RequestException e) {
78
			// TODO Auto-generated catch block
93
			// TODO Auto-generated catch block
79
			e.printStackTrace();
94
			e.printStackTrace();
80
		}
95
		}
81
	}
96
	}
82
 
97
 
83
	/**
98
	/**
84
	 * Envoie requete au serveur jrest pour ajouter un mot clé
99
	 * Envoie requete au serveur jrest pour ajouter un mot clé
85
	 * 
100
	 * 
86
	 * @param motcle
101
	 * @param motcle
87
	 *            le mots clés à ajouter avec son parent et son identifiant
102
	 *            le mots clés à ajouter avec son parent et son identifiant
88
	 */
103
	 */
89
	public void ajouterBaseDeDonnees(String motcle) {
104
	public void ajouterBaseDeDonnees(String motcle) {
90
		if (!motcle.equals("")) {
105
		if (!motcle.equals("")) {
91
			String postData = motcle;
106
			String postData = motcle;
92
 
107
 
93
			// on fait un post asynchrone
108
			// on fait un post asynchrone
94
			RequestBuilder rb = new RequestBuilder(RequestBuilder.POST, Configuration.getServiceBaseUrl()
109
			RequestBuilder rb = new RequestBuilder(RequestBuilder.POST, Configuration.getServiceBaseUrl()
95
					+ "/InventoryKeyWordList/");
110
					+ "/InventoryKeyWordList/");
96
			try {
111
			try {
97
				rb.sendRequest(postData, new RequestCallback() {
112
				rb.sendRequest(postData, new RequestCallback() {
98
 
113
 
99
					public void onError(Request request, Throwable exception) {
114
					public void onError(Request request, Throwable exception) {
100
						// TODO Auto-generated method stub
115
						// TODO Auto-generated method stub
101
 
116
 
102
					}
117
					}
103
 
118
 
104
					public void onResponseReceived(Request request,
119
					public void onResponseReceived(Request request,
105
							Response response) {
120
							Response response) {
106
 
121
 
107
						// si on reçoit une erreur d'ajout, on affiche un
122
						// si on reçoit une erreur d'ajout, on affiche un
108
						// message d'erreur
123
						// message d'erreur
109
						if (response.getText().equals("ERROR")) {
124
						if (response.getText().equals("ERROR")) {
110
							Window
125
							Window
111
									.alert("Attention, la base de données des mots clés n'est plus synchronisée avec l'application,"
126
									.alert("Attention, la base de données des mots clés n'est plus synchronisée avec l'application,"
112
											+ "nous vous invitons à recharger la page. ");
127
											+ "nous vous invitons à recharger la page. ");
113
						}
128
						}
114
 
129
 
115
					}
130
					}
116
 
131
 
117
				});
132
				});
118
			} catch (RequestException e) {
133
			} catch (RequestException e) {
119
				// TODO Auto-generated catch block
134
				// TODO Auto-generated catch block
120
				e.printStackTrace();
135
				e.printStackTrace();
121
			}
136
			}
122
		}
137
		}
123
	}
138
	}
124
 
139
 
125
	/**
140
	/**
126
	 * Envoie requete au serveur jrest pour supprimer un mot clé
141
	 * Envoie requete au serveur jrest pour supprimer un mot clé
127
	 * 
142
	 * 
128
	 * @param motcle
143
	 * @param motcle
129
	 *            le mots clés à supprimer
144
	 *            le mots clés à supprimer
130
	 */
145
	 */
131
	public void supprimerBaseDeDonnees(String motcle) {
146
	public void supprimerBaseDeDonnees(String motcle) {
132
		if (!motcle.equals("")) {
147
		if (!motcle.equals("")) {
133
			String postData = "";
148
			String postData = "";
134
			postData += "&action=DELETE";
149
			postData += "&action=DELETE";
135
 
150
 
136
			RequestBuilder rb = new RequestBuilder(RequestBuilder.POST, Configuration.getServiceBaseUrl()
151
			RequestBuilder rb = new RequestBuilder(RequestBuilder.POST, Configuration.getServiceBaseUrl()
137
					+ "/InventoryKeyWordList/"
152
					+ "/InventoryKeyWordList/"
138
					+ iModele.getIdentifiant()
153
					+ identifiant
139
					+ "/"
154
					+ "/"
140
					+ motcle);
155
					+ motcle);
141
 
156
 
142
			try {
157
			try {
143
				rb.sendRequest(postData, new RequestCallback() {
158
				rb.sendRequest(postData, new RequestCallback() {
144
 
159
 
145
					public void onError(Request request, Throwable exception) {
160
					public void onError(Request request, Throwable exception) {
146
						// TODO Auto-generated method stub
161
						// TODO Auto-generated method stub
147
 
162
 
148
					}
163
					}
149
 
164
 
150
					public void onResponseReceived(Request request,
165
					public void onResponseReceived(Request request,
151
							Response response) {
166
							Response response) {
152
						if (response.equals("ERROR")) {
167
						if (response.equals("ERROR")) {
153
							Window
168
							Window
154
									.alert("Attention, la base de données des mots clés n'est plus synchronisée avec l'application,"
169
									.alert("Attention, la base de données des mots clés n'est plus synchronisée avec l'application,"
155
											+ "nous vous invitons à recharger la page. ");
170
											+ "nous vous invitons à recharger la page. ");
156
						}
171
						}
157
					}
172
					}
158
				});
173
				});
159
 
174
 
160
			} catch (RequestException e) {
175
			} catch (RequestException e) {
161
				// TODO Auto-generated catch block
176
				// TODO Auto-generated catch block
162
				e.printStackTrace();
177
				e.printStackTrace();
163
			}
178
			}
164
		}
179
		}
165
	}
180
	}
166
 
181
 
167
	/**
182
	/**
168
	 * Envoie requete au serveur jrest pour modifier un mot clé
183
	 * Envoie requete au serveur jrest pour modifier un mot clé
169
	 * 
184
	 * 
170
	 * @param motcle
185
	 * @param motcle
171
	 *            le mots clés à modifier avec son parent et son identifiant
186
	 *            le mots clés à modifier avec son parent et son identifiant
172
	 */
187
	 */
173
	public void modifierBaseDeDonnees(String motcle) {
188
	public void modifierBaseDeDonnees(String motcle) {
174
 
189
 
175
		if (!motcle.equals("")) {
190
		if (!motcle.equals("")) {
176
 
191
 
177
			String postData = "";
192
			String postData = "";
178
			postData += "&action=modification" + motcle;
193
			postData += "&action=modification" + motcle;
179
 
194
 
180
			RequestBuilder rb = new RequestBuilder(RequestBuilder.POST, Configuration.getServiceBaseUrl()
195
			RequestBuilder rb = new RequestBuilder(RequestBuilder.POST, Configuration.getServiceBaseUrl()
181
					+ "/InventoryKeyWordList/" + iModele.getIdentifiant());
196
					+ "/InventoryKeyWordList/" + identifiant);
182
			try {
197
			try {
183
				rb.sendRequest(postData, new RequestCallback() {
198
				rb.sendRequest(postData, new RequestCallback() {
184
 
199
 
185
					public void onError(Request request, Throwable exception) {
200
					public void onError(Request request, Throwable exception) {
186
						// TODO Auto-generated method stub
201
						// TODO Auto-generated method stub
187
 
202
 
188
					}
203
					}
189
 
204
 
190
					public void onResponseReceived(Request request,
205
					public void onResponseReceived(Request request,
191
							Response response) {
206
							Response response) {
192
						// TODO Auto-generated method stub
207
						// TODO Auto-generated method stub
193
 
208
 
194
					}
209
					}
195
 
210
 
196
				});
211
				});
197
			} catch (RequestException e) {
212
			} catch (RequestException e) {
198
				// TODO Auto-generated catch block
213
				// TODO Auto-generated catch block
199
				e.printStackTrace();
214
				e.printStackTrace();
200
			}
215
			}
201
		}
216
		}
202
	}
217
	}
203
 
218
 
204
	/**
219
	/**
205
	 * Envoie requete au serveur jrest pour modifier un mot clé
220
	 * Envoie requete au serveur jrest pour modifier un mot clé
206
	 * 
221
	 * 
207
	 * @param motcle
222
	 * @param motcle
208
	 *            le mots clés à ajouter avec son ancien parent, son nouveau et
223
	 *            le mots clés à ajouter avec son ancien parent, son nouveau et
209
	 *            son identifiant
224
	 *            son identifiant
210
	 */
225
	 */
211
	public void deplacerBaseDeDonnees(String motcle) {
226
	public void deplacerBaseDeDonnees(String motcle) {
212
 
227
 
213
		if (!motcle.equals("")) {
228
		if (!motcle.equals("")) {
214
 
229
 
215
			String postData = "";
230
			String postData = "";
216
			postData += "&action=deplacement" + motcle;
231
			postData += "&action=deplacement" + motcle;
217
 
232
 
218
			RequestBuilder rb = new RequestBuilder(RequestBuilder.POST, Configuration.getServiceBaseUrl()
233
			RequestBuilder rb = new RequestBuilder(RequestBuilder.POST, Configuration.getServiceBaseUrl()
219
					+ "/InventoryKeyWordList/" + iModele.getIdentifiant());
234
					+ "/InventoryKeyWordList/" + identifiant);
220
			try {
235
			try {
221
				rb.sendRequest(postData, new RequestCallback() {
236
				rb.sendRequest(postData, new RequestCallback() {
222
 
237
 
223
					public void onError(Request request, Throwable exception) {
238
					public void onError(Request request, Throwable exception) {
224
						// TODO Auto-generated method stub
239
						// TODO Auto-generated method stub
225
 
240
 
226
					}
241
					}
227
 
242
 
228
					public void onResponseReceived(Request request,
243
					public void onResponseReceived(Request request,
229
							Response response) {
244
							Response response) {
230
						// TODO Auto-generated method stub
245
						// TODO Auto-generated method stub
231
 
246
 
232
					}
247
					}
233
 
248
 
234
				});
249
				});
235
			} catch (RequestException e) {
250
			} catch (RequestException e) {
236
				// TODO Auto-generated catch block
251
				// TODO Auto-generated catch block
237
				e.printStackTrace();
252
				e.printStackTrace();
238
			}
253
			}
239
		}
254
		}
240
 
255
 
241
	}
256
	}
242
 
257
 
243
}
258
}