Subversion Repositories eFlore/Archives.cel-v2

Rev

Rev 36 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 36 Rev 48
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
import org.tela_botanica.client.image.ImageModele;
6
 
7
 
7
import com.google.gwt.user.client.HTTPRequest;
8
import com.google.gwt.user.client.HTTPRequest;
8
import com.google.gwt.user.client.ResponseTextHandler;
9
import com.google.gwt.user.client.ResponseTextHandler;
9
import com.google.gwt.user.client.Window;
10
import com.gwtext.client.widgets.Window;
10
 
11
 
11
/**
12
/**
12
 * DAO d'accès à une image, n'est utilisé que pour l'écriture et pas pour la lecture des images
13
 * 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
 * qui se fait par paquet 
14
 * @author aurelien
15
 * @author aurelien
15
 *
16
 *
16
 */
17
 */
17
public class ImageAsynchroneDAO {
18
public class ImageAsynchroneDAO {
-
 
19
 
-
 
20
	ImageModele iModele = null ;
-
 
21
	
-
 
22
	public ImageAsynchroneDAO(ImageModele im)
-
 
23
	{
-
 
24
		iModele = im ;
-
 
25
	}
-
 
26
	
-
 
27
	public void setIModele(ImageModele im)
-
 
28
	{
-
 
29
		iModele = im ;
-
 
30
	}
18
 
31
	
19
	/**
32
	/**
20
	 * Met à jour la base de données avec toutes les données d'une image
33
	 * Met à jour la base de données avec toutes les données d'une image
21
	 * @param ic l'image à mettre à jour
34
	 * @param ic l'image à mettre à jour
22
	 */
35
	 */
23
	public void SynchroniserBaseDeDonnees(final ImageCarnet ic)
36
	public void SynchroniserBaseDeDonnees(final ImageCarnet ic)
24
	{
37
	{
25
		String postData = "" ;
38
		String postData = "" ;
26
		
39
		
27
		// on construit le post avec toutes les valeur de l'image
40
		// on construit le post avec toutes les valeur de l'image
28
		for(Iterator imgIt = ic.keySet().iterator();imgIt.hasNext();)
41
		for(Iterator imgIt = ic.keySet().iterator();imgIt.hasNext();)
29
		{
42
		{
30
			
43
			
31
			String key = (String)imgIt.next() ;
44
			String key = (String)imgIt.next() ;
32
					String valeur = ic.renvoyerValeurCorrecte(key) ;
45
					String valeur = ic.renvoyerValeurCorrecte(key) ;
33
					postData += "&"+key+"="+valeur ;
46
					postData += "&"+key+"="+valeur ;
34
 
47
 
35
		}
48
		}
36
 
49
 
37
		// et on envoie une requête asynchrone
50
		// et on envoie une requête asynchrone
38
		HTTPRequest.asyncPost("jrest/inventoryImage/0/", postData, new ResponseTextHandler() {
51
		HTTPRequest.asyncPost("jrest/inventoryImage/"+iModele.getIdentifiant()+"/", postData, new ResponseTextHandler() {
39
			public void onCompletion(String responseText) {
52
			public void onCompletion(String responseText) {
-
 
53
				
-
 
54
				if(responseText.equals("OK")) 
-
 
55
				{
-
 
56
					return ;
-
 
57
				}
-
 
58
				else
40
				
59
				{
-
 
60
					com.google.gwt.user.client.Window.alert("Problème lors de la mise à jour des données") ;
41
				//TODO: ajouter une vérification de la mise à jour
61
				}
42
				
62
				
43
			}
63
			}
44
			
64
			
45
		}) ;
65
		}) ;
46
	}
66
	}
47
	
67
	
48
	/**
68
	/**
49
	 * Met à jour la base de données avec les mots clés associés à l'image
69
	 * Met à jour la base de données avec les mots clés associés à l'image
50
	 * @param ic l'image à mettre à jour
70
	 * @param ic l'image à mettre à jour
51
	 */
71
	 */
52
	public void SynchroniserMotsClesImageBaseDeDonnees(final ImageCarnet ic)
72
	public void SynchroniserMotsClesImageBaseDeDonnees(final ImageCarnet ic)
53
	{
73
	{
54
		String postData = "" ;
74
		String postData = "" ;
55
		
75
		
56
			// on récupère les mots clés de l'image et on fabrique le post
76
			// on récupère les mots clés de l'image et on fabrique le post
57
			String motsCles = ic.getMotsCles() ;
77
			String motsCles = ic.getMotsCles() ;
58
			String id = ic.getId() ;
78
			String id = ic.getId() ;
59
					postData += "&ci_id_image="+id+"&ci_meta_mots_cles="+motsCles ;
79
					postData += "&ci_id_image="+id+"&ci_meta_mots_cles="+motsCles ;
60
 
80
 
61
		// on envoie une requête asynchrone			
81
		// on envoie une requête asynchrone			
62
		HTTPRequest.asyncPost("jrest/inventoryImage/0/", postData, new ResponseTextHandler() {
82
		HTTPRequest.asyncPost("jrest/inventoryImage/"+iModele.getIdentifiant()+"/", postData, new ResponseTextHandler() {
63
			public void onCompletion(String responseText) {
83
			public void onCompletion(String responseText) {
-
 
84
				
-
 
85
				if(responseText.equals("OK")) 
-
 
86
				{
-
 
87
					return ;
-
 
88
				}
-
 
89
				else
64
				
90
				{
-
 
91
					com.google.gwt.user.client.Window.alert("Problème lors de la mise à jour des mots clés") ;
65
				//TODO: ajouter une vérification de la mise à jour
92
				}
66
				
93
				
67
			}
94
			}
68
			
95
			
69
		}) ;
96
		}) ;
70
	}
97
	}
71
	
98
	
72
	/**
99
	/**
73
	 * Supprime une image de la base de données
100
	 * Supprime une image de la base de données
74
	 * @param ic l'image à supprimer
101
	 * @param ic l'image à supprimer
75
	 */
102
	 */
76
	public void supprimerBaseDeDonnees(final ImageCarnet ic)
103
	public void supprimerBaseDeDonnees(final ImageCarnet ic)
77
	{
104
	{
78
		// le post contient l'action delete pour JREST (qui ne gère pas DELETE comme une requête à part entière)
105
		// le post contient l'action delete pour JREST (qui ne gère pas DELETE comme une requête à part entière)
79
		String postData = "" ;
106
		String postData = "" ;
80
		postData += "&action=DELETE" ;
107
		postData += "&action=DELETE" ;
81
		
108
		
82
		// on envoie un post avec l'id de l'image à supprimer
109
		// on envoie un post avec l'id de l'image à supprimer
83
		HTTPRequest.asyncPost("jrest/inventoryImage/0/"+ic.getId(), postData, new ResponseTextHandler() {
110
		HTTPRequest.asyncPost("jrest/inventoryImage/"+iModele.getIdentifiant()+"/"+ic.getId(), postData, new ResponseTextHandler() {
84
			public void onCompletion(String responseText) {
111
			public void onCompletion(String responseText) {
-
 
112
				
-
 
113
				if(responseText.equals("OK")) 
-
 
114
				{
-
 
115
					return ;
-
 
116
				}
-
 
117
				else
85
				
118
				{
-
 
119
					com.google.gwt.user.client.Window.alert("Problème lors de la suppression des images ") ;
86
				//TODO: ajouter une vérification de la mise à jour
120
				}
87
			}
121
			}
88
			
122
			
89
		}) ;
123
		}) ;
90
	}
124
	}
91
}
125
}