Subversion Repositories eFlore/Applications.coel

Rev

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

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