Subversion Repositories eFlore/Applications.coel

Rev

Rev 202 | Rev 233 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
69 jpm 1
package org.tela_botanica.client.modeles;
2
 
3
import java.io.Serializable;
193 jp_milcent 4
import java.util.Iterator;
188 jp_milcent 5
import java.util.List;
193 jp_milcent 6
import java.util.Set;
69 jpm 7
 
8
import com.extjs.gxt.ui.client.data.BaseModelData;
188 jp_milcent 9
import com.extjs.gxt.ui.client.widget.form.CheckBox;
69 jpm 10
 
193 jp_milcent 11
/**
12
 * @author jpm
13
 *
14
 */
69 jpm 15
public abstract class aDonnee extends BaseModelData implements Serializable {
16
 
17
	/**
18
	 * Identifiant pour sérialisé l'objet...
19
	 */
20
	private static final long serialVersionUID = 3527760464061629791L;
21
 
22
	/**
23
	 * Pour éviter que l'on traite des valeurs nulles à l'affichage on passe par
24
	 * cette fonction qui retire les charactères nuls qui font planter
25
	 * l'affichage, il ne faut pas utiliser get directement
26
	 *
27
	 * @param cle
28
	 * @return la valeur associée à la clé
29
	 */
193 jp_milcent 30
	protected String renvoyerValeurCorrecte(String cle) {
188 jp_milcent 31
		String sortie = "";
69 jpm 32
		if (this.get(cle) != null) {
33
			String valeur = this.get(cle);
188 jp_milcent 34
			if (! valeur.equals("null")) {
69 jpm 35
				char nullChar = '\u0000';
36
				String sNull = "" + nullChar;
37
				valeur = valeur.replaceAll(sNull, "");
188 jp_milcent 38
				sortie =  valeur;
69 jpm 39
			}
40
		}
188 jp_milcent 41
		return sortie;
69 jpm 42
	}
193 jp_milcent 43
	/**
44
	 * Permet de constuire correctement une chaine dénormalisée (champ de type "truk").
45
	 *
46
	 * @param champ le nom du champ dénormalisé
47
	 * @param type le type de la valeur à ajouter
48
	 * @param valeur la valeur à ajouter
49
	 */
50
	protected void setChaineDenormalise(String champ, String type, Object valeur) {
51
		if (valeur instanceof String) {
52
			String chaineExistante = renvoyerValeurCorrecte(champ);
53
			if (chaineExistante.equals("")) {
54
				this.set(champ, type+"##"+valeur);
55
			} else {
56
				this.set(champ, chaineExistante+";;"+type+"##"+valeur);
57
			}
58
		}
59
	}
119 jpm 60
 
208 jp_milcent 61
	protected String getInfoDenormaliseParType(String chaineExistante, String type) {
62
		String sortie = "";
63
		if (!chaineExistante.equals("")) {
64
			String[] valeurs = chaineExistante.split(";;");
65
			for (int i = 0; i < valeurs.length; i++) {
66
				if (valeurs[i].startsWith(type+"##")) {
67
					sortie =  valeurs[i].replaceFirst("^"+type+"##", "");
68
				}
69
			}
70
		}
71
		return sortie;
72
	}
73
 
74
	protected String getInfoDenormaliseParPosition(String chaineExistante, int position) {
75
		String sortie = "";
76
		if (!chaineExistante.equals("")) {
77
			String[] valeurs = chaineExistante.split(";;");
78
			if (valeurs.length >= position) {
79
				for (int i = 0; i < valeurs.length; i++) {
80
					if (i == (position - 1)) {
81
						if (valeurs[i].contains("##")) {
82
							sortie =  valeurs[i].replaceFirst("^[^#]+##", "");
83
						} else {
84
							sortie =  valeurs[i];
85
						}
86
						break;
87
					}
88
				}
89
			}
90
		}
91
		return sortie;
92
	}
93
 
119 jpm 94
	public String getDateModification() {
95
		return (String) renvoyerValeurCorrecte("cmhl_date_modification");
96
	}
97
 
98
	public String getNotes() {
99
		return (String) renvoyerValeurCorrecte("cmhl_notes");
100
	}
101
 
102
	public String getIdModifierPar() {
103
		return (String) renvoyerValeurCorrecte("cmhl_ce_modifier_par");
104
	}
105
 
106
	public String getIdEtat() {
107
		return (String) renvoyerValeurCorrecte("cmhl_ce_etat");
108
	}
109
 
110
	public String getIp() {
111
		return (String) renvoyerValeurCorrecte("cmhl_ip");
112
	}
193 jp_milcent 113
 
114
	/** (non-Javadoc)
115
	 * @see java.lang.Object#toString()
116
	 */
117
	public String toString() {
118
		String sortie = "";
119
 
120
		// Champs du BaseModelData
121
		Set<String> proprietes = this.getProperties().keySet();
122
		for (Iterator<String> it = proprietes.iterator(); it.hasNext();) {
123
			String cle = it.next();
202 jp_milcent 124
			if (!this.get(cle).equals("")) {
125
				sortie += cle+" : "+this.get(cle)+"\n";
126
			}
193 jp_milcent 127
		}
128
 
129
		return sortie;
130
	}
69 jpm 131
}