Rev 235 | 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 org.tela_botanica.client.observation.ObservationMediateur;import org.tela_botanica.client.observation.ObservationModele;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;private ObservationModele oModele = null ;private String identifiant = "" ;public MotsClesAsynchroneDAO(ImageModele im) {iModele = im;identifiant = im.getIdentifiant();}public MotsClesAsynchroneDAO(ObservationModele om) {oModele = om;identifiant = om.getIdentifiant();}/*** 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, Configuration.getServiceBaseUrl()+ "/InventoryKeyWordList/" + identifiant);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, Configuration.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, Configuration.getServiceBaseUrl()+ "/InventoryKeyWordList/"+ identifiant+ "/"+ 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, Configuration.getServiceBaseUrl()+ "/InventoryKeyWordList/" + identifiant);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, Configuration.getServiceBaseUrl()+ "/InventoryKeyWordList/" + identifiant);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();}}}}