Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 2041 → Rev 2042

/trunk/src/org/tela_botanica/client/observation/ObservationMediateur.java
1021,10 → 1021,8
* @param arbreMC
* le nouvel arbre de mots clés à mettre à jour
*/
public void ajouterMotCleDansArbre(TreeNode n, Tree arbreMC) {
observationModele.ajouterMotCleDansArbre(n, arbreMC);
getPanneauFiltres().getArbreMotsClesObservationVue().rafraichir(n, false);
 
public void ajouterMotCleDansArbre(TreeNode n, Tree arbreMC, Rafraichissable r) {
observationModele.ajouterMotCleDansArbre(n, arbreMC, r);
}
 
/**
1053,10 → 1051,7
* le nouvel arbre de mots clés à mettre à jour
*/
public void modifierMotCleDansArbre(TreeNode n, Tree arbreMC) {
 
observationModele.modifierMotCleDansArbre(n, arbreMC);
getPanneauFiltres().getArbreMotsClesObservationVue().rafraichir(n, false);
 
observationModele.modifierMotCleDansArbre(n, arbreMC, getPanneauFiltres().getArbreMotsClesObservationVue());
}
 
/**
1070,7 → 1065,7
*/
public void deplacerMotCleDansArbre(TreeNode n, Tree arbreMC) {
 
observationModele.deplacerMotCleDansArbre(n, arbreMC);
observationModele.deplacerMotCleDansArbre(n, arbreMC, getPanneauFiltres().getArbreMotsClesObservationVue());
}
 
 
/trunk/src/org/tela_botanica/client/observation/ObservationModele.java
28,8 → 28,11
import org.tela_botanica.client.modeles.objets.Observation;
import org.tela_botanica.client.modeles.objets.Utilisateur;
import org.tela_botanica.client.modeles.objets.ListeReferentielPerso.TypesReferentiels;
import org.tela_botanica.client.util.MotsClesUtilitaire;
 
import com.google.gwt.json.client.JSONArray;
import com.google.gwt.json.client.JSONObject;
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;
409,67 → 412,15
 
@Override
public void rafraichir(Object nouvelleDonnees,
boolean repandreRaffraichissement) {
boolean repandreRaffraichissement) {
if(nouvelleDonnees instanceof JSONArray) {
// alors on a reçu les informations sur les mots clés
JSONArray reponse = (JSONArray) nouvelleDonnees;
 
final int taillemax = reponse.size();
 
// si le tableau est vide
if (taillemax == 0) {
// on crée un arbre vide
TreeNode root = new TreeNode();
root.setId("racine_obs");
root.setText("Projets");
String[] usObj = { "Projets", "racine_obs" };
root.setUserObject(usObj);
arbreMotsCles.setRootNode(root);
}
 
// pour chacun des élements du tableau
for (int j = 0; j < taillemax; j++) {
// on extrait les élements du tableau
if (reponse.get(j).isObject() != null) {
JSONObject noeud = (JSONObject) reponse.get(j);
 
String id_noeud = noeud.get("id_mot_cle_obs")
.isString().stringValue();
String mot_cle = noeud.get("mot_cle").isString()
.stringValue();
String parent = noeud.get("ce_mot_cle_obs_parent").isString()
.stringValue();
 
String[] usObj = { mot_cle, id_noeud };
 
// et on construit l'arbre à partir de la racine (qui est
// toujoursl e premier élément)
if (id_noeud.equals("racine_obs")) {
TreeNode root = new TreeNode();
root.setId(id_noeud);
root.setText(mot_cle);
root.setUserObject(usObj);
arbreMotsCles.setRootNode(root);
} else {
// et en ajoutant les noeuds un à un (qui sont renvoyé
// dans l'ordre hierarchique de leur niveau
// ce qui permet de les traiter séquentiellement)
TreeNode node = new TreeNode();
node.setId(id_noeud);
node.setText(mot_cle);
node.setChecked(false);
Node parentNode = arbreMotsCles.getNodeById(parent);
node.setUserObject(usObj);
parentNode.appendChild(node);
}
motsCles.put(id_noeud, mot_cle);
}
}
JSONArray donneesArbre = (JSONArray)nouvelleDonnees;
Object[] arbreEtCorrespondancesIds = MotsClesUtilitaire.construireArbre("Projets", "racine_obs", donneesArbre);
arbreMotsCles = (Tree)arbreEtCorrespondancesIds[0];
motsCles = (HashMap<String, String>)arbreEtCorrespondancesIds[1];
// enfin on met à jour l'arbre des mots clés contenu dans le modèle
//rafraichirArbreMotsCles(arbreMotsCles);
// et on notifie le médiateur de la mise à jour en lui passant une
592,7 → 543,7
* l'arbre des mots cles en cours
*/
public void ajouterMotCleDansArbre(TreeNode n,
com.gwtext.client.data.Tree arbreMC) {
com.gwtext.client.data.Tree arbreMC, Rafraichissable r) {
MotsClesAsynchroneDAO MCDao = new MotsClesAsynchroneDAO("obs");
 
String[] usObj = (String[]) n.getUserObject();
602,16 → 553,21
 
if (!id.equals("racine_obs")) {
String[] parentUsObj = (String[]) n.getParentNode().getUserObject();
parentId = parentUsObj[1];
if(parentUsObj[1].equals("racine_obs")) {
parentId= "";
} else {
parentId = parentUsObj[1];
}
} else {
parentId = "racine_obs";
parentId = "";
}
rafraichirArbreMotsCles(arbreMC);
motsCles.put(id, motCle);
 
String nouveauMotCle = "&identifiant=" + Utilisateur.getInstance().getIdentifiantUtilisateurConsulte() + "&motcle="
+ motCle + "&id=" + id + "&parent=" + parentId;
MCDao.ajouterBaseDeDonnees(nouveauMotCle);
MCDao.ajouterBaseDeDonnees(nouveauMotCle, r);
}
 
/**
645,7 → 601,7
* @param arbreMC
* l'arbre des mots clés en cours
*/
public void modifierMotCleDansArbre(TreeNode n, Tree arbreMC) {
public void modifierMotCleDansArbre(TreeNode n, Tree arbreMC, Rafraichissable r) {
 
MotsClesAsynchroneDAO MCDao = new MotsClesAsynchroneDAO("obs");
 
665,7 → 621,7
 
String motCleModifie = "&motcle=" + motCle + "&id=" + id + "&parent="
+ parentId;
MCDao.modifierBaseDeDonnees(motCleModifie);
MCDao.modifierBaseDeDonnees(motCleModifie, r);
 
}
 
678,7 → 634,7
* @param arbreMC
* l'arbre des mots cles en cours
*/
public void deplacerMotCleDansArbre(TreeNode n, Tree arbreMC) {
public void deplacerMotCleDansArbre(TreeNode n, Tree arbreMC, Rafraichissable r) {
MotsClesAsynchroneDAO MCDao = new MotsClesAsynchroneDAO("obs");
 
String[] usObj = (String[]) n.getUserObject();
696,7 → 652,7
 
String motCleModifie = "&motcle=" + motCle + "&id=" + id + "&parent="
+ parentId;
MCDao.deplacerBaseDeDonnees(motCleModifie);
MCDao.deplacerBaseDeDonnees(motCleModifie, r);
}
/**