Subversion Repositories eFlore/Applications.coel

Rev

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