Subversion Repositories eFlore/Applications.coel

Rev

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

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