Subversion Repositories eFlore/Applications.cel

Rev

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

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