New file |
0,0 → 1,177 |
package org.tela_botanica.client.modeles.dao; |
|
import java.util.Iterator; |
|
import org.tela_botanica.client.image.ImageModele; |
import org.tela_botanica.client.modeles.objets.Configuration; |
import org.tela_botanica.client.modeles.objets.ImageCarnet; |
import org.tela_botanica.client.modeles.objets.Utilisateur; |
|
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.user.client.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'image |
for (Iterator<String> imgIt = ic.keySet().iterator(); imgIt.hasNext();) { |
|
String key = imgIt.next(); |
String valeur = ic.renvoyerValeurCorrecte(key); |
postData += "&" + key + "=" + valeur; |
|
} |
|
// et on envoie une requête asynchrone |
RequestBuilder rb = new RequestBuilder(RequestBuilder.POST, Configuration.getServiceBaseUrl() |
+ "/inventoryImage/" + 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) { |
|
if (response.getText().equals("OK")) { |
return; |
} else { |
com.google.gwt.user.client.Window |
.alert("Problème lors de la mise à jour des données"); |
} |
} |
|
}); |
|
} catch (RequestException e) { |
// TODO Auto-generated catch block |
e.printStackTrace(); |
} |
} |
|
/** |
* 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 post |
String motsCles = ic.getMotsCles(); |
String id = ic.getId(); |
postData += "&id_image=" + id + "&id_mot_cle_utilisateur=" + motsCles; |
|
// on envoie une requête asynchrone |
RequestBuilder rb = new RequestBuilder(RequestBuilder.POST, |
Configuration.getServiceBaseUrl() |
+ "/inventoryKeyWordImageList/" +Utilisateur.getInstance().getIdentifiantUtilisateurConsulte()+ "/"); |
|
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.getText().equals("OK")) { |
return; |
} else { |
com.google.gwt.user.client.Window |
.alert("Problème lors de la mise à jour des données"); |
} |
} |
|
}); |
|
} catch (RequestException e) { |
// TODO Auto-generated catch block |
e.printStackTrace(); |
} |
} |
|
/** |
* 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 à supprimer |
RequestBuilder rb = new RequestBuilder(RequestBuilder.POST, Configuration.getServiceBaseUrl() |
+ "/inventoryImage/" |
+ iModele.getIdentifiant() |
+ "/" |
+ ic.getId()); |
|
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.getText().equals("OK")) { |
|
return; |
} else { |
com.google.gwt.user.client.Window |
.alert("Problème lors de la mise à jour des données : "+response.getText()); |
} |
} |
|
}); |
|
} catch (RequestException e) { |
// TODO Auto-generated catch block |
e.printStackTrace(); |
} |
} |
} |