20,6 → 20,7 |
import org.tela_botanica.client.modeles.objets.ListeImageCarnet; |
import org.tela_botanica.client.modeles.objets.ListeObservation; |
import org.tela_botanica.client.modeles.objets.Utilisateur; |
import org.tela_botanica.client.util.MotsClesUtilitaire; |
|
import com.google.gwt.json.client.JSONArray; |
import com.google.gwt.json.client.JSONObject; |
482,65 → 483,14 |
|
// si on reçoit un tableau JSON |
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"); |
root.setText("Tags"); |
String[] usObj = { "Tags", "racine" }; |
root.setUserObject(usObj); |
arbreMotsCles.setRootNode(root); |
} |
// alors on a reçu les informations sur les mots clés |
JSONArray donneesArbre = (JSONArray)nouvelleDonnees; |
|
HashMap<String, String> motsCles = new HashMap<String, String>(taillemax); |
Object[] arbreEtCorrespondancesIds = MotsClesUtilitaire.construireArbre("Tags", "racine", donneesArbre); |
|
arbreMotsCles = (Tree)arbreEtCorrespondancesIds[0]; |
motsCles = (HashMap<String, String>)arbreEtCorrespondancesIds[1]; |
|
// 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_image") |
.isString().stringValue(); |
String mot_cle = noeud.get("mot_cle").isString() |
.stringValue(); |
String parent = noeud.get("ce_mot_cle_image_parent").isString() |
.stringValue(); |
|
String[] usObj = { mot_cle, id_noeud }; |
|
// et on construit l'arbre à partir de la racine (qui est |
// toujours le premier élément) |
if (id_noeud.equals("racine")) { |
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); |
} |
} |
|
|
// enfin on met à jour l'arbre des mots clés contenu dans le modèle |
rafraichirArbreMotsCles(arbreMotsCles); |
// la table de hachage |
653,7 → 603,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("images"); |
|
String[] usObj = (String[]) n.getUserObject(); |
673,7 → 623,7 |
|
String nouveauMotCle = "&identifiant=" + getIdentifiant() + "&motcle=" |
+ motCle + "&id=" + id + "&parent=" + parentId; |
MCDao.ajouterBaseDeDonnees(nouveauMotCle); |
MCDao.ajouterBaseDeDonnees(nouveauMotCle, r); |
} |
|
/** |
705,7 → 655,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("images"); |
|
725,7 → 675,7 |
|
String motCleModifie = "&motcle=" + motCle + "&id=" + id + "&parent=" |
+ parentId; |
MCDao.modifierBaseDeDonnees(motCleModifie); |
MCDao.modifierBaseDeDonnees(motCleModifie, r); |
|
} |
|
738,7 → 688,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("images"); |
|
String[] usObj = (String[]) n.getUserObject(); |
756,7 → 706,7 |
|
String motCleModifie = "&motcle=" + motCle + "&id=" + id + "&parent=" |
+ parentId; |
MCDao.deplacerBaseDeDonnees(motCleModifie); |
MCDao.deplacerBaseDeDonnees(motCleModifie, r); |
} |
|
/** |