Subversion Repositories eFlore/Applications.cel

Rev

Rev 2 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2 Rev 5
Line 1... Line 1...
1
package org.tela_botanica.client.modeles;
1
package org.tela_botanica.client.modeles;
Line 2... Line -...
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;
Line 13... Line 12...
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;
Line 15... Line 14...
15
 
14
 
16
/**
15
/**
-
 
16
 * DAO d'accès à l'arbre de mots clés
17
 * 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)
-
 
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
	{
28
	public MotsClesAsynchroneDAO(ImageModele im) {
39
		iModele = im ; 
29
		iModele = im;
40
	}
30
	}
-
 
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
	
41
 
42
	/**
42
	/**
-
 
43
	 * Envoie une requete au serveur jrest pour obtenir l'arbre des mots clés
-
 
44
	 * 
43
	 * Envoie une requete au serveur jrest pour obtenir l'arbre des mots clés
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)
-
 
47
	{
48
	public void obtenirListeMotsCles(final Rafraichissable r) {
48
		// on demande tous les mots clés associés à l'utilisateur
49
		// on demande tous les mots clés associés à l'utilisateur
-
 
50
		RequestBuilder rb = new RequestBuilder(RequestBuilder.GET, iModele
-
 
51
				.getConfig().getServiceBaseUrl()
49
		RequestBuilder rb = new RequestBuilder(RequestBuilder.GET,iModele.getConfig().getServiceBaseUrl()+"/InventoryKeyWordList/"+iModele.getIdentifiant()) ;
52
				+ "/InventoryKeyWordList/" + iModele.getIdentifiant());
50
		
53
 
51
		try {
54
		try {
Line 52... Line 55...
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
Line 56... Line 59...
56
					
59
 
-
 
60
				}
57
				}
61
 
58
 
62
				public void onResponseReceived(Request request,
-
 
63
						Response response) {
59
				public void onResponseReceived(Request request, Response response) {
64
 
60
					
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
	}
-
 
83
 
-
 
84
	/**
78
	
85
	 * Envoie requete au serveur jrest pour ajouter un mot clé
79
	/**
86
	 * 
80
	 * Envoie requete au serveur jrest pour ajouter un mot clé
87
	 * @param motcle
81
	 * @param motcle le mots clés à ajouter avec son parent et son identifiant
-
 
82
	 */
88
	 *            le mots clés à ajouter avec son parent et son identifiant
83
	public void ajouterBaseDeDonnees(String motcle)
-
 
84
	{
89
	 */
85
		if(!motcle.equals(""))
90
	public void ajouterBaseDeDonnees(String motcle) {
86
		{
91
		if (!motcle.equals("")) {
87
			String postData = motcle ;
92
			String postData = motcle;
-
 
93
 
-
 
94
			// on fait un post asynchrone
88
			
95
			RequestBuilder rb = new RequestBuilder(RequestBuilder.POST, iModele
89
			// on fait un post asynchrone
96
					.getConfig().getServiceBaseUrl()
Line 90... Line 97...
90
			RequestBuilder rb = new RequestBuilder(RequestBuilder.POST,iModele.getConfig().getServiceBaseUrl()+"/InventoryKeyWordList/") ;
97
					+ "/InventoryKeyWordList/");
91
			try {
98
			try {
92
				rb.sendRequest(postData, new RequestCallback() {
99
				rb.sendRequest(postData, new RequestCallback() {
93
 
100
 
Line 94... Line 101...
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
					}
-
 
105
 
98
 
106
					public void onResponseReceived(Request request,
99
					public void onResponseReceived(Request request,
107
							Response response) {
100
							Response response) {
108
 
101
						
109
						// si on reçoit une erreur d'ajout, on affiche un
102
						// si on reçoit une erreur d'ajout, on affiche un message d'erreur
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
			}
-
 
124
		}
-
 
125
	}
116
		}
126
 
117
	} 
127
	/**
118
	
128
	 * Envoie requete au serveur jrest pour supprimer un mot clé
119
	/**
-
 
120
	 * Envoie requete au serveur jrest pour supprimer un mot clé
129
	 * 
121
	 * @param motcle le mots clés à supprimer
-
 
122
	 */
130
	 * @param motcle
123
	public void supprimerBaseDeDonnees(String motcle)
131
	 *            le mots clés à supprimer
124
	{
132
	 */
125
		if(!motcle.equals(""))
133
	public void supprimerBaseDeDonnees(String motcle) {
-
 
134
		if (!motcle.equals("")) {
-
 
135
			String postData = "";
-
 
136
			postData += "&action=DELETE";
-
 
137
 
-
 
138
			RequestBuilder rb = new RequestBuilder(RequestBuilder.POST, iModele
126
		{
139
					.getConfig().getServiceBaseUrl()
127
			String postData = "" ;
140
					+ "/InventoryKeyWordList/"
128
			postData += "&action=DELETE" ;
141
					+ iModele.getIdentifiant()
129
			
142
					+ "/"
130
			RequestBuilder rb = new RequestBuilder(RequestBuilder.POST,iModele.getConfig().getServiceBaseUrl()+"/InventoryKeyWordList/"+iModele.getIdentifiant()+"/"+motcle) ;
143
					+ motcle);
131
				
144
 
-
 
145
			try {
-
 
146
				rb.sendRequest(postData, new RequestCallback() {
132
				try {
147
 
-
 
148
					public void onError(Request request, Throwable exception) {
-
 
149
						// TODO Auto-generated method stub
-
 
150
 
-
 
151
					}
-
 
152
 
-
 
153
					public void onResponseReceived(Request request,
133
					rb.sendRequest(postData, new RequestCallback() {
154
							Response response) {
-
 
155
						if (response.equals("ERROR")) {
-
 
156
							Window
Line 134... Line -...
134
 
-
 
135
						public void onError(Request request, Throwable exception) {
-
 
136
							// TODO Auto-generated method stub
-
 
137
							
-
 
138
						}
-
 
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," +
157
									.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. ") ;
158
											+ "nous vous invitons à recharger la page. ");
146
							}							
159
						}
147
						}					
160
					}
148
					});
161
				});
149
					
162
 
Line 150... Line 163...
150
				} catch (RequestException e) {
163
			} catch (RequestException e) {
151
					// TODO Auto-generated catch block
164
				// TODO Auto-generated catch block
-
 
165
				e.printStackTrace();
-
 
166
			}
152
					e.printStackTrace();
167
		}
153
				}					
168
	}
154
		}
169
 
155
	}
170
	/**
156
 
171
	 * Envoie requete au serveur jrest pour modifier un mot clé
157
	/**
-
 
158
	 * Envoie requete au serveur jrest pour modifier un mot clé
172
	 * 
159
	 * @param motcle le mots clés à modifier avec son parent et son identifiant
173
	 * @param motcle
160
	 */
174
	 *            le mots clés à modifier avec son parent et son identifiant
161
	public void modifierBaseDeDonnees(String motcle) {
175
	 */
162
		
176
	public void modifierBaseDeDonnees(String motcle) {
-
 
177
 
-
 
178
		if (!motcle.equals("")) {
163
		if(!motcle.equals(""))
179
 
164
		{
180
			String postData = "";
165
 
181
			postData += "&action=modification" + motcle;
166
		String postData = "" ;
182
 
167
		postData += "&action=modification"+motcle ;
183
			RequestBuilder rb = new RequestBuilder(RequestBuilder.POST, iModele
168
		
184
					.getConfig().getServiceBaseUrl()
169
		RequestBuilder rb = new RequestBuilder(RequestBuilder.POST,iModele.getConfig().getServiceBaseUrl()+"/InventoryKeyWordList/"+iModele.getIdentifiant()) ;
185
					+ "/InventoryKeyWordList/" + iModele.getIdentifiant());
170
			try {
186
			try {
171
				rb.sendRequest(postData, new RequestCallback() {
187
				rb.sendRequest(postData, new RequestCallback() {
-
 
188
 
172
	
189
					public void onError(Request request, Throwable exception) {
173
					public void onError(Request request, Throwable exception) {
190
						// TODO Auto-generated method stub
174
						// TODO Auto-generated method stub
191
 
175
						
192
					}
176
					}
193
 
177
	
194
					public void onResponseReceived(Request request,
178
					public void onResponseReceived(Request request, Response response) {
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
-
 
203
				e.printStackTrace();
-
 
204
			}
186
				e.printStackTrace();
205
		}
-
 
206
	}
187
			}
207
 
188
		}
208
	/**
189
	}
209
	 * Envoie requete au serveur jrest pour modifier un mot clé
190
	
210
	 * 
191
	/**
-
 
192
	 * Envoie requete au serveur jrest pour modifier un mot clé
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
194
	 */
213
	 *            son identifiant
195
	public void deplacerBaseDeDonnees(String motcle) {
214
	 */
196
		
215
	public void deplacerBaseDeDonnees(String motcle) {
-
 
216
 
-
 
217
		if (!motcle.equals("")) {
197
		if(!motcle.equals(""))
218
 
198
		{
219
			String postData = "";
199
 
220
			postData += "&action=deplacement" + motcle;
200
		String postData = "" ;
221
 
201
		postData += "&action=deplacement"+motcle ;
222
			RequestBuilder rb = new RequestBuilder(RequestBuilder.POST, iModele
202
			
223
					.getConfig().getServiceBaseUrl()
203
		RequestBuilder rb = new RequestBuilder(RequestBuilder.POST,iModele.getConfig().getServiceBaseUrl()+"/InventoryKeyWordList/"+iModele.getIdentifiant()) ;
224
					+ "/InventoryKeyWordList/" + iModele.getIdentifiant());
204
			try {
225
			try {
205
				rb.sendRequest(postData, new RequestCallback() {
226
				rb.sendRequest(postData, new RequestCallback() {
-
 
227
 
206
	
228
					public void onError(Request request, Throwable exception) {
207
					public void onError(Request request, Throwable exception) {
229
						// TODO Auto-generated method stub
208
						// TODO Auto-generated method stub
230
 
209
						
231
					}
210
					}
232
 
211
	
233
					public void onResponseReceived(Request request,
212
					public void onResponseReceived(Request request, Response response) {
234
							Response response) {
213
						// TODO Auto-generated method stub
235
						// TODO Auto-generated method stub
214
						
236
 
215
					}
237
					}
216
					
238
 
217
				});
239
				});
Line 218... Line 240...
218
			} catch (RequestException e) {
240
			} catch (RequestException e) {