Rev 36 | 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.json.client.JSONArray;import com.google.gwt.json.client.JSONParser;import com.google.gwt.json.client.JSONValue;import com.google.gwt.user.client.HTTPRequest;import com.google.gwt.user.client.ResponseTextHandler;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'utilisateurHTTPRequest.asyncGet("jrest/InventoryKeyWordList/"+iModele.getIdentifiant(), new ResponseTextHandler() {public void onCompletion(String responseText) {final JSONValue responseValue = JSONParser.parse(responseText);// 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) ;}}});}/*** 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 asynchroneHTTPRequest.asyncPost("jrest/InventoryKeyWordList/","&identifiant="+iModele.getIdentifiant()+postData, new ResponseTextHandler() {public void onCompletion(String responseText) {// si on reçoit une erreur d'ajout, on affiche un message d'erreurif(responseText.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. ") ;}}}) ;}}/*** 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" ;HTTPRequest.asyncPost("jrest/InventoryKeyWordList/"+iModele.getIdentifiant()+"/"+motcle,postData, new ResponseTextHandler() {public void onCompletion(String responseText) {if(responseText.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. ") ;}}}) ;}}/*** 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 ;HTTPRequest.asyncPost("jrest/InventoryKeyWordList/"+iModele.getIdentifiant() ,postData, new ResponseTextHandler() {public void onCompletion(String responseText) {}}) ;}}/*** 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 ;HTTPRequest.asyncPost("jrest/InventoryKeyWordList/"+iModele.getIdentifiant() ,postData, new ResponseTextHandler() {public void onCompletion(String responseText) {}}) ;}}}