Subversion Repositories eFlore/Applications.coel

Rev

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

Rev 912 Rev 1173
1
package org.tela_botanica.client.modeles;
1
package org.tela_botanica.client.modeles;
2
 
2
 
3
import java.util.HashMap;
3
import java.util.HashMap;
4
import java.util.Iterator;
4
import java.util.Iterator;
5
import java.util.Set;
5
import java.util.Set;
6
 
6
 
7
import com.google.gwt.json.client.JSONObject;
7
import com.google.gwt.json.client.JSONObject;
8
 
8
 
9
public class Utilisateur extends aDonnee {
9
public class Utilisateur extends aDonnee {
10
 
10
 
11
	private static final long serialVersionUID = -4016615552202089985L;
11
	private static final long serialVersionUID = -4016615552202089985L;
12
	
12
	
13
	public static final String PREFIXE = "cp";
13
	public static final String PREFIXE = "cp";
-
 
14
	public static String[] champsObligatoires = {"cp_id_personne"};
14
	
15
	
15
	public Utilisateur() {
16
	public Utilisateur() {
16
		initialiserUtilisateur(null, false);
17
		initialiserUtilisateur(null, false);
17
	}
18
	}
18
 
19
 
19
	public Utilisateur(String id, boolean identifie) {
20
	public Utilisateur(String id, boolean identifie) {
20
		initialiserUtilisateur(id, identifie);
21
		initialiserUtilisateur(id, identifie);
21
	}
22
	}
22
	
23
	
23
	public Utilisateur(JSONObject utilisateur) {
24
	public Utilisateur(JSONObject utilisateur) {
24
		// l'objet JSON est une table de hachage
25
		// l'objet JSON est une table de hachage
25
		Set<String> im = utilisateur.keySet();
26
		Set<String> im = utilisateur.keySet();
26
 
27
 
27
		// Parcourt pour chaque clé
28
		// Parcourt pour chaque clé
28
		for (Iterator<String> it = im.iterator(); it.hasNext();) {
29
		for (Iterator<String> it = im.iterator(); it.hasNext();) {
29
			// Si elle est associée à une valeur, nous l'ajoutons
30
			// Si elle est associée à une valeur, nous l'ajoutons
30
			String cle = it.next();
31
			String cle = it.next();
31
			// Suppression de l'abréviation du champ. Inutile dans le contexte d'un objet
32
			// Suppression de l'abréviation du champ. Inutile dans le contexte d'un objet
32
			String cleObjet = cle.replaceFirst("^"+PREFIXE+"_", "");
33
			String cleObjet = cle.replaceFirst("^"+PREFIXE+"_", "");
33
			// Valeur est vide par défaut
34
			// Valeur est vide par défaut
34
			String valeur = "";
35
			String valeur = "";
35
			if (utilisateur.get(cle).isString() != null) {
36
			if (utilisateur.get(cle).isString() != null) {
36
				valeur = utilisateur.get(cle).isString().stringValue();
37
				valeur = utilisateur.get(cle).isString().stringValue();
37
				this.set(cleObjet, valeur);
38
				this.set(cleObjet, valeur);
38
			} else {
39
			} else {
39
				this.set(cleObjet, valeur);
40
				this.set(cleObjet, valeur);
40
			}
41
			}
41
		}
42
		}
42
	}
43
	}
43
	
44
	
44
	@Override
45
	@Override
45
	protected String getPrefixe() {
46
	protected String getPrefixe() {
46
		return PREFIXE;
47
		return PREFIXE;
47
	}
48
	}
-
 
49
	
-
 
50
	protected String[] getChampsObligatoires()	{
-
 
51
		return champsObligatoires;
-
 
52
	}
48
 
53
 
49
	private void initialiserUtilisateur(String id, boolean etreIdentifie) {
54
	private void initialiserUtilisateur(String id, boolean etreIdentifie) {
50
		setId(id);
55
		setId(id);
51
		setIdentification(etreIdentifie);
56
		setIdentification(etreIdentifie);
52
	}
57
	}
53
	
58
	
54
	
59
	
55
	// ID
60
	// ID
56
	/**
61
	/**
57
	 * Retourne l'id de l'utilisateur ou l'identifiant de session si la personne n'est pas identifiée.
62
	 * Retourne l'id de l'utilisateur ou l'identifiant de session si la personne n'est pas identifiée.
58
	 * @return String id de l'utilisateur
63
	 * @return String id de l'utilisateur
59
	 */
64
	 */
60
	public String getId() {
65
	public String getId() {
61
		return renvoyerValeurCorrecte("id_personne");
66
		return renvoyerValeurCorrecte("id_personne");
62
	}
67
	}
63
	public void setId(String id) {
68
	public void setId(String id) {
64
		set("id_personne", id);
69
		set("id_personne", id);
65
	}
70
	}
66
	
71
	
67
	// NOM COMPLET
72
	// NOM COMPLET
68
	/**
73
	/**
69
	 * Retourne le nom complet et formaté de l'utilisateur
74
	 * Retourne le nom complet et formaté de l'utilisateur
70
	 * @return String nom complet
75
	 * @return String nom complet
71
	 */
76
	 */
72
	public String getNomComplet() {
77
	public String getNomComplet() {
73
		return renvoyerValeurCorrecte("fmt_nom_complet");
78
		return renvoyerValeurCorrecte("fmt_nom_complet");
74
	}
79
	}
75
	
80
	
76
	public void setNomComplet(String nom_complet) {
81
	public void setNomComplet(String nom_complet) {
77
		set("fmt_nom_complet", nom_complet);
82
		set("fmt_nom_complet", nom_complet);
78
	}
83
	}
79
 
84
 
80
	// PRÉNOM
85
	// PRÉNOM
81
	/**
86
	/**
82
	 * Retourne le prénom de l'utilisateur
87
	 * Retourne le prénom de l'utilisateur
83
	 * @return String prénom
88
	 * @return String prénom
84
	 */
89
	 */
85
	public String getPrenom() {
90
	public String getPrenom() {
86
		return renvoyerValeurCorrecte("prenom");
91
		return renvoyerValeurCorrecte("prenom");
87
	}
92
	}
88
	public void setPrenom(String prenom) {
93
	public void setPrenom(String prenom) {
89
		set("prenom", prenom);
94
		set("prenom", prenom);
90
	}
95
	}
91
	
96
	
92
	// NOM
97
	// NOM
93
	/**
98
	/**
94
	 * Retourne le nom de l'utilisateur
99
	 * Retourne le nom de l'utilisateur
95
	 * @return String nom
100
	 * @return String nom
96
	 */
101
	 */
97
	public String getNom() {
102
	public String getNom() {
98
		return renvoyerValeurCorrecte("nom");
103
		return renvoyerValeurCorrecte("nom");
99
	}
104
	}
100
	public void setNom(String nom) {
105
	public void setNom(String nom) {
101
		set("nom", nom);
106
		set("nom", nom);
102
	}
107
	}
103
	
108
	
104
	// LOGIN
109
	// LOGIN
105
	/**
110
	/**
106
	 * Retourne le login de l'utilisateur ou l'identifiant de session si la personne n'est pas identifiée.
111
	 * Retourne le login de l'utilisateur ou l'identifiant de session si la personne n'est pas identifiée.
107
	 * @return String login
112
	 * @return String login
108
	 */
113
	 */
109
	public String getLogin() {
114
	public String getLogin() {
110
		return renvoyerValeurCorrecte("login");
115
		return renvoyerValeurCorrecte("login");
111
	}
116
	}
112
	public void setLogin(String l) {
117
	public void setLogin(String l) {
113
		set("login", l);
118
		set("login", l);
114
	}
119
	}
115
	
120
	
116
	// MOT DE PASSE
121
	// MOT DE PASSE
117
	/**
122
	/**
118
	 * Retourne le mot de passe de l'utilisateur
123
	 * Retourne le mot de passe de l'utilisateur
119
	 * @return String mot de passe
124
	 * @return String mot de passe
120
	 */
125
	 */
121
	public String getMotDePasse() {
126
	public String getMotDePasse() {
122
		return renvoyerValeurCorrecte("mot_de_passe");
127
		return renvoyerValeurCorrecte("mot_de_passe");
123
	}
128
	}
124
	public void setMotDePasse(String mdp) {
129
	public void setMotDePasse(String mdp) {
125
		set("mot_de_passe", mdp);
130
		set("mot_de_passe", mdp);
126
	}
131
	}
127
	
132
	
128
	// PARAMÈTRE
133
	// PARAMÈTRE
129
	public String getParametre() {
134
	public String getParametre() {
130
		String xml = renvoyerValeurCorrecte("parametre");
135
		String xml = renvoyerValeurCorrecte("parametre");
131
		if (xml.equals("")) {
136
		if (xml.equals("")) {
132
			xml = "<?xml version='1.0' encoding='UTF-8'?>\n<parametres>\n</parametres>";
137
			xml = "<?xml version='1.0' encoding='UTF-8'?>\n<parametres>\n</parametres>";
133
		}
138
		}
134
		return xml;
139
		return xml;
135
	}
140
	}
136
	public void setParametre(String param) {
141
	public void setParametre(String param) {
137
		set("parametre", param);
142
		set("parametre", param);
138
	}
143
	}
139
	
144
	
140
	// +---------------------------------------------------------------------------------------------------------------+
145
	// +---------------------------------------------------------------------------------------------------------------+
141
	// IDENTIFIÉ
146
	// IDENTIFIÉ
142
	/**
147
	/**
143
	 * Retourne vrai si utilisateur est identifié.
148
	 * Retourne vrai si utilisateur est identifié.
144
	 * @return boolean
149
	 * @return boolean
145
	 */
150
	 */
146
	public boolean isIdentifie() {
151
	public boolean isIdentifie() {
147
		if (get("identifie").equals(true) && getLicence().equals("1"))	{
152
		if (get("identifie").equals(true) && getLicence().equals("1"))	{
148
			return true;
153
			return true;
149
		}	else	{
154
		}	else	{
150
			return false;
155
			return false;
151
		}
156
		}
152
	}
157
	}
153
	
158
	
154
	public void setIdentification(Boolean bool) {
159
	public void setIdentification(Boolean bool) {
155
		set("identifie", bool);
160
		set("identifie", bool);
156
	}
161
	}
157
	
162
	
158
	// EXISTE DANS ANNUAIRE
163
	// EXISTE DANS ANNUAIRE
159
	/**
164
	/**
160
	 * Renvoie si l'utilisateur est présent dans l'annuaire ou non
165
	 * Renvoie si l'utilisateur est présent dans l'annuaire ou non
161
	 * @return vrai s'il est présent
166
	 * @return vrai s'il est présent
162
	 */
167
	 */
163
	@SuppressWarnings("unchecked")
168
	@SuppressWarnings("unchecked")
164
	public boolean existeDansAnnuaire()	{
169
	public boolean existeDansAnnuaire()	{
165
		HashMap<String, String> infosAnnuaire = (HashMap<String, String>) get("infosAnnuaire");
170
		HashMap<String, String> infosAnnuaire = (HashMap<String, String>) get("infosAnnuaire");
166
		return !(infosAnnuaire == null || infosAnnuaire.size() == 0);
171
		return !(infosAnnuaire == null || infosAnnuaire.size() == 0);
167
	}
172
	}
168
	
173
	
169
	// INFOS DANS ANNUAIRE
174
	// INFOS DANS ANNUAIRE
170
	@SuppressWarnings("unchecked")
175
	@SuppressWarnings("unchecked")
171
	public HashMap<String, String> getInfosAnnuaire() {
176
	public HashMap<String, String> getInfosAnnuaire() {
172
		if (existeDansAnnuaire())	{
177
		if (existeDansAnnuaire())	{
173
			return (HashMap<String, String>) get("infosAnnuaire");
178
			return (HashMap<String, String>) get("infosAnnuaire");
174
		} else {
179
		} else {
175
			return null;
180
			return null;
176
		}	
181
		}	
177
	}
182
	}
178
	public void setInfosAnnuaire(JSONObject infosAnnuaire)	{
183
	public void setInfosAnnuaire(JSONObject infosAnnuaire)	{
179
		// l'objet JSON est une table de hachage
184
		// l'objet JSON est une table de hachage
180
		Set<String> im = infosAnnuaire.keySet();
185
		Set<String> im = infosAnnuaire.keySet();
181
		HashMap<String, String> mapAnnuaire = new HashMap<String, String>();
186
		HashMap<String, String> mapAnnuaire = new HashMap<String, String>();
182
		
187
		
183
		// Parcourt pour chaque clé
188
		// Parcourt pour chaque clé
184
		Iterator<String> it = im.iterator();
189
		Iterator<String> it = im.iterator();
185
		while (it.hasNext()) {
190
		while (it.hasNext()) {
186
			String cle = it.next();
191
			String cle = it.next();
187
			if (infosAnnuaire.get(cle).isString() != null) {
192
			if (infosAnnuaire.get(cle).isString() != null) {
188
				String valeur = infosAnnuaire.get(cle).isString().stringValue();
193
				String valeur = infosAnnuaire.get(cle).isString().stringValue();
189
				mapAnnuaire.put(cle, valeur);
194
				mapAnnuaire.put(cle, valeur);
190
			}
195
			}
191
		}
196
		}
192
		
197
		
193
		if (mapAnnuaire.size() > 0)	{
198
		if (mapAnnuaire.size() > 0)	{
194
			this.set("infosAnnuaire", mapAnnuaire);
199
			this.set("infosAnnuaire", mapAnnuaire);
195
		}
200
		}
196
	}
201
	}
197
	public void majUtilisateurInfoAnnuaire()	{
202
	public void majUtilisateurInfoAnnuaire()	{
198
		HashMap<String, String> infosAnnuaire = getInfosAnnuaire();
203
		HashMap<String, String> infosAnnuaire = getInfosAnnuaire();
199
		setNom(infosAnnuaire.get("nom"));
204
		setNom(infosAnnuaire.get("nom"));
200
		setPrenom(infosAnnuaire.get("prenom"));
205
		setPrenom(infosAnnuaire.get("prenom"));
201
		setLogin(infosAnnuaire.get("courriel"));
206
		setLogin(infosAnnuaire.get("courriel"));
202
		setMotDePasse(infosAnnuaire.get("mot_de_passe"));
207
		setMotDePasse(infosAnnuaire.get("mot_de_passe"));
203
	}
208
	}
204
	
209
	
205
	// LICENCE ACCEPTÉE
210
	// LICENCE ACCEPTÉE
206
	public void setLicence(String licence)	{
211
	public void setLicence(String licence)	{
207
		this.set("licenceAcceptee", licence);
212
		this.set("licenceAcceptee", licence);
208
	}
213
	}
209
	
214
	
210
	public String getLicence()	{
215
	public String getLicence()	{
211
		if (this.get("licenceAcceptee") != null)	{
216
		if (this.get("licenceAcceptee") != null)	{
212
			return this.get("licenceAcceptee");
217
			return this.get("licenceAcceptee");
213
		} else {
218
		} else {
214
			return "";
219
			return "";
215
		}
220
		}
216
	}
221
	}
217
}
222
}