1,42 → 1,54 |
package org.tela_botanica.client.modeles; |
|
import java.util.HashMap; |
import java.util.Iterator; |
|
import org.tela_botanica.client.image.ImageMediateur; |
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.JSONObject; |
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; |
import com.gwtext.client.data.Node; |
import com.gwtext.client.data.Tree; |
import com.gwtext.client.widgets.tree.TreeNode; |
|
/** |
* DAO d'accès à l'arbre de mots clés |
* @author aurelien |
* |
*/ |
public class MotsClesAsynchroneDAO { |
|
private ImageMediateur iMediateur = null ; |
/** |
* Le modele associé au DAO |
*/ |
private ImageModele iModele = null ; |
|
public void setIMediateur(ImageMediateur im) |
/** |
* Setteur pour le modèle |
* @param im le modèle à associer |
*/ |
public void setIModele(ImageModele im) |
{ |
iMediateur = 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) |
{ |
HTTPRequest.asyncGet("jrest/InventoryKeyWordList/"+iMediateur.getIdentifiant(), new ResponseTextHandler() { |
// on demande tous les mots clés associés à l'utilisateur |
HTTPRequest.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 tableau |
if (responseValue.isArray() != null) { |
|
final JSONArray reponse = responseValue.isArray(); |
|
// et on met à jour le demandeur des données |
r.rafraichir(reponse, true) ; |
} |
} |
43,7 → 55,10 |
}); |
} |
|
|
/** |
* 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("")) |
50,11 → 65,12 |
{ |
String postData = motcle ; |
|
HTTPRequest.asyncPost("jrest/InventoryKeyWordList/","&identifiant="+iMediateur.getIdentifiant()+postData, new ResponseTextHandler() { |
// on fait un post asynchrone |
HTTPRequest.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'erreur |
if(responseText.equals("ERROR")) |
{ |
Window.alert("Attention, la base de données des mots clés n'est plus synchronisée avec l'application," + |
66,6 → 82,10 |
} |
} |
|
/** |
* 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("")) |
73,7 → 93,7 |
String postData = "" ; |
postData += "&action=DELETE" ; |
|
HTTPRequest.asyncPost("jrest/InventoryKeyWordList/"+iMediateur.getIdentifiant()+"/"+motcle,postData, new ResponseTextHandler() { |
HTTPRequest.asyncPost("jrest/InventoryKeyWordList/"+iModele.getIdentifiant()+"/"+motcle,postData, new ResponseTextHandler() { |
|
public void onCompletion(String responseText) { |
|
88,6 → 108,10 |
} |
} |
|
/** |
* 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("")) |
96,7 → 120,7 |
String postData = "" ; |
postData += "&action=modification"+motcle ; |
|
HTTPRequest.asyncPost("jrest/InventoryKeyWordList/"+iMediateur.getIdentifiant() ,postData, new ResponseTextHandler() { |
HTTPRequest.asyncPost("jrest/InventoryKeyWordList/"+iModele.getIdentifiant() ,postData, new ResponseTextHandler() { |
|
public void onCompletion(String responseText) { |
|
108,6 → 132,10 |
|
} |
|
/** |
* 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("")) |
116,7 → 144,7 |
String postData = "" ; |
postData += "&action=deplacement"+motcle ; |
|
HTTPRequest.asyncPost("jrest/InventoryKeyWordList/"+iMediateur.getIdentifiant() ,postData, new ResponseTextHandler() { |
HTTPRequest.asyncPost("jrest/InventoryKeyWordList/"+iModele.getIdentifiant() ,postData, new ResponseTextHandler() { |
|
public void onCompletion(String responseText) { |
|