Subversion Repositories eFlore/Applications.coel

Rev

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