Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 2061 → Rev 2062

/trunk/src/org/tela_botanica/client/util/MotsClesUtilitaire.java
12,6 → 12,7
public class MotsClesUtilitaire {
//TODO rassembler tout ce qui construit les arbres de mots clés ici
private static String[] caracteresInterdits = {"\\", "/", ","};
public static String obtenirCheminParent(String cheminMotCle, String motCle) {
return cheminMotCle.substring(0, cheminMotCle.length() - motCle.length() -1);
18,7 → 19,7
}
 
public static Object[] construireArbre(String NomRacine, String idRacine,
JSONArray arbreJson) {
JSONArray arbreJson, boolean afficherCheckbox) {
Tree arbreMotsCles = new Tree() ;
HashMap<String, String> motsCles = new HashMap<String, String>(0);
61,7 → 62,9
TreeNode node = new TreeNode();
node.setId(idMotCle);
node.setText(motCle);
node.setChecked(false);
if(afficherCheckbox) {
node.setChecked(false);
}
Node parentNode = arbreMotsCles.getNodeById(parent);
node.setUserObject(usObj);
parentNode.appendChild(node);
74,17 → 77,6
return retour;
}
 
public static String construireChemin(TreeNode nd) {
String chemin = "/";
Node node = nd;
while(node != null) {
String[] usObj = (String[])node.getUserObject();
chemin = usObj[0]+"/"+chemin;
node = node.getParentNode();
}
return chemin;
}
 
/**
* Fonction récursive qui prend deux noeuds d'arbre en paramètre et crée un
* copie du sous arbre du premier noeud, qu'elle concatène au deuxième
94,7 → 86,7
* @param ndPereCopie
* le père qui va recevoir les copies
*/
public static void copierFilsNoeud(Node ndPereOriginal, TreeNode ndPereCopie) {
public static void copierFilsNoeud(Node ndPereOriginal, TreeNode ndPereCopie, boolean afficherCheckbox) {
if (ndPereCopie != null && ndPereOriginal != null) {
Node[] ndNodeFils = ndPereOriginal.getChildNodes();
103,14 → 95,57
String[] usObj = (String[]) ndNodeFils[i].getUserObject();
TreeNode child = new TreeNode(usObj[0]);
child.setId(usObj[1]);
child.setChecked(false);
if(afficherCheckbox) {
child.setChecked(false);
}
child.setUserObject(usObj);
ndPereCopie.appendChild(child);
 
if (!ndNodeFils[i].isLeaf()) {
copierFilsNoeud(ndNodeFils[i], child);
copierFilsNoeud(ndNodeFils[i], child, afficherCheckbox);
}
}
}
}
public static TreeNode ajouterNoeud(TreeNode parent, boolean afficherCheckbox) {
// on crée un nouveau noeud vide
TreeNode nd = new TreeNode("");
nd.setCls("x-view-treenode-keyword");
if(afficherCheckbox) {
nd.setChecked(true);
}
// on associe un objet au noeud qui contient des infos
String[] usObject = new String[2];
// l'objet contient le nom du noeud
usObject[0] = "";
usObject[1] = "";
nd.setUserObject(usObject);
String cheminTemporaireAjout = parent.getPath()+"/"+nd.getId();
nd.setId(cheminTemporaireAjout);
return nd;
}
public static String getChaineCaracteresInterdits() {
String interdits = "";
for (int i = 0; i < MotsClesUtilitaire.caracteresInterdits.length; i++) {
interdits += MotsClesUtilitaire.caracteresInterdits[i]+" ";
}
return interdits;
}
public static boolean estUnMotCleAutorise(String motCle) {
boolean valide = !motCle.trim().isEmpty();
for (int i = 0; i < MotsClesUtilitaire.caracteresInterdits.length; i++) {
if(motCle.indexOf(MotsClesUtilitaire.caracteresInterdits[i]) != -1) {
valide = false;
break;
}
}
return valide;
}
}