Subversion Repositories eFlore/Applications.coel

Rev

Rev 208 | Rev 242 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 208 Rev 233
1
package org.tela_botanica.client.modeles;
1
package org.tela_botanica.client.modeles;
2
 
2
 
3
import java.io.Serializable;
3
import java.io.Serializable;
4
import java.util.Iterator;
4
import java.util.Iterator;
5
import java.util.List;
5
import java.util.List;
6
import java.util.Set;
6
import java.util.Set;
-
 
7
 
-
 
8
import org.tela_botanica.client.util.UtilArray;
7
 
9
 
8
import com.extjs.gxt.ui.client.data.BaseModelData;
10
import com.extjs.gxt.ui.client.data.BaseModelData;
9
import com.extjs.gxt.ui.client.widget.form.CheckBox;
11
import com.extjs.gxt.ui.client.widget.form.CheckBox;
10
 
12
 
11
/**
13
/**
12
 * @author jpm
14
 * @author jpm
13
 *
15
 *
14
 */
16
 */
15
public abstract class aDonnee extends BaseModelData implements Serializable {
17
public abstract class aDonnee extends BaseModelData implements Serializable {
16
 
18
 
17
	/**
19
	/**
18
	 * Identifiant pour sérialisé l'objet...
20
	 * Identifiant pour sérialisé l'objet...
19
	 */
21
	 */
20
	private static final long serialVersionUID = 3527760464061629791L;
22
	private static final long serialVersionUID = 3527760464061629791L;
21
 
23
 
22
	/**
24
	/**
23
	 * Pour éviter que l'on traite des valeurs nulles à l'affichage on passe par
25
	 * 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
26
	 * cette fonction qui retire les charactères nuls qui font planter
25
	 * l'affichage, il ne faut pas utiliser get directement
27
	 * l'affichage, il ne faut pas utiliser get directement
26
	 * 
28
	 * 
27
	 * @param cle
29
	 * @param cle
28
	 * @return la valeur associée à la clé
30
	 * @return la valeur associée à la clé
29
	 */
31
	 */
30
	protected String renvoyerValeurCorrecte(String cle) {
32
	protected String renvoyerValeurCorrecte(String cle) {
31
		String sortie = "";
33
		String sortie = "";
32
		if (this.get(cle) != null) {
34
		if (this.get(cle) != null) {
33
			String valeur = this.get(cle);
35
			String valeur = this.get(cle);
34
			if (! valeur.equals("null")) {
36
			if (! valeur.equals("null")) {
35
				char nullChar = '\u0000';
37
				char nullChar = '\u0000';
36
				String sNull = "" + nullChar;
38
				String sNull = "" + nullChar;
37
				valeur = valeur.replaceAll(sNull, "");
39
				valeur = valeur.replaceAll(sNull, "");
38
				sortie =  valeur;
40
				sortie =  valeur;
39
			}
41
			}
40
		}
42
		}
41
		return sortie;
43
		return sortie;
42
	}
44
	}
-
 
45
	
43
	/**
46
	/**
44
	 * Permet de constuire correctement une chaine dénormalisée (champ de type "truk").
47
	 * Permet de constuire correctement une chaine dénormalisée (champ de type "truk").
45
	 * 
48
	 * 
46
	 * @param champ le nom du champ dénormalisé
49
	 * @param champ le nom du champ dénormalisé
47
	 * @param type le type de la valeur à ajouter
50
	 * @param type le type de la valeur à ajouter
48
	 * @param valeur la valeur à ajouter
51
	 * @param valeur la valeur à ajouter
49
	 */
52
	 */
50
	protected void setChaineDenormalise(String champ, String type, Object valeur) {
53
	protected void setChaineDenormalise(String champ, String type, Object valeur) {
51
		if (valeur instanceof String) {
54
		if (valeur instanceof String) {
52
			String chaineExistante = renvoyerValeurCorrecte(champ);
55
			String chaineExistante = renvoyerValeurCorrecte(champ);
53
			if (chaineExistante.equals("")) {
56
			if (chaineExistante.equals("")) {
54
				this.set(champ, type+"##"+valeur);
57
				this.set(champ, type+"##"+valeur);
55
			} else {
58
			} else {
56
				this.set(champ, chaineExistante+";;"+type+"##"+valeur);
59
				this.set(champ, chaineExistante+";;"+type+"##"+valeur);
57
			}
60
			}
58
		}
61
		}
59
	}
62
	}
-
 
63
	
-
 
64
	/**
-
 
65
	 * Permet de constuire correctement une chaine dénormalisée unique (champ de type "ce_truk").
-
 
66
	 * 
-
 
67
	 * @param champ le nom du champ dénormalisé
-
 
68
	 * @param type le type de la valeur à ajouter
-
 
69
	 * @param valeur la valeur à ajouter
-
 
70
	 */
-
 
71
	protected void setChaineDenormaliseUnique(String champ, String type, Object valeur) {
-
 
72
		if (valeur instanceof String) {
-
 
73
			this.set(champ, type+"##"+valeur);
-
 
74
		}
-
 
75
	}
60
	
76
	
61
	protected String getInfoDenormaliseParType(String chaineExistante, String type) {
77
	protected String getInfoDenormaliseParType(String chaineExistante, String type) {
62
		String sortie = "";
78
		String sortie = "";
63
		if (!chaineExistante.equals("")) {
79
		if (!chaineExistante.equals("")) {
64
			String[] valeurs = chaineExistante.split(";;");
80
			String[] valeurs = chaineExistante.split(";;");
65
			for (int i = 0; i < valeurs.length; i++) {
81
			for (int i = 0; i < valeurs.length; i++) {
66
				if (valeurs[i].startsWith(type+"##")) {
82
				if (valeurs[i].startsWith(type+"##")) {
67
					sortie =  valeurs[i].replaceFirst("^"+type+"##", "");
83
					sortie =  valeurs[i].replaceFirst("^"+type+"##", "");
68
				}
84
				}
69
			}
85
			}
70
		}
86
		}
71
		return sortie;
87
		return sortie;
72
	}
88
	}
-
 
89
	
-
 
90
	/**
-
 
91
	 * Permet de modifier correctement une chaine dénormalisée (champ de type "truk").
-
 
92
	 * Remplace par la valeur de la première instance du type indiqué dans la chaine dénormalisée.
-
 
93
	 * 
-
 
94
	 * @param champ le nom du champ dénormalisé
-
 
95
	 * @param type le type de la valeur à modifier
-
 
96
	 * @param valeur la valeur pour le type en question
-
 
97
	 */
-
 
98
	protected void setChaineDenormaliseParType(String champ, String type, Object valeur) {
-
 
99
		if (valeur instanceof String) {
-
 
100
			String chaineExistante = renvoyerValeurCorrecte(champ);
-
 
101
			if (chaineExistante.equals("")) {
-
 
102
				this.set(champ, type+"##"+valeur);
-
 
103
			} else {
-
 
104
				String[] valeurs = chaineExistante.split(";;");
-
 
105
				for (int i = 0; i < valeurs.length; i++) {
-
 
106
					if (valeurs[i].startsWith(type+"##") || i == (valeurs.length -1)) {
-
 
107
						valeurs[i] = type+"##"+valeur;
-
 
108
						break;
-
 
109
					}
-
 
110
				}
-
 
111
				this.set(champ, UtilArray.implode(valeurs, ";;"));
-
 
112
			}
-
 
113
		}
-
 
114
	}
73
	
115
	
74
	protected String getInfoDenormaliseParPosition(String chaineExistante, int position) {
116
	protected String getInfoDenormaliseParPosition(String chaineExistante, int position) {
75
		String sortie = "";
117
		String sortie = "";
76
		if (!chaineExistante.equals("")) {
118
		if (!chaineExistante.equals("")) {
77
			String[] valeurs = chaineExistante.split(";;");
119
			String[] valeurs = chaineExistante.split(";;");
78
			if (valeurs.length >= position) {
120
			if (valeurs.length >= position) {
79
				for (int i = 0; i < valeurs.length; i++) {
121
				for (int i = 0; i < valeurs.length; i++) {
80
					if (i == (position - 1)) {
122
					if (i == (position - 1)) {
81
						if (valeurs[i].contains("##")) {
123
						if (valeurs[i].contains("##")) {
82
							sortie =  valeurs[i].replaceFirst("^[^#]+##", "");
124
							sortie =  valeurs[i].replaceFirst("^[^#]+##", "");
83
						} else {
125
						} else {
84
							sortie =  valeurs[i];
126
							sortie =  valeurs[i];
85
						}
127
						}
86
						break;
128
						break;
87
					}
129
					}
88
				}
130
				}
89
			}
131
			}
90
		}
132
		}
91
		return sortie;
133
		return sortie;
92
	}
134
	}
-
 
135
	
-
 
136
	/**
-
 
137
	 * Permet de modifier correctement une chaine dénormalisée (champ de type "truk").
-
 
138
	 * Remplace par la valeur l'instance dont la position a été indiquée.
-
 
139
	 * 
-
 
140
	 * @param champ le nom du champ dénormalisé
-
 
141
	 * @param position le type de la valeur à modifier
-
 
142
	 * @param valeur la valeur à remplacer à la position indiquée
-
 
143
	 */
-
 
144
	protected void setChaineDenormaliseParPosition(String champ, int position, Object valeur) {
-
 
145
		if (valeur instanceof String) {
-
 
146
			String chaineExistante = renvoyerValeurCorrecte(champ);
-
 
147
			if (!chaineExistante.equals("")) {
-
 
148
				String[] valeurs = chaineExistante.split(";;");
-
 
149
				if (valeurs.length == 0) {
-
 
150
					this.set(champ, valeur);
-
 
151
				} else if (valeurs.length >= position) {
-
 
152
					for (int i = 0; i < valeurs.length; i++) {
-
 
153
						if (i == (position - 1)) {
-
 
154
							valeurs[i] = (String) valeur;
-
 
155
							break;
-
 
156
						}
-
 
157
					}
-
 
158
					this.set(champ, UtilArray.implode(valeurs, ";;"));
-
 
159
				}
-
 
160
			}
-
 
161
		}
-
 
162
	}
93
	
163
	
94
	public String getDateModification() {
164
	public String getDateModification() {
95
		return (String) renvoyerValeurCorrecte("cmhl_date_modification");
165
		return (String) renvoyerValeurCorrecte("cmhl_date_modification");
96
	}
166
	}
97
	
167
	
98
	public String getNotes() {
168
	public String getNotes() {
99
		return (String) renvoyerValeurCorrecte("cmhl_notes");
169
		return (String) renvoyerValeurCorrecte("cmhl_notes");
100
	}
170
	}
101
	
171
	
102
	public String getIdModifierPar() {
172
	public String getIdModifierPar() {
103
		return (String) renvoyerValeurCorrecte("cmhl_ce_modifier_par");
173
		return (String) renvoyerValeurCorrecte("cmhl_ce_modifier_par");
104
	}
174
	}
105
	
175
	
106
	public String getIdEtat() {
176
	public String getIdEtat() {
107
		return (String) renvoyerValeurCorrecte("cmhl_ce_etat");
177
		return (String) renvoyerValeurCorrecte("cmhl_ce_etat");
108
	}
178
	}
109
	
179
	
110
	public String getIp() {
180
	public String getIp() {
111
		return (String) renvoyerValeurCorrecte("cmhl_ip");
181
		return (String) renvoyerValeurCorrecte("cmhl_ip");
112
	}
182
	}
113
	
183
	
114
	/** (non-Javadoc)
184
	/** (non-Javadoc)
115
	 * @see java.lang.Object#toString()
185
	 * @see java.lang.Object#toString()
116
	 */
186
	 */
117
	public String toString() {
187
	public String toString() {
118
		String sortie = "";
188
		String sortie = "";
119
		
189
		
120
		// Champs du BaseModelData
190
		// Champs du BaseModelData
121
		Set<String> proprietes = this.getProperties().keySet();
191
		Set<String> proprietes = this.getProperties().keySet();
122
		for (Iterator<String> it = proprietes.iterator(); it.hasNext();) {
192
		for (Iterator<String> it = proprietes.iterator(); it.hasNext();) {
123
			String cle = it.next();
193
			String cle = it.next();
124
			if (!this.get(cle).equals("")) {
194
			if (!this.get(cle).equals("")) {
125
				sortie += cle+" : "+this.get(cle)+"\n";
195
				sortie += cle+" : "+this.get(cle)+"\n";
126
			}
196
			}
127
		}
197
		}
128
		
198
		
129
		return sortie;
199
		return sortie;
130
	}
200
	}
131
}
201
}