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
 
-
 
4
import org.tela_botanica.client.image.ImageMediateur;
3
 
5
import org.tela_botanica.client.image.ImageModele;
4
import org.tela_botanica.client.image.ImageModele;
-
 
5
import org.tela_botanica.client.interfaces.Rafraichissable;
6
import org.tela_botanica.client.interfaces.Rafraichissable;
6
 
7
import com.google.gwt.json.client.JSONArray;
7
import com.google.gwt.json.client.JSONArray;
8
import com.google.gwt.json.client.JSONParser;
8
import com.google.gwt.json.client.JSONParser;
9
import com.google.gwt.json.client.JSONValue;
9
import com.google.gwt.json.client.JSONValue;
10
import com.google.gwt.user.client.HTTPRequest;
10
import com.google.gwt.user.client.HTTPRequest;
11
import com.google.gwt.user.client.ResponseTextHandler;
11
import com.google.gwt.user.client.ResponseTextHandler;
12
import com.google.gwt.user.client.Window;
12
import com.google.gwt.user.client.Window;
13
 
13
 
14
/**
14
/**
15
 * DAO d'accès à l'arbre de mots clés
15
 * DAO d'accès à l'arbre de mots clés
16
 * @author aurelien
16
 * @author aurelien
17
 *
17
 *
18
 */
18
 */
19
public class MotsClesAsynchroneDAO {
19
public class MotsClesAsynchroneDAO {
20
	
20
	
21
	/**
21
	/**
22
	 * Le modele associé au DAO
22
	 * Le modele associé au DAO
23
	 */
23
	 */
24
	private ImageModele iModele = null ;
24
	private ImageModele iModele = null ;
-
 
25
	
-
 
26
	public MotsClesAsynchroneDAO(ImageModele im)
-
 
27
	{
-
 
28
		iModele = im ;
-
 
29
	}
25
	
30
	
26
	/**
31
	/**
27
	 * Setteur pour le modèle 
32
	 * Setteur pour le modèle 
28
	 * @param im le modèle à associer
33
	 * @param im le modèle à associer
29
	 */
34
	 */
30
	public void setIModele(ImageModele im)
35
	public void setIModele(ImageModele im)
31
	{
36
	{
32
		iModele = im ; 
37
		iModele = im ; 
33
	}
38
	}
34
	
39
	
35
	/**
40
	/**
36
	 * Envoie une requete au serveur jrest pour obtenir l'arbre des mots clés
41
	 * Envoie une requete au serveur jrest pour obtenir l'arbre des mots clés
37
	 * @param r le rafraichissable qui demande les données
42
	 * @param r le rafraichissable qui demande les données
38
	 */
43
	 */
39
	public void obtenirListeMotsCles(final Rafraichissable r)
44
	public void obtenirListeMotsCles(final Rafraichissable r)
40
	{
45
	{
41
		// on demande tous les mots clés associés à l'utilisateur
46
		// on demande tous les mots clés associés à l'utilisateur
42
		HTTPRequest.asyncGet("jrest/InventoryKeyWordList/"+iModele.getIdentifiant(), new ResponseTextHandler() {
47
		HTTPRequest.asyncGet("jrest/InventoryKeyWordList/"+iModele.getIdentifiant(), new ResponseTextHandler() {
43
 
48
 
44
			public void onCompletion(String responseText) {
49
			public void onCompletion(String responseText) {
45
				
50
				
46
				final JSONValue responseValue = JSONParser.parse(responseText);
51
				final JSONValue responseValue = JSONParser.parse(responseText);
47
				// si la requête est un succès on reçoit un tableau
52
				// si la requête est un succès on reçoit un tableau
48
				if (responseValue.isArray() != null) {
53
				if (responseValue.isArray() != null) {
49
					
54
					
50
					final JSONArray reponse = responseValue.isArray();
55
					final JSONArray reponse = responseValue.isArray();
51
						// et on met à jour le demandeur des données
56
						// et on met à jour le demandeur des données
52
						r.rafraichir(reponse, true) ;		
57
						r.rafraichir(reponse, true) ;		
53
				}					
58
				}					
54
			}			
59
			}			
55
		});
60
		});
56
	}
61
	}
57
	
62
	
58
	/**
63
	/**
59
	 * Envoie requete au serveur jrest pour ajouter un mot clé
64
	 * Envoie requete au serveur jrest pour ajouter un mot clé
60
	 * @param motcle le mots clés à ajouter avec son parent et son identifiant
65
	 * @param motcle le mots clés à ajouter avec son parent et son identifiant
61
	 */
66
	 */
62
	public void ajouterBaseDeDonnees(String motcle)
67
	public void ajouterBaseDeDonnees(String motcle)
63
	{
68
	{
64
		if(!motcle.equals(""))
69
		if(!motcle.equals(""))
65
		{
70
		{
66
			String postData = motcle ;
71
			String postData = motcle ;
67
			
72
			
68
			// on fait un post asynchrone
73
			// on fait un post asynchrone
69
			HTTPRequest.asyncPost("jrest/InventoryKeyWordList/","&identifiant="+iModele.getIdentifiant()+postData, new ResponseTextHandler() {
74
			HTTPRequest.asyncPost("jrest/InventoryKeyWordList/","&identifiant="+iModele.getIdentifiant()+postData, new ResponseTextHandler() {
70
	
75
	
71
				public void onCompletion(String responseText) {
76
				public void onCompletion(String responseText) {
72
				
77
				
73
					// si on reçoit une erreur d'ajout, on affiche un message d'erreur
78
					// si on reçoit une erreur d'ajout, on affiche un message d'erreur
74
					if(responseText.equals("ERROR"))
79
					if(responseText.equals("ERROR"))
75
					{
80
					{
76
						Window.alert("Attention, la base de données des mots clés n'est plus synchronisée avec l'application," +
81
						Window.alert("Attention, la base de données des mots clés n'est plus synchronisée avec l'application," +
77
								"nous vous invitons à recharger la page. ") ;
82
								"nous vous invitons à recharger la page. ") ;
78
					}
83
					}
79
				}
84
				}
80
				
85
				
81
			}) ;
86
			}) ;
82
		}
87
		}
83
	} 
88
	} 
84
	
89
	
85
	/**
90
	/**
86
	 * Envoie requete au serveur jrest pour supprimer un mot clé
91
	 * Envoie requete au serveur jrest pour supprimer un mot clé
87
	 * @param motcle le mots clés à supprimer
92
	 * @param motcle le mots clés à supprimer
88
	 */
93
	 */
89
	public void supprimerBaseDeDonnees(String motcle)
94
	public void supprimerBaseDeDonnees(String motcle)
90
	{
95
	{
91
		if(!motcle.equals(""))
96
		if(!motcle.equals(""))
92
		{
97
		{
93
			String postData = "" ;
98
			String postData = "" ;
94
			postData += "&action=DELETE" ;
99
			postData += "&action=DELETE" ;
95
			
100
			
96
			HTTPRequest.asyncPost("jrest/InventoryKeyWordList/"+iModele.getIdentifiant()+"/"+motcle,postData, new ResponseTextHandler() {
101
			HTTPRequest.asyncPost("jrest/InventoryKeyWordList/"+iModele.getIdentifiant()+"/"+motcle,postData, new ResponseTextHandler() {
97
	
102
	
98
				public void onCompletion(String responseText) {
103
				public void onCompletion(String responseText) {
99
					
104
					
100
					if(responseText.equals("ERROR"))
105
					if(responseText.equals("ERROR"))
101
					{
106
					{
102
						Window.alert("Attention, la base de données des mots clés n'est plus synchronisée avec l'application," +
107
						Window.alert("Attention, la base de données des mots clés n'est plus synchronisée avec l'application," +
103
								"nous vous invitons à recharger la page. ") ;
108
								"nous vous invitons à recharger la page. ") ;
104
					}
109
					}
105
				}
110
				}
106
				
111
				
107
			}) ;
112
			}) ;
108
		}
113
		}
109
	}
114
	}
110
 
115
 
111
	/**
116
	/**
112
	 * Envoie requete au serveur jrest pour modifier un mot clé
117
	 * Envoie requete au serveur jrest pour modifier un mot clé
113
	 * @param motcle le mots clés à modifier avec son parent et son identifiant
118
	 * @param motcle le mots clés à modifier avec son parent et son identifiant
114
	 */
119
	 */
115
	public void modifierBaseDeDonnees(String motcle) {
120
	public void modifierBaseDeDonnees(String motcle) {
116
		
121
		
117
		if(!motcle.equals(""))
122
		if(!motcle.equals(""))
118
		{
123
		{
119
 
124
 
120
		String postData = "" ;
125
		String postData = "" ;
121
		postData += "&action=modification"+motcle ;
126
		postData += "&action=modification"+motcle ;
122
			
127
			
123
		HTTPRequest.asyncPost("jrest/InventoryKeyWordList/"+iModele.getIdentifiant() ,postData, new ResponseTextHandler() {
128
		HTTPRequest.asyncPost("jrest/InventoryKeyWordList/"+iModele.getIdentifiant() ,postData, new ResponseTextHandler() {
124
	
129
	
125
				public void onCompletion(String responseText) {
130
				public void onCompletion(String responseText) {
126
					
131
					
127
					
132
					
128
				}
133
				}
129
				
134
				
130
			}) ;
135
			}) ;
131
		}
136
		}
132
		
137
		
133
	}
138
	}
134
	
139
	
135
	/**
140
	/**
136
	 * Envoie requete au serveur jrest pour modifier un mot clé
141
	 * Envoie requete au serveur jrest pour modifier un mot clé
137
	 * @param motcle le mots clés à ajouter avec son ancien parent, son nouveau et son identifiant
142
	 * @param motcle le mots clés à ajouter avec son ancien parent, son nouveau et son identifiant
138
	 */
143
	 */
139
	public void deplacerBaseDeDonnees(String motcle) {
144
	public void deplacerBaseDeDonnees(String motcle) {
140
		
145
		
141
		if(!motcle.equals(""))
146
		if(!motcle.equals(""))
142
		{
147
		{
143
 
148
 
144
		String postData = "" ;
149
		String postData = "" ;
145
		postData += "&action=deplacement"+motcle ;
150
		postData += "&action=deplacement"+motcle ;
146
			
151
			
147
		HTTPRequest.asyncPost("jrest/InventoryKeyWordList/"+iModele.getIdentifiant() ,postData, new ResponseTextHandler() {
152
		HTTPRequest.asyncPost("jrest/InventoryKeyWordList/"+iModele.getIdentifiant() ,postData, new ResponseTextHandler() {
148
	
153
	
149
				public void onCompletion(String responseText) {
154
				public void onCompletion(String responseText) {
150
					
155
					
151
					
156
					
152
				}
157
				}
153
				
158
				
154
			}) ;
159
			}) ;
155
		}
160
		}
156
		
161
		
157
	} 
162
	} 
158
 
163
 
159
}
164
}