Subversion Repositories eFlore/Applications.coel

Rev

Rev 230 | Rev 264 | Go to most recent revision | Details | Compare with Previous | 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
 
20
public class PublicationListeAsyncDao {
21
 
22
	private PublicationListe publications = null;
23
	private Rafraichissable rafraichissement = null;
24
 
25
	public PublicationListeAsyncDao(Rafraichissable r) {
26
 
27
		rafraichissement = r ;
28
	}
29
 
30
	public void obtenirListePublication() {
31
    	// Demande de toutes les structures
32
    	String url = ((Configuration) Registry.get(RegistreId.CONFIG)).getServiceBaseUrl();
33
		RequestBuilder rb = new RequestBuilder(RequestBuilder.GET, url+"CoelPublicationListe/");
34
 
35
		try {
36
			rb.sendRequest(null, new RequestCallback() {
37
 
38
				public void onError(Request request, Throwable exception) {
39
					// TODO Auto-generated method stub
40
 
41
				}
42
 
43
				public void onResponseReceived(Request request, Response response) {
114 jpm 44
					Boolean defaut = true;
45
					if (response.getText().length() != 0 && response.getText() != null) {
46
						final JSONValue responseValue = JSONParser.parse(response.getText());
106 aurelien 47
 
114 jpm 48
						// Si la requête est un succès, reception d'un tableau
238 aurelien 49
						if (responseValue.isObject() != null) {
50
							final JSONObject reponse = responseValue.isObject();
114 jpm 51
							// Transformation du tableau JSON réponse en ListeInstitution
52
							publications = new PublicationListe(reponse);
53
							// et on met à jour le demandeur des données
54
							rafraichissement.rafraichir(publications);
55
							// Tout c'est bien déroulé, on courcircuite l'affichage par défaut
56
							defaut = false;
57
						}
106 aurelien 58
					}
114 jpm 59
					if (defaut == true) {
106 aurelien 60
						publications = new PublicationListe(0);
61
						rafraichissement.rafraichir(publications);
62
					}
63
				}
64
			});
65
		} catch (RequestException e) {
66
			e.printStackTrace();
67
		}
68
	}
230 aurelien 69
 
70
	public void modifierPublication(final Rafraichissable r, String idUtilisateur, Publication pubAModifier) {
71
		// Demande de toutes les structures
72
    	String url = ((Configuration) Registry.get(RegistreId.CONFIG)).getServiceBaseUrl();
73
		RequestBuilder rb = new RequestBuilder(RequestBuilder.POST, url+"CoelPublicationListe/"+idUtilisateur);
106 aurelien 74
 
230 aurelien 75
		try {
76
			rb.sendRequest(pubAModifier.toReqString(), new RequestCallback() {
77
 
78
				public void onError(Request request, Throwable exception) {
79
					// TODO Auto-generated method stub
80
 
81
				}
82
 
83
				public void onResponseReceived(Request request, Response response) {
84
					Boolean defaut = true;
85
					if (response.getText().length() != 0 && response.getText() != null) {
86
						final JSONValue responseValue = JSONParser.parse(response.getText());
87
 
88
						// Si la requête est un succès, reception d'un tableau
89
						if (responseValue.isArray() != null) {
238 aurelien 90
							final JSONObject reponse = responseValue.isObject();
230 aurelien 91
							// Transformation du tableau JSON réponse en ListeInstitution
92
							publications = new PublicationListe(reponse);
93
							// et on met à jour le demandeur des données
94
							rafraichissement.rafraichir(publications);
95
							// Tout c'est bien déroulé, on courcircuite l'affichage par défaut
96
							defaut = false;
97
						}
98
					}
99
					if (defaut == true) {
100
						publications = new PublicationListe(0);
101
						rafraichissement.rafraichir(publications);
102
					}
103
				}
104
			});
105
		} catch (RequestException e) {
106
			e.printStackTrace();
107
		}
108
	}
109
 
110
	public void ajouterPublication(Modele modele, String utilisateurId,
111
			Publication pubAModifier) {
112
		String url = ((Configuration) Registry.get(RegistreId.CONFIG)).getServiceBaseUrl();
113
		RequestBuilder rb = new RequestBuilder(RequestBuilder.POST, url+"CoelPublicationListe/");
114
 
115
		try {
116
			rb.sendRequest(pubAModifier.toReqString()+"&id_utilisateur="+utilisateurId, new RequestCallback() {
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
 
238 aurelien 151
	public void supprimerPublication(Modele modele, String utilisateurId,
152
			String idPubs) {
153
		String url = ((Configuration) Registry.get(RegistreId.CONFIG)).getServiceBaseUrl();
154
		RequestBuilder rb = new RequestBuilder(RequestBuilder.POST, url+"CoelPublicationListe/"+utilisateurId+"/"+idPubs);
155
 
156
		try {
157
			rb.sendRequest("action=DELETE", new RequestCallback() {
158
 
159
				public void onError(Request request, Throwable exception) {
160
 
161
					GWT.log("Erreur dans la requête de suppression", exception);
162
 
163
				}
164
 
165
				public void onResponseReceived(Request request, Response response) {
166
					Boolean defaut = true;
167
					if (response.getText().length() != 0 && response.getText() != null) {
168
						final JSONValue responseValue = JSONParser.parse(response.getText());
169
 
170
						// Si la requête est un succès, reception d'un tableau
171
						if (responseValue.isObject() != null) {
172
							final JSONObject reponse = responseValue.isObject();
173
							// Transformation du tableau JSON réponse en ListeInstitution
174
							publications = new PublicationListe(reponse);
175
							// et on met à jour le demandeur des données
176
							rafraichissement.rafraichir(publications);
177
							// Tout c'est bien déroulé, on courcircuite l'affichage par défaut
178
							defaut = false;
179
						}
180
					}
181
					if (defaut == true) {
182
						publications = new PublicationListe(0);
183
						rafraichissement.rafraichir(publications);
184
					}
185
				}
186
			});
187
		} catch (RequestException e) {
188
			e.printStackTrace();
189
		}
190
 
191
	}
192
 
106 aurelien 193
}