Subversion Repositories eFlore/Applications.coel

Rev

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

Rev Author Line No. Line
934 jpm 1
package org.tela_botanica.client.vues.collection;
453 jp_milcent 2
 
961 jpm 3
import java.util.HashMap;
883 jpm 4
import java.util.Iterator;
5
 
453 jp_milcent 6
import org.tela_botanica.client.ComposantClass;
7
import org.tela_botanica.client.ComposantId;
8
import org.tela_botanica.client.Mediateur;
9
import org.tela_botanica.client.interfaces.Rafraichissable;
883 jpm 10
import org.tela_botanica.client.modeles.Information;
453 jp_milcent 11
import org.tela_botanica.client.modeles.ValeurListe;
935 jpm 12
import org.tela_botanica.client.modeles.collection.Collection;
13
import org.tela_botanica.client.modeles.collection.CollectionAPersonne;
14
import org.tela_botanica.client.modeles.collection.CollectionAPersonneListe;
15
import org.tela_botanica.client.modeles.collection.CollectionAPublication;
16
import org.tela_botanica.client.modeles.collection.CollectionAPublicationListe;
961 jpm 17
import org.tela_botanica.client.modeles.collection.CollectionBotanique;
18
import org.tela_botanica.client.modeles.collection.UniteBase;
19
import org.tela_botanica.client.modeles.collection.UniteRangement;
935 jpm 20
import org.tela_botanica.client.modeles.personne.Personne;
21
import org.tela_botanica.client.modeles.projet.ProjetListe;
22
import org.tela_botanica.client.modeles.publication.Publication;
23
import org.tela_botanica.client.modeles.structure.Structure;
938 jpm 24
import org.tela_botanica.client.util.Debug;
961 jpm 25
import org.tela_botanica.client.util.UtilNombre;
26
import org.tela_botanica.client.util.UtilString;
936 jpm 27
import org.tela_botanica.client.vues.DetailVue;
453 jp_milcent 28
 
29
import com.extjs.gxt.ui.client.Style.Scroll;
30
import com.extjs.gxt.ui.client.util.Format;
31
import com.extjs.gxt.ui.client.util.Params;
32
import com.extjs.gxt.ui.client.widget.ContentPanel;
33
import com.extjs.gxt.ui.client.widget.Html;
34
import com.extjs.gxt.ui.client.widget.TabItem;
35
import com.extjs.gxt.ui.client.widget.TabPanel;
36
import com.extjs.gxt.ui.client.widget.layout.AnchorLayout;
938 jpm 37
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
453 jp_milcent 38
 
39
public class CollectionDetailVue extends DetailVue implements Rafraichissable {
40
 
883 jpm 41
	private Collection collection = null;
42
	private boolean collectionChargementOk = false;
43
	private boolean personnesLieesChargementOk = false;
44
	private boolean publicationsLieesChargementOk = false;
468 jp_milcent 45
	private Structure structure = null;
883 jpm 46
 
453 jp_milcent 47
	private String enteteTpl = null;
48
	private String generalTpl = null;
883 jpm 49
	private String personneTpl = null;
50
	private String tableauPersonnesLieesTpl = null;
51
	private String lignePersonneLieeTpl = null;
687 jp_milcent 52
	private String publicationTpl = null;
883 jpm 53
	private String tableauPublicationsLieesTpl = null;
54
	private String lignePublicationLieeTpl = null;
630 jp_milcent 55
	private String descriptionTpl = null;
56
	private String contenuTpl = null;
57
	private String inventaireTpl = null;
453 jp_milcent 58
 
59
	private ContentPanel panneauPrincipal = null;
60
	private Html entete = null;
61
	private TabPanel onglets = null;
62
	private TabItem generalOnglet = null;
862 jpm 63
	private TabItem personneOnglet = null;
687 jp_milcent 64
	private TabItem publicationOnglet = null;
630 jp_milcent 65
	private TabItem descriptionOnglet = null;
66
	private TabItem contenuOnglet = null;
67
	private TabItem inventaireOnglet = null;
961 jpm 68
	private String tableauUniteRangementTpl;
69
	private String ligneUniteRangementTpl;
70
	private String tableauUniteBaseTpl;
71
	private String ligneUniteBaseTpl;
883 jpm 72
 
453 jp_milcent 73
 
74
	public CollectionDetailVue(Mediateur mediateurCourant) {
75
		super(mediateurCourant);
76
		initialiserTousLesTpl();
77
		chargerOntologie();
78
 
79
		panneauPrincipal = new ContentPanel();
938 jpm 80
		panneauPrincipal.setLayout(new FitLayout());
453 jp_milcent 81
		panneauPrincipal.setHeaderVisible(false);
82
		panneauPrincipal.setBodyBorder(false);
83
 
84
	    entete = new Html();
85
	    entete.setId(ComposantId.ZONE_DETAIL_ENTETE);
86
	    panneauPrincipal.setTopComponent(entete);
87
 
88
		onglets = new TabPanel();
89
		onglets.setId(ComposantId.ZONE_DETAIL_CORPS);
90
		onglets.setBodyBorder(false);
91
 
92
		generalOnglet = new TabItem(i18nC.structureInfoGeneral());
93
		generalOnglet.setLayout(new AnchorLayout());
94
		generalOnglet.setScrollMode(Scroll.AUTO);
95
		onglets.add(generalOnglet);
96
 
862 jpm 97
		personneOnglet = new TabItem(i18nC.collectionPersonne());
98
		personneOnglet.setLayout(new AnchorLayout());
99
		personneOnglet.setScrollMode(Scroll.AUTO);
100
		onglets.add(personneOnglet);
630 jp_milcent 101
 
687 jp_milcent 102
		publicationOnglet = new TabItem(i18nC.collectionPublication());
103
		publicationOnglet.setLayout(new AnchorLayout());
104
		publicationOnglet.setScrollMode(Scroll.AUTO);
105
		onglets.add(publicationOnglet);
106
 
630 jp_milcent 107
		descriptionOnglet = new TabItem(i18nC.collectionDescription());
108
		descriptionOnglet.setLayout(new AnchorLayout());
109
		descriptionOnglet.setScrollMode(Scroll.AUTO);
110
		onglets.add(descriptionOnglet);
111
 
112
		contenuOnglet = new TabItem(i18nC.collectionContenu());
113
		contenuOnglet.setLayout(new AnchorLayout());
114
		contenuOnglet.setScrollMode(Scroll.AUTO);
115
		onglets.add(contenuOnglet);
862 jpm 116
 
630 jp_milcent 117
		inventaireOnglet = new TabItem(i18nC.collectionInventaire());
118
		inventaireOnglet.setLayout(new AnchorLayout());
119
		inventaireOnglet.setScrollMode(Scroll.AUTO);
120
		onglets.add(inventaireOnglet);
121
 
453 jp_milcent 122
		panneauPrincipal.add(onglets);
123
		add(panneauPrincipal);
124
	}
125
 
126
	private void initialiserTousLesTpl() {
127
		initialiserEnteteHtmlTpl();
128
		initialiserGeneralTpl();
883 jpm 129
		initialiserPersonneTpl();
130
		initialiserTableauPersonnesLieesTpl();
131
		initialiserLignePersonneLieeTpl();
687 jp_milcent 132
		initialiserPublicationTpl();
883 jpm 133
		initialiserTableauPublicationsLieesTpl();
134
		initialiserLignePublicationLieeTpl();
630 jp_milcent 135
		initialiserContenuTpl();
136
		initialiserDescriptionTpl();
961 jpm 137
		initialiserTableauUniteRangementTpl();
138
		initialiserLigneUniteRangementTpl();
139
		initialiserTableauUniteBaseTpl();
140
		initialiserLigneUniteBaseTpl();
630 jp_milcent 141
		initialiserInventaireTpl();
453 jp_milcent 142
	}
143
 
144
	private void initialiserEnteteHtmlTpl() {
145
		enteteTpl =
146
			"<div id='{css_id}'>"+
147
			"	<h1>{nom}</h1>"+
813 jpm 148
			"	<h2>{structure}<span class='{css_meta}'>{projet} <br /> {i18n_id}:{id} - {guid}</span></h2>" +
453 jp_milcent 149
			"</div>";
150
	}
151
 
152
	private void initialiserGeneralTpl() {
153
		generalTpl =
154
			"<div class='{css_corps}'>"+
155
			"	<div class='{css_fieldset}'>"+
156
			"		<h2>{i18n_titre_identification}</h2>"+
630 jp_milcent 157
			"		<span class='{css_label}'>{i18n_nom_alternatif} :</span> {nom_alternatif}<br />"+
158
			"		<span class='{css_label}'>{i18n_mere} :</span> {mere}<br />"+
687 jp_milcent 159
			"		<span class='{css_label}'>{i18n_type_ncd} :</span> {type_ncd}<br />"+
160
			"		<span class='{css_label}'>{i18n_type_depot} :</span> {type_depot}<br />"+
961 jpm 161
			"		<span class='{css_label}'>{i18n_id_alternatif} :</span> {id_alternatif}<br />"+
162
			"		<span class='{css_label}'>{i18n_code} :</span> {code}<br />"+
163
			"		<span class='{css_label}'>{i18n_cote} :</span> {cote}<br />"+
453 jp_milcent 164
			"	</div>"+
477 jp_milcent 165
			"	<div class='{css_fieldset}'>"+
630 jp_milcent 166
			"		<h2>{i18n_general_collection_titre}</h2>"+
477 jp_milcent 167
			"		<span class='{css_label}'>{i18n_description} :</span> {description}<br />"+
168
			"		<span class='{css_label}'>{i18n_description_specialiste} :</span> {description_specialiste}<br />"+
630 jp_milcent 169
			"		<span class='{css_label}'>{i18n_historique} :</span> {historique}<br />"+
170
			"		<span class='{css_label}'>{i18n_web} :</span> {web}<br />"+
961 jpm 171
			"	</div>"+
172
			"	<hr class='{css_clear}'/>"+
173
			"	<div class='{css_fieldset}'>"+
174
			"		<h2>{i18n_couverture_collection_titre}</h2>"+
630 jp_milcent 175
			"		<span class='{css_label}'>{i18n_groupement_principe} :</span> {groupement_principe}<br />"+
176
			"		<span class='{css_label}'>{i18n_groupement_but} :</span> {groupement_but}<br />"+
961 jpm 177
			"		<span class='{css_label}'>{i18n_couverture_geo} :</span> {couverture_geo}<br />"+
477 jp_milcent 178
			"	</div>"+
961 jpm 179
			"	<div class='{css_fieldset}'>"+
180
			"		<h2>{i18n_specimen_type_titre}</h2>"+
181
			"		<span class='{css_label}'>{i18n_specimen_type_presence} :</span> {specimen_type_presence}<br />"+
182
			"		<span class='{css_label}'>{i18n_specimen_type_nombre} :</span> {specimen_type_nombre}<br />"+
183
			"		<span class='{css_label}'>{i18n_specimen_type_classement} :</span> {specimen_type_classement}<br />"+
184
			"	</div>"+
477 jp_milcent 185
			"	<hr class='{css_clear}'/>"+
453 jp_milcent 186
			"</div>";
187
	}
188
 
883 jpm 189
	private void initialiserPersonneTpl() {
190
		personneTpl =
630 jp_milcent 191
			"<div class='{css_corps}'>"+
961 jpm 192
			"	<h2>{i18n_titre_personne}</h2>"+
193
			"	{tableau_personnes_liees}"+
630 jp_milcent 194
			"</div>";
195
	}
196
 
883 jpm 197
	private void initialiserTableauPersonnesLieesTpl() {
198
		tableauPersonnesLieesTpl =
199
			"<table>"+
200
			"	<thead>"+
201
			"		<tr>" +
961 jpm 202
			"			<th>{i18n_relation}</th>" +
203
			"			<th>{i18n_nom_complet}</th>" +
204
			"			<th>{i18n_nom}</th>" +
883 jpm 205
			"			<th>{i18n_prenom}</th>" +
961 jpm 206
			"			<th>{i18n_naissance_date}</th>" +
207
			"			<th>{i18n_naissance_lieu}</th>" +
208
			"			<th>{i18n_etre_decede}</th>" +
209
			"			<th>{i18n_deces_date}</th>" +
210
			"			<th>{i18n_deces_lieu}</th>" +
883 jpm 211
			"		</tr>"+
212
			"	</thead>"+
213
			"	<tbody>"+
214
			"		{lignes}"+
215
			"	</tbody>"+
216
			"</table>";
217
	}
218
 
219
	private void initialiserLignePersonneLieeTpl() {
220
		lignePersonneLieeTpl =
221
			"<tr>"+
961 jpm 222
			"	<td>{relation}</td>"+
223
			"	<td>{nom_complet}</td>"+
224
			"	<td>{nom}</td>"+
883 jpm 225
			"	<td>{prenom}</td>"+
961 jpm 226
			"	<td>{naissance_date}</td>"+
227
			"	<td>{naissance_lieu}</td>"+
228
			"	<td>{etre_decede}</td>"+
229
			"	<td>{deces_date}</td>"+
230
			"	<td>{deces_lieu}</td>"+
883 jpm 231
			"</tr>";
232
	}
233
 
687 jp_milcent 234
	private void initialiserPublicationTpl() {
235
		publicationTpl =
236
			"<div class='{css_corps}'>"+
961 jpm 237
			"	<h2>{i18n_titre_publication}</h2>"+
238
			"	{tableau_publications_liees}"+
687 jp_milcent 239
			"</div>";
240
	}
241
 
883 jpm 242
	private void initialiserTableauPublicationsLieesTpl() {
243
		tableauPublicationsLieesTpl =
244
			"<table>"+
245
			"	<thead>"+
246
			"		<tr>" +
247
			"			<th>{i18n_auteur}</th>" +
248
			"			<th>{i18n_titre}</th>" +
961 jpm 249
			"			<th>{i18n_revue}</th>" +
250
			"			<th>{i18n_editeur}</th>" +
251
			"			<th>{i18n_annee}</th>" +
252
			"			<th>{i18n_nvt}</th>" +
253
			"			<th>{i18n_fascicule}</th>" +
254
			"			<th>{i18n_page}</th>" +
883 jpm 255
			"		</tr>"+
256
			"	</thead>"+
257
			"	<tbody>"+
258
			"		{lignes}"+
259
			"	</tbody>"+
260
			"</table>";
261
	}
262
 
263
	private void initialiserLignePublicationLieeTpl() {
264
		lignePublicationLieeTpl =
265
			"<tr>"+
266
			"	<td>{auteur}</td>"+
267
			"	<td>{titre}</td>"+
961 jpm 268
			"	<td>{revue}</td>"+
269
			"	<td>{editeur}</td>"+
270
			"	<td>{annee}</td>"+
271
			"	<td>{nvt}</td>"+
272
			"	<td>{fascicule}</td>"+
273
			"	<td>{page}</td>"+
883 jpm 274
			"</tr>";
275
	}
276
 
630 jp_milcent 277
	private void initialiserDescriptionTpl() {
278
		descriptionTpl =
279
			"<div class='{css_corps}'>"+
966 jpm 280
			"	<div>"+
630 jp_milcent 281
			"		<h2>{i18n_titre_description}</h2>"+
875 jpm 282
			"		<span class='{css_label}'>{i18n_type_botanique} :</span> {type_botanique}<br />"+
283
			"		<span class='{css_label}'>{i18n_nbre_echantillon} :</span> {nbre_echantillon}<br />"+
630 jp_milcent 284
			"	</div>"+
961 jpm 285
			"	<div>"+
286
			"		<h2>{i18n_titre_unite_rangement}</h2>"+
287
			"		<span class='{css_label}'>{i18n_etat_unite_rangement} :</span> {etat_unite_rangement}<br />"+
288
			"		{tableau_unite_rangement}"+
289
			"	</div>"+
290
			"	<div>"+
291
			"		<h2>{i18n_titre_unite_base}</h2>"+
292
			"		{tableau_unite_base}"+
293
			"	</div>"+
294
			"	<div>"+
295
			"		<h2>{i18n_titre_conservation}</h2>"+
296
			"		<span class='{css_label}'>{i18n_type_papier} :</span> {type_papier}<br />"+
297
			"		<span class='{css_label}'>{i18n_conservation_methode} :</span> {conservation_methode}<br />"+
298
			"	</div>"+
299
			"	<div>"+
300
			"		<h2>{i18n_titre_etiquette}</h2>"+
301
			"		<span class='{css_label}'>{i18n_specimen_fixation_pourcent} :</span> {specimen_fixation_pourcent}<br />"+
302
			"		<span class='{css_label}'>{i18n_etiquette_fixation_pourcent} :</span> {etiquette_fixation_pourcent}<br />"+
303
			"		<span class='{css_label}'>{i18n_specimen_fixation_methode} :</span> {specimen_fixation_methode}<br />"+
304
			"		<span class='{css_label}'>{i18n_etiquette_fixation_methode_support} :</span> {etiquette_fixation_methode_support}<br />"+
305
			"		<span class='{css_label}'>{i18n_etiquette_fixation_methode_specimen} :</span> {etiquette_fixation_methode_specimen}<br />"+
306
			"		<span class='{css_label}'>{i18n_etiquette_type_ecriture} :</span> {etiquette_type_ecriture}<br />"+
307
			"	</div>"+
308
			"	<div>"+
309
			"		<h2>{i18n_titre_traitement}</h2>"+
310
			"		<span class='{css_label}'>{i18n_traitement} :</span> {traitement}<br />"+
311
			"		<span class='{css_label}'>{i18n_traitement_poison} :</span> {traitement_poison}<br />"+
312
			"		<span class='{css_label}'>{i18n_traitement_insecte} :</span> {traitement_insecte}<br />"+
313
			"	</div>"+
966 jpm 314
			"	<div>"+
315
			"		<h2>{i18n_titre_etat_degradation}</h2>"+
316
			"		<span class='{css_label}'>{i18n_etat_general} :</span> {etat_general}<br />"+
317
			"		<span class='{css_label}'>{i18n_degradation_specimen} :</span> {degradation_specimen}<br />"+
318
			"		<span class='{css_label}'>{i18n_degradation_presentation} :</span> {degradation_presentation}<br />"+
319
			"		<span class='{css_label}'>{i18n_determination} :</span> {determination}<br />"+
320
			"	</div>"+
630 jp_milcent 321
			"</div>";
322
	}
323
 
961 jpm 324
	private void initialiserTableauUniteRangementTpl() {
325
		tableauUniteRangementTpl =
326
			"<table>"+
327
			"	<thead>"+
328
			"		<tr>" +
329
			"			<th>{i18n_type}</th>" +
330
			"			<th>{i18n_nombre}</th>" +
331
			"			<th>{i18n_precision}</th>" +
332
			"			<th>{i18n_format}</th>" +
333
			"		</tr>"+
334
			"	</thead>"+
335
			"	<tbody>"+
336
			"		{lignes}"+
337
			"	</tbody>"+
338
			"</table>";
339
	}
340
 
341
	private void initialiserLigneUniteRangementTpl() {
342
		ligneUniteRangementTpl =
343
			"<tr>"+
344
			"	<td>{type}</td>"+
345
			"	<td>{nombre}</td>"+
346
			"	<td>{precision}</td>"+
347
			"	<td>{format}</td>"+
348
			"</tr>";
349
	}
350
 
351
	private void initialiserTableauUniteBaseTpl() {
352
		tableauUniteBaseTpl =
353
			"<table>"+
354
			"	<thead>"+
355
			"		<tr>" +
356
			"			<th colspan='4'>{i18n_unite_base}</th>" +
357
			"			<th colspan='2'>{i18n_part}</th>" +
358
			"			<th colspan='2'>{i18n_sp}</th>" +
359
			"		</tr>"+
360
			"		<tr>" +
361
			"			<th>{i18n_type}</th>" +
362
			"			<th>{i18n_nombre}</th>" +
363
			"			<th>{i18n_precision}</th>" +
364
			"			<th>{i18n_format}</th>" +
365
			"			<th>{i18n_nombre}</th>" +
366
			"			<th>{i18n_precision}</th>" +
367
			"			<th>{i18n_nombre}</th>" +
368
			"			<th>{i18n_precision}</th>" +
369
			"		</tr>"+
370
			"	</thead>"+
371
			"	<tbody>"+
372
			"		{lignes}"+
373
			"	</tbody>"+
374
			"</table>";
375
	}
376
 
377
	private void initialiserLigneUniteBaseTpl() {
378
		ligneUniteBaseTpl =
379
			"<tr>"+
380
			"	<td>{type}</td>"+
381
			"	<td>{nombre}</td>"+
382
			"	<td>{precision}</td>"+
383
			"	<td>{format}</td>"+
384
			"	<td>{part_nombre}</td>"+
385
			"	<td>{part_precision}</td>"+
386
			"	<td>{sp_nombre}</td>"+
387
			"	<td>{sp_precision}</td>"+
388
			"</tr>";
389
	}
390
 
630 jp_milcent 391
	private void initialiserContenuTpl() {
392
		contenuTpl =
393
			"<div class='{css_corps}'>"+
394
			"	<div class='{css_fieldset}'>"+
966 jpm 395
			"		<h2>{i18n_titre_nature}</h2>"+
396
			"		<span class='{css_label}'>{i18n_nature} :</span> {nature}<br />"+
397
			"		<span class='{css_label}'>{i18n_specialite} :</span> {specialite}<br />"+
630 jp_milcent 398
			"	</div>"+
966 jpm 399
			"	<div class='{css_fieldset}'>"+
400
			"		<h2>{i18n_titre_constitution}</h2>"+
401
			"		<span class='{css_label}'>{i18n_periode} :</span> {periode}<br />"+
402
			"		<span class='{css_label}'>{i18n_date_debut} :</span> {date_debut}<br />"+
403
			"		<span class='{css_label}'>{i18n_date_fin} :</span> {date_fin}<br />"+
404
			"	</div>"+
630 jp_milcent 405
			"	<hr class='{css_clear}'/>"+
966 jpm 406
			"	<div class='{css_fieldset}'>"+
407
			"		<h2>{i18n_titre_classement}</h2>"+
408
			"		<span class='{css_label}'>{i18n_classement_etat} :</span> {classement_etat}<br />"+
409
			"		<span class='{css_label}'>{i18n_classement} :</span> {classement}<br />"+
410
			"	</div>"+
411
			"	<div class='{css_fieldset}'>"+
412
			"		<h2>{i18n_titre_etiquette}</h2>"+
413
			"		<span class='{css_label}'>{i18n_etiquette_renseignement} :</span> {etiquette_renseignement}<br />"+
414
			"		<span class='{css_label}'>{i18n_precision_localite} :</span> {precision_localite}<br />"+
415
			"		<span class='{css_label}'>{i18n_precision_date} :</span> {precision_date}<br />"+
416
			"		<span class='{css_label}'>{i18n_etiquette_annotation} :</span> {etiquette_annotation}<br />"+
417
			"	</div>"+
418
			"	<hr class='{css_clear}'/>"+
419
			"	<div class='{css_fieldset}'>"+
420
			"		<h2>{i18n_titre_integree}</h2>"+
421
			"		<span class='{css_label}'>{i18n_collection_integration} :</span> {collection_integration}<br />"+
422
			"		<span class='{css_label}'>{i18n_collection_integration_info} :</span> {collection_integration_info}<br />"+
423
			"	</div>"+
630 jp_milcent 424
			"</div>";
425
	}
426
 
427
	private void initialiserInventaireTpl() {
428
		inventaireTpl =
429
			"<div class='{css_corps}'>"+
430
			"	<div class='{css_fieldset}'>"+
431
			"		<h2>{i18n_titre_inventaire}</h2>"+
966 jpm 432
			"		<span class='{css_label}'>{i18n_existence} :</span> {existence}<br />"+
433
			"		<span class='{css_label}'>{i18n_participation_auteur} :</span> {participation_auteur}<br />"+
434
			"		<span class='{css_label}'>{i18n_forme} :</span> {forme}<br />"+
435
			"		<span class='{css_label}'>{i18n_info} :</span> {info}<br />"+
436
			"		<span class='{css_label}'>{i18n_digital} :</span> {digital}<br />"+
437
			"		<span class='{css_label}'>{i18n_digital_pourcent} :</span> {digital_pourcent}<br />"+
438
			"		<span class='{css_label}'>{i18n_etat} :</span> {etat}<br />"+
439
			"		<span class='{css_label}'>{i18n_type_donnee} :</span> {type_donnee}<br />"+
630 jp_milcent 440
			"	</div>"+
441
			"	<hr class='{css_clear}'/>"+
442
			"</div>";
443
	}
444
 
453 jp_milcent 445
	private void chargerOntologie() {
961 jpm 446
		String[] listesCodes = {"typeCollectionBota", "typeCollectionNcd", "typeDepot", "groupementPrincipe",
447
			"realisationBut", "onpi", "ea", "typeClassement", "relationPersonneCollection", "ion",
969 jpm 448
			"typeUniteRangement", "etat", "typeUniteBase", "typePapier", "methodeRangement", "methodeFixation",
449
			"methodeFixationSurSpecimen", "typeEcriture", "poisonTraitement", "insecteTraitement", "specimenDegradation",
450
			"niveauImportance", "supportDegradation", "niveauDetermination", "natureVegetale", "siecleNaturaliste",
451
			"dateDebut", "dateFin", "etat", "onep", "onp", "inventaireForme", "inventaireLogiciel", "inventaireEtat"};
813 jpm 452
		lancerChargementListesValeurs(listesCodes);
453 jp_milcent 453
	}
454
 
811 jpm 455
	public void rafraichir(Object nouvellesDonnees) {
456
		if (nouvellesDonnees instanceof Collection) {
457
			collection = (Collection) nouvellesDonnees;
813 jpm 458
			collectionChargementOk = true;
811 jpm 459
		} else if (nouvellesDonnees instanceof ProjetListe) {
460
			projets = (ProjetListe) nouvellesDonnees;
813 jpm 461
			projetsChargementOk = true;
811 jpm 462
		} else if (nouvellesDonnees instanceof ValeurListe) {
813 jpm 463
			ValeurListe listeValeursReceptionnee = (ValeurListe) nouvellesDonnees;
816 jpm 464
			receptionerListeValeurs(listeValeursReceptionnee);
883 jpm 465
		} else if (nouvellesDonnees instanceof Information) {
466
			Information info = (Information) nouvellesDonnees;
467
			if (info.getType().equals("liste_collection_a_personne")) {
468
				lierCollectionAPersonne((CollectionAPersonneListe) info.getDonnee(0));
469
			} else if (info.getType().equals("liste_collection_a_publication")) {
470
				lierCollectionAPublication((CollectionAPublicationListe) info.getDonnee(0));
471
			}
453 jp_milcent 472
		} else {
950 jpm 473
			Debug.log(Mediateur.i18nM.erreurRafraichir(nouvellesDonnees.getClass(), this.getClass()));
453 jp_milcent 474
		}
813 jpm 475
 
476
		if (avoirDonneesChargees()) {
477
			afficherDetail();
478
		}
453 jp_milcent 479
	}
480
 
883 jpm 481
	protected void lierCollectionAPersonne(CollectionAPersonneListe personnes) {
482
		collection.setPersonnesLiees(personnes);
483
		personnesLieesChargementOk = true;
484
	}
485
 
486
	protected void lierCollectionAPublication(CollectionAPublicationListe publications) {
487
		collection.setPublicationsLiees(publications);
488
		publicationsLieesChargementOk = true;
489
	}
490
 
813 jpm 491
	private boolean avoirDonneesChargees() {
492
		boolean ok = false;
948 jpm 493
		//Debug.log("projetsChargementOk:"+projetsChargementOk+"-collectionChargementOk:"+collectionChargementOk+"-ontologieChargementOk:"+ontologieChargementOk+"-personnesLieesChargementOk:"+personnesLieesChargementOk+"-publicationsLieesChargementOk:"+publicationsLieesChargementOk);
883 jpm 494
		if (projetsChargementOk && collectionChargementOk && ontologieChargementOk && personnesLieesChargementOk && publicationsLieesChargementOk) {
813 jpm 495
			ok = true;
496
		}
497
		return ok;
498
	}
499
 
453 jp_milcent 500
	private void afficherDetail() {
501
		if (collection != null) {
502
			afficherEntete();
503
			afficherIdentification();
883 jpm 504
			afficherPersonne();
687 jp_milcent 505
			afficherPublication();
630 jp_milcent 506
			afficherDescription();
507
			afficherContenu();
508
			afficherInventaire();
453 jp_milcent 509
		}
510
		layout();
511
	}
512
 
513
	private void afficherEntete() {
514
		Params enteteParams = new Params();
515
		enteteParams.set("css_id", ComposantId.ZONE_DETAIL_ENTETE);
516
		enteteParams.set("css_meta", ComposantClass.META);
517
 
813 jpm 518
		enteteParams.set("i18n_id", i18nC.id());
519
 
453 jp_milcent 520
		enteteParams.set("nom", collection.getNom());
468 jp_milcent 521
		enteteParams.set("structure", collection.getStructureNom());
453 jp_milcent 522
		enteteParams.set("id", collection.getId());
523
		enteteParams.set("guid", collection.getGuid());
524
		enteteParams.set("projet", construireTxtProjet(collection.getIdProjet()));
525
 
526
		String eHtml = Format.substitute(enteteTpl, enteteParams);
527
		entete.getElement().setInnerHTML(eHtml);
528
	}
529
 
530
	private void afficherIdentification() {
531
		Params generalParams = new Params();
532
		generalParams.set("i18n_titre_identification", i18nC.titreAdministratif());
961 jpm 533
		generalParams.set("i18n_nom_alternatif", i18nC.intituleAlternatifCollection());
477 jp_milcent 534
		generalParams.set("i18n_mere", i18nC.collectionMere());
687 jp_milcent 535
		generalParams.set("i18n_type_ncd", i18nC.typeCollectionNcd());
536
		generalParams.set("i18n_type_depot", i18nC.typeDepot());
961 jpm 537
		generalParams.set("i18n_id_alternatif", i18nC.idAlternatifCollection());
538
		generalParams.set("i18n_code", i18nC.codeAlternatifCollection());
539
		generalParams.set("i18n_cote", i18nC.cote());
540
 
630 jp_milcent 541
		generalParams.set("i18n_general_collection_titre", i18nC.collectionGeneralTitre());
477 jp_milcent 542
		generalParams.set("i18n_description", i18nC.description());
543
		generalParams.set("i18n_description_specialiste", i18nC.descriptionSpecialiste());
544
		generalParams.set("i18n_historique", i18nC.historique());
545
		generalParams.set("i18n_web", i18nC.siteWeb());
961 jpm 546
 
547
		generalParams.set("i18n_couverture_collection_titre", i18nC.collectionCouvertureTitre());
477 jp_milcent 548
		generalParams.set("i18n_groupement_principe", i18nC.groupementPrincipe());
549
		generalParams.set("i18n_groupement_but", i18nC.groupementBut());
961 jpm 550
		generalParams.set("i18n_couverture_geo", i18nC.couvertureGeo());
477 jp_milcent 551
 
961 jpm 552
		generalParams.set("i18n_specimen_type_titre", i18nC.collectionSpecimenTypeTitre());
553
		generalParams.set("i18n_specimen_type_presence", i18nC.specimenTypeCollectionDetail());
554
		generalParams.set("i18n_specimen_type_nombre", i18nC.nbreSpecimenTypeCollectionDetail());
555
		generalParams.set("i18n_specimen_type_classement", i18nC.classementSpecimenTypeCollectionDetail());
556
 
630 jp_milcent 557
		String nomAlternatif = construireTxtTruck(collection.getNomAlternatif());
558
		String typeNcd = construireTxtListeOntologie(collection.getTypeNcd());
559
		String typeDepot = construireTxtListeOntologie(collection.getTypeDepot());
961 jpm 560
		String idAlternatif = construireTxtTruck(collection.getIdAlternatif());
561
		String code = construireTxtTruck(collection.getCode());
562
 
563
		String urls = construireTxtTruck(collection.getUrls());
564
 
875 jpm 565
		String groupementBut = construireTxtListeOntologie(collection.getGroupementBut());
566
		String groupementPrincipe = construireTxtListeOntologie(collection.getGroupementPrincipe());
961 jpm 567
		String couvertureGeo = construireTxtTruck(collection.getCouvertureLieu());
568
		String specimenTypePresence = construireTxtListeOntologie(collection.getSpecimenType());
569
		String specimenTypeNombrePrecision = construireTxtListeOntologie(collection.getSpecimenTypeNbrePrecision());
570
		String specimenTypeNombre = "";
571
		if (!collection.getSpecimenTypeNbre().equals("0")) {
572
			specimenTypeNombre = collection.getSpecimenTypeNbre()+" ("+specimenTypeNombrePrecision+")";
573
		}
574
		String specimenTypeClassement = construireTxtListeOntologie(collection.getSpecimenTypeClassement());
630 jp_milcent 575
 
576
		generalParams.set("nom_alternatif", nomAlternatif);
577
		generalParams.set("mere", collection.getCollectionMereNom());
687 jp_milcent 578
		generalParams.set("type_ncd", typeNcd);
579
		generalParams.set("type_depot", typeDepot);
961 jpm 580
		generalParams.set("id_alternatif", idAlternatif);
581
		generalParams.set("code", code);
582
		generalParams.set("cote", collection.getCote());
583
 
477 jp_milcent 584
		generalParams.set("description", collection.getDescription());
585
		generalParams.set("description_specialiste", collection.getDescriptionSpecialiste());
630 jp_milcent 586
		generalParams.set("historique", collection.getHistorique());
587
		generalParams.set("web", urls);
961 jpm 588
 
875 jpm 589
		generalParams.set("groupement_principe", groupementPrincipe);
590
		generalParams.set("groupement_but", groupementBut);
961 jpm 591
		generalParams.set("couverture_geo", couvertureGeo);
453 jp_milcent 592
 
961 jpm 593
		generalParams.set("specimen_type_presence", specimenTypePresence);
594
		generalParams.set("specimen_type_nombre", specimenTypeNombre);
595
		generalParams.set("specimen_type_classement", specimenTypeClassement);
596
 
453 jp_milcent 597
		afficherOnglet(generalTpl, generalParams, generalOnglet);
598
	}
599
 
883 jpm 600
	private void afficherPersonne() {
601
		String tableauPersonneHtml = "";
914 jpm 602
		if (collection.getPersonnesLiees() != null && collection.getPersonnesLiees().size() > 0) {
883 jpm 603
			tableauPersonneHtml = construireTableauPersonnesLiees();
604
		}
630 jp_milcent 605
 
883 jpm 606
		Params personneParams = new Params();
607
		personneParams.set("i18n_titre_personne", i18nC.collectionPersonneTitre());
608
		personneParams.set("tableau_personnes_liees", tableauPersonneHtml);
609
 
610
		afficherOnglet(personneTpl, personneParams, personneOnglet);
630 jp_milcent 611
	}
612
 
883 jpm 613
	private String construireTableauPersonnesLiees() {
614
		Params contenuParams = new Params();
961 jpm 615
		contenuParams.set("i18n_relation", i18nC.typeRelationPersonneCollection());
616
		contenuParams.set("i18n_nom_complet", i18nC.personneNomComplet());
883 jpm 617
		contenuParams.set("i18n_prenom", i18nC.personnePrenom());
618
		contenuParams.set("i18n_nom", i18nC.personneNom());
961 jpm 619
		contenuParams.set("i18n_naissance_date", i18nC.personneDateNaissance());
620
		contenuParams.set("i18n_naissance_lieu", i18nC.personneLieuNaissance());
621
		contenuParams.set("i18n_etre_decede", i18nC.personneDeces());
622
		contenuParams.set("i18n_deces_date", i18nC.personneDateDeces());
623
		contenuParams.set("i18n_deces_lieu", i18nC.personneLieuDeces());
883 jpm 624
 
625
		String lignesPersonnel = "";
968 jpm 626
		if (collection.getPersonnesLiees() != null) {
627
			Iterator<String> it = collection.getPersonnesLiees().keySet().iterator();
628
			while (it.hasNext()) {
629
				CollectionAPersonne relationCollectionAPersonne = collection.getPersonnesLiees().get(it.next());
630
				Personne personne = relationCollectionAPersonne.getPersonne();
631
 
632
				String relation = construireTxtListeOntologie(relationCollectionAPersonne.getIdRole());
633
				String etreDecede = construireTxtListeOntologie(personne.getDeces());
634
 
635
				Params ligneParams = new Params();
636
				ligneParams.set("relation", relation);
637
				ligneParams.set("nom_complet", personne.getNomComplet());
638
				ligneParams.set("nom", personne.getNom());
639
				ligneParams.set("prenom", personne.getPrenom());
640
				ligneParams.set("naissance_date", personne.getNaissanceDate());
641
				ligneParams.set("naissance_lieu", personne.getNaissanceLieu());
642
				ligneParams.set("etre_decede", etreDecede);
643
				ligneParams.set("deces_date", personne.getDecesDate());
644
				ligneParams.set("deces_lieu", personne.getDecesLieu());
645
 
646
				lignesPersonnel += Format.substitute(lignePersonneLieeTpl, ligneParams);
647
			}
648
		}
883 jpm 649
 
968 jpm 650
		String cHtml = i18nC.nonRenseigne();
651
		if (!UtilString.isEmpty(lignesPersonnel)) {
652
			contenuParams.set("lignes", lignesPersonnel);
653
			cHtml = Format.substitute(tableauPersonnesLieesTpl, contenuParams);
883 jpm 654
		}
655
		return cHtml;
656
	}
657
 
687 jp_milcent 658
	private void afficherPublication() {
659
		Params publicationParams = new Params();
660
		publicationParams.set("i18n_titre_publication", i18nC.collectionPublicationTitre());
661
 
883 jpm 662
		String tableauPublicationHtml = "";
914 jpm 663
		if (collection.getPersonnesLiees() != null && collection.getPersonnesLiees().size() > 0) {
883 jpm 664
			tableauPublicationHtml = construireTableauPublicationsLiees();
665
		}
666
		publicationParams.set("tableau_publications_liees", tableauPublicationHtml);
667
 
687 jp_milcent 668
		afficherOnglet(publicationTpl, publicationParams, publicationOnglet);
669
	}
670
 
883 jpm 671
	private String construireTableauPublicationsLiees() {
672
		Params contenuParams = new Params();
673
		contenuParams.set("i18n_auteur", i18nC.publicationAuteurs());
674
		contenuParams.set("i18n_titre", i18nC.publicationTitre());
961 jpm 675
		contenuParams.set("i18n_revue", i18nC.publicationRevueCollection());
676
		contenuParams.set("i18n_editeur", i18nC.publicationEditeur());
677
		contenuParams.set("i18n_annee", i18nC.publicationDateParution());
678
		contenuParams.set("i18n_nvt", i18nC.publicationNvt());
679
		contenuParams.set("i18n_fascicule", i18nC.publicationFascicule());
680
		contenuParams.set("i18n_page", i18nC.publicationPage());
883 jpm 681
 
682
		String lignesPublication = "";
968 jpm 683
		if (collection.getPublicationsLiees() != null) {
684
			Iterator<String> it = collection.getPublicationsLiees().keySet().iterator();
685
			while (it.hasNext()) {
686
				CollectionAPublication relationCollectionAPublication = collection.getPublicationsLiees().get(it.next());
687
				Publication publication = relationCollectionAPublication.getPublication();
688
				Params ligneParams = new Params();
689
 
690
				ligneParams.set("auteur", publication.getAuteur());
691
				ligneParams.set("titre", publication.getTitre());
692
				ligneParams.set("revue", publication.getCollection());
693
				ligneParams.set("editeur", publication.getEditeur());
694
				ligneParams.set("annee", publication.getAnneeParution());
695
				ligneParams.set("nvt", publication.getIndicationNvt());
696
				ligneParams.set("fascicule", publication.getFascicule());
697
				ligneParams.set("page", publication.getPages());
698
				lignesPublication += Format.substitute(lignePublicationLieeTpl, ligneParams);
699
			}
883 jpm 700
		}
968 jpm 701
 
702
		String cHtml = i18nC.nonRenseigne();
703
		if (!UtilString.isEmpty(lignesPublication)) {
704
			contenuParams.set("lignes", lignesPublication);
705
			cHtml = Format.substitute(tableauPublicationsLieesTpl, contenuParams);
706
		}
883 jpm 707
		return cHtml;
708
	}
709
 
630 jp_milcent 710
	private void afficherDescription() {
711
		Params descriptionParams = new Params();
712
		descriptionParams.set("i18n_titre_description", i18nC.collectionDescriptionTitre());
875 jpm 713
		descriptionParams.set("i18n_type_botanique", i18nC.typeCollectionBotanique());
714
		descriptionParams.set("i18n_nbre_echantillon", i18nC.nbreEchantillon());
630 jp_milcent 715
 
961 jpm 716
		descriptionParams.set("i18n_titre_unite_rangement", i18nC.collectionUniteRangementTitre());
966 jpm 717
		descriptionParams.set("i18n_etat_unite_rangement", i18nC.collectionUniteRangementEtatGeneralDetail());
961 jpm 718
		descriptionParams.set("i18n_titre_unite_base", i18nC.collectionUniteBaseTitre());
719
 
720
		descriptionParams.set("i18n_titre_conservation", i18nC.collectionTitreConservation());
721
		descriptionParams.set("i18n_type_papier", i18nC.typePapierConservationDetail());
722
		descriptionParams.set("i18n_conservation_methode", i18nC.methodeConservationDetail());
723
 
724
		descriptionParams.set("i18n_titre_etiquette", i18nC.collectionTitreEtiquette());
725
		descriptionParams.set("i18n_specimen_fixation_pourcent", i18nC.specimenFixationPourcent());
726
		descriptionParams.set("i18n_etiquette_fixation_pourcent", i18nC.etiquetteFixationPourcent());
727
		descriptionParams.set("i18n_specimen_fixation_methode", i18nC.specimenMethodeFixationDetail());
728
		descriptionParams.set("i18n_etiquette_fixation_methode_support", i18nC.etiquetteMethodeFixationSurSupportDetail());
729
		descriptionParams.set("i18n_etiquette_fixation_methode_specimen", i18nC.etiquetteMethodeFixationSurSpecimenDetail());
730
		descriptionParams.set("i18n_etiquette_type_ecriture", i18nC.typeEcritureDetail());
731
 
732
		descriptionParams.set("i18n_titre_traitement", i18nC.collectionTitreTraitement());
733
		descriptionParams.set("i18n_traitement", i18nC.collectionTraitementDetail());
734
		descriptionParams.set("i18n_traitement_poison", i18nC.collectionTraitementPoisonDetail());
735
		descriptionParams.set("i18n_traitement_insecte", i18nC.collectionTraitementInsecteDetail());
736
 
966 jpm 737
		descriptionParams.set("i18n_titre_etat_degradation", i18nC.collectionTitreEtatEtDegradation());
738
		descriptionParams.set("i18n_etat_general", i18nC.collectionEtatGeneralDetail());
739
		descriptionParams.set("i18n_degradation_specimen", i18nC.degradationSpecimenDetail());
740
		descriptionParams.set("i18n_degradation_presentation", i18nC.degradationPresentationDetail());
741
		descriptionParams.set("i18n_determination", i18nC.collectionDeterminationDetail());
742
 
875 jpm 743
		String typeBota = construireTxtListeOntologie(collection.getBotanique().getType());
744
		descriptionParams.set("type_botanique", typeBota);
745
		descriptionParams.set("nbre_echantillon", collection.getBotanique().getNbreEchantillon());
746
 
961 jpm 747
		CollectionBotanique collectionBotanique = collection.getBotanique();
748
		String etatUniteRangement = construireTxtListeOntologie(collectionBotanique.getUniteRangementEtat());
749
		String tableauUniteRangementHtml = construireTableauUniteRangement();
750
		String tableauUniteBaseHtml = construireTableauUniteBase();
751
		descriptionParams.set("tableau_unite_rangement", tableauUniteRangementHtml);
752
		descriptionParams.set("etat_unite_rangement", etatUniteRangement);
753
		descriptionParams.set("tableau_unite_base", tableauUniteBaseHtml);
754
 
755
		String typePapier = construireTxtListeOntologie(collectionBotanique.getConservationPapierType());
756
		String conservationMethode = construireTxtListeOntologie(collectionBotanique.getConservationMethode());
757
		descriptionParams.set("type_papier", typePapier);
758
		descriptionParams.set("conservation_methode", conservationMethode);
759
 
760
		String specimenFixationMethode = construireTxtListeOntologie(collectionBotanique.getSpecimenFixationMethode());
761
		String etiquetteFixationMethodeSupport = construireTxtListeOntologie(collectionBotanique.getEtiquetteFixationSupport());
762
		String etiquetteFixationMethodeSpecimen = construireTxtListeOntologie(collectionBotanique.getEtiquetteFixationSpecimen());
763
		String etiquetteTypeEcriture = construireTxtListeOntologie(collectionBotanique.getEtiquetteEcriture());
764
		descriptionParams.set("specimen_fixation_pourcent", collectionBotanique.getSpecimenFixationPourcent());
765
		descriptionParams.set("etiquette_fixation_pourcent", collectionBotanique.getEtiquetteFixationPourcent());
766
		descriptionParams.set("specimen_fixation_methode", specimenFixationMethode);
767
		descriptionParams.set("etiquette_fixation_methode_support", etiquetteFixationMethodeSupport);
768
		descriptionParams.set("etiquette_fixation_methode_specimen", etiquetteFixationMethodeSpecimen);
769
		descriptionParams.set("etiquette_type_ecriture", etiquetteTypeEcriture);
770
 
771
		String traitement = construireTxtListeOntologie(collectionBotanique.getTraitement());
772
		String traitementPoison = construireTxtListeOntologie(collectionBotanique.getTraitementPoison());
773
		String traitementInsecte = construireTxtListeOntologie(collectionBotanique.getTraitementInsecte());
774
		descriptionParams.set("traitement", traitement);
775
		descriptionParams.set("traitement_poison", traitementPoison);
776
		descriptionParams.set("traitement_insecte", traitementInsecte);
777
 
966 jpm 778
		String etatGeneral = construireTxtListeOntologie(collectionBotanique.getEtatGeneral());
779
		boolean valeurEstOntologie = false;
780
		boolean typeEstOntologie = true;
781
		boolean donneeEstOntologie = true;
782
		String degradationSpecimen = construireTxtListeOntologie(collectionBotanique.getDegradationSpecimen(), valeurEstOntologie, typeEstOntologie, donneeEstOntologie);
783
		String degradationPresentation = construireTxtListeOntologie(collectionBotanique.getDegradationPresentation(), valeurEstOntologie, typeEstOntologie, donneeEstOntologie);
784
		String determination = construireTxtListeOntologie(collectionBotanique.getDetermination());
785
		descriptionParams.set("etat_general", etatGeneral);
786
		descriptionParams.set("degradation_specimen", degradationSpecimen);
787
		descriptionParams.set("degradation_presentation", degradationPresentation);
788
		descriptionParams.set("determination", determination);
789
 
630 jp_milcent 790
		afficherOnglet(descriptionTpl, descriptionParams, descriptionOnglet);
791
	}
792
 
961 jpm 793
	private String construireTableauUniteRangement() {
794
		Params contenuParams = new Params();
795
		contenuParams.set("i18n_type", i18nC.collectionUniteType());
796
		contenuParams.set("i18n_nombre", i18nC.collectionUniteNbre());
797
		contenuParams.set("i18n_precision", i18nC.collectionUnitePrecision());
798
		contenuParams.set("i18n_format", i18nC.collectionUniteFormat());
799
 
800
		CollectionBotanique collectionBotanique = collection.getBotanique();
801
		HashMap<String,UniteRangement> unites = CollectionFormDescription.parserValeurUniteRangement(collectionBotanique.getUniteRangement());
802
 
803
		String lignesUnite = "";
804
		Iterator<String> it = unites.keySet().iterator();
805
		while (it.hasNext()) {
806
			String cle = it.next();
807
			UniteRangement unite = unites.get(cle);
808
			if (unite.getNombre() != 0) {
809
				Params ligneParams = new Params();
810
				if (unite.getTypeAutre()) {
811
					ligneParams.set("type", unite.getType());
812
				} else {
813
					ligneParams.set("type", construireTxtListeOntologie(unite.getId()));
814
				}
815
				ligneParams.set("nombre", UtilNombre.formaterEnEntier(unite.getNombre()));
816
				ligneParams.set("precision", unite.getPrecision());
817
				ligneParams.set("format", unite.getFormat());
818
 
819
				lignesUnite += Format.substitute(ligneUniteRangementTpl, ligneParams);
820
			}
821
		}
822
 
823
		String cHtml = i18nC.nonRenseigne();
824
		if (!UtilString.isEmpty(lignesUnite)) {
825
			contenuParams.set("lignes", lignesUnite);
826
			cHtml = Format.substitute(tableauUniteRangementTpl, contenuParams);
827
		}
828
		return cHtml;
829
	}
830
 
831
	private String construireTableauUniteBase() {
832
		Params contenuParams = new Params();
833
		contenuParams.set("i18n_unite_base", i18nC.collectionUniteBase());
834
		contenuParams.set("i18n_part", i18nC.collectionUniteBasePart());
835
		contenuParams.set("i18n_sp", i18nC.collectionUniteBaseSp());
836
 
837
		contenuParams.set("i18n_type", i18nC.collectionUniteType());
838
		contenuParams.set("i18n_nombre", i18nC.collectionUniteNbre());
839
		contenuParams.set("i18n_precision", i18nC.collectionUnitePrecision());
840
		contenuParams.set("i18n_format", i18nC.collectionUniteFormat());
841
 
842
		CollectionBotanique collectionBotanique = collection.getBotanique();
843
		HashMap<String,UniteBase> unites = CollectionFormDescription.parserValeurUniteBase(collectionBotanique.getUniteBase());
844
 
845
		String lignesUnite = "";
846
		Iterator<String> it = unites.keySet().iterator();
847
		while (it.hasNext()) {
848
			String cle = it.next();
849
			UniteBase unite = unites.get(cle);
850
			if (unite.getNombre() != 0 || unite.getNombrePart() != 0 || unite.getNombreSp() != 0) {
851
				Params ligneParams = new Params();
852
				if (unite.getTypeAutre()) {
853
					ligneParams.set("type", unite.getType());
854
				} else {
855
					ligneParams.set("type", construireTxtListeOntologie(unite.getId()));
856
				}
857
				ligneParams.set("nombre", UtilNombre.formaterEnEntier(unite.getNombre()));
858
				ligneParams.set("precision", unite.getPrecision());
859
				ligneParams.set("format", unite.getFormat());
860
				ligneParams.set("part_nombre", unite.getNombrePart());
861
				ligneParams.set("part_precision", unite.getPrecisionPart());
862
				ligneParams.set("sp_nombre", unite.getNombreSp());
863
				ligneParams.set("sp_precision", unite.getPrecisionSp());
864
 
865
				lignesUnite += Format.substitute(ligneUniteBaseTpl, ligneParams);
866
			}
867
		}
868
 
869
		String cHtml = i18nC.nonRenseigne();
870
		if (!UtilString.isEmpty(lignesUnite)) {
871
			contenuParams.set("lignes", lignesUnite);
872
			cHtml = Format.substitute(tableauUniteBaseTpl, contenuParams);
873
		}
874
		return cHtml;
875
	}
876
 
630 jp_milcent 877
	private void afficherContenu() {
878
		Params contenuParams = new Params();
966 jpm 879
		contenuParams.set("i18n_titre_nature", i18nC.collectionNatureTitre());
880
		contenuParams.set("i18n_nature", i18nC.natureVegetaleContenuDetail());
881
		contenuParams.set("i18n_specialite", i18nC.specialiteCollectionDetail());
630 jp_milcent 882
 
966 jpm 883
		contenuParams.set("i18n_titre_constitution", i18nC.collectionConstitutionTitre());
884
		contenuParams.set("i18n_periode", i18nC.periodeConstitutionDetail());
885
		contenuParams.set("i18n_date_debut", i18nC.dateDebutCollectionDetail());
886
		contenuParams.set("i18n_date_fin", i18nC.dateFinCollectionDetail());
887
 
888
		contenuParams.set("i18n_titre_classement", i18nC.collectionClassementTitre());
889
		contenuParams.set("i18n_classement_etat", i18nC.etatClassementCollectionDetail());
890
		contenuParams.set("i18n_classement", i18nC.annotationClassementCollectionDetail());
891
 
892
		contenuParams.set("i18n_titre_etiquette", i18nC.collectionEtiquetteTitre());
893
		contenuParams.set("i18n_etiquette_renseignement", i18nC.etiquetteRenseignementDetail());
894
		contenuParams.set("i18n_precision_localite", i18nC.precisionLocaliteDetail());
895
		contenuParams.set("i18n_precision_date", i18nC.precisionDateDetail());
896
		contenuParams.set("i18n_etiquette_annotation", i18nC.etiquetteAnnotationDetail());
897
 
898
		contenuParams.set("i18n_titre_integree", i18nC.collectionIntegreeTitre());
899
		contenuParams.set("i18n_collection_integration", i18nC.integreCollectionDetail());
900
		contenuParams.set("i18n_collection_integration_info", i18nC.infoIntegreCollectionDetail());
901
 
902
		CollectionBotanique collectionBotanique = collection.getBotanique();
903
		String nature = construireTxtListeOntologie(collectionBotanique.getNature());
904
		contenuParams.set("nature", nature);
905
		contenuParams.set("specialite", collectionBotanique.getSpecialite());
906
 
907
		String periode = construireTxtListeOntologie(collection.getPeriodeConstitution());
908
		String dateDebut = collectionBotanique.getRecolteDateDebut();
909
		String dateDebutPrecision = construireTxtListeOntologie(collectionBotanique.getRecolteDateDebutType());
910
		String dateDebutRecolte = (UtilString.isEmpty(dateDebut)) ? "" : dateDebut+" ("+dateDebutPrecision+")";
911
		String dateFin = collectionBotanique.getRecolteDateFin();
912
		String dateFinPrecision = construireTxtListeOntologie(collectionBotanique.getRecolteDateFinType());
913
		String dateFinRecolte = (UtilString.isEmpty(dateFin)) ? "" : dateFin+" ("+dateFinPrecision+")";
914
		contenuParams.set("periode", periode);
915
		contenuParams.set("date_debut", dateDebutRecolte);
916
		contenuParams.set("date_fin", dateFinRecolte);
917
 
918
		String classementEtat = construireTxtListeOntologie(collectionBotanique.getClassementEtat());
919
		contenuParams.set("classement_etat", classementEtat);
920
		contenuParams.set("classement", collectionBotanique.getClassementAnnotation());
921
 
922
		String etiquetteRenseignements = "";
923
		HashMap<String,String> infos = CollectionFormContenu.parserEtiquetteRenseignement(collectionBotanique.getEtiquetteRenseignement());
924
		if (infos != null) {
925
			Iterator<String> it = infos.keySet().iterator();
926
			while (it.hasNext()) {
927
				String cle = it.next();
928
				if (cle.equals("AT")) {
929
					etiquetteRenseignements += i18nC.etiquetteAuteurCollection();
930
				} else if (cle.equals("F")) {
931
					etiquetteRenseignements += i18nC.etiquetteFamille();
932
				} else if (cle.equals("G")) {
933
					etiquetteRenseignements += i18nC.etiquetteGenre();
934
				} else if (cle.equals("SP")) {
935
					etiquetteRenseignements += i18nC.etiquetteSp();
936
				} else if (cle.equals("ASP")) {
937
					etiquetteRenseignements += i18nC.etiquetteAuteurSp();
938
				} else if (cle.equals("L")) {
939
					etiquetteRenseignements += i18nC.etiquetteLocalite();
940
				} else if (cle.equals("D")) {
941
					etiquetteRenseignements += i18nC.etiquetteDateRecolte();
942
				} else {
943
					etiquetteRenseignements += i18nC.inconnue();
944
				}
945
				etiquetteRenseignements += ": "+infos.get(cle)+"%,";
946
			}
947
		}
948
		String precisionLocalite = construireTxtListeOntologie(collectionBotanique.getPrecisionLocalite());
949
		String precisionDate = construireTxtListeOntologie(collectionBotanique.getPrecisionDate());
950
		contenuParams.set("etiquette_renseignement", etiquetteRenseignements);
951
		contenuParams.set("precision_localite", precisionLocalite);
952
		contenuParams.set("precision_date", precisionDate);
953
		contenuParams.set("etiquette_annotation", collectionBotanique.getAnnotationsDiverses());
954
 
955
		String collectionIntegration = construireTxtListeOntologie(collectionBotanique.getCollectionIntegre());
956
		String collectionIntegrationInfo = construireTxtListeOntologie(collectionBotanique.getCollectionIntegreInfo());
957
		contenuParams.set("collection_integration", collectionIntegration);
958
		contenuParams.set("collection_integration_info", collectionIntegrationInfo);
959
 
630 jp_milcent 960
		afficherOnglet(contenuTpl, contenuParams, contenuOnglet);
961
	}
962
 
963
	private void afficherInventaire() {
964
		Params inventaireParams = new Params();
965
		inventaireParams.set("i18n_titre_inventaire", i18nC.collectionInventaireTitre());
966 jpm 966
		inventaireParams.set("i18n_existence", i18nC.existenceInventaireCollectionDetail());
967
		inventaireParams.set("i18n_participation_auteur", i18nC.auteurInventaireCollectionDetail());
968
		inventaireParams.set("i18n_forme", i18nC.formeInventaireCollectionDetail());
969
		inventaireParams.set("i18n_info", i18nC.infoInventaireCollectionDetail());
970
		inventaireParams.set("i18n_digital", i18nC.digitalInventaireCollectionDetail());
971
		inventaireParams.set("i18n_digital_pourcent", i18nC.pourcentDigitalInventaireCollectionDetail());
972
		inventaireParams.set("i18n_etat", i18nC.etatInventaireCollectionDetail());
973
		inventaireParams.set("i18n_type_donnee", i18nC.typeDonneeInventaireCollectionDetail());
630 jp_milcent 974
 
966 jpm 975
		CollectionBotanique collectionBotanique = collection.getBotanique();
976
		String existence = construireTxtListeOntologie(collectionBotanique.getInventaire());
977
		String participationAuteur = construireTxtListeOntologie(collectionBotanique.getInventaireAuteur());
978
		String forme = construireTxtListeOntologie(collectionBotanique.getInventaireForme());
979
		String digital = construireTxtListeOntologie(collectionBotanique.getInventaireDigital());
980
		String digitalPourcent = collectionBotanique.getInventaireDigitalPourcent()+"%";
981
		String etat = construireTxtListeOntologie(collectionBotanique.getInventaireEtat());
982
		inventaireParams.set("existence", existence);
983
		inventaireParams.set("participation_auteur", participationAuteur);
984
		inventaireParams.set("forme", forme);
985
		inventaireParams.set("info", collectionBotanique.getInventaireInfo());
986
		inventaireParams.set("digital", digital);
987
		inventaireParams.set("digital_pourcent", digitalPourcent);
988
		inventaireParams.set("etat", etat);
989
		inventaireParams.set("type_donnee", collectionBotanique.getInventaireDonneesTypes());
990
 
630 jp_milcent 991
		afficherOnglet(inventaireTpl, inventaireParams, inventaireOnglet);
992
	}
993
 
468 jp_milcent 994
	protected String getNomStructure() {
995
		String nomStructure = "";
996
		if (structure != null) {
997
			nomStructure = structure.getNom();
998
		} else {
999
			nomStructure = collection.getIdStructure();
453 jp_milcent 1000
		}
468 jp_milcent 1001
		return nomStructure;
453 jp_milcent 1002
	}
1003
}