Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 1008 → Rev 1009

/trunk/src/org/tela_botanica/client/image/ImageMediateur.java
1046,8 → 1046,10
 
public void onItemClick(BaseItem item, EventObject e) {
if (item.equals(suppN)) {
getMetadonneesIptcExif().getPanneauMotsCles()
.supprimerNoeud(n);
if(Window.confirm("Êtes vous sur de vouloir supprimer ce mot clé ?")) {
getMetadonneesIptcExif().getPanneauMotsCles()
.supprimerNoeud(n);
}
}
if (item.equals(ajoutN)) {
getMetadonneesIptcExif().getPanneauMotsCles().ajouterNoeud(
/trunk/src/org/tela_botanica/client/image/ImageModele.java
304,6 → 304,20
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
607,7 → 621,7
*/
public void initialiserArbreMotsCles() {
MotsClesAsynchroneDAO MCDao = new MotsClesAsynchroneDAO(this);
MotsClesAsynchroneDAO MCDao = new MotsClesAsynchroneDAO();
MCDao.obtenirListeMotsCles(this);
}
 
633,7 → 647,7
*/
public void ajouterMotCleDansArbre(TreeNode n,
com.gwtext.client.data.Tree arbreMC) {
MotsClesAsynchroneDAO MCDao = new MotsClesAsynchroneDAO(this);
MotsClesAsynchroneDAO MCDao = new MotsClesAsynchroneDAO();
 
String[] usObj = (String[]) n.getUserObject();
String motCle = usObj[0];
665,7 → 679,7
*/
public void supprimerMotCleDansArbre(TreeNode n, Tree arbreMC) {
 
MotsClesAsynchroneDAO MCDao = new MotsClesAsynchroneDAO(this);
MotsClesAsynchroneDAO MCDao = new MotsClesAsynchroneDAO();
 
String[] usObj = (String[]) n.getUserObject();
String id = usObj[1];
685,7 → 699,7
*/
public void modifierMotCleDansArbre(TreeNode n, Tree arbreMC) {
 
MotsClesAsynchroneDAO MCDao = new MotsClesAsynchroneDAO(this);
MotsClesAsynchroneDAO MCDao = new MotsClesAsynchroneDAO();
 
String[] usObj = (String[]) n.getUserObject();
String motCle = usObj[0];
717,7 → 731,7
* l'arbre des mots cles en cours
*/
public void deplacerMotCleDansArbre(TreeNode n, Tree arbreMC) {
MotsClesAsynchroneDAO MCDao = new MotsClesAsynchroneDAO(this);
MotsClesAsynchroneDAO MCDao = new MotsClesAsynchroneDAO();
 
String[] usObj = (String[]) n.getUserObject();
String motCle = usObj[0];
/trunk/src/org/tela_botanica/client/vues/ArbreMotsClesVue.java
53,6 → 53,8
* 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
178,6 → 180,10
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) {
 
196,6 → 202,7
// gestion du double clic sur un noeud
public void onDblClick(TreeNode node, EventObject e) {
 
modifNoeud = true;
if (!node.getId().equals("racine")) {
te.startEdit(node);
}
213,9 → 220,9
 
// si c'est un nouveau noeud
if (ajoutNoeud) {
// et considère l'ajout achevé
// on considère l'ajout achevé
ajoutNoeud = false;
// on notifie le médiateur de l'ajout et on lui passe
// et on notifie le médiateur de l'ajout et on lui passe
// l'arbre
getIMediateur().ajouterMotCleDansArbre(nd,
getArbreMotsCles().getTree());
284,16 → 291,6
arbreMotsCles.getTree());
}
});
/*this.addListener(new PanelListenerAdapter() {
public void onAfterLayout(Container c) {
if(!arbreCharge) {
//obtenirArbreMotsCles();
}
}
});*/
 
}
 
/**
445,38 → 442,17
// 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
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]);
}
tableauMotsClesEnCours = (String[]) nouvelleDonnees;
cocherMotsCles(tableauMotsClesEnCours);
}
}
 
/trunk/src/org/tela_botanica/client/modeles/dao/ImageAsynchroneDAO.java
112,11 → 112,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("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");
.alert("Problème lors de la mise à jour des données, le serveur a répondu "+response.getText());
}
}
 
/trunk/src/org/tela_botanica/client/modeles/dao/MotsClesAsynchroneDAO.java
1,11 → 1,8
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;
24,43 → 21,16
*
*/
public class MotsClesAsynchroneDAO {
 
/**
* Le modele associé au DAO
*/
private ImageModele iModele = null;
private ObservationModele oModele = null ;
private String identifiant = "" ;
private String mode = "";
 
public MotsClesAsynchroneDAO(ImageModele im) {
iModele = im;
public MotsClesAsynchroneDAO() {
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
128,15 → 98,17
 
public void onResponseReceived(Request request,
Response response) {
 
// 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. ");
// 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());
}
 
}
 
});
175,10 → 147,15
 
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. ");
// 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());
}
}
});
215,8 → 192,16
 
public void onResponseReceived(Request request,
Response response) {
// TODO Auto-generated method stub
 
// 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());
}
}
 
});
/trunk/src/org/tela_botanica/client/observation/ObservationModele.java
393,7 → 393,7
 
public void obtenirArbreMotsCles(Rafraichissable r) {
MotsClesAsynchroneDAO mcoDAO = new MotsClesAsynchroneDAO(this);
MotsClesAsynchroneDAO mcoDAO = new MotsClesAsynchroneDAO();
mcoDAO.obtenirListeMotsCles(this);
}
583,7 → 583,7
*/
public void ajouterMotCleDansArbre(TreeNode n,
com.gwtext.client.data.Tree arbreMC) {
MotsClesAsynchroneDAO MCDao = new MotsClesAsynchroneDAO(this);
MotsClesAsynchroneDAO MCDao = new MotsClesAsynchroneDAO();
 
String[] usObj = (String[]) n.getUserObject();
String motCle = usObj[0];
615,7 → 615,7
*/
public void supprimerMotCleDansArbre(TreeNode n, Tree arbreMC) {
 
MotsClesAsynchroneDAO MCDao = new MotsClesAsynchroneDAO(this);
MotsClesAsynchroneDAO MCDao = new MotsClesAsynchroneDAO();
 
String[] usObj = (String[]) n.getUserObject();
String id = usObj[1];
637,7 → 637,7
*/
public void modifierMotCleDansArbre(TreeNode n, Tree arbreMC) {
 
MotsClesAsynchroneDAO MCDao = new MotsClesAsynchroneDAO(this);
MotsClesAsynchroneDAO MCDao = new MotsClesAsynchroneDAO();
 
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(this);
MotsClesAsynchroneDAO MCDao = new MotsClesAsynchroneDAO();
 
String[] usObj = (String[]) n.getUserObject();
String motCle = usObj[0];