Rev 736 | Blame | Last modification | View Log | RSS feed
package org.tela_botanica.client.modeles;import org.tela_botanica.client.RegistreId;import org.tela_botanica.client.http.JsonRestRequestBuilder;import org.tela_botanica.client.http.JsonRestRequestCallback;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.RequestBuilder;import com.google.gwt.http.client.URL;import com.google.gwt.json.client.JSONArray;import com.google.gwt.json.client.JSONBoolean;import com.google.gwt.json.client.JSONObject;import com.google.gwt.json.client.JSONValue;import com.google.gwt.user.client.Window;public class PublicationAPersonneAsyncDao {private static final String SERVICE_NOM = "CoelPublicationAPersonne";private Rafraichissable vueARafraichir = null;public PublicationAPersonneAsyncDao(Rafraichissable vueARafraichir) {this.vueARafraichir = vueARafraichir;}public void selectionnerAuteurAPublication(String projetId, String idAuteurs,String role, String idPublication) {String url = ((Configuration) Registry.get(RegistreId.CONFIG)).getServiceBaseUrl() +SERVICE_NOM + "/" +(projetId == null ? "*" : projetId) + "/" +(idAuteurs == null ? "*" : idAuteurs) + "/" +(idPublication == null ? "*" : idPublication) + "/" +"";url = URL.encode(url);JsonRestRequestBuilder rb = new JsonRestRequestBuilder(RequestBuilder.GET, url);rb.envoyerRequete(null, new JsonRestRequestCallback() {@Overridepublic void surReponse(JSONValue responseValue) {if (responseValue != null) {// Si la requête est un succès, reception d'un objet ou d'un tableauif (responseValue.isObject() != null) {final JSONObject reponse = responseValue.isObject();// Transformation du tableau JSON réponse en ListeInstitutionPublicationAPersonne publicationAPersonne = new PublicationAPersonne(reponse);// et on met à jour le demandeur des donnéesvueARafraichir.rafraichir(publicationAPersonne);} else if (responseValue.isArray() != null) {final JSONArray reponse = responseValue.isArray();PublicationAPersonneListe publicationsAPersonneListe = new PublicationAPersonneListe(reponse);vueARafraichir.rafraichir(publicationsAPersonneListe);} else {GWT.log("La réponse n'est pas un objet ou un talbeau JSON et vaut : "+responseValue.toString(), null);}} else {// Dans le cas, où nous demandons toutes les publication et qu'il n'y en a pas, nous retournons un objet videPublicationAPersonneListe publicationAPersonneListe = new PublicationAPersonneListe(0);vueARafraichir.rafraichir(publicationAPersonneListe);}}});}public void ajouterAuteur(String utilisateurid, String idAuteurs,String role, String idPublication) {final String url = ((Configuration) Registry.get(RegistreId.CONFIG)).getServiceBaseUrl()+SERVICE_NOM+"/";// auteur 2360JsonRestRequestBuilder rb = new JsonRestRequestBuilder(RequestBuilder.POST, url);String postDonneesEncodees = "cpuap_id_publication="+URL.encode(idPublication)+"&cpuap_id_role="+URL.encode(role)+"&cpuap_id_auteur="+idAuteurs+"&cmhl_ce_modifier_par="+utilisateurid;rb.envoyerRequete(postDonneesEncodees, new JsonRestRequestCallback() {@Overridepublic void surReponse(JSONValue reponseValeur) {traiterReponse(reponseValeur, "auteur_valide");}}) ;}public void modifierAuteur(String utilisateurid, String idAuteurs,String idPublication) {final String url = ((Configuration) Registry.get(RegistreId.CONFIG)).getServiceBaseUrl()+SERVICE_NOM+"/"+idPublication+"/"+idAuteurs+"/"+"2360";// auteur 2360JsonRestRequestBuilder rb = new JsonRestRequestBuilder(RequestBuilder.POST, url);String postDonneesEncodees = "cpuap_id_publication="+URL.encode(idPublication)+"&cmhl_ce_modifier_par="+utilisateurid;rb.envoyerRequete(postDonneesEncodees, new JsonRestRequestCallback() {@Overridepublic void surReponse(JSONValue reponseValeur) {traiterReponse(reponseValeur, "auteur_valide");}}) ;}private void traiterReponse(JSONValue reponseValeur, String type) {Information info = new Information(type);// Si la requête est un succès, reception d'une chaineif (reponseValeur.isBoolean() != null) {info.setDonnee(reponseValeur.isBoolean().booleanValue());} else if (reponseValeur.isString() != null) {info.setDonnee(reponseValeur.isString().stringValue());} else {info.setDeboguage("La réponse n'est pas une chaine JSON.");}vueARafraichir.rafraichir(info);}}