Subversion Repositories eFlore/Applications.cel

Rev

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

Rev 971 Rev 989
1
package org.tela_botanica.client.modeles;
1
package org.tela_botanica.client.modeles.dao;
2
 
2
 
3
import java.util.Iterator;
3
import java.util.Iterator;
4
 
4
 
5
import org.tela_botanica.client.image.ImageModele;
5
import org.tela_botanica.client.image.ImageModele;
-
 
6
import org.tela_botanica.client.modeles.objets.Configuration;
-
 
7
import org.tela_botanica.client.modeles.objets.ImageCarnet;
-
 
8
import org.tela_botanica.client.modeles.objets.Utilisateur;
-
 
9
 
6
import com.google.gwt.http.client.Request;
10
import com.google.gwt.http.client.Request;
7
import com.google.gwt.http.client.RequestBuilder;
11
import com.google.gwt.http.client.RequestBuilder;
8
import com.google.gwt.http.client.RequestCallback;
12
import com.google.gwt.http.client.RequestCallback;
9
import com.google.gwt.http.client.RequestException;
13
import com.google.gwt.http.client.RequestException;
10
import com.google.gwt.http.client.Response;
14
import com.google.gwt.http.client.Response;
11
import com.google.gwt.user.client.Window;
15
import com.google.gwt.user.client.Window;
12
 
16
 
13
/**
17
/**
14
 * DAO d'accès à une image, n'est utilisé que pour l'écriture et pas pour la
18
 * DAO d'accès à une image, n'est utilisé que pour l'écriture et pas pour la
15
 * lecture des images qui se fait par paquet
19
 * lecture des images qui se fait par paquet
16
 * 
20
 * 
17
 * @author aurelien
21
 * @author aurelien
18
 * 
22
 * 
19
 */
23
 */
20
public class ImageAsynchroneDAO {
24
public class ImageAsynchroneDAO {
21
 
25
 
22
	ImageModele iModele = null;
26
	ImageModele iModele = null;
23
 
27
 
24
	public ImageAsynchroneDAO(ImageModele im) {
28
	public ImageAsynchroneDAO(ImageModele im) {
25
		iModele = im;
29
		iModele = im;
26
	}
30
	}
27
 
31
 
28
	public void setIModele(ImageModele im) {
32
	public void setIModele(ImageModele im) {
29
		iModele = im;
33
		iModele = im;
30
	}
34
	}
31
 
35
 
32
	/**
36
	/**
33
	 * Met à jour la base de données avec toutes les données d'une image
37
	 * Met à jour la base de données avec toutes les données d'une image
34
	 * 
38
	 * 
35
	 * @param ic
39
	 * @param ic
36
	 *            l'image à mettre à jour
40
	 *            l'image à mettre à jour
37
	 */
41
	 */
38
	public void SynchroniserBaseDeDonnees(final ImageCarnet ic) {
42
	public void SynchroniserBaseDeDonnees(final ImageCarnet ic) {
39
		String postData = "";
43
		String postData = "";
40
 
44
 
41
		// on construit le post avec toutes les valeur de l'image
45
		// on construit le post avec toutes les valeur de l'image
42
		for (Iterator<String> imgIt = ic.keySet().iterator(); imgIt.hasNext();) {
46
		for (Iterator<String> imgIt = ic.keySet().iterator(); imgIt.hasNext();) {
43
 
47
 
44
			String key = imgIt.next();
48
			String key = imgIt.next();
45
			String valeur = ic.renvoyerValeurCorrecte(key);
49
			String valeur = ic.renvoyerValeurCorrecte(key);
46
			postData += "&" + key + "=" + valeur;
50
			postData += "&" + key + "=" + valeur;
47
 
51
 
48
		}
52
		}
49
 
53
 
50
		// et on envoie une requête asynchrone
54
		// et on envoie une requête asynchrone
51
		RequestBuilder rb = new RequestBuilder(RequestBuilder.POST, Configuration.getServiceBaseUrl()
55
		RequestBuilder rb = new RequestBuilder(RequestBuilder.POST, Configuration.getServiceBaseUrl()
52
				+ "/inventoryImage/" + iModele.getIdentifiant() + "/");
56
				+ "/inventoryImage/" + iModele.getIdentifiant() + "/");
53
 
57
 
54
		try {
58
		try {
55
			rb.sendRequest(postData, new RequestCallback() {
59
			rb.sendRequest(postData, new RequestCallback() {
56
 
60
 
57
				public void onError(Request request, Throwable exception) {
61
				public void onError(Request request, Throwable exception) {
58
					// TODO Auto-generated method stub
62
					// TODO Auto-generated method stub
59
 
63
 
60
				}
64
				}
61
 
65
 
62
				public void onResponseReceived(Request request,
66
				public void onResponseReceived(Request request,
63
						Response response) {
67
						Response response) {
64
 
68
 
65
					if (response.getText().equals("OK")) {
69
					if (response.getText().equals("OK")) {
66
						return;
70
						return;
67
					} else {
71
					} else {
68
						com.google.gwt.user.client.Window
72
						com.google.gwt.user.client.Window
69
								.alert("Problème lors de la mise à jour des données");
73
								.alert("Problème lors de la mise à jour des données");
70
					}
74
					}
71
				}
75
				}
72
 
76
 
73
			});
77
			});
74
 
78
 
75
		} catch (RequestException e) {
79
		} catch (RequestException e) {
76
			// TODO Auto-generated catch block
80
			// TODO Auto-generated catch block
77
			e.printStackTrace();
81
			e.printStackTrace();
78
		}
82
		}
79
	}
83
	}
80
 
84
 
81
	/**
85
	/**
82
	 * Met à jour la base de données avec les mots clés associés à l'image
86
	 * Met à jour la base de données avec les mots clés associés à l'image
83
	 * 
87
	 * 
84
	 * @param ic
88
	 * @param ic
85
	 *            l'image à mettre à jour
89
	 *            l'image à mettre à jour
86
	 */
90
	 */
87
	public void SynchroniserMotsClesImageBaseDeDonnees(final ImageCarnet ic) {
91
	public void SynchroniserMotsClesImageBaseDeDonnees(final ImageCarnet ic) {
88
		String postData = "";
92
		String postData = "";
89
 
93
 
90
		// on récupère les mots clés de l'image et on fabrique le post
94
		// on récupère les mots clés de l'image et on fabrique le post
91
		String motsCles = ic.getMotsCles();
95
		String motsCles = ic.getMotsCles();
92
		String id = ic.getId();
96
		String id = ic.getId();
93
		postData += "&id_image=" + id + "&id_mot_cle_utilisateur=" + motsCles;
97
		postData += "&id_image=" + id + "&id_mot_cle_utilisateur=" + motsCles;
94
 
98
 
95
		// on envoie une requête asynchrone
99
		// on envoie une requête asynchrone
96
		RequestBuilder rb = new RequestBuilder(RequestBuilder.POST,
100
		RequestBuilder rb = new RequestBuilder(RequestBuilder.POST,
97
				Configuration.getServiceBaseUrl()
101
				Configuration.getServiceBaseUrl()
98
				+ "/inventoryKeyWordImageList/" +Utilisateur.getInstance().getIdentifiantUtilisateurConsulte()+ "/");
102
				+ "/inventoryKeyWordImageList/" +Utilisateur.getInstance().getIdentifiantUtilisateurConsulte()+ "/");
99
 
103
 
100
		try {
104
		try {
101
			rb.sendRequest(postData, new RequestCallback() {
105
			rb.sendRequest(postData, new RequestCallback() {
102
 
106
 
103
				public void onError(Request request, Throwable exception) {
107
				public void onError(Request request, Throwable exception) {
104
					// TODO Auto-generated method stub
108
					// TODO Auto-generated method stub
105
 
109
 
106
				}
110
				}
107
 
111
 
108
				public void onResponseReceived(Request request,
112
				public void onResponseReceived(Request request,
109
						Response response) {
113
						Response response) {
110
 
114
 
111
					if (response.getText().equals("OK")) {
115
					if (response.getText().equals("OK")) {
112
						return;
116
						return;
113
					} else {
117
					} else {
114
						com.google.gwt.user.client.Window
118
						com.google.gwt.user.client.Window
115
								.alert("Problème lors de la mise à jour des données");
119
								.alert("Problème lors de la mise à jour des données");
116
					}
120
					}
117
				}
121
				}
118
 
122
 
119
			});
123
			});
120
 
124
 
121
		} catch (RequestException e) {
125
		} catch (RequestException e) {
122
			// TODO Auto-generated catch block
126
			// TODO Auto-generated catch block
123
			e.printStackTrace();
127
			e.printStackTrace();
124
		}
128
		}
125
	}
129
	}
126
 
130
 
127
	/**
131
	/**
128
	 * Supprime une image de la base de données
132
	 * Supprime une image de la base de données
129
	 * 
133
	 * 
130
	 * @param ic
134
	 * @param ic
131
	 *            l'image à supprimer
135
	 *            l'image à supprimer
132
	 */
136
	 */
133
	public void supprimerBaseDeDonnees(final ImageCarnet ic) {
137
	public void supprimerBaseDeDonnees(final ImageCarnet ic) {
134
		// le post contient l'action delete pour JREST (qui ne gère pas DELETE
138
		// le post contient l'action delete pour JREST (qui ne gère pas DELETE
135
		// comme une requête à part entière)
139
		// comme une requête à part entière)
136
		String postData = "";
140
		String postData = "";
137
		postData += "&action=DELETE";
141
		postData += "&action=DELETE";
138
 
142
 
139
		// on envoie un post avec l'id de l'image à supprimer
143
		// on envoie un post avec l'id de l'image à supprimer
140
		RequestBuilder rb = new RequestBuilder(RequestBuilder.POST, Configuration.getServiceBaseUrl()
144
		RequestBuilder rb = new RequestBuilder(RequestBuilder.POST, Configuration.getServiceBaseUrl()
141
				+ "/inventoryImage/"
145
				+ "/inventoryImage/"
142
				+ iModele.getIdentifiant()
146
				+ iModele.getIdentifiant()
143
				+ "/"
147
				+ "/"
144
				+ ic.getId());
148
				+ ic.getId());
145
 
149
 
146
		try {
150
		try {
147
			rb.sendRequest(postData, new RequestCallback() {
151
			rb.sendRequest(postData, new RequestCallback() {
148
 
152
 
149
				public void onError(Request request, Throwable exception) {
153
				public void onError(Request request, Throwable exception) {
150
					// TODO Auto-generated method stub
154
					// TODO Auto-generated method stub
151
 
155
 
152
				}
156
				}
153
 
157
 
154
				public void onResponseReceived(Request request,
158
				public void onResponseReceived(Request request,
155
						Response response) {
159
						Response response) {
156
 
160
 
157
					if (response.getText().equals("OK")) {
161
					if (response.getText().equals("OK")) {
158
						
162
						
159
						return;
163
						return;
160
					} else {
164
					} else {
161
						com.google.gwt.user.client.Window
165
						com.google.gwt.user.client.Window
162
								.alert("Problème lors de la mise à jour des données : "+response.getText());
166
								.alert("Problème lors de la mise à jour des données : "+response.getText());
163
					}
167
					}
164
				}
168
				}
165
 
169
 
166
			});
170
			});
167
 
171
 
168
		} catch (RequestException e) {
172
		} catch (RequestException e) {
169
			// TODO Auto-generated catch block
173
			// TODO Auto-generated catch block
170
			e.printStackTrace();
174
			e.printStackTrace();
171
		}
175
		}
172
	}
176
	}
173
}
177
}