Rev 277 | Blame | Compare with Previous | Last modification | View Log | RSS feed
package org.tela_botanica.client.modeles;import org.tela_botanica.client.Modele;import org.tela_botanica.client.RegistreId;import org.tela_botanica.client.interfaces.Rafraichissable;import com.extjs.gxt.ui.client.Registry;import com.google.gwt.core.client.GWT;import com.google.gwt.http.client.Request;import com.google.gwt.http.client.RequestBuilder;import com.google.gwt.http.client.RequestCallback;import com.google.gwt.http.client.RequestException;import com.google.gwt.http.client.Response;import com.google.gwt.json.client.JSONArray;import com.google.gwt.json.client.JSONObject;import com.google.gwt.json.client.JSONParser;import com.google.gwt.json.client.JSONValue;import com.google.gwt.user.client.Window;public class PublicationAsyncDao {private static final String SERVICE_NOM = "CoelPublication";private PublicationListe publications = null;private Rafraichissable rafraichissement = null;public PublicationAsyncDao(Rafraichissable r) {rafraichissement = r ;}public void obtenirListePublication() {// Demande de toutes les structuresString url = ((Configuration) Registry.get(RegistreId.CONFIG)).getServiceBaseUrl();RequestBuilder rb = new RequestBuilder(RequestBuilder.GET, url+SERVICE_NOM+"/");try {rb.sendRequest(null, new RequestCallback() {public void onError(Request request, Throwable exception) {// TODO Auto-generated method stub}public void onResponseReceived(Request request, Response response) {Boolean defaut = true;if (response.getText().length() != 0 && response.getText() != null) {final JSONValue responseValue = JSONParser.parse(response.getText());// Si la requête est un succès, reception d'un tableauif (responseValue.isObject() != null) {final JSONObject reponse = responseValue.isObject();// Transformation du tableau JSON réponse en ListeInstitutionpublications = new PublicationListe(reponse);// et on met à jour le demandeur des donnéesrafraichissement.rafraichir(publications);// Tout c'est bien déroulé, on courcircuite l'affichage par défautdefaut = false;}}if (defaut == true) {publications = new PublicationListe(0);rafraichissement.rafraichir(publications);}}});} catch (RequestException e) {e.printStackTrace();}}public void modifierPublication(String utilisateurId, Publication pubAModifier) {// Demande de toutes les structuresString url = ((Configuration) Registry.get(RegistreId.CONFIG)).getServiceBaseUrl();RequestBuilder rb = new RequestBuilder(RequestBuilder.POST, url+SERVICE_NOM+"/"+pubAModifier.getId());try {rb.sendRequest(pubAModifier.toReqString()+"&cmhl_ce_modifier_par="+utilisateurId, new RequestCallback() {public void onError(Request request, Throwable exception) {// TODO Auto-generated method stub}public void onResponseReceived(Request request, Response response) {Boolean defaut = true;if (response.getText().length() != 0 && response.getText() != null) {final JSONValue responseValue = JSONParser.parse(response.getText());// Si la requête est un succès, reception d'un tableauif (responseValue.isArray() != null) {final JSONObject reponse = responseValue.isObject();// Transformation du tableau JSON réponse en ListeInstitutionpublications = new PublicationListe(reponse);// et on met à jour le demandeur des donnéesrafraichissement.rafraichir(publications);// Tout c'est bien déroulé, on courcircuite l'affichage par défautdefaut = false;}}if (defaut == true) {publications = new PublicationListe(0);rafraichissement.rafraichir(publications);}}});} catch (RequestException e) {e.printStackTrace();}}public void ajouterPublication(String utilisateurId, Publication pubAModifier) {String url = ((Configuration) Registry.get(RegistreId.CONFIG)).getServiceBaseUrl();RequestBuilder rb = new RequestBuilder(RequestBuilder.POST, url+SERVICE_NOM+"/");try {rb.sendRequest(pubAModifier.toReqString()+"&cmhl_ce_modifier_par="+utilisateurId, new RequestCallback() {public void onError(Request request, Throwable exception) {// TODO Auto-generated method stub}public void onResponseReceived(Request request, Response response) {Boolean defaut = true;if (response.getText().length() != 0 && response.getText() != null) {final JSONValue responseValue = JSONParser.parse(response.getText());// Si la requête est un succès, reception d'un tableauif (responseValue.isObject() != null) {final JSONObject reponse = responseValue.isObject();// Transformation du tableau JSON réponse en ListeInstitutionpublications = new PublicationListe(reponse);// et on met à jour le demandeur des donnéesrafraichissement.rafraichir(publications);// Tout c'est bien déroulé, on courcircuite l'affichage par défautdefaut = false;}}if (defaut == true) {publications = new PublicationListe(0);rafraichissement.rafraichir(publications);}}});} catch (RequestException e) {e.printStackTrace();}}public void supprimerPublication(String utilisateurId, String idPubs) {String url = ((Configuration) Registry.get(RegistreId.CONFIG)).getServiceBaseUrl();RequestBuilder rb = new RequestBuilder(RequestBuilder.POST, url+SERVICE_NOM+"/"+utilisateurId+"/"+idPubs);try {rb.sendRequest("action=DELETE", new RequestCallback() {public void onError(Request request, Throwable exception) {GWT.log("Erreur dans la requête de suppression", exception);}public void onResponseReceived(Request request, Response response) {Boolean defaut = true;if (response.getText().length() != 0 && response.getText() != null) {final JSONValue responseValue = JSONParser.parse(response.getText());// Si la requête est un succès, reception d'un tableauif (responseValue.isObject() != null) {final JSONObject reponse = responseValue.isObject();// Transformation du tableau JSON réponse en ListeInstitutionpublications = new PublicationListe(reponse);// et on met à jour le demandeur des donnéesrafraichissement.rafraichir(publications);// Tout c'est bien déroulé, on courcircuite l'affichage par défautdefaut = false;}}if (defaut == true) {publications = new PublicationListe(0);rafraichissement.rafraichir(publications);}}});} catch (RequestException e) {e.printStackTrace();}}}