Subversion Repositories eFlore/Applications.coel

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
106 aurelien 1
package org.tela_botanica.client.modeles;
2
 
230 aurelien 3
import org.tela_botanica.client.Modele;
106 aurelien 4
import org.tela_botanica.client.RegistreId;
5
import org.tela_botanica.client.interfaces.Rafraichissable;
6
 
7
import com.extjs.gxt.ui.client.Registry;
238 aurelien 8
import com.google.gwt.core.client.GWT;
106 aurelien 9
import com.google.gwt.http.client.Request;
10
import com.google.gwt.http.client.RequestBuilder;
11
import com.google.gwt.http.client.RequestCallback;
12
import com.google.gwt.http.client.RequestException;
13
import com.google.gwt.http.client.Response;
14
import com.google.gwt.json.client.JSONArray;
238 aurelien 15
import com.google.gwt.json.client.JSONObject;
106 aurelien 16
import com.google.gwt.json.client.JSONParser;
17
import com.google.gwt.json.client.JSONValue;
18
import com.google.gwt.user.client.Window;
19
 
268 jp_milcent 20
public class PublicationAsyncDao {
21
	private static final String SERVICE_NOM = "CoelPublication";
22
 
106 aurelien 23
	private PublicationListe publications = null;
24
	private Rafraichissable rafraichissement = null;
25
 
268 jp_milcent 26
	public PublicationAsyncDao(Rafraichissable r) {
106 aurelien 27
 
28
		rafraichissement = r ;
29
	}
30
 
31
	public void obtenirListePublication() {
32
    	// Demande de toutes les structures
33
    	String url = ((Configuration) Registry.get(RegistreId.CONFIG)).getServiceBaseUrl();
268 jp_milcent 34
		RequestBuilder rb = new RequestBuilder(RequestBuilder.GET, url+SERVICE_NOM+"/");
106 aurelien 35
 
36
		try {
37
			rb.sendRequest(null, new RequestCallback() {
38
 
39
				public void onError(Request request, Throwable exception) {
40
					// TODO Auto-generated method stub
41
 
42
				}
43
 
44
				public void onResponseReceived(Request request, Response response) {
114 jpm 45
					Boolean defaut = true;
46
					if (response.getText().length() != 0 && response.getText() != null) {
47
						final JSONValue responseValue = JSONParser.parse(response.getText());
106 aurelien 48
 
114 jpm 49
						// Si la requête est un succès, reception d'un tableau
238 aurelien 50
						if (responseValue.isObject() != null) {
51
							final JSONObject reponse = responseValue.isObject();
114 jpm 52
							// Transformation du tableau JSON réponse en ListeInstitution
53
							publications = new PublicationListe(reponse);
54
							// et on met à jour le demandeur des données
55
							rafraichissement.rafraichir(publications);
56
							// Tout c'est bien déroulé, on courcircuite l'affichage par défaut
57
							defaut = false;
58
						}
106 aurelien 59
					}
114 jpm 60
					if (defaut == true) {
106 aurelien 61
						publications = new PublicationListe(0);
62
						rafraichissement.rafraichir(publications);
63
					}
64
				}
65
			});
66
		} catch (RequestException e) {
67
			e.printStackTrace();
68
		}
69
	}
230 aurelien 70
 
277 jp_milcent 71
	public void modifierPublication(String utilisateurId, Publication pubAModifier) {
230 aurelien 72
		// Demande de toutes les structures
73
    	String url = ((Configuration) Registry.get(RegistreId.CONFIG)).getServiceBaseUrl();
268 jp_milcent 74
		RequestBuilder rb = new RequestBuilder(RequestBuilder.POST, url+SERVICE_NOM+"/"+pubAModifier.getId());
106 aurelien 75
 
230 aurelien 76
		try {
264 jp_milcent 77
			rb.sendRequest(pubAModifier.toReqString()+"&cmhl_ce_modifier_par="+utilisateurId, new RequestCallback() {
230 aurelien 78
 
79
				public void onError(Request request, Throwable exception) {
80
					// TODO Auto-generated method stub
81
 
82
				}
83
 
84
				public void onResponseReceived(Request request, Response response) {
85
					Boolean defaut = true;
86
					if (response.getText().length() != 0 && response.getText() != null) {
87
						final JSONValue responseValue = JSONParser.parse(response.getText());
88
 
89
						// Si la requête est un succès, reception d'un tableau
90
						if (responseValue.isArray() != null) {
238 aurelien 91
							final JSONObject reponse = responseValue.isObject();
230 aurelien 92
							// Transformation du tableau JSON réponse en ListeInstitution
93
							publications = new PublicationListe(reponse);
94
							// et on met à jour le demandeur des données
95
							rafraichissement.rafraichir(publications);
96
							// Tout c'est bien déroulé, on courcircuite l'affichage par défaut
97
							defaut = false;
98
						}
99
					}
100
					if (defaut == true) {
101
						publications = new PublicationListe(0);
102
						rafraichissement.rafraichir(publications);
103
					}
104
				}
105
			});
106
		} catch (RequestException e) {
107
			e.printStackTrace();
108
		}
109
	}
110
 
277 jp_milcent 111
	public void ajouterPublication(String utilisateurId, Publication pubAModifier) {
230 aurelien 112
		String url = ((Configuration) Registry.get(RegistreId.CONFIG)).getServiceBaseUrl();
268 jp_milcent 113
		RequestBuilder rb = new RequestBuilder(RequestBuilder.POST, url+SERVICE_NOM+"/");
230 aurelien 114
 
115
		try {
264 jp_milcent 116
			rb.sendRequest(pubAModifier.toReqString()+"&cmhl_ce_modifier_par="+utilisateurId, new RequestCallback() {
230 aurelien 117
 
118
				public void onError(Request request, Throwable exception) {
119
					// TODO Auto-generated method stub
120
 
121
				}
122
 
123
				public void onResponseReceived(Request request, Response response) {
124
					Boolean defaut = true;
125
					if (response.getText().length() != 0 && response.getText() != null) {
126
						final JSONValue responseValue = JSONParser.parse(response.getText());
127
 
128
						// Si la requête est un succès, reception d'un tableau
238 aurelien 129
						if (responseValue.isObject() != null) {
130
							final JSONObject reponse = responseValue.isObject();
230 aurelien 131
							// Transformation du tableau JSON réponse en ListeInstitution
132
							publications = new PublicationListe(reponse);
133
							// et on met à jour le demandeur des données
134
							rafraichissement.rafraichir(publications);
135
							// Tout c'est bien déroulé, on courcircuite l'affichage par défaut
136
							defaut = false;
137
						}
138
					}
139
					if (defaut == true) {
140
						publications = new PublicationListe(0);
141
						rafraichissement.rafraichir(publications);
142
					}
143
				}
144
			});
145
		} catch (RequestException e) {
146
			e.printStackTrace();
147
		}
148
 
149
	}
150
 
277 jp_milcent 151
	public void supprimerPublication(String utilisateurId, String idPubs) {
238 aurelien 152
		String url = ((Configuration) Registry.get(RegistreId.CONFIG)).getServiceBaseUrl();
268 jp_milcent 153
		RequestBuilder rb = new RequestBuilder(RequestBuilder.POST, url+SERVICE_NOM+"/"+utilisateurId+"/"+idPubs);
238 aurelien 154
 
155
		try {
156
			rb.sendRequest("action=DELETE", new RequestCallback() {
157
 
158
				public void onError(Request request, Throwable exception) {
159
 
160
					GWT.log("Erreur dans la requête de suppression", exception);
161
 
162
				}
163
 
164
				public void onResponseReceived(Request request, Response response) {
165
					Boolean defaut = true;
166
					if (response.getText().length() != 0 && response.getText() != null) {
167
						final JSONValue responseValue = JSONParser.parse(response.getText());
168
 
169
						// Si la requête est un succès, reception d'un tableau
170
						if (responseValue.isObject() != null) {
171
							final JSONObject reponse = responseValue.isObject();
172
							// Transformation du tableau JSON réponse en ListeInstitution
173
							publications = new PublicationListe(reponse);
174
							// et on met à jour le demandeur des données
175
							rafraichissement.rafraichir(publications);
176
							// Tout c'est bien déroulé, on courcircuite l'affichage par défaut
177
							defaut = false;
178
						}
179
					}
180
					if (defaut == true) {
181
						publications = new PublicationListe(0);
182
						rafraichissement.rafraichir(publications);
183
					}
184
				}
185
			});
186
		} catch (RequestException e) {
187
			e.printStackTrace();
188
		}
189
 
190
	}
191
 
106 aurelien 192
}