Subversion Repositories eFlore/Archives.cel-v2

Rev

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

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