Rev 5 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
package org.tela_botanica.client.modeles;import org.tela_botanica.client.image.ImageModele;import org.tela_botanica.client.interfaces.Rafraichissable;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.JSONParser;import com.google.gwt.json.client.JSONValue;import com.google.gwt.user.client.Window;/*** DAO d'accès à l'arbre de mots clés* @author aurelien**/public class MotsClesAsynchroneDAO {/*** Le modele associé au DAO*/private ImageModele iModele = null ;public MotsClesAsynchroneDAO(ImageModele im){iModele = im ;}/*** Setteur pour le modèle* @param im le modèle à associer*/public void setIModele(ImageModele im){iModele = im ;}/*** Envoie une requete au serveur jrest pour obtenir l'arbre des mots clés* @param r le rafraichissable qui demande les données*/public void obtenirListeMotsCles(final Rafraichissable r){// on demande tous les mots clés associés à l'utilisateurRequestBuilder rb = new RequestBuilder(RequestBuilder.GET,iModele.getConfig().getServiceBaseUrl()+"/InventoryKeyWordList/"+iModele.getIdentifiant()) ;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) {final JSONValue responseValue = JSONParser.parse(response.getText());// si la requête est un succès on reçoit un tableauif (responseValue.isArray() != null) {final JSONArray reponse = responseValue.isArray();// et on met à jour le demandeur des donnéesr.rafraichir(reponse, true) ;}}}) ;} catch (RequestException e) {// TODO Auto-generated catch blocke.printStackTrace();}}/*** Envoie requete au serveur jrest pour ajouter un mot clé* @param motcle le mots clés à ajouter avec son parent et son identifiant*/public void ajouterBaseDeDonnees(String motcle){if(!motcle.equals("")){String postData = motcle ;// on fait un post asynchroneRequestBuilder rb = new RequestBuilder(RequestBuilder.POST,iModele.getConfig().getServiceBaseUrl()+"/InventoryKeyWordList/") ;try {rb.sendRequest(postData, new RequestCallback() {public void onError(Request request, Throwable exception) {// TODO Auto-generated method stub}public void onResponseReceived(Request request,Response response) {// si on reçoit une erreur d'ajout, on affiche un message d'erreurif(response.getText().equals("ERROR")){Window.alert("Attention, la base de données des mots clés n'est plus synchronisée avec l'application," +"nous vous invitons à recharger la page. ") ;}}}) ;} catch (RequestException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}/*** Envoie requete au serveur jrest pour supprimer un mot clé* @param motcle le mots clés à supprimer*/public void supprimerBaseDeDonnees(String motcle){if(!motcle.equals("")){String postData = "" ;postData += "&action=DELETE" ;RequestBuilder rb = new RequestBuilder(RequestBuilder.POST,iModele.getConfig().getServiceBaseUrl()+"/InventoryKeyWordList/"+iModele.getIdentifiant()+"/"+motcle) ;try {rb.sendRequest(postData, new RequestCallback() {public void onError(Request request, Throwable exception) {// TODO Auto-generated method stub}public void onResponseReceived(Request request,Response response) {if(response.equals("ERROR")){Window.alert("Attention, la base de données des mots clés n'est plus synchronisée avec l'application," +"nous vous invitons à recharger la page. ") ;}}});} catch (RequestException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}/*** Envoie requete au serveur jrest pour modifier un mot clé* @param motcle le mots clés à modifier avec son parent et son identifiant*/public void modifierBaseDeDonnees(String motcle) {if(!motcle.equals("")){String postData = "" ;postData += "&action=modification"+motcle ;RequestBuilder rb = new RequestBuilder(RequestBuilder.POST,iModele.getConfig().getServiceBaseUrl()+"/InventoryKeyWordList/"+iModele.getIdentifiant()) ;try {rb.sendRequest(postData, new RequestCallback() {public void onError(Request request, Throwable exception) {// TODO Auto-generated method stub}public void onResponseReceived(Request request, Response response) {// TODO Auto-generated method stub}});} catch (RequestException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}/*** Envoie requete au serveur jrest pour modifier un mot clé* @param motcle le mots clés à ajouter avec son ancien parent, son nouveau et son identifiant*/public void deplacerBaseDeDonnees(String motcle) {if(!motcle.equals("")){String postData = "" ;postData += "&action=deplacement"+motcle ;RequestBuilder rb = new RequestBuilder(RequestBuilder.POST,iModele.getConfig().getServiceBaseUrl()+"/InventoryKeyWordList/"+iModele.getIdentifiant()) ;try {rb.sendRequest(postData, new RequestCallback() {public void onError(Request request, Throwable exception) {// TODO Auto-generated method stub}public void onResponseReceived(Request request, Response response) {// TODO Auto-generated method stub}});} catch (RequestException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}}