Subversion Repositories eFlore/Applications.coel

Compare Revisions

Ignore whitespace Rev 247 → Rev 248

/trunk/src/org/tela_botanica/client/modeles/aDonnee.java
1,7 → 1,9
package org.tela_botanica.client.modeles;
 
import java.io.Serializable;
import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.Set;
 
129,7 → 131,50
return sortie;
}
/**
* Permet de récupérer une map avec toutes les valeurs de la chaine truk sous la forme clé => valeur
*
* @param champ le nom du champ dénormalisé
* @return map ou liste en fonction du type de chaine truk (list si champ;;champ;; map si type##champ;;)
*/
public Object getChaineDenormaliseAsMapOrList(String champ) {
Object retourObjet = null;
String valeurChamp = renvoyerValeurCorrecte(champ);
String[] valeurs = valeurChamp.split(";;");
if (valeurs.length > 0) {
if (valeurs[0].contains("##")) {
// Les champs sont typés, on en fait une Map
HashMap mapValeurs = new HashMap();
for (int i = 0; i < valeurs.length; i++) {
String typeEtValeur[] = valeurs[i].split("##");
mapValeurs.put(typeEtValeur[0], typeEtValeur[1]);
}
retourObjet = mapValeurs;
}
else {
//Les champs ne sont pas typés, on en fait une Liste
LinkedList listeValeurs = new LinkedList<String>();
for (int i = 0; i < valeurs.length; i++) {
listeValeurs.add(valeurs[i]);
}
retourObjet = listeValeurs;
}
}
return retourObjet;
}
/**
* Permet de modifier correctement une chaine dénormalisée (champ de type "truk").
* Remplace par la valeur de la première instance du type indiqué dans la chaine dénormalisée.
*