Rev 208 | Rev 245 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
package org.tela_botanica.client.modeles;import java.io.Serializable;import java.util.Iterator;import java.util.List;import java.util.Set;import org.tela_botanica.client.util.UtilArray;import com.extjs.gxt.ui.client.data.BaseModelData;import com.extjs.gxt.ui.client.widget.form.CheckBox;/*** @author jpm**/public abstract class aDonnee extends BaseModelData implements Serializable {/*** Identifiant pour sérialisé l'objet...*/private static final long serialVersionUID = 3527760464061629791L;/*** Pour éviter que l'on traite des valeurs nulles à l'affichage on passe par* cette fonction qui retire les charactères nuls qui font planter* l'affichage, il ne faut pas utiliser get directement** @param cle* @return la valeur associée à la clé*/protected String renvoyerValeurCorrecte(String cle) {String sortie = "";if (this.get(cle) != null) {String valeur = this.get(cle);if (! valeur.equals("null")) {char nullChar = '\u0000';String sNull = "" + nullChar;valeur = valeur.replaceAll(sNull, "");sortie = valeur;}}return sortie;}/*** Permet de constuire correctement une chaine dénormalisée (champ de type "truk").** @param champ le nom du champ dénormalisé* @param type le type de la valeur à ajouter* @param valeur la valeur à ajouter*/protected void setChaineDenormalise(String champ, String type, Object valeur) {if (valeur instanceof String) {String chaineExistante = renvoyerValeurCorrecte(champ);if (chaineExistante.equals("")) {this.set(champ, type+"##"+valeur);} else {this.set(champ, chaineExistante+";;"+type+"##"+valeur);}}}/*** Permet de constuire correctement une chaine dénormalisée unique (champ de type "ce_truk").** @param champ le nom du champ dénormalisé* @param type le type de la valeur à ajouter* @param valeur la valeur à ajouter*/protected void setChaineDenormaliseUnique(String champ, String type, Object valeur) {if (valeur instanceof String) {this.set(champ, type+"##"+valeur);}}protected String getInfoDenormaliseParType(String chaineExistante, String type) {String sortie = "";if (!chaineExistante.equals("")) {String[] valeurs = chaineExistante.split(";;");for (int i = 0; i < valeurs.length; i++) {if (valeurs[i].startsWith(type+"##")) {sortie = valeurs[i].replaceFirst("^"+type+"##", "");}}}return sortie;}/*** 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.** @param champ le nom du champ dénormalisé* @param type le type de la valeur à modifier* @param valeur la valeur pour le type en question*/protected void setChaineDenormaliseParType(String champ, String type, Object valeur) {if (valeur instanceof String) {String chaineExistante = renvoyerValeurCorrecte(champ);if (chaineExistante.equals("")) {this.set(champ, type+"##"+valeur);} else {String[] valeurs = chaineExistante.split(";;");for (int i = 0; i < valeurs.length; i++) {if (valeurs[i].startsWith(type+"##") || i == (valeurs.length -1)) {valeurs[i] = type+"##"+valeur;break;}}this.set(champ, UtilArray.implode(valeurs, ";;"));}}}protected String getInfoDenormaliseParPosition(String chaineExistante, int position) {String sortie = "";if (!chaineExistante.equals("")) {String[] valeurs = chaineExistante.split(";;");if (valeurs.length >= position) {for (int i = 0; i < valeurs.length; i++) {if (i == (position - 1)) {if (valeurs[i].contains("##")) {sortie = valeurs[i].replaceFirst("^[^#]+##", "");} else {sortie = valeurs[i];}break;}}}}return sortie;}/*** Permet de modifier correctement une chaine dénormalisée (champ de type "truk").* Remplace par la valeur l'instance dont la position a été indiquée.** @param champ le nom du champ dénormalisé* @param position le type de la valeur à modifier* @param valeur la valeur à remplacer à la position indiquée*/protected void setChaineDenormaliseParPosition(String champ, int position, Object valeur) {if (valeur instanceof String) {String chaineExistante = renvoyerValeurCorrecte(champ);if (!chaineExistante.equals("")) {String[] valeurs = chaineExistante.split(";;");if (valeurs.length == 0) {this.set(champ, valeur);} else if (valeurs.length >= position) {for (int i = 0; i < valeurs.length; i++) {if (i == (position - 1)) {valeurs[i] = (String) valeur;break;}}this.set(champ, UtilArray.implode(valeurs, ";;"));}}}}public String getDateModification() {return (String) renvoyerValeurCorrecte("cmhl_date_modification");}public String getNotes() {return (String) renvoyerValeurCorrecte("cmhl_notes");}public String getIdModifierPar() {return (String) renvoyerValeurCorrecte("cmhl_ce_modifier_par");}public String getIdEtat() {return (String) renvoyerValeurCorrecte("cmhl_ce_etat");}public String getIp() {return (String) renvoyerValeurCorrecte("cmhl_ip");}/** (non-Javadoc)* @see java.lang.Object#toString()*/public String toString() {String sortie = "";// Champs du BaseModelDataSet<String> proprietes = this.getProperties().keySet();for (Iterator<String> it = proprietes.iterator(); it.hasNext();) {String cle = it.next();if (!this.get(cle).equals("")) {sortie += cle+" : "+this.get(cle)+"\n";}}return sortie;}}