/trunk/src/org/tela_botanica/client/modeles/dao/ImageAsynchroneDAO.java |
---|
112,15 → 112,11 |
public void onResponseReceived(Request request, |
Response response) { |
// TODO: les messages ne devraient pas être affichés ici |
// mais l'architecture par très malléable complique les choses |
if (response.getText().equals("OK")) { |
com.google.gwt.user.client.Window |
.alert("Les mots clés suivants ont bien été appliqués : "+iModele.renvoyerChaineMotClesTexte(ic)); |
return; |
} else { |
com.google.gwt.user.client.Window |
.alert("Problème lors de la mise à jour des données, le serveur a répondu "+response.getText()); |
.alert("Problème lors de la mise à jour des données"); |
} |
} |
/trunk/src/org/tela_botanica/client/modeles/dao/MotsClesAsynchroneDAO.java |
---|
1,8 → 1,11 |
package org.tela_botanica.client.modeles.dao; |
import org.tela_botanica.client.image.ImageModele; |
import org.tela_botanica.client.interfaces.Rafraichissable; |
import org.tela_botanica.client.modeles.objets.Configuration; |
import org.tela_botanica.client.modeles.objets.Utilisateur; |
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; |
21,16 → 24,43 |
* |
*/ |
public class MotsClesAsynchroneDAO { |
/** |
* Le modele associé au DAO |
*/ |
private ImageModele iModele = null; |
private ObservationModele oModele = null ; |
private String identifiant = "" ; |
private String mode = ""; |
public MotsClesAsynchroneDAO() { |
public MotsClesAsynchroneDAO(ImageModele im) { |
iModele = im; |
mode = "images"; |
identifiant = im.getIdentifiant(); |
} |
public MotsClesAsynchroneDAO(ObservationModele om) { |
oModele = om; |
mode = "obs"; |
identifiant = Utilisateur.getInstance().getIdentifiantUtilisateurConsulte(); |
} |
/** |
* 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 |
98,17 → 128,15 |
public void onResponseReceived(Request request, |
Response response) { |
// TODO: les messages ne devraient pas être affichés ici |
// mais l'architecture par très malléable complique les choses |
if (response.getText().equals("OK")) { |
com.google.gwt.user.client.Window |
.alert("Le mot clé a été ajouté"); |
return; |
} else { |
com.google.gwt.user.client.Window |
.alert("Problème lors de la mise à jour des données, le serveur a répondu "+response.getText()); |
// si on reçoit une erreur d'ajout, on affiche un |
// message d'erreur |
if (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. "); |
} |
} |
}); |
147,15 → 175,10 |
public void onResponseReceived(Request request, |
Response response) { |
// TODO: les messages ne devraient pas être affichés ici |
// mais l'architecture par très malléable complique les choses |
if (response.getText().equals("OK")) { |
com.google.gwt.user.client.Window |
.alert("Le mot clé a été supprimé"); |
return; |
} else { |
com.google.gwt.user.client.Window |
.alert("Problème lors de la mise à jour des données, le serveur a répondu "+response.getText()); |
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. "); |
} |
} |
}); |
192,16 → 215,8 |
public void onResponseReceived(Request request, |
Response response) { |
// TODO: les messages ne devraient pas être affichés ici |
// mais l'architecture par très malléable complique les choses |
if (response.getText().equals("OK")) { |
com.google.gwt.user.client.Window |
.alert("Le mot clé a été renommé"); |
return; |
} else { |
com.google.gwt.user.client.Window |
.alert("Problème lors de la mise à jour des données, le serveur a répondu "+response.getText()); |
} |
// TODO Auto-generated method stub |
} |
}); |
/trunk/src/org/tela_botanica/client/observation/ObservationModele.java |
---|
393,7 → 393,7 |
public void obtenirArbreMotsCles(Rafraichissable r) { |
MotsClesAsynchroneDAO mcoDAO = new MotsClesAsynchroneDAO(); |
MotsClesAsynchroneDAO mcoDAO = new MotsClesAsynchroneDAO(this); |
mcoDAO.obtenirListeMotsCles(this); |
} |
583,7 → 583,7 |
*/ |
public void ajouterMotCleDansArbre(TreeNode n, |
com.gwtext.client.data.Tree arbreMC) { |
MotsClesAsynchroneDAO MCDao = new MotsClesAsynchroneDAO(); |
MotsClesAsynchroneDAO MCDao = new MotsClesAsynchroneDAO(this); |
String[] usObj = (String[]) n.getUserObject(); |
String motCle = usObj[0]; |
615,7 → 615,7 |
*/ |
public void supprimerMotCleDansArbre(TreeNode n, Tree arbreMC) { |
MotsClesAsynchroneDAO MCDao = new MotsClesAsynchroneDAO(); |
MotsClesAsynchroneDAO MCDao = new MotsClesAsynchroneDAO(this); |
String[] usObj = (String[]) n.getUserObject(); |
String id = usObj[1]; |
637,7 → 637,7 |
*/ |
public void modifierMotCleDansArbre(TreeNode n, Tree arbreMC) { |
MotsClesAsynchroneDAO MCDao = new MotsClesAsynchroneDAO(); |
MotsClesAsynchroneDAO MCDao = new MotsClesAsynchroneDAO(this); |
String[] usObj = (String[]) n.getUserObject(); |
String motCle = usObj[0]; |
669,7 → 669,7 |
* l'arbre des mots cles en cours |
*/ |
public void deplacerMotCleDansArbre(TreeNode n, Tree arbreMC) { |
MotsClesAsynchroneDAO MCDao = new MotsClesAsynchroneDAO(); |
MotsClesAsynchroneDAO MCDao = new MotsClesAsynchroneDAO(this); |
String[] usObj = (String[]) n.getUserObject(); |
String motCle = usObj[0]; |
/trunk/src/org/tela_botanica/client/image/ImageMediateur.java |
---|
1046,10 → 1046,8 |
public void onItemClick(BaseItem item, EventObject e) { |
if (item.equals(suppN)) { |
if(Window.confirm("Êtes vous sur de vouloir supprimer ce mot clé ?")) { |
getMetadonneesIptcExif().getPanneauMotsCles() |
.supprimerNoeud(n); |
} |
getMetadonneesIptcExif().getPanneauMotsCles() |
.supprimerNoeud(n); |
} |
if (item.equals(ajoutN)) { |
getMetadonneesIptcExif().getPanneauMotsCles().ajouterNoeud( |
/trunk/src/org/tela_botanica/client/image/ImageModele.java |
---|
304,20 → 304,6 |
return correspondanceId; |
} |
/** |
* Construit une chaine contenant le texte des mots clés séparés par des virgules |
*/ |
public String renvoyerChaineMotClesTexte(ImageCarnet ic) { |
String chaineMotsCles = ic.getMotsCles(); |
String[] tabMotsCles = chaineMotsCles.split(","); |
String chaineMotsClesTexte = ""; |
for (int i = 0; i < tabMotsCles.length; i++) { |
chaineMotsClesTexte += motsCles.get(tabMotsCles[i]); |
chaineMotsClesTexte += (i != tabMotsCles.length - 1) ? "," : ""; |
} |
return chaineMotsClesTexte; |
} |
/** |
* Met à jour la liste des images en local et appelle le DAO de mise à jour |
621,7 → 607,7 |
*/ |
public void initialiserArbreMotsCles() { |
MotsClesAsynchroneDAO MCDao = new MotsClesAsynchroneDAO(); |
MotsClesAsynchroneDAO MCDao = new MotsClesAsynchroneDAO(this); |
MCDao.obtenirListeMotsCles(this); |
} |
647,7 → 633,7 |
*/ |
public void ajouterMotCleDansArbre(TreeNode n, |
com.gwtext.client.data.Tree arbreMC) { |
MotsClesAsynchroneDAO MCDao = new MotsClesAsynchroneDAO(); |
MotsClesAsynchroneDAO MCDao = new MotsClesAsynchroneDAO(this); |
String[] usObj = (String[]) n.getUserObject(); |
String motCle = usObj[0]; |
679,7 → 665,7 |
*/ |
public void supprimerMotCleDansArbre(TreeNode n, Tree arbreMC) { |
MotsClesAsynchroneDAO MCDao = new MotsClesAsynchroneDAO(); |
MotsClesAsynchroneDAO MCDao = new MotsClesAsynchroneDAO(this); |
String[] usObj = (String[]) n.getUserObject(); |
String id = usObj[1]; |
699,7 → 685,7 |
*/ |
public void modifierMotCleDansArbre(TreeNode n, Tree arbreMC) { |
MotsClesAsynchroneDAO MCDao = new MotsClesAsynchroneDAO(); |
MotsClesAsynchroneDAO MCDao = new MotsClesAsynchroneDAO(this); |
String[] usObj = (String[]) n.getUserObject(); |
String motCle = usObj[0]; |
731,7 → 717,7 |
* l'arbre des mots cles en cours |
*/ |
public void deplacerMotCleDansArbre(TreeNode n, Tree arbreMC) { |
MotsClesAsynchroneDAO MCDao = new MotsClesAsynchroneDAO(); |
MotsClesAsynchroneDAO MCDao = new MotsClesAsynchroneDAO(this); |
String[] usObj = (String[]) n.getUserObject(); |
String motCle = usObj[0]; |
/trunk/src/org/tela_botanica/client/vues/ArbreMotsClesVue.java |
---|
53,8 → 53,6 |
* des virgules |
*/ |
private String motsClesEnCours = ""; |
private String[] tableauMotsClesEnCours = new String[0]; |
/** |
* Tableau contenant les mots clés qui n'ont pas encore été jaouté à l'arbre |
* (sert au lazy rendering quand on reçoit des mots clés avant que le rendu |
180,10 → 178,6 |
private void ajouterListeners() { |
arbreMotsCles.addListener(new TreePanelListenerAdapter() { |
public void onExpandNode(TreeNode node) { |
cocherMotsCles(tableauMotsClesEnCours); |
} |
// gestion du clic sur un noeud |
public void onClick(TreeNode node, EventObject e) { |
202,7 → 196,6 |
// gestion du double clic sur un noeud |
public void onDblClick(TreeNode node, EventObject e) { |
modifNoeud = true; |
if (!node.getId().equals("racine")) { |
te.startEdit(node); |
} |
220,9 → 213,9 |
// si c'est un nouveau noeud |
if (ajoutNoeud) { |
// on considère l'ajout achevé |
// et considère l'ajout achevé |
ajoutNoeud = false; |
// et on notifie le médiateur de l'ajout et on lui passe |
// on notifie le médiateur de l'ajout et on lui passe |
// l'arbre |
getIMediateur().ajouterMotCleDansArbre(nd, |
getArbreMotsCles().getTree()); |
291,6 → 284,16 |
arbreMotsCles.getTree()); |
} |
}); |
/*this.addListener(new PanelListenerAdapter() { |
public void onAfterLayout(Container c) { |
if(!arbreCharge) { |
//obtenirArbreMotsCles(); |
} |
} |
});*/ |
} |
/** |
442,17 → 445,38 |
// on signale que oui |
arbreCharge = true; |
} |
// s'il y a des mots clés en attente (lors du premier rendering) |
if (motsCleInitialises == false && motsClesEnAttente != null) { |
// on les coche |
// cocherMotsCles(motsClesEnAttente) ; |
motsCleInitialises = true; |
} |
if(motsClesEnAttente.length > 0) { |
cocherMotsCles(motsClesEnAttente); |
} |
} |
// Si on reçoit un tableau de String (cas ou l'on séléectionne une |
// nouvelle image) |
if (nouvelleDonnees instanceof String[]) { |
// et que l'arbre est instancié |
if (arbreCharge) { |
// le tableau de String contient les id des mots clés associés à |
// l'image |
// on coche les mots clés contenu dans le tableau |
tableauMotsClesEnCours = (String[]) nouvelleDonnees; |
cocherMotsCles(tableauMotsClesEnCours); |
String[] motsClesIds = (String[]) nouvelleDonnees; |
cocherMotsCles(motsClesIds); |
} |
// si l'arbre n'est pas encore instancié on met les mots clés en |
// attente |
else { |
motsClesEnAttente = (String[]) nouvelleDonnees; |
//Window.alert("des mots clés en attente : "+motsClesEnAttente[0]); |
} |
} |
} |