Subversion Repositories eFlore/Applications.coel

Rev

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

Rev Author Line No. Line
102 jpm 1
package org.tela_botanica.client.modeles;
2
 
431 gduche 3
import java.util.Collection;
350 gduche 4
import java.util.Date;
431 gduche 5
import java.util.HashMap;
102 jpm 6
import java.util.Iterator;
7
import java.util.Set;
8
 
350 gduche 9
import com.google.gwt.core.client.GWT;
431 gduche 10
import com.google.gwt.http.client.URL;
350 gduche 11
import com.google.gwt.i18n.client.DateTimeFormat;
102 jpm 12
import com.google.gwt.json.client.JSONObject;
13
 
14
public class Personne extends aDonnee {
208 jp_milcent 15
 
16
	public static final String PREFIXE = "cp";
245 jp_milcent 17
	public static final String TELEPHONE_FIXE = "FIX";
18
	public static final String TELEPHONE_GSM = "GSM";
208 jp_milcent 19
 
102 jpm 20
	/**
103 jpm 21
	 * Constructeur vide
22
	 */
23
	public Personne() {
208 jp_milcent 24
 
103 jpm 25
	}
26
 
27
	/**
102 jpm 28
	 * Constructeur avec un objet JSON
29
	 *
30
	 * @param image
31
	 */
32
	public Personne(JSONObject liste) {
33
		// l'objet JSON est une table de hachage
34
		Set<String> im = liste.keySet();
35
 
36
		// Parcourt pour chaque clé
37
		for (Iterator<String> it = im.iterator(); it.hasNext();) {
431 gduche 38
 
102 jpm 39
			// Si elle est associée à une valeur, nous l'ajoutons
40
			String cle = it.next();
431 gduche 41
			if (cle.startsWith(PREFIXE+"_")) {
42
 
43
				// Suppression de l'abréviation du champ. Inutile dans le contexte d'un objet
44
				String cleObjet = cle.replaceFirst("^" + PREFIXE + "_", "");
45
				if (liste.get(cle).isString() != null) {
46
					String valeur = liste.get(cle).isString().stringValue();
47
					this.set(cleObjet, valeur);
48
				} else {
49
					// Sinon, nous ajoutons la clé avec une valeur vide
50
					String valeur = " ";
51
					this.set(cleObjet, valeur);
52
				}
102 jpm 53
			}
54
		}
261 gduche 55
 
56
		//Ajout du champ courriel principal
57
		this.set("courriel_princ", this.getInfoDenormaliseParPosition(this.renvoyerValeurCorrecte("truk_courriel"), 1));
102 jpm 58
	}
59
 
240 jp_milcent 60
	// ID PERSONNE
102 jpm 61
	public String getId() {
240 jp_milcent 62
		return renvoyerValeurCorrecte("id_personne");
102 jpm 63
	}
64
 
240 jp_milcent 65
	// NOM COMPLET
66
	public String getNomComplet() {
67
		return renvoyerValeurCorrecte("fmt_nom_complet");
181 gduche 68
	}
69
 
240 jp_milcent 70
	// NOM
71
	public String getNom() {
72
		return renvoyerValeurCorrecte("nom");
181 gduche 73
	}
74
 
240 jp_milcent 75
	// PRÉNOM
76
	public String getPrenom() {
77
		return renvoyerValeurCorrecte("prenom");
238 aurelien 78
	}
79
 
350 gduche 80
	public Date getDate(String nomChamp)	{
81
 
82
		String strDate = renvoyerValeurCorrecte(nomChamp);
83
 
84
		Date dateRetour = null;
85
		try
86
		{
87
			if ((strDate != null) && (!strDate.equals("0000-00-00"))) {
88
				dateRetour = DateTimeFormat.getFormat("yyyy-MM-dd").parseStrict(strDate);
89
			}
90
		} catch (StringIndexOutOfBoundsException e)	{
91
			GWT.log("Impossible de parser la date " + strDate, e);
92
		}
93
		return dateRetour;
94
	}
95
 
240 jp_milcent 96
	// TÉLÉPHONE
97
	public String getTelephone() {
98
		return renvoyerValeurCorrecte("truk_telephone");
99
	}
100
	public void setTelephone(String t) {
101
		this.set("truk_telephone", t);
102
	}
245 jp_milcent 103
	public void ajouterTelephone(String type, Object valeur) {
240 jp_milcent 104
		ajouterChaineDenormaliseAvecType("truk_telephone", type, valeur);
105
	}
245 jp_milcent 106
	public String selectionnerTelephone(String type) {
107
		return getInfoDenormaliseParType(renvoyerValeurCorrecte("truk_telephone"), type);
108
	}
240 jp_milcent 109
 
110
	// FAX
111
	public String getFax() {
112
		return renvoyerValeurCorrecte("truk_fax");
113
	}
114
	public void setFax(String f) {
115
		this.set("truk_fax", f);
116
	}
245 jp_milcent 117
	public void ajouterFax(Object valeur) {
240 jp_milcent 118
		ajouterChaineDenormalise("truk_fax", valeur);
119
	}
245 jp_milcent 120
	public String selectionnerFax(int position) {
121
		return getInfoDenormaliseParPosition(renvoyerValeurCorrecte("truk_fax"), position);
122
	}
240 jp_milcent 123
 
124
	// COURRIEL
125
	public String getCourriel() {
126
		return renvoyerValeurCorrecte("truk_courriel");
127
	}
128
	public void setCourriel(String c) {
129
		this.set("truk_courriel", c);
130
	}
245 jp_milcent 131
	public void ajouterCourriel(String c) {
240 jp_milcent 132
		ajouterChaineDenormalise("truk_courriel", c);
133
	}
245 jp_milcent 134
	public String selectionnerCourriel(int position) {
135
		return getInfoDenormaliseParPosition(renvoyerValeurCorrecte("truk_courriel"), position);
136
	}
240 jp_milcent 137
 
138
	// SPÉCIALITÉ
139
	public String getSpecialite() {
140
		return renvoyerValeurCorrecte("ce_truk_specialite");
141
	}
142
	public void setSpecialite(String s) {
143
		// Pas de liste pour l'instant, donc tout passe dans "Autre".
144
		setChaineDenormaliseUnique("ce_truk_specialite", "AUTRE", s);
145
	}
245 jp_milcent 146
	public String afficherSpecialite() {
147
		return getChaineDenormaliseUnique("ce_truk_specialite");
148
	}
240 jp_milcent 149
 
181 gduche 150
	public Object obtenirValeurChamp(String nomChamp)	{
151
		return renvoyerValeurCorrecte(nomChamp);
152
	}
431 gduche 153
 
154
 
155
	public String getString(String champ)	{
156
 
157
		return String.valueOf(renvoyerValeurCorrecte(champ));
158
 
159
	}
455 gduche 160
 
161
	public void setNaissanceDate(Date naissanceDate) {
162
		if (naissanceDate != null) {
163
			this.set("naissance_date", DateTimeFormat.getFormat("yyyy-MM-dd").format(naissanceDate));
164
		}
165
	}
166
 
167
	public void setDecesDate(Date decesDate) {
168
		if (decesDate != null) {
169
			this.set("deces_date", DateTimeFormat.getFormat("yyyy-MM-dd").format(decesDate));
170
		}
171
	}
172
 
173
	public void setFmtNomComplet(String prefixe, String suffixe)	{
174
		String fmtNomComplet = "";
175
		if ((prefixe != null)&&(!prefixe.trim().equals("")))	{
176
			fmtNomComplet += prefixe + " ";
177
		}
178
 
179
		if ((this.getPrenom()!=null)&&(!this.getPrenom().trim().equals("")))	{
180
			fmtNomComplet += this.getPrenom() + " ";
181
		}
182
 
183
		if ((this.getNom()!=null)&&(!this.getNom().trim().equals("")))	{
184
			fmtNomComplet += this.getNom() + " ";
185
		}
186
 
187
		if ((suffixe!=null)&&(!suffixe.trim().equals("")))	{
188
			fmtNomComplet += suffixe;
189
		}
190
 
191
		this.set("fmt_nom_complet", fmtNomComplet);
192
	}
193
 
194
 
181 gduche 195
 
102 jpm 196
}