Subversion Repositories eFlore/Applications.coel

Rev

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