Subversion Repositories eFlore/Applications.coel

Rev

Rev 969 | Rev 997 | 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",
975 jpm 451
			"dateDebut", "dateFin", "etat", "onep", "onp", "inventaireForme", "inventaireLogiciel", "inventaireEtat",
452
			"etatClassement"};
813 jpm 453
		lancerChargementListesValeurs(listesCodes);
453 jp_milcent 454
	}
455
 
811 jpm 456
	public void rafraichir(Object nouvellesDonnees) {
457
		if (nouvellesDonnees instanceof Collection) {
458
			collection = (Collection) nouvellesDonnees;
813 jpm 459
			collectionChargementOk = true;
811 jpm 460
		} else if (nouvellesDonnees instanceof ProjetListe) {
461
			projets = (ProjetListe) nouvellesDonnees;
813 jpm 462
			projetsChargementOk = true;
811 jpm 463
		} else if (nouvellesDonnees instanceof ValeurListe) {
813 jpm 464
			ValeurListe listeValeursReceptionnee = (ValeurListe) nouvellesDonnees;
816 jpm 465
			receptionerListeValeurs(listeValeursReceptionnee);
883 jpm 466
		} else if (nouvellesDonnees instanceof Information) {
467
			Information info = (Information) nouvellesDonnees;
468
			if (info.getType().equals("liste_collection_a_personne")) {
469
				lierCollectionAPersonne((CollectionAPersonneListe) info.getDonnee(0));
470
			} else if (info.getType().equals("liste_collection_a_publication")) {
471
				lierCollectionAPublication((CollectionAPublicationListe) info.getDonnee(0));
472
			}
453 jp_milcent 473
		} else {
950 jpm 474
			Debug.log(Mediateur.i18nM.erreurRafraichir(nouvellesDonnees.getClass(), this.getClass()));
453 jp_milcent 475
		}
813 jpm 476
 
477
		if (avoirDonneesChargees()) {
478
			afficherDetail();
479
		}
453 jp_milcent 480
	}
481
 
883 jpm 482
	protected void lierCollectionAPersonne(CollectionAPersonneListe personnes) {
483
		collection.setPersonnesLiees(personnes);
484
		personnesLieesChargementOk = true;
485
	}
486
 
487
	protected void lierCollectionAPublication(CollectionAPublicationListe publications) {
488
		collection.setPublicationsLiees(publications);
489
		publicationsLieesChargementOk = true;
490
	}
491
 
813 jpm 492
	private boolean avoirDonneesChargees() {
493
		boolean ok = false;
948 jpm 494
		//Debug.log("projetsChargementOk:"+projetsChargementOk+"-collectionChargementOk:"+collectionChargementOk+"-ontologieChargementOk:"+ontologieChargementOk+"-personnesLieesChargementOk:"+personnesLieesChargementOk+"-publicationsLieesChargementOk:"+publicationsLieesChargementOk);
883 jpm 495
		if (projetsChargementOk && collectionChargementOk && ontologieChargementOk && personnesLieesChargementOk && publicationsLieesChargementOk) {
813 jpm 496
			ok = true;
497
		}
498
		return ok;
499
	}
500
 
453 jp_milcent 501
	private void afficherDetail() {
502
		if (collection != null) {
503
			afficherEntete();
504
			afficherIdentification();
883 jpm 505
			afficherPersonne();
687 jp_milcent 506
			afficherPublication();
630 jp_milcent 507
			afficherDescription();
508
			afficherContenu();
509
			afficherInventaire();
453 jp_milcent 510
		}
511
		layout();
512
	}
513
 
514
	private void afficherEntete() {
515
		Params enteteParams = new Params();
516
		enteteParams.set("css_id", ComposantId.ZONE_DETAIL_ENTETE);
517
		enteteParams.set("css_meta", ComposantClass.META);
518
 
813 jpm 519
		enteteParams.set("i18n_id", i18nC.id());
520
 
453 jp_milcent 521
		enteteParams.set("nom", collection.getNom());
468 jp_milcent 522
		enteteParams.set("structure", collection.getStructureNom());
453 jp_milcent 523
		enteteParams.set("id", collection.getId());
524
		enteteParams.set("guid", collection.getGuid());
525
		enteteParams.set("projet", construireTxtProjet(collection.getIdProjet()));
526
 
527
		String eHtml = Format.substitute(enteteTpl, enteteParams);
528
		entete.getElement().setInnerHTML(eHtml);
529
	}
530
 
531
	private void afficherIdentification() {
532
		Params generalParams = new Params();
533
		generalParams.set("i18n_titre_identification", i18nC.titreAdministratif());
961 jpm 534
		generalParams.set("i18n_nom_alternatif", i18nC.intituleAlternatifCollection());
477 jp_milcent 535
		generalParams.set("i18n_mere", i18nC.collectionMere());
687 jp_milcent 536
		generalParams.set("i18n_type_ncd", i18nC.typeCollectionNcd());
537
		generalParams.set("i18n_type_depot", i18nC.typeDepot());
961 jpm 538
		generalParams.set("i18n_id_alternatif", i18nC.idAlternatifCollection());
539
		generalParams.set("i18n_code", i18nC.codeAlternatifCollection());
540
		generalParams.set("i18n_cote", i18nC.cote());
541
 
630 jp_milcent 542
		generalParams.set("i18n_general_collection_titre", i18nC.collectionGeneralTitre());
477 jp_milcent 543
		generalParams.set("i18n_description", i18nC.description());
544
		generalParams.set("i18n_description_specialiste", i18nC.descriptionSpecialiste());
545
		generalParams.set("i18n_historique", i18nC.historique());
546
		generalParams.set("i18n_web", i18nC.siteWeb());
961 jpm 547
 
548
		generalParams.set("i18n_couverture_collection_titre", i18nC.collectionCouvertureTitre());
477 jp_milcent 549
		generalParams.set("i18n_groupement_principe", i18nC.groupementPrincipe());
550
		generalParams.set("i18n_groupement_but", i18nC.groupementBut());
961 jpm 551
		generalParams.set("i18n_couverture_geo", i18nC.couvertureGeo());
477 jp_milcent 552
 
961 jpm 553
		generalParams.set("i18n_specimen_type_titre", i18nC.collectionSpecimenTypeTitre());
554
		generalParams.set("i18n_specimen_type_presence", i18nC.specimenTypeCollectionDetail());
555
		generalParams.set("i18n_specimen_type_nombre", i18nC.nbreSpecimenTypeCollectionDetail());
556
		generalParams.set("i18n_specimen_type_classement", i18nC.classementSpecimenTypeCollectionDetail());
557
 
630 jp_milcent 558
		String nomAlternatif = construireTxtTruck(collection.getNomAlternatif());
559
		String typeNcd = construireTxtListeOntologie(collection.getTypeNcd());
560
		String typeDepot = construireTxtListeOntologie(collection.getTypeDepot());
961 jpm 561
		String idAlternatif = construireTxtTruck(collection.getIdAlternatif());
562
		String code = construireTxtTruck(collection.getCode());
563
 
564
		String urls = construireTxtTruck(collection.getUrls());
565
 
875 jpm 566
		String groupementBut = construireTxtListeOntologie(collection.getGroupementBut());
567
		String groupementPrincipe = construireTxtListeOntologie(collection.getGroupementPrincipe());
961 jpm 568
		String couvertureGeo = construireTxtTruck(collection.getCouvertureLieu());
569
		String specimenTypePresence = construireTxtListeOntologie(collection.getSpecimenType());
570
		String specimenTypeNombrePrecision = construireTxtListeOntologie(collection.getSpecimenTypeNbrePrecision());
571
		String specimenTypeNombre = "";
975 jpm 572
		if (!collection.getSpecimenTypeNbre().equals("0") && !collection.getSpecimenTypeNbre().equals("")) {
961 jpm 573
			specimenTypeNombre = collection.getSpecimenTypeNbre()+" ("+specimenTypeNombrePrecision+")";
574
		}
575
		String specimenTypeClassement = construireTxtListeOntologie(collection.getSpecimenTypeClassement());
630 jp_milcent 576
 
577
		generalParams.set("nom_alternatif", nomAlternatif);
578
		generalParams.set("mere", collection.getCollectionMereNom());
687 jp_milcent 579
		generalParams.set("type_ncd", typeNcd);
580
		generalParams.set("type_depot", typeDepot);
961 jpm 581
		generalParams.set("id_alternatif", idAlternatif);
582
		generalParams.set("code", code);
583
		generalParams.set("cote", collection.getCote());
584
 
477 jp_milcent 585
		generalParams.set("description", collection.getDescription());
586
		generalParams.set("description_specialiste", collection.getDescriptionSpecialiste());
630 jp_milcent 587
		generalParams.set("historique", collection.getHistorique());
588
		generalParams.set("web", urls);
961 jpm 589
 
875 jpm 590
		generalParams.set("groupement_principe", groupementPrincipe);
591
		generalParams.set("groupement_but", groupementBut);
961 jpm 592
		generalParams.set("couverture_geo", couvertureGeo);
453 jp_milcent 593
 
961 jpm 594
		generalParams.set("specimen_type_presence", specimenTypePresence);
595
		generalParams.set("specimen_type_nombre", specimenTypeNombre);
596
		generalParams.set("specimen_type_classement", specimenTypeClassement);
597
 
453 jp_milcent 598
		afficherOnglet(generalTpl, generalParams, generalOnglet);
599
	}
600
 
883 jpm 601
	private void afficherPersonne() {
602
		String tableauPersonneHtml = "";
914 jpm 603
		if (collection.getPersonnesLiees() != null && collection.getPersonnesLiees().size() > 0) {
883 jpm 604
			tableauPersonneHtml = construireTableauPersonnesLiees();
605
		}
630 jp_milcent 606
 
883 jpm 607
		Params personneParams = new Params();
608
		personneParams.set("i18n_titre_personne", i18nC.collectionPersonneTitre());
609
		personneParams.set("tableau_personnes_liees", tableauPersonneHtml);
610
 
611
		afficherOnglet(personneTpl, personneParams, personneOnglet);
630 jp_milcent 612
	}
613
 
883 jpm 614
	private String construireTableauPersonnesLiees() {
615
		Params contenuParams = new Params();
961 jpm 616
		contenuParams.set("i18n_relation", i18nC.typeRelationPersonneCollection());
617
		contenuParams.set("i18n_nom_complet", i18nC.personneNomComplet());
883 jpm 618
		contenuParams.set("i18n_prenom", i18nC.personnePrenom());
619
		contenuParams.set("i18n_nom", i18nC.personneNom());
961 jpm 620
		contenuParams.set("i18n_naissance_date", i18nC.personneDateNaissance());
621
		contenuParams.set("i18n_naissance_lieu", i18nC.personneLieuNaissance());
622
		contenuParams.set("i18n_etre_decede", i18nC.personneDeces());
623
		contenuParams.set("i18n_deces_date", i18nC.personneDateDeces());
624
		contenuParams.set("i18n_deces_lieu", i18nC.personneLieuDeces());
883 jpm 625
 
626
		String lignesPersonnel = "";
968 jpm 627
		if (collection.getPersonnesLiees() != null) {
628
			Iterator<String> it = collection.getPersonnesLiees().keySet().iterator();
629
			while (it.hasNext()) {
630
				CollectionAPersonne relationCollectionAPersonne = collection.getPersonnesLiees().get(it.next());
631
				Personne personne = relationCollectionAPersonne.getPersonne();
632
 
633
				String relation = construireTxtListeOntologie(relationCollectionAPersonne.getIdRole());
634
				String etreDecede = construireTxtListeOntologie(personne.getDeces());
635
 
636
				Params ligneParams = new Params();
637
				ligneParams.set("relation", relation);
638
				ligneParams.set("nom_complet", personne.getNomComplet());
639
				ligneParams.set("nom", personne.getNom());
640
				ligneParams.set("prenom", personne.getPrenom());
641
				ligneParams.set("naissance_date", personne.getNaissanceDate());
642
				ligneParams.set("naissance_lieu", personne.getNaissanceLieu());
643
				ligneParams.set("etre_decede", etreDecede);
644
				ligneParams.set("deces_date", personne.getDecesDate());
645
				ligneParams.set("deces_lieu", personne.getDecesLieu());
646
 
647
				lignesPersonnel += Format.substitute(lignePersonneLieeTpl, ligneParams);
648
			}
649
		}
883 jpm 650
 
968 jpm 651
		String cHtml = i18nC.nonRenseigne();
652
		if (!UtilString.isEmpty(lignesPersonnel)) {
653
			contenuParams.set("lignes", lignesPersonnel);
654
			cHtml = Format.substitute(tableauPersonnesLieesTpl, contenuParams);
883 jpm 655
		}
656
		return cHtml;
657
	}
658
 
687 jp_milcent 659
	private void afficherPublication() {
660
		Params publicationParams = new Params();
661
		publicationParams.set("i18n_titre_publication", i18nC.collectionPublicationTitre());
662
 
883 jpm 663
		String tableauPublicationHtml = "";
914 jpm 664
		if (collection.getPersonnesLiees() != null && collection.getPersonnesLiees().size() > 0) {
883 jpm 665
			tableauPublicationHtml = construireTableauPublicationsLiees();
666
		}
667
		publicationParams.set("tableau_publications_liees", tableauPublicationHtml);
668
 
687 jp_milcent 669
		afficherOnglet(publicationTpl, publicationParams, publicationOnglet);
670
	}
671
 
883 jpm 672
	private String construireTableauPublicationsLiees() {
673
		Params contenuParams = new Params();
674
		contenuParams.set("i18n_auteur", i18nC.publicationAuteurs());
675
		contenuParams.set("i18n_titre", i18nC.publicationTitre());
961 jpm 676
		contenuParams.set("i18n_revue", i18nC.publicationRevueCollection());
677
		contenuParams.set("i18n_editeur", i18nC.publicationEditeur());
678
		contenuParams.set("i18n_annee", i18nC.publicationDateParution());
679
		contenuParams.set("i18n_nvt", i18nC.publicationNvt());
680
		contenuParams.set("i18n_fascicule", i18nC.publicationFascicule());
681
		contenuParams.set("i18n_page", i18nC.publicationPage());
883 jpm 682
 
683
		String lignesPublication = "";
968 jpm 684
		if (collection.getPublicationsLiees() != null) {
685
			Iterator<String> it = collection.getPublicationsLiees().keySet().iterator();
686
			while (it.hasNext()) {
687
				CollectionAPublication relationCollectionAPublication = collection.getPublicationsLiees().get(it.next());
688
				Publication publication = relationCollectionAPublication.getPublication();
689
				Params ligneParams = new Params();
690
 
691
				ligneParams.set("auteur", publication.getAuteur());
692
				ligneParams.set("titre", publication.getTitre());
693
				ligneParams.set("revue", publication.getCollection());
694
				ligneParams.set("editeur", publication.getEditeur());
695
				ligneParams.set("annee", publication.getAnneeParution());
696
				ligneParams.set("nvt", publication.getIndicationNvt());
697
				ligneParams.set("fascicule", publication.getFascicule());
698
				ligneParams.set("page", publication.getPages());
699
				lignesPublication += Format.substitute(lignePublicationLieeTpl, ligneParams);
700
			}
883 jpm 701
		}
968 jpm 702
 
703
		String cHtml = i18nC.nonRenseigne();
704
		if (!UtilString.isEmpty(lignesPublication)) {
705
			contenuParams.set("lignes", lignesPublication);
706
			cHtml = Format.substitute(tableauPublicationsLieesTpl, contenuParams);
707
		}
883 jpm 708
		return cHtml;
709
	}
710
 
630 jp_milcent 711
	private void afficherDescription() {
712
		Params descriptionParams = new Params();
713
		descriptionParams.set("i18n_titre_description", i18nC.collectionDescriptionTitre());
875 jpm 714
		descriptionParams.set("i18n_type_botanique", i18nC.typeCollectionBotanique());
715
		descriptionParams.set("i18n_nbre_echantillon", i18nC.nbreEchantillon());
630 jp_milcent 716
 
961 jpm 717
		descriptionParams.set("i18n_titre_unite_rangement", i18nC.collectionUniteRangementTitre());
966 jpm 718
		descriptionParams.set("i18n_etat_unite_rangement", i18nC.collectionUniteRangementEtatGeneralDetail());
961 jpm 719
		descriptionParams.set("i18n_titre_unite_base", i18nC.collectionUniteBaseTitre());
720
 
721
		descriptionParams.set("i18n_titre_conservation", i18nC.collectionTitreConservation());
722
		descriptionParams.set("i18n_type_papier", i18nC.typePapierConservationDetail());
723
		descriptionParams.set("i18n_conservation_methode", i18nC.methodeConservationDetail());
724
 
725
		descriptionParams.set("i18n_titre_etiquette", i18nC.collectionTitreEtiquette());
726
		descriptionParams.set("i18n_specimen_fixation_pourcent", i18nC.specimenFixationPourcent());
727
		descriptionParams.set("i18n_etiquette_fixation_pourcent", i18nC.etiquetteFixationPourcent());
728
		descriptionParams.set("i18n_specimen_fixation_methode", i18nC.specimenMethodeFixationDetail());
729
		descriptionParams.set("i18n_etiquette_fixation_methode_support", i18nC.etiquetteMethodeFixationSurSupportDetail());
730
		descriptionParams.set("i18n_etiquette_fixation_methode_specimen", i18nC.etiquetteMethodeFixationSurSpecimenDetail());
731
		descriptionParams.set("i18n_etiquette_type_ecriture", i18nC.typeEcritureDetail());
732
 
733
		descriptionParams.set("i18n_titre_traitement", i18nC.collectionTitreTraitement());
734
		descriptionParams.set("i18n_traitement", i18nC.collectionTraitementDetail());
735
		descriptionParams.set("i18n_traitement_poison", i18nC.collectionTraitementPoisonDetail());
736
		descriptionParams.set("i18n_traitement_insecte", i18nC.collectionTraitementInsecteDetail());
737
 
966 jpm 738
		descriptionParams.set("i18n_titre_etat_degradation", i18nC.collectionTitreEtatEtDegradation());
739
		descriptionParams.set("i18n_etat_general", i18nC.collectionEtatGeneralDetail());
740
		descriptionParams.set("i18n_degradation_specimen", i18nC.degradationSpecimenDetail());
741
		descriptionParams.set("i18n_degradation_presentation", i18nC.degradationPresentationDetail());
742
		descriptionParams.set("i18n_determination", i18nC.collectionDeterminationDetail());
743
 
875 jpm 744
		String typeBota = construireTxtListeOntologie(collection.getBotanique().getType());
745
		descriptionParams.set("type_botanique", typeBota);
746
		descriptionParams.set("nbre_echantillon", collection.getBotanique().getNbreEchantillon());
747
 
961 jpm 748
		CollectionBotanique collectionBotanique = collection.getBotanique();
749
		String etatUniteRangement = construireTxtListeOntologie(collectionBotanique.getUniteRangementEtat());
750
		String tableauUniteRangementHtml = construireTableauUniteRangement();
751
		String tableauUniteBaseHtml = construireTableauUniteBase();
752
		descriptionParams.set("tableau_unite_rangement", tableauUniteRangementHtml);
753
		descriptionParams.set("etat_unite_rangement", etatUniteRangement);
754
		descriptionParams.set("tableau_unite_base", tableauUniteBaseHtml);
755
 
756
		String typePapier = construireTxtListeOntologie(collectionBotanique.getConservationPapierType());
757
		String conservationMethode = construireTxtListeOntologie(collectionBotanique.getConservationMethode());
758
		descriptionParams.set("type_papier", typePapier);
759
		descriptionParams.set("conservation_methode", conservationMethode);
760
 
761
		String specimenFixationMethode = construireTxtListeOntologie(collectionBotanique.getSpecimenFixationMethode());
762
		String etiquetteFixationMethodeSupport = construireTxtListeOntologie(collectionBotanique.getEtiquetteFixationSupport());
763
		String etiquetteFixationMethodeSpecimen = construireTxtListeOntologie(collectionBotanique.getEtiquetteFixationSpecimen());
764
		String etiquetteTypeEcriture = construireTxtListeOntologie(collectionBotanique.getEtiquetteEcriture());
765
		descriptionParams.set("specimen_fixation_pourcent", collectionBotanique.getSpecimenFixationPourcent());
766
		descriptionParams.set("etiquette_fixation_pourcent", collectionBotanique.getEtiquetteFixationPourcent());
767
		descriptionParams.set("specimen_fixation_methode", specimenFixationMethode);
768
		descriptionParams.set("etiquette_fixation_methode_support", etiquetteFixationMethodeSupport);
769
		descriptionParams.set("etiquette_fixation_methode_specimen", etiquetteFixationMethodeSpecimen);
770
		descriptionParams.set("etiquette_type_ecriture", etiquetteTypeEcriture);
771
 
772
		String traitement = construireTxtListeOntologie(collectionBotanique.getTraitement());
773
		String traitementPoison = construireTxtListeOntologie(collectionBotanique.getTraitementPoison());
774
		String traitementInsecte = construireTxtListeOntologie(collectionBotanique.getTraitementInsecte());
775
		descriptionParams.set("traitement", traitement);
776
		descriptionParams.set("traitement_poison", traitementPoison);
777
		descriptionParams.set("traitement_insecte", traitementInsecte);
778
 
966 jpm 779
		String etatGeneral = construireTxtListeOntologie(collectionBotanique.getEtatGeneral());
780
		boolean valeurEstOntologie = false;
781
		boolean typeEstOntologie = true;
782
		boolean donneeEstOntologie = true;
783
		String degradationSpecimen = construireTxtListeOntologie(collectionBotanique.getDegradationSpecimen(), valeurEstOntologie, typeEstOntologie, donneeEstOntologie);
784
		String degradationPresentation = construireTxtListeOntologie(collectionBotanique.getDegradationPresentation(), valeurEstOntologie, typeEstOntologie, donneeEstOntologie);
785
		String determination = construireTxtListeOntologie(collectionBotanique.getDetermination());
786
		descriptionParams.set("etat_general", etatGeneral);
787
		descriptionParams.set("degradation_specimen", degradationSpecimen);
788
		descriptionParams.set("degradation_presentation", degradationPresentation);
789
		descriptionParams.set("determination", determination);
790
 
630 jp_milcent 791
		afficherOnglet(descriptionTpl, descriptionParams, descriptionOnglet);
792
	}
793
 
961 jpm 794
	private String construireTableauUniteRangement() {
795
		Params contenuParams = new Params();
796
		contenuParams.set("i18n_type", i18nC.collectionUniteType());
797
		contenuParams.set("i18n_nombre", i18nC.collectionUniteNbre());
798
		contenuParams.set("i18n_precision", i18nC.collectionUnitePrecision());
799
		contenuParams.set("i18n_format", i18nC.collectionUniteFormat());
800
 
801
		CollectionBotanique collectionBotanique = collection.getBotanique();
802
		HashMap<String,UniteRangement> unites = CollectionFormDescription.parserValeurUniteRangement(collectionBotanique.getUniteRangement());
803
 
804
		String lignesUnite = "";
805
		Iterator<String> it = unites.keySet().iterator();
806
		while (it.hasNext()) {
807
			String cle = it.next();
808
			UniteRangement unite = unites.get(cle);
809
			if (unite.getNombre() != 0) {
810
				Params ligneParams = new Params();
811
				if (unite.getTypeAutre()) {
812
					ligneParams.set("type", unite.getType());
813
				} else {
814
					ligneParams.set("type", construireTxtListeOntologie(unite.getId()));
815
				}
816
				ligneParams.set("nombre", UtilNombre.formaterEnEntier(unite.getNombre()));
817
				ligneParams.set("precision", unite.getPrecision());
818
				ligneParams.set("format", unite.getFormat());
819
 
820
				lignesUnite += Format.substitute(ligneUniteRangementTpl, ligneParams);
821
			}
822
		}
823
 
824
		String cHtml = i18nC.nonRenseigne();
825
		if (!UtilString.isEmpty(lignesUnite)) {
826
			contenuParams.set("lignes", lignesUnite);
827
			cHtml = Format.substitute(tableauUniteRangementTpl, contenuParams);
828
		}
829
		return cHtml;
830
	}
831
 
832
	private String construireTableauUniteBase() {
833
		Params contenuParams = new Params();
834
		contenuParams.set("i18n_unite_base", i18nC.collectionUniteBase());
835
		contenuParams.set("i18n_part", i18nC.collectionUniteBasePart());
836
		contenuParams.set("i18n_sp", i18nC.collectionUniteBaseSp());
837
 
838
		contenuParams.set("i18n_type", i18nC.collectionUniteType());
839
		contenuParams.set("i18n_nombre", i18nC.collectionUniteNbre());
840
		contenuParams.set("i18n_precision", i18nC.collectionUnitePrecision());
841
		contenuParams.set("i18n_format", i18nC.collectionUniteFormat());
842
 
843
		CollectionBotanique collectionBotanique = collection.getBotanique();
844
		HashMap<String,UniteBase> unites = CollectionFormDescription.parserValeurUniteBase(collectionBotanique.getUniteBase());
845
 
846
		String lignesUnite = "";
847
		Iterator<String> it = unites.keySet().iterator();
848
		while (it.hasNext()) {
849
			String cle = it.next();
850
			UniteBase unite = unites.get(cle);
851
			if (unite.getNombre() != 0 || unite.getNombrePart() != 0 || unite.getNombreSp() != 0) {
852
				Params ligneParams = new Params();
853
				if (unite.getTypeAutre()) {
854
					ligneParams.set("type", unite.getType());
855
				} else {
856
					ligneParams.set("type", construireTxtListeOntologie(unite.getId()));
857
				}
858
				ligneParams.set("nombre", UtilNombre.formaterEnEntier(unite.getNombre()));
859
				ligneParams.set("precision", unite.getPrecision());
860
				ligneParams.set("format", unite.getFormat());
975 jpm 861
				ligneParams.set("part_nombre", UtilNombre.formaterEnEntier(unite.getNombrePart()));
961 jpm 862
				ligneParams.set("part_precision", unite.getPrecisionPart());
975 jpm 863
				ligneParams.set("sp_nombre", UtilNombre.formaterEnEntier(unite.getNombreSp()));
961 jpm 864
				ligneParams.set("sp_precision", unite.getPrecisionSp());
865
 
866
				lignesUnite += Format.substitute(ligneUniteBaseTpl, ligneParams);
867
			}
868
		}
869
 
870
		String cHtml = i18nC.nonRenseigne();
871
		if (!UtilString.isEmpty(lignesUnite)) {
872
			contenuParams.set("lignes", lignesUnite);
873
			cHtml = Format.substitute(tableauUniteBaseTpl, contenuParams);
874
		}
875
		return cHtml;
876
	}
877
 
630 jp_milcent 878
	private void afficherContenu() {
879
		Params contenuParams = new Params();
966 jpm 880
		contenuParams.set("i18n_titre_nature", i18nC.collectionNatureTitre());
881
		contenuParams.set("i18n_nature", i18nC.natureVegetaleContenuDetail());
882
		contenuParams.set("i18n_specialite", i18nC.specialiteCollectionDetail());
630 jp_milcent 883
 
966 jpm 884
		contenuParams.set("i18n_titre_constitution", i18nC.collectionConstitutionTitre());
885
		contenuParams.set("i18n_periode", i18nC.periodeConstitutionDetail());
886
		contenuParams.set("i18n_date_debut", i18nC.dateDebutCollectionDetail());
887
		contenuParams.set("i18n_date_fin", i18nC.dateFinCollectionDetail());
888
 
889
		contenuParams.set("i18n_titre_classement", i18nC.collectionClassementTitre());
890
		contenuParams.set("i18n_classement_etat", i18nC.etatClassementCollectionDetail());
891
		contenuParams.set("i18n_classement", i18nC.annotationClassementCollectionDetail());
892
 
893
		contenuParams.set("i18n_titre_etiquette", i18nC.collectionEtiquetteTitre());
894
		contenuParams.set("i18n_etiquette_renseignement", i18nC.etiquetteRenseignementDetail());
895
		contenuParams.set("i18n_precision_localite", i18nC.precisionLocaliteDetail());
896
		contenuParams.set("i18n_precision_date", i18nC.precisionDateDetail());
897
		contenuParams.set("i18n_etiquette_annotation", i18nC.etiquetteAnnotationDetail());
898
 
899
		contenuParams.set("i18n_titre_integree", i18nC.collectionIntegreeTitre());
900
		contenuParams.set("i18n_collection_integration", i18nC.integreCollectionDetail());
901
		contenuParams.set("i18n_collection_integration_info", i18nC.infoIntegreCollectionDetail());
902
 
903
		CollectionBotanique collectionBotanique = collection.getBotanique();
904
		String nature = construireTxtListeOntologie(collectionBotanique.getNature());
905
		contenuParams.set("nature", nature);
906
		contenuParams.set("specialite", collectionBotanique.getSpecialite());
907
 
908
		String periode = construireTxtListeOntologie(collection.getPeriodeConstitution());
909
		String dateDebut = collectionBotanique.getRecolteDateDebut();
910
		String dateDebutPrecision = construireTxtListeOntologie(collectionBotanique.getRecolteDateDebutType());
911
		String dateDebutRecolte = (UtilString.isEmpty(dateDebut)) ? "" : dateDebut+" ("+dateDebutPrecision+")";
912
		String dateFin = collectionBotanique.getRecolteDateFin();
913
		String dateFinPrecision = construireTxtListeOntologie(collectionBotanique.getRecolteDateFinType());
914
		String dateFinRecolte = (UtilString.isEmpty(dateFin)) ? "" : dateFin+" ("+dateFinPrecision+")";
915
		contenuParams.set("periode", periode);
916
		contenuParams.set("date_debut", dateDebutRecolte);
917
		contenuParams.set("date_fin", dateFinRecolte);
918
 
919
		String classementEtat = construireTxtListeOntologie(collectionBotanique.getClassementEtat());
920
		contenuParams.set("classement_etat", classementEtat);
921
		contenuParams.set("classement", collectionBotanique.getClassementAnnotation());
922
 
923
		String etiquetteRenseignements = "";
924
		HashMap<String,String> infos = CollectionFormContenu.parserEtiquetteRenseignement(collectionBotanique.getEtiquetteRenseignement());
925
		if (infos != null) {
926
			Iterator<String> it = infos.keySet().iterator();
927
			while (it.hasNext()) {
928
				String cle = it.next();
929
				if (cle.equals("AT")) {
930
					etiquetteRenseignements += i18nC.etiquetteAuteurCollection();
931
				} else if (cle.equals("F")) {
932
					etiquetteRenseignements += i18nC.etiquetteFamille();
933
				} else if (cle.equals("G")) {
934
					etiquetteRenseignements += i18nC.etiquetteGenre();
935
				} else if (cle.equals("SP")) {
936
					etiquetteRenseignements += i18nC.etiquetteSp();
937
				} else if (cle.equals("ASP")) {
938
					etiquetteRenseignements += i18nC.etiquetteAuteurSp();
939
				} else if (cle.equals("L")) {
940
					etiquetteRenseignements += i18nC.etiquetteLocalite();
941
				} else if (cle.equals("D")) {
942
					etiquetteRenseignements += i18nC.etiquetteDateRecolte();
943
				} else {
944
					etiquetteRenseignements += i18nC.inconnue();
945
				}
946
				etiquetteRenseignements += ": "+infos.get(cle)+"%,";
947
			}
948
		}
949
		String precisionLocalite = construireTxtListeOntologie(collectionBotanique.getPrecisionLocalite());
950
		String precisionDate = construireTxtListeOntologie(collectionBotanique.getPrecisionDate());
951
		contenuParams.set("etiquette_renseignement", etiquetteRenseignements);
952
		contenuParams.set("precision_localite", precisionLocalite);
953
		contenuParams.set("precision_date", precisionDate);
954
		contenuParams.set("etiquette_annotation", collectionBotanique.getAnnotationsDiverses());
955
 
956
		String collectionIntegration = construireTxtListeOntologie(collectionBotanique.getCollectionIntegre());
957
		String collectionIntegrationInfo = construireTxtListeOntologie(collectionBotanique.getCollectionIntegreInfo());
958
		contenuParams.set("collection_integration", collectionIntegration);
959
		contenuParams.set("collection_integration_info", collectionIntegrationInfo);
960
 
630 jp_milcent 961
		afficherOnglet(contenuTpl, contenuParams, contenuOnglet);
962
	}
963
 
964
	private void afficherInventaire() {
965
		Params inventaireParams = new Params();
966
		inventaireParams.set("i18n_titre_inventaire", i18nC.collectionInventaireTitre());
966 jpm 967
		inventaireParams.set("i18n_existence", i18nC.existenceInventaireCollectionDetail());
968
		inventaireParams.set("i18n_participation_auteur", i18nC.auteurInventaireCollectionDetail());
969
		inventaireParams.set("i18n_forme", i18nC.formeInventaireCollectionDetail());
970
		inventaireParams.set("i18n_info", i18nC.infoInventaireCollectionDetail());
971
		inventaireParams.set("i18n_digital", i18nC.digitalInventaireCollectionDetail());
972
		inventaireParams.set("i18n_digital_pourcent", i18nC.pourcentDigitalInventaireCollectionDetail());
973
		inventaireParams.set("i18n_etat", i18nC.etatInventaireCollectionDetail());
974
		inventaireParams.set("i18n_type_donnee", i18nC.typeDonneeInventaireCollectionDetail());
630 jp_milcent 975
 
966 jpm 976
		CollectionBotanique collectionBotanique = collection.getBotanique();
977
		String existence = construireTxtListeOntologie(collectionBotanique.getInventaire());
978
		String participationAuteur = construireTxtListeOntologie(collectionBotanique.getInventaireAuteur());
979
		String forme = construireTxtListeOntologie(collectionBotanique.getInventaireForme());
980
		String digital = construireTxtListeOntologie(collectionBotanique.getInventaireDigital());
981
		String digitalPourcent = collectionBotanique.getInventaireDigitalPourcent()+"%";
982
		String etat = construireTxtListeOntologie(collectionBotanique.getInventaireEtat());
983
		inventaireParams.set("existence", existence);
984
		inventaireParams.set("participation_auteur", participationAuteur);
985
		inventaireParams.set("forme", forme);
986
		inventaireParams.set("info", collectionBotanique.getInventaireInfo());
987
		inventaireParams.set("digital", digital);
988
		inventaireParams.set("digital_pourcent", digitalPourcent);
989
		inventaireParams.set("etat", etat);
990
		inventaireParams.set("type_donnee", collectionBotanique.getInventaireDonneesTypes());
991
 
630 jp_milcent 992
		afficherOnglet(inventaireTpl, inventaireParams, inventaireOnglet);
993
	}
994
 
468 jp_milcent 995
	protected String getNomStructure() {
996
		String nomStructure = "";
997
		if (structure != null) {
998
			nomStructure = structure.getNom();
999
		} else {
1000
			nomStructure = collection.getIdStructure();
453 jp_milcent 1001
		}
468 jp_milcent 1002
		return nomStructure;
453 jp_milcent 1003
	}
1004
}