Subversion Repositories eFlore/Archives.cel-v2

Rev

Rev 30 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
22 aperonnet 1
package org.tela_botanica.client.modeles;
2
 
3
import java.util.Iterator;
4
 
5
import org.tela_botanica.client.image.ImageMediateur;
6
 
7
import com.google.gwt.user.client.HTTPRequest;
8
import com.google.gwt.user.client.ResponseTextHandler;
9
import com.google.gwt.user.client.Window;
10
 
36 aperonnet 11
/**
12
 * DAO d'accès à une image, n'est utilisé que pour l'écriture et pas pour la lecture des images
13
 * qui se fait par paquet
14
 * @author aurelien
15
 *
16
 */
22 aperonnet 17
public class ImageAsynchroneDAO {
18
 
36 aperonnet 19
	/**
20
	 * Met à jour la base de données avec toutes les données d'une image
21
	 * @param ic l'image à mettre à jour
22
	 */
22 aperonnet 23
	public void SynchroniserBaseDeDonnees(final ImageCarnet ic)
24
	{
25
		String postData = "" ;
26
 
36 aperonnet 27
		// on construit le post avec toutes les valeur de l'image
22 aperonnet 28
		for(Iterator imgIt = ic.keySet().iterator();imgIt.hasNext();)
29
		{
30
 
31
			String key = (String)imgIt.next() ;
32
					String valeur = ic.renvoyerValeurCorrecte(key) ;
33
					postData += "&"+key+"="+valeur ;
34
 
35
		}
36
 
36 aperonnet 37
		// et on envoie une requête asynchrone
22 aperonnet 38
		HTTPRequest.asyncPost("jrest/inventoryImage/0/", postData, new ResponseTextHandler() {
39
			public void onCompletion(String responseText) {
40
 
36 aperonnet 41
				//TODO: ajouter une vérification de la mise à jour
22 aperonnet 42
 
43
			}
44
 
45
		}) ;
46
	}
47
 
36 aperonnet 48
	/**
49
	 * Met à jour la base de données avec les mots clés associés à l'image
50
	 * @param ic l'image à mettre à jour
51
	 */
30 aperonnet 52
	public void SynchroniserMotsClesImageBaseDeDonnees(final ImageCarnet ic)
53
	{
54
		String postData = "" ;
55
 
36 aperonnet 56
			// on récupère les mots clés de l'image et on fabrique le post
30 aperonnet 57
			String motsCles = ic.getMotsCles() ;
58
			String id = ic.getId() ;
59
					postData += "&ci_id_image="+id+"&ci_meta_mots_cles="+motsCles ;
60
 
36 aperonnet 61
		// on envoie une requête asynchrone
30 aperonnet 62
		HTTPRequest.asyncPost("jrest/inventoryImage/0/", postData, new ResponseTextHandler() {
63
			public void onCompletion(String responseText) {
64
 
36 aperonnet 65
				//TODO: ajouter une vérification de la mise à jour
30 aperonnet 66
 
67
			}
68
 
69
		}) ;
70
	}
71
 
36 aperonnet 72
	/**
73
	 * Supprime une image de la base de données
74
	 * @param ic l'image à supprimer
75
	 */
22 aperonnet 76
	public void supprimerBaseDeDonnees(final ImageCarnet ic)
77
	{
36 aperonnet 78
		// le post contient l'action delete pour JREST (qui ne gère pas DELETE comme une requête à part entière)
22 aperonnet 79
		String postData = "" ;
80
		postData += "&action=DELETE" ;
81
 
36 aperonnet 82
		// on envoie un post avec l'id de l'image à supprimer
22 aperonnet 83
		HTTPRequest.asyncPost("jrest/inventoryImage/0/"+ic.getId(), postData, new ResponseTextHandler() {
84
			public void onCompletion(String responseText) {
85
 
36 aperonnet 86
				//TODO: ajouter une vérification de la mise à jour
22 aperonnet 87
			}
88
 
89
		}) ;
90
	}
91
}