Subversion Repositories eFlore/Applications.coel

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
60 jpm 1
package org.tela_botanica.client.modeles;
2
 
156 jp_milcent 3
import java.util.Date;
60 jpm 4
import java.util.Iterator;
5
import java.util.Set;
6
 
166 jp_milcent 7
import com.extjs.gxt.ui.client.data.BaseModelData;
156 jp_milcent 8
import com.google.gwt.i18n.client.DateTimeFormat;
60 jpm 9
import com.google.gwt.json.client.JSONObject;
10
 
69 jpm 11
public class Structure extends aDonnee {
119 jpm 12
 
13
	public static final String PREFIXE = "cs";
177 jp_milcent 14
	public static final String URL_SITE = "WEB";
15
	public static final String URL_LOGO = "LOGO";
166 jp_milcent 16
	private BaseModelData urls = null;
382 jp_milcent 17
	private StructureAPersonneListe personnel = null;
18
	private StructureValorisation valorisation = null;
19
	private StructureConservation conservation = null;
20
 
60 jpm 21
	/**
22
	 * Constructeur vide
23
	 *
24
	 */
25
	public Structure() {
177 jp_milcent 26
		// Constructions du tableau des urls interne
27
		urls = new BaseModelData();
60 jpm 28
	}
29
 
30
	/**
31
	 * Constructeur avec un objet JSON
32
	 *
33
	 * @param image
34
	 */
35
	public Structure(JSONObject institution) {
177 jp_milcent 36
		// Constructions du tableau des urls interne
37
		urls = new BaseModelData();
38
 
60 jpm 39
		// l'objet JSON est une table de hachage
40
		Set<String> im = institution.keySet();
41
 
42
		// Parcourt pour chaque clé
43
		for (Iterator<String> it = im.iterator(); it.hasNext();) {
44
			// Si elle est associée à une valeur, nous l'ajoutons
45
			String cle = it.next();
203 jp_milcent 46
			if (cle.startsWith(PREFIXE+"_")) {
47
				// Suppression de l'abréviation du champ. Inutile dans le contexte d'un objet
48
				String cleObjet = cle.replaceFirst("^"+PREFIXE+"_", "");
49
				// Sinon, nous ajoutons la clé avec une valeur vide
50
				String valeur = "";
51
				if (institution.get(cle).isString() != null) {
52
					valeur = institution.get(cle).isString().stringValue();
53
				}
54
				if (cleObjet.equals("truk_url")) {
55
					this.setUrl(valeur);
56
				} else {
57
					this.set(cleObjet, valeur);
58
				}
166 jp_milcent 59
			}
60 jpm 60
		}
61
	}
62
 
63
	public String getId() {
602 jp_milcent 64
		return renvoyerValeurCorrecte("id_structure");
60 jpm 65
	}
119 jpm 66
	public void setId(String idStructure) {
67
		this.set("id_structure", idStructure);
68
	}
60 jpm 69
 
119 jpm 70
	public String getIdProjet() {
602 jp_milcent 71
		return renvoyerValeurCorrecte("ce_projet");
119 jpm 72
	}
73
	public void setIdProjet(String idProjet) {
74
		this.set("ce_projet", idProjet);
75
	}
76
 
77
	public String getIdMere() {
602 jp_milcent 78
		return renvoyerValeurCorrecte("ce_mere");
119 jpm 79
	}
80
	public void setIdMere(String idMere) {
81
		this.set("ce_mere", idMere);
82
	}
83
 
84
	public String getGuid() {
602 jp_milcent 85
		return renvoyerValeurCorrecte("guid");
119 jpm 86
	}
87
	public void setGuid(String guid) {
88
		this.set("guid", guid);
89
	}
90
 
91
	public String getIdAlternatif() {
602 jp_milcent 92
		return renvoyerValeurCorrecte("truk_identifiant_alternatif");
119 jpm 93
	}
94
	public void setIdAlternatif(String idAlter) {
95
		this.set("truk_identifiant_alternatif", idAlter);
96
	}
97
 
60 jpm 98
	public String getNom() {
602 jp_milcent 99
		return renvoyerValeurCorrecte("nom");
60 jpm 100
	}
119 jpm 101
	public void setNom(String nom) {
102
		this.set("nom", nom);
103
	}
60 jpm 104
 
119 jpm 105
	public String getNomAlternatif() {
602 jp_milcent 106
		return renvoyerValeurCorrecte("truk_nom_alternatif");
119 jpm 107
	}
108
 
60 jpm 109
	public String getDescription() {
602 jp_milcent 110
		return renvoyerValeurCorrecte("description");
60 jpm 111
	}
112
 
119 jpm 113
	public String getType() {
602 jp_milcent 114
		return renvoyerValeurCorrecte("ce_type");
119 jpm 115
	}
116
	public void setType(String type) {
117
		this.set("ce_type", type);
118
	}
119
 
120
	public String getTypePrive() {
602 jp_milcent 121
		return renvoyerValeurCorrecte("ce_truk_type_prive");
119 jpm 122
	}
123
	public void setTypePrive(String typePrive) {
124
		this.set("ce_truk_type_prive", typePrive);
125
	}
126
 
127
	public String getTypePublic() {
602 jp_milcent 128
		return renvoyerValeurCorrecte("ce_truk_type_public");
119 jpm 129
	}
130
	public void setTypePublic(String typePublic) {
131
		this.set("ce_truk_type_public", typePublic);
132
	}
133
 
134
	public String getAdresse() {
60 jpm 135
		return (String) renvoyerValeurCorrecte("adresse_01");
136
	}
119 jpm 137
	public void setAdresse(String adr) {
138
		this.set("adresse_01", adr);
139
	}
140
 
141
	public String getAdresseComplement() {
602 jp_milcent 142
		return renvoyerValeurCorrecte("adresse_02");
119 jpm 143
	}
60 jpm 144
 
169 jp_milcent 145
	public String getDateFondationFormatMysql() {
602 jp_milcent 146
		return renvoyerValeurCorrecte("date_fondation");
169 jp_milcent 147
	}
392 jp_milcent 148
	public String getDateFondationFormatLong() {
149
		String dateFormatee = "";
150
		Date dateFondation = getDateFondation();
151
		if (dateFondation != null) {
152
			dateFormatee = DateTimeFormat.getLongDateFormat().format(dateFondation);
153
		}
154
		return dateFormatee;
155
	}
156 jp_milcent 156
	public Date getDateFondation() {
166 jp_milcent 157
		Date fondationDate = null;
602 jp_milcent 158
		String fondationChaine = renvoyerValeurCorrecte("date_fondation");
177 jp_milcent 159
		if (!fondationChaine.isEmpty() && !fondationChaine.equals("0000-00-00")) {
160
			fondationDate = DateTimeFormat.getFormat("yyyy-MM-dd").parseStrict(fondationChaine);
166 jp_milcent 161
		}
162
		return fondationDate;
119 jpm 163
	}
156 jp_milcent 164
	public void setDateFondation(Date dateFondation) {
165
		if (dateFondation != null) {
177 jp_milcent 166
			this.set("date_fondation", DateTimeFormat.getFormat("yyyy-MM-dd").format(dateFondation));
156 jp_milcent 167
		}
168
	}
119 jpm 169
	public void setDateFondation(String dateFondation) {
156 jp_milcent 170
		if (dateFondation != null) {
171
			this.set("date_fondation", dateFondation);
172
		}
119 jpm 173
	}
156 jp_milcent 174
 
60 jpm 175
	public String getCodePostal() {
602 jp_milcent 176
		return renvoyerValeurCorrecte("code_postal");
60 jpm 177
	}
119 jpm 178
	public void setCodePostal(String codePostal) {
179
		this.set("code_postal", codePostal);
180
	}
181
 
60 jpm 182
	public String getVille() {
602 jp_milcent 183
		return renvoyerValeurCorrecte("ville");
60 jpm 184
	}
119 jpm 185
	public void setVille(String ville) {
186
		this.set("ville", ville);
187
	}
188
 
60 jpm 189
	public String getRegion() {
602 jp_milcent 190
		return getChaineDenormaliseUnique("ce_truk_region");
60 jpm 191
	}
119 jpm 192
	public void setRegion(String region) {
602 jp_milcent 193
		this.set("ce_truk_region", region);
119 jpm 194
	}
195
 
60 jpm 196
	public String getPays() {
602 jp_milcent 197
		return getChaineDenormaliseUnique("ce_truk_pays");
60 jpm 198
	}
119 jpm 199
	public void setPays(String pays) {
602 jp_milcent 200
		this.set("ce_truk_pays", pays);
119 jpm 201
	}
60 jpm 202
 
119 jpm 203
	public String getLatitude() {
602 jp_milcent 204
		return renvoyerValeurCorrecte("latitude");
119 jpm 205
	}
206
 
207
	public String getLongitude() {
602 jp_milcent 208
		return renvoyerValeurCorrecte("longitude");
119 jpm 209
	}
210
 
602 jp_milcent 211
	// TELEPHONE
60 jpm 212
	public String getTelephone() {
602 jp_milcent 213
		return renvoyerValeurCorrecte("truk_telephone");
60 jpm 214
	}
119 jpm 215
	public void setTelephone(String tel) {
602 jp_milcent 216
		this.set("truk_telephone", tel);
119 jpm 217
	}
60 jpm 218
 
602 jp_milcent 219
	// TELEPHONE FIXE
220
	public String getTelephoneFixe() {
221
		return getInfoDenormaliseParType(renvoyerValeurCorrecte("truk_telephone"), Personne.TELEPHONE_FIXE);
222
	}
223
	public void setTelephoneFixe(String fixe) {
224
		modifierChaineDenormaliseParType("truk_telephone", Personne.TELEPHONE_FIXE, fixe);
225
	}
226
 
227
	//TELEPHONE FAX
60 jpm 228
	public String getFax() {
602 jp_milcent 229
		return getInfoDenormaliseParType(renvoyerValeurCorrecte("truk_telephone"), Personne.TELEPHONE_FAX);
60 jpm 230
	}
119 jpm 231
	public void setFax(String fax) {
602 jp_milcent 232
		modifierChaineDenormaliseParType("truk_telephone", Personne.TELEPHONE_FAX, fax);
119 jpm 233
	}
60 jpm 234
 
602 jp_milcent 235
	// COURRIEL
60 jpm 236
	public String getCourriel() {
602 jp_milcent 237
		return renvoyerValeurCorrecte("courriel");
60 jpm 238
	}
119 jpm 239
	public void setCourriel(String courriel) {
240
		this.set("courriel", courriel);
241
	}
60 jpm 242
 
602 jp_milcent 243
	// URL
166 jp_milcent 244
	public String getUrl(String type) {
245
		return urls.get(type);
246
	}
119 jpm 247
	public String getUrl() {
166 jp_milcent 248
		String urlsDenormalise = "";
249
		Set<String> proprietes = urls.getProperties().keySet();
250
		for (Iterator<String> it = proprietes.iterator(); it.hasNext();) {
251
			String cle = it.next();
252
			urlsDenormalise += cle+"##"+urls.get(cle)+";;";
253
		}
254
		urlsDenormalise.replaceFirst(";;$", "");
255
		return urlsDenormalise;
119 jpm 256
	}
166 jp_milcent 257
	public void setUrl(String urlsDenormalise) {
258
		if (urlsDenormalise != null && !urlsDenormalise.equals("")) {
259
			//GWT.log(urlsDenormalise, null);
260
			String[] tableauUrls = urlsDenormalise.split(";;");
261
			for (int i = 0; i < tableauUrls.length; i++) {
262
				String url = tableauUrls[i];
263
				//GWT.log("\t"+url, null);
264
				String[] tableauUrl = url.split("##");
265
				if (tableauUrl.length == 2) {
266
					//GWT.log("\t\t"+tableauUrl[0]+"-"+tableauUrl[1], null);
267
					urls.set(tableauUrl[0], tableauUrl[1]);
268
				}
269
			}
270
		}
119 jpm 271
	}
166 jp_milcent 272
	public void setUrl(String type, String url) {
177 jp_milcent 273
		if (url != null) {
274
			urls.set(type, url);
275
		}
166 jp_milcent 276
	}
119 jpm 277
 
208 jp_milcent 278
	public int getNbrePersonne() {
279
		if (renvoyerValeurCorrecte("nbre_personne").equals("")) {
280
			return 0;
281
		} else {
282
			return Integer.parseInt(renvoyerValeurCorrecte("nbre_personne"));
283
		}
119 jpm 284
	}
208 jp_milcent 285
	public void setNbrePersonne(int nbrePersonne) {
286
		this.set("nbre_personne", Integer.toString(nbrePersonne));
119 jpm 287
	}
288
 
60 jpm 289
	public String getConditionAcces() {
602 jp_milcent 290
		return renvoyerValeurCorrecte("condition_acces");
60 jpm 291
	}
119 jpm 292
 
293
	public String getConditionUsage() {
602 jp_milcent 294
		return renvoyerValeurCorrecte("condition_usage");
119 jpm 295
	}
296
 
382 jp_milcent 297
	public StructureAPersonneListe getPersonnel() {
298
		return personnel;
299
	}
300
	public void setPersonnel(StructureAPersonneListe personnelAStocker) {
301
		personnel = personnelAStocker;
302
	}
303
 
304
	public StructureValorisation getValorisation() {
305
		return valorisation;
306
	}
307
	public void setValorisation(StructureValorisation valorisationAStocker) {
308
		valorisation = valorisationAStocker;
309
	}
310
 
311
	public StructureConservation getConservation() {
312
		return conservation;
313
	}
314
	public void setConservation(StructureConservation conservationAStocker) {
315
		conservation = conservationAStocker;
316
	}
317
 
166 jp_milcent 318
	public String toString() {
319
		String sortie = "";
177 jp_milcent 320
 
321
		// Champs du BaseModelData
166 jp_milcent 322
		Set<String> proprietes = this.getProperties().keySet();
323
		for (Iterator<String> it = proprietes.iterator(); it.hasNext();) {
324
			String cle = it.next();
325
			sortie += cle+" : "+this.get(cle)+"\n";
326
		}
177 jp_milcent 327
 
328
		// Champs spéciaux
329
		sortie += getUrl();
330
 
166 jp_milcent 331
		return sortie;
332
	}
333
 
60 jpm 334
}