Rev 36 | Blame | Compare with Previous | Last modification | View Log | RSS feed
package org.tela_botanica.client.modeles;import java.util.Iterator;import org.tela_botanica.client.image.ImageMediateur;import org.tela_botanica.client.image.ImageModele;import com.google.gwt.user.client.HTTPRequest;import com.google.gwt.user.client.ResponseTextHandler;import com.gwtext.client.widgets.Window;/*** DAO d'accès à une image, n'est utilisé que pour l'écriture et pas pour la lecture des images* qui se fait par paquet* @author aurelien**/public class ImageAsynchroneDAO {ImageModele iModele = null ;public ImageAsynchroneDAO(ImageModele im){iModele = im ;}public void setIModele(ImageModele im){iModele = im ;}/*** Met à jour la base de données avec toutes les données d'une image* @param ic l'image à mettre à jour*/public void SynchroniserBaseDeDonnees(final ImageCarnet ic){String postData = "" ;// on construit le post avec toutes les valeur de l'imagefor(Iterator imgIt = ic.keySet().iterator();imgIt.hasNext();){String key = (String)imgIt.next() ;String valeur = ic.renvoyerValeurCorrecte(key) ;postData += "&"+key+"="+valeur ;}// et on envoie une requête asynchroneHTTPRequest.asyncPost("jrest/inventoryImage/"+iModele.getIdentifiant()+"/", postData, new ResponseTextHandler() {public void onCompletion(String responseText) {if(responseText.equals("OK")){return ;}else{com.google.gwt.user.client.Window.alert("Problème lors de la mise à jour des données") ;}}}) ;}/*** Met à jour la base de données avec les mots clés associés à l'image* @param ic l'image à mettre à jour*/public void SynchroniserMotsClesImageBaseDeDonnees(final ImageCarnet ic){String postData = "" ;// on récupère les mots clés de l'image et on fabrique le postString motsCles = ic.getMotsCles() ;String id = ic.getId() ;postData += "&ci_id_image="+id+"&ci_meta_mots_cles="+motsCles ;// on envoie une requête asynchroneHTTPRequest.asyncPost("jrest/inventoryImage/"+iModele.getIdentifiant()+"/", postData, new ResponseTextHandler() {public void onCompletion(String responseText) {if(responseText.equals("OK")){return ;}else{com.google.gwt.user.client.Window.alert("Problème lors de la mise à jour des mots clés") ;}}}) ;}/*** Supprime une image de la base de données* @param ic l'image à supprimer*/public void supprimerBaseDeDonnees(final ImageCarnet ic){// le post contient l'action delete pour JREST (qui ne gère pas DELETE comme une requête à part entière)String postData = "" ;postData += "&action=DELETE" ;// on envoie un post avec l'id de l'image à supprimerHTTPRequest.asyncPost("jrest/inventoryImage/"+iModele.getIdentifiant()+"/"+ic.getId(), postData, new ResponseTextHandler() {public void onCompletion(String responseText) {if(responseText.equals("OK")){return ;}else{com.google.gwt.user.client.Window.alert("Problème lors de la suppression des images ") ;}}}) ;}}