Subversion Repositories eFlore/Applications.coel

Rev

Rev 238 | 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
 
264 jp_milcent 70
	public void modifierPublication(final Rafraichissable r, String utilisateurId, Publication pubAModifier) {
230 aurelien 71
		// Demande de toutes les structures
72
    	String url = ((Configuration) Registry.get(RegistreId.CONFIG)).getServiceBaseUrl();
264 jp_milcent 73
		RequestBuilder rb = new RequestBuilder(RequestBuilder.POST, url+"CoelPublicationListe/"+pubAModifier.getId());
106 aurelien 74
 
230 aurelien 75
		try {
264 jp_milcent 76
			rb.sendRequest(pubAModifier.toReqString()+"&cmhl_ce_modifier_par="+utilisateurId, new RequestCallback() {
230 aurelien 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
 
264 jp_milcent 110
	public void ajouterPublication(Modele modele, String utilisateurId, Publication pubAModifier) {
230 aurelien 111
		String url = ((Configuration) Registry.get(RegistreId.CONFIG)).getServiceBaseUrl();
112
		RequestBuilder rb = new RequestBuilder(RequestBuilder.POST, url+"CoelPublicationListe/");
113
 
114
		try {
264 jp_milcent 115
			rb.sendRequest(pubAModifier.toReqString()+"&cmhl_ce_modifier_par="+utilisateurId, new RequestCallback() {
230 aurelien 116
 
117
				public void onError(Request request, Throwable exception) {
118
					// TODO Auto-generated method stub
119
 
120
				}
121
 
122
				public void onResponseReceived(Request request, Response response) {
123
					Boolean defaut = true;
124
					if (response.getText().length() != 0 && response.getText() != null) {
125
						final JSONValue responseValue = JSONParser.parse(response.getText());
126
 
127
						// Si la requête est un succès, reception d'un tableau
238 aurelien 128
						if (responseValue.isObject() != null) {
129
							final JSONObject reponse = responseValue.isObject();
230 aurelien 130
							// Transformation du tableau JSON réponse en ListeInstitution
131
							publications = new PublicationListe(reponse);
132
							// et on met à jour le demandeur des données
133
							rafraichissement.rafraichir(publications);
134
							// Tout c'est bien déroulé, on courcircuite l'affichage par défaut
135
							defaut = false;
136
						}
137
					}
138
					if (defaut == true) {
139
						publications = new PublicationListe(0);
140
						rafraichissement.rafraichir(publications);
141
					}
142
				}
143
			});
144
		} catch (RequestException e) {
145
			e.printStackTrace();
146
		}
147
 
148
	}
149
 
238 aurelien 150
	public void supprimerPublication(Modele modele, String utilisateurId,
151
			String idPubs) {
152
		String url = ((Configuration) Registry.get(RegistreId.CONFIG)).getServiceBaseUrl();
153
		RequestBuilder rb = new RequestBuilder(RequestBuilder.POST, url+"CoelPublicationListe/"+utilisateurId+"/"+idPubs);
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
}