Subversion Repositories eFlore/Applications.coel

Rev

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

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