Subversion Repositories eFlore/Applications.coel

Rev

Rev 961 | Rev 968 | 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",
966 jpm 448
			"typeUniteRangement", "etat", "typePapier", "methodeRangement", "methodeFixation", "methodeFixationSurSpecimen",
449
			"typeEcriture", "poisonTraitement", "insecteTraitement", "specimenDegradation", "niveauImportance",
450
			"supportDegradation", "niveauDetermination", "natureVegetale", "siecleNaturaliste", "dateDebut", "dateFin",
451
			"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 = "";
626
 
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();
961 jpm 631
 
632
			String relation = construireTxtListeOntologie(relationCollectionAPersonne.getIdRole());
633
			String etreDecede = construireTxtListeOntologie(personne.getDeces());
634
 
883 jpm 635
			Params ligneParams = new Params();
961 jpm 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());
883 jpm 645
 
646
			lignesPersonnel += Format.substitute(lignePersonneLieeTpl, ligneParams);
647
		}
648
		contenuParams.set("lignes", lignesPersonnel);
649
 
650
		String cHtml = Format.substitute(tableauPersonnesLieesTpl, contenuParams);
651
		return cHtml;
652
	}
653
 
687 jp_milcent 654
	private void afficherPublication() {
655
		Params publicationParams = new Params();
656
		publicationParams.set("i18n_titre_publication", i18nC.collectionPublicationTitre());
657
 
883 jpm 658
		String tableauPublicationHtml = "";
914 jpm 659
		if (collection.getPersonnesLiees() != null && collection.getPersonnesLiees().size() > 0) {
883 jpm 660
			tableauPublicationHtml = construireTableauPublicationsLiees();
661
		}
662
		publicationParams.set("tableau_publications_liees", tableauPublicationHtml);
663
 
687 jp_milcent 664
		afficherOnglet(publicationTpl, publicationParams, publicationOnglet);
665
	}
666
 
883 jpm 667
	private String construireTableauPublicationsLiees() {
668
		Params contenuParams = new Params();
669
		contenuParams.set("i18n_auteur", i18nC.publicationAuteurs());
670
		contenuParams.set("i18n_titre", i18nC.publicationTitre());
961 jpm 671
		contenuParams.set("i18n_revue", i18nC.publicationRevueCollection());
672
		contenuParams.set("i18n_editeur", i18nC.publicationEditeur());
673
		contenuParams.set("i18n_annee", i18nC.publicationDateParution());
674
		contenuParams.set("i18n_nvt", i18nC.publicationNvt());
675
		contenuParams.set("i18n_fascicule", i18nC.publicationFascicule());
676
		contenuParams.set("i18n_page", i18nC.publicationPage());
883 jpm 677
 
678
		String lignesPublication = "";
679
 
680
		Iterator<String> it = collection.getPublicationsLiees().keySet().iterator();
681
		while (it.hasNext()) {
682
			CollectionAPublication relationCollectionAPublication = collection.getPublicationsLiees().get(it.next());
683
			Publication publication = relationCollectionAPublication.getPublication();
684
			Params ligneParams = new Params();
685
 
686
			ligneParams.set("auteur", publication.getAuteur());
687
			ligneParams.set("titre", publication.getTitre());
961 jpm 688
			ligneParams.set("revue", publication.getCollection());
689
			ligneParams.set("editeur", publication.getEditeur());
690
			ligneParams.set("annee", publication.getAnneeParution());
691
			ligneParams.set("nvt", publication.getIndicationNvt());
692
			ligneParams.set("fascicule", publication.getFascicule());
693
			ligneParams.set("page", publication.getPages());
883 jpm 694
			lignesPublication += Format.substitute(lignePublicationLieeTpl, ligneParams);
695
		}
696
		contenuParams.set("lignes", lignesPublication);
697
 
698
		String cHtml = Format.substitute(tableauPublicationsLieesTpl, contenuParams);
699
		return cHtml;
700
	}
701
 
630 jp_milcent 702
	private void afficherDescription() {
703
		Params descriptionParams = new Params();
704
		descriptionParams.set("i18n_titre_description", i18nC.collectionDescriptionTitre());
875 jpm 705
		descriptionParams.set("i18n_type_botanique", i18nC.typeCollectionBotanique());
706
		descriptionParams.set("i18n_nbre_echantillon", i18nC.nbreEchantillon());
630 jp_milcent 707
 
961 jpm 708
		descriptionParams.set("i18n_titre_unite_rangement", i18nC.collectionUniteRangementTitre());
966 jpm 709
		descriptionParams.set("i18n_etat_unite_rangement", i18nC.collectionUniteRangementEtatGeneralDetail());
961 jpm 710
		descriptionParams.set("i18n_titre_unite_base", i18nC.collectionUniteBaseTitre());
711
 
712
		descriptionParams.set("i18n_titre_conservation", i18nC.collectionTitreConservation());
713
		descriptionParams.set("i18n_type_papier", i18nC.typePapierConservationDetail());
714
		descriptionParams.set("i18n_conservation_methode", i18nC.methodeConservationDetail());
715
 
716
		descriptionParams.set("i18n_titre_etiquette", i18nC.collectionTitreEtiquette());
717
		descriptionParams.set("i18n_specimen_fixation_pourcent", i18nC.specimenFixationPourcent());
718
		descriptionParams.set("i18n_etiquette_fixation_pourcent", i18nC.etiquetteFixationPourcent());
719
		descriptionParams.set("i18n_specimen_fixation_methode", i18nC.specimenMethodeFixationDetail());
720
		descriptionParams.set("i18n_etiquette_fixation_methode_support", i18nC.etiquetteMethodeFixationSurSupportDetail());
721
		descriptionParams.set("i18n_etiquette_fixation_methode_specimen", i18nC.etiquetteMethodeFixationSurSpecimenDetail());
722
		descriptionParams.set("i18n_etiquette_type_ecriture", i18nC.typeEcritureDetail());
723
 
724
		descriptionParams.set("i18n_titre_traitement", i18nC.collectionTitreTraitement());
725
		descriptionParams.set("i18n_traitement", i18nC.collectionTraitementDetail());
726
		descriptionParams.set("i18n_traitement_poison", i18nC.collectionTraitementPoisonDetail());
727
		descriptionParams.set("i18n_traitement_insecte", i18nC.collectionTraitementInsecteDetail());
728
 
966 jpm 729
		descriptionParams.set("i18n_titre_etat_degradation", i18nC.collectionTitreEtatEtDegradation());
730
		descriptionParams.set("i18n_etat_general", i18nC.collectionEtatGeneralDetail());
731
		descriptionParams.set("i18n_degradation_specimen", i18nC.degradationSpecimenDetail());
732
		descriptionParams.set("i18n_degradation_presentation", i18nC.degradationPresentationDetail());
733
		descriptionParams.set("i18n_determination", i18nC.collectionDeterminationDetail());
734
 
875 jpm 735
		String typeBota = construireTxtListeOntologie(collection.getBotanique().getType());
736
		descriptionParams.set("type_botanique", typeBota);
737
		descriptionParams.set("nbre_echantillon", collection.getBotanique().getNbreEchantillon());
738
 
961 jpm 739
		CollectionBotanique collectionBotanique = collection.getBotanique();
740
		String etatUniteRangement = construireTxtListeOntologie(collectionBotanique.getUniteRangementEtat());
741
		String tableauUniteRangementHtml = construireTableauUniteRangement();
742
		String tableauUniteBaseHtml = construireTableauUniteBase();
743
		descriptionParams.set("tableau_unite_rangement", tableauUniteRangementHtml);
744
		descriptionParams.set("etat_unite_rangement", etatUniteRangement);
745
		descriptionParams.set("tableau_unite_base", tableauUniteBaseHtml);
746
 
747
		String typePapier = construireTxtListeOntologie(collectionBotanique.getConservationPapierType());
748
		String conservationMethode = construireTxtListeOntologie(collectionBotanique.getConservationMethode());
749
		descriptionParams.set("type_papier", typePapier);
750
		descriptionParams.set("conservation_methode", conservationMethode);
751
 
752
		String specimenFixationMethode = construireTxtListeOntologie(collectionBotanique.getSpecimenFixationMethode());
753
		String etiquetteFixationMethodeSupport = construireTxtListeOntologie(collectionBotanique.getEtiquetteFixationSupport());
754
		String etiquetteFixationMethodeSpecimen = construireTxtListeOntologie(collectionBotanique.getEtiquetteFixationSpecimen());
755
		String etiquetteTypeEcriture = construireTxtListeOntologie(collectionBotanique.getEtiquetteEcriture());
756
		descriptionParams.set("specimen_fixation_pourcent", collectionBotanique.getSpecimenFixationPourcent());
757
		descriptionParams.set("etiquette_fixation_pourcent", collectionBotanique.getEtiquetteFixationPourcent());
758
		descriptionParams.set("specimen_fixation_methode", specimenFixationMethode);
759
		descriptionParams.set("etiquette_fixation_methode_support", etiquetteFixationMethodeSupport);
760
		descriptionParams.set("etiquette_fixation_methode_specimen", etiquetteFixationMethodeSpecimen);
761
		descriptionParams.set("etiquette_type_ecriture", etiquetteTypeEcriture);
762
 
763
		String traitement = construireTxtListeOntologie(collectionBotanique.getTraitement());
764
		String traitementPoison = construireTxtListeOntologie(collectionBotanique.getTraitementPoison());
765
		String traitementInsecte = construireTxtListeOntologie(collectionBotanique.getTraitementInsecte());
766
		descriptionParams.set("traitement", traitement);
767
		descriptionParams.set("traitement_poison", traitementPoison);
768
		descriptionParams.set("traitement_insecte", traitementInsecte);
769
 
966 jpm 770
		String etatGeneral = construireTxtListeOntologie(collectionBotanique.getEtatGeneral());
771
		boolean valeurEstOntologie = false;
772
		boolean typeEstOntologie = true;
773
		boolean donneeEstOntologie = true;
774
		String degradationSpecimen = construireTxtListeOntologie(collectionBotanique.getDegradationSpecimen(), valeurEstOntologie, typeEstOntologie, donneeEstOntologie);
775
		String degradationPresentation = construireTxtListeOntologie(collectionBotanique.getDegradationPresentation(), valeurEstOntologie, typeEstOntologie, donneeEstOntologie);
776
		String determination = construireTxtListeOntologie(collectionBotanique.getDetermination());
777
		descriptionParams.set("etat_general", etatGeneral);
778
		descriptionParams.set("degradation_specimen", degradationSpecimen);
779
		descriptionParams.set("degradation_presentation", degradationPresentation);
780
		descriptionParams.set("determination", determination);
781
 
630 jp_milcent 782
		afficherOnglet(descriptionTpl, descriptionParams, descriptionOnglet);
783
	}
784
 
961 jpm 785
	private String construireTableauUniteRangement() {
786
		Params contenuParams = new Params();
787
		contenuParams.set("i18n_type", i18nC.collectionUniteType());
788
		contenuParams.set("i18n_nombre", i18nC.collectionUniteNbre());
789
		contenuParams.set("i18n_precision", i18nC.collectionUnitePrecision());
790
		contenuParams.set("i18n_format", i18nC.collectionUniteFormat());
791
 
792
		CollectionBotanique collectionBotanique = collection.getBotanique();
793
		HashMap<String,UniteRangement> unites = CollectionFormDescription.parserValeurUniteRangement(collectionBotanique.getUniteRangement());
794
 
795
		String lignesUnite = "";
796
		Iterator<String> it = unites.keySet().iterator();
797
		while (it.hasNext()) {
798
			String cle = it.next();
799
			UniteRangement unite = unites.get(cle);
800
			if (unite.getNombre() != 0) {
801
				Params ligneParams = new Params();
802
				if (unite.getTypeAutre()) {
803
					ligneParams.set("type", unite.getType());
804
				} else {
805
					ligneParams.set("type", construireTxtListeOntologie(unite.getId()));
806
				}
807
				ligneParams.set("nombre", UtilNombre.formaterEnEntier(unite.getNombre()));
808
				ligneParams.set("precision", unite.getPrecision());
809
				ligneParams.set("format", unite.getFormat());
810
 
811
				lignesUnite += Format.substitute(ligneUniteRangementTpl, ligneParams);
812
			}
813
		}
814
 
815
		String cHtml = i18nC.nonRenseigne();
816
		if (!UtilString.isEmpty(lignesUnite)) {
817
			contenuParams.set("lignes", lignesUnite);
818
			cHtml = Format.substitute(tableauUniteRangementTpl, contenuParams);
819
		}
820
		return cHtml;
821
	}
822
 
823
	private String construireTableauUniteBase() {
824
		Params contenuParams = new Params();
825
		contenuParams.set("i18n_unite_base", i18nC.collectionUniteBase());
826
		contenuParams.set("i18n_part", i18nC.collectionUniteBasePart());
827
		contenuParams.set("i18n_sp", i18nC.collectionUniteBaseSp());
828
 
829
		contenuParams.set("i18n_type", i18nC.collectionUniteType());
830
		contenuParams.set("i18n_nombre", i18nC.collectionUniteNbre());
831
		contenuParams.set("i18n_precision", i18nC.collectionUnitePrecision());
832
		contenuParams.set("i18n_format", i18nC.collectionUniteFormat());
833
 
834
		CollectionBotanique collectionBotanique = collection.getBotanique();
835
		HashMap<String,UniteBase> unites = CollectionFormDescription.parserValeurUniteBase(collectionBotanique.getUniteBase());
836
 
837
		String lignesUnite = "";
838
		Iterator<String> it = unites.keySet().iterator();
839
		while (it.hasNext()) {
840
			String cle = it.next();
841
			UniteBase unite = unites.get(cle);
842
			if (unite.getNombre() != 0 || unite.getNombrePart() != 0 || unite.getNombreSp() != 0) {
843
				Params ligneParams = new Params();
844
				if (unite.getTypeAutre()) {
845
					ligneParams.set("type", unite.getType());
846
				} else {
847
					ligneParams.set("type", construireTxtListeOntologie(unite.getId()));
848
				}
849
				ligneParams.set("nombre", UtilNombre.formaterEnEntier(unite.getNombre()));
850
				ligneParams.set("precision", unite.getPrecision());
851
				ligneParams.set("format", unite.getFormat());
852
				ligneParams.set("part_nombre", unite.getNombrePart());
853
				ligneParams.set("part_precision", unite.getPrecisionPart());
854
				ligneParams.set("sp_nombre", unite.getNombreSp());
855
				ligneParams.set("sp_precision", unite.getPrecisionSp());
856
 
857
				lignesUnite += Format.substitute(ligneUniteBaseTpl, ligneParams);
858
			}
859
		}
860
 
861
		String cHtml = i18nC.nonRenseigne();
862
		if (!UtilString.isEmpty(lignesUnite)) {
863
			contenuParams.set("lignes", lignesUnite);
864
			cHtml = Format.substitute(tableauUniteBaseTpl, contenuParams);
865
		}
866
		return cHtml;
867
	}
868
 
630 jp_milcent 869
	private void afficherContenu() {
870
		Params contenuParams = new Params();
966 jpm 871
		contenuParams.set("i18n_titre_nature", i18nC.collectionNatureTitre());
872
		contenuParams.set("i18n_nature", i18nC.natureVegetaleContenuDetail());
873
		contenuParams.set("i18n_specialite", i18nC.specialiteCollectionDetail());
630 jp_milcent 874
 
966 jpm 875
		contenuParams.set("i18n_titre_constitution", i18nC.collectionConstitutionTitre());
876
		contenuParams.set("i18n_periode", i18nC.periodeConstitutionDetail());
877
		contenuParams.set("i18n_date_debut", i18nC.dateDebutCollectionDetail());
878
		contenuParams.set("i18n_date_fin", i18nC.dateFinCollectionDetail());
879
 
880
		contenuParams.set("i18n_titre_classement", i18nC.collectionClassementTitre());
881
		contenuParams.set("i18n_classement_etat", i18nC.etatClassementCollectionDetail());
882
		contenuParams.set("i18n_classement", i18nC.annotationClassementCollectionDetail());
883
 
884
		contenuParams.set("i18n_titre_etiquette", i18nC.collectionEtiquetteTitre());
885
		contenuParams.set("i18n_etiquette_renseignement", i18nC.etiquetteRenseignementDetail());
886
		contenuParams.set("i18n_precision_localite", i18nC.precisionLocaliteDetail());
887
		contenuParams.set("i18n_precision_date", i18nC.precisionDateDetail());
888
		contenuParams.set("i18n_etiquette_annotation", i18nC.etiquetteAnnotationDetail());
889
 
890
		contenuParams.set("i18n_titre_integree", i18nC.collectionIntegreeTitre());
891
		contenuParams.set("i18n_collection_integration", i18nC.integreCollectionDetail());
892
		contenuParams.set("i18n_collection_integration_info", i18nC.infoIntegreCollectionDetail());
893
 
894
		CollectionBotanique collectionBotanique = collection.getBotanique();
895
		String nature = construireTxtListeOntologie(collectionBotanique.getNature());
896
		contenuParams.set("nature", nature);
897
		contenuParams.set("specialite", collectionBotanique.getSpecialite());
898
 
899
		String periode = construireTxtListeOntologie(collection.getPeriodeConstitution());
900
		String dateDebut = collectionBotanique.getRecolteDateDebut();
901
		String dateDebutPrecision = construireTxtListeOntologie(collectionBotanique.getRecolteDateDebutType());
902
		String dateDebutRecolte = (UtilString.isEmpty(dateDebut)) ? "" : dateDebut+" ("+dateDebutPrecision+")";
903
		String dateFin = collectionBotanique.getRecolteDateFin();
904
		String dateFinPrecision = construireTxtListeOntologie(collectionBotanique.getRecolteDateFinType());
905
		String dateFinRecolte = (UtilString.isEmpty(dateFin)) ? "" : dateFin+" ("+dateFinPrecision+")";
906
		contenuParams.set("periode", periode);
907
		contenuParams.set("date_debut", dateDebutRecolte);
908
		contenuParams.set("date_fin", dateFinRecolte);
909
 
910
		String classementEtat = construireTxtListeOntologie(collectionBotanique.getClassementEtat());
911
		contenuParams.set("classement_etat", classementEtat);
912
		contenuParams.set("classement", collectionBotanique.getClassementAnnotation());
913
 
914
		String etiquetteRenseignements = "";
915
		HashMap<String,String> infos = CollectionFormContenu.parserEtiquetteRenseignement(collectionBotanique.getEtiquetteRenseignement());
916
		if (infos != null) {
917
			Iterator<String> it = infos.keySet().iterator();
918
			while (it.hasNext()) {
919
				String cle = it.next();
920
				if (cle.equals("AT")) {
921
					etiquetteRenseignements += i18nC.etiquetteAuteurCollection();
922
				} else if (cle.equals("F")) {
923
					etiquetteRenseignements += i18nC.etiquetteFamille();
924
				} else if (cle.equals("G")) {
925
					etiquetteRenseignements += i18nC.etiquetteGenre();
926
				} else if (cle.equals("SP")) {
927
					etiquetteRenseignements += i18nC.etiquetteSp();
928
				} else if (cle.equals("ASP")) {
929
					etiquetteRenseignements += i18nC.etiquetteAuteurSp();
930
				} else if (cle.equals("L")) {
931
					etiquetteRenseignements += i18nC.etiquetteLocalite();
932
				} else if (cle.equals("D")) {
933
					etiquetteRenseignements += i18nC.etiquetteDateRecolte();
934
				} else {
935
					etiquetteRenseignements += i18nC.inconnue();
936
				}
937
				etiquetteRenseignements += ": "+infos.get(cle)+"%,";
938
			}
939
		}
940
		String precisionLocalite = construireTxtListeOntologie(collectionBotanique.getPrecisionLocalite());
941
		String precisionDate = construireTxtListeOntologie(collectionBotanique.getPrecisionDate());
942
		contenuParams.set("etiquette_renseignement", etiquetteRenseignements);
943
		contenuParams.set("precision_localite", precisionLocalite);
944
		contenuParams.set("precision_date", precisionDate);
945
		contenuParams.set("etiquette_annotation", collectionBotanique.getAnnotationsDiverses());
946
 
947
		String collectionIntegration = construireTxtListeOntologie(collectionBotanique.getCollectionIntegre());
948
		String collectionIntegrationInfo = construireTxtListeOntologie(collectionBotanique.getCollectionIntegreInfo());
949
		contenuParams.set("collection_integration", collectionIntegration);
950
		contenuParams.set("collection_integration_info", collectionIntegrationInfo);
951
 
630 jp_milcent 952
		afficherOnglet(contenuTpl, contenuParams, contenuOnglet);
953
	}
954
 
955
	private void afficherInventaire() {
956
		Params inventaireParams = new Params();
957
		inventaireParams.set("i18n_titre_inventaire", i18nC.collectionInventaireTitre());
966 jpm 958
		inventaireParams.set("i18n_existence", i18nC.existenceInventaireCollectionDetail());
959
		inventaireParams.set("i18n_participation_auteur", i18nC.auteurInventaireCollectionDetail());
960
		inventaireParams.set("i18n_forme", i18nC.formeInventaireCollectionDetail());
961
		inventaireParams.set("i18n_info", i18nC.infoInventaireCollectionDetail());
962
		inventaireParams.set("i18n_digital", i18nC.digitalInventaireCollectionDetail());
963
		inventaireParams.set("i18n_digital_pourcent", i18nC.pourcentDigitalInventaireCollectionDetail());
964
		inventaireParams.set("i18n_etat", i18nC.etatInventaireCollectionDetail());
965
		inventaireParams.set("i18n_type_donnee", i18nC.typeDonneeInventaireCollectionDetail());
630 jp_milcent 966
 
966 jpm 967
		CollectionBotanique collectionBotanique = collection.getBotanique();
968
		String existence = construireTxtListeOntologie(collectionBotanique.getInventaire());
969
		String participationAuteur = construireTxtListeOntologie(collectionBotanique.getInventaireAuteur());
970
		String forme = construireTxtListeOntologie(collectionBotanique.getInventaireForme());
971
		String digital = construireTxtListeOntologie(collectionBotanique.getInventaireDigital());
972
		String digitalPourcent = collectionBotanique.getInventaireDigitalPourcent()+"%";
973
		String etat = construireTxtListeOntologie(collectionBotanique.getInventaireEtat());
974
		inventaireParams.set("existence", existence);
975
		inventaireParams.set("participation_auteur", participationAuteur);
976
		inventaireParams.set("forme", forme);
977
		inventaireParams.set("info", collectionBotanique.getInventaireInfo());
978
		inventaireParams.set("digital", digital);
979
		inventaireParams.set("digital_pourcent", digitalPourcent);
980
		inventaireParams.set("etat", etat);
981
		inventaireParams.set("type_donnee", collectionBotanique.getInventaireDonneesTypes());
982
 
630 jp_milcent 983
		afficherOnglet(inventaireTpl, inventaireParams, inventaireOnglet);
984
	}
985
 
468 jp_milcent 986
	protected String getNomStructure() {
987
		String nomStructure = "";
988
		if (structure != null) {
989
			nomStructure = structure.getNom();
990
		} else {
991
			nomStructure = collection.getIdStructure();
453 jp_milcent 992
		}
468 jp_milcent 993
		return nomStructure;
453 jp_milcent 994
	}
995
}