Subversion Repositories eFlore/Applications.coel

Rev

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