Subversion Repositories eFlore/Applications.cel

Rev

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

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