Subversion Repositories eFlore/Applications.coel

Rev

Rev 1918 | Rev 1922 | 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;
21
import org.tela_botanica.client.modeles.collection.UniteRangement;
997 jpm 22
import org.tela_botanica.client.modeles.commentaire.Commentaire;
935 jpm 23
import org.tela_botanica.client.modeles.personne.Personne;
24
import org.tela_botanica.client.modeles.publication.Publication;
25
import org.tela_botanica.client.modeles.structure.Structure;
1322 gduche 26
import org.tela_botanica.client.synchronisation.Sequenceur;
938 jpm 27
import org.tela_botanica.client.util.Debug;
961 jpm 28
import org.tela_botanica.client.util.UtilNombre;
29
import org.tela_botanica.client.util.UtilString;
936 jpm 30
import org.tela_botanica.client.vues.DetailVue;
453 jp_milcent 31
 
32
import com.extjs.gxt.ui.client.Style.Scroll;
33
import com.extjs.gxt.ui.client.util.Format;
34
import com.extjs.gxt.ui.client.util.Params;
35
import com.extjs.gxt.ui.client.widget.ContentPanel;
36
import com.extjs.gxt.ui.client.widget.Html;
37
import com.extjs.gxt.ui.client.widget.TabItem;
38
import com.extjs.gxt.ui.client.widget.TabPanel;
39
import com.extjs.gxt.ui.client.widget.layout.AnchorLayout;
938 jpm 40
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
453 jp_milcent 41
 
42
public class CollectionDetailVue extends DetailVue implements Rafraichissable {
43
 
883 jpm 44
	private Collection collection = null;
45
	private boolean collectionChargementOk = false;
46
	private boolean personnesLieesChargementOk = false;
47
	private boolean publicationsLieesChargementOk = false;
997 jpm 48
	private boolean commentairesLieesChargementOk = false;
468 jp_milcent 49
	private Structure structure = null;
883 jpm 50
 
453 jp_milcent 51
	private String enteteTpl = null;
52
	private String generalTpl = null;
883 jpm 53
	private String personneTpl = null;
54
	private String tableauPersonnesLieesTpl = null;
55
	private String lignePersonneLieeTpl = null;
687 jp_milcent 56
	private String publicationTpl = null;
883 jpm 57
	private String tableauPublicationsLieesTpl = null;
58
	private String lignePublicationLieeTpl = null;
630 jp_milcent 59
	private String descriptionTpl = null;
60
	private String contenuTpl = null;
61
	private String inventaireTpl = null;
997 jpm 62
	private String commentaireTpl = null;
63
	private String tableauCommentairesLieesTpl = null;
64
	private String ligneCommentaireLieeTpl = null;
453 jp_milcent 65
 
66
	private ContentPanel panneauPrincipal = null;
67
	private Html entete = null;
68
	private TabPanel onglets = null;
69
	private TabItem generalOnglet = null;
862 jpm 70
	private TabItem personneOnglet = null;
687 jp_milcent 71
	private TabItem publicationOnglet = null;
630 jp_milcent 72
	private TabItem descriptionOnglet = null;
73
	private TabItem contenuOnglet = null;
74
	private TabItem inventaireOnglet = null;
997 jpm 75
	private TabItem commentaireOnglet = null;
883 jpm 76
 
1322 gduche 77
	private Sequenceur sequenceur;
453 jp_milcent 78
 
1322 gduche 79
	public CollectionDetailVue(Mediateur mediateurCourant, Sequenceur sequenceur) {
453 jp_milcent 80
		super(mediateurCourant);
1322 gduche 81
		this.sequenceur = sequenceur;
453 jp_milcent 82
		initialiserTousLesTpl();
83
		chargerOntologie();
84
 
85
		panneauPrincipal = new ContentPanel();
938 jpm 86
		panneauPrincipal.setLayout(new FitLayout());
453 jp_milcent 87
		panneauPrincipal.setHeaderVisible(false);
88
		panneauPrincipal.setBodyBorder(false);
89
 
90
	    entete = new Html();
91
	    entete.setId(ComposantId.ZONE_DETAIL_ENTETE);
92
	    panneauPrincipal.setTopComponent(entete);
93
 
94
		onglets = new TabPanel();
95
		onglets.setId(ComposantId.ZONE_DETAIL_CORPS);
96
		onglets.setBodyBorder(false);
97
 
98
		generalOnglet = new TabItem(i18nC.structureInfoGeneral());
99
		generalOnglet.setLayout(new AnchorLayout());
100
		generalOnglet.setScrollMode(Scroll.AUTO);
101
		onglets.add(generalOnglet);
102
 
862 jpm 103
		personneOnglet = new TabItem(i18nC.collectionPersonne());
104
		personneOnglet.setLayout(new AnchorLayout());
105
		personneOnglet.setScrollMode(Scroll.AUTO);
106
		onglets.add(personneOnglet);
630 jp_milcent 107
 
687 jp_milcent 108
		publicationOnglet = new TabItem(i18nC.collectionPublication());
109
		publicationOnglet.setLayout(new AnchorLayout());
110
		publicationOnglet.setScrollMode(Scroll.AUTO);
111
		onglets.add(publicationOnglet);
112
 
630 jp_milcent 113
		descriptionOnglet = new TabItem(i18nC.collectionDescription());
114
		descriptionOnglet.setLayout(new AnchorLayout());
115
		descriptionOnglet.setScrollMode(Scroll.AUTO);
116
		onglets.add(descriptionOnglet);
117
 
118
		contenuOnglet = new TabItem(i18nC.collectionContenu());
119
		contenuOnglet.setLayout(new AnchorLayout());
120
		contenuOnglet.setScrollMode(Scroll.AUTO);
121
		onglets.add(contenuOnglet);
862 jpm 122
 
630 jp_milcent 123
		inventaireOnglet = new TabItem(i18nC.collectionInventaire());
124
		inventaireOnglet.setLayout(new AnchorLayout());
125
		inventaireOnglet.setScrollMode(Scroll.AUTO);
126
		onglets.add(inventaireOnglet);
127
 
997 jpm 128
		commentaireOnglet = new TabItem(i18nC.collectionCommentaire());
129
		commentaireOnglet.setLayout(new AnchorLayout());
130
		commentaireOnglet.setScrollMode(Scroll.AUTO);
131
		onglets.add(commentaireOnglet);
132
 
453 jp_milcent 133
		panneauPrincipal.add(onglets);
134
		add(panneauPrincipal);
135
	}
136
 
137
	private void initialiserTousLesTpl() {
138
		initialiserEnteteHtmlTpl();
139
		initialiserGeneralTpl();
883 jpm 140
		initialiserPersonneTpl();
141
		initialiserTableauPersonnesLieesTpl();
142
		initialiserLignePersonneLieeTpl();
687 jp_milcent 143
		initialiserPublicationTpl();
883 jpm 144
		initialiserTableauPublicationsLieesTpl();
145
		initialiserLignePublicationLieeTpl();
630 jp_milcent 146
		initialiserContenuTpl();
147
		initialiserDescriptionTpl();
148
		initialiserInventaireTpl();
997 jpm 149
		initialiserCommentaireTpl();
150
		initialiserTableauCommentairesLieesTpl();
151
		initialiserLigneCommentaireLieeTpl();
453 jp_milcent 152
	}
153
 
154
	private void initialiserEnteteHtmlTpl() {
155
		enteteTpl =
156
			"<div id='{css_id}'>"+
157
			"	<h1>{nom}</h1>"+
1764 aurelien 158
			"	<h2>{structure}<span class='{css_meta}'><br /> {i18n_id}:{id} - {guid}</span></h2>" +
453 jp_milcent 159
			"</div>";
160
	}
161
 
162
	private void initialiserGeneralTpl() {
163
		generalTpl =
164
			"<div class='{css_corps}'>"+
165
			"	<div class='{css_fieldset}'>"+
166
			"		<h2>{i18n_titre_identification}</h2>"+
630 jp_milcent 167
			"		<span class='{css_label}'>{i18n_nom_alternatif} :</span> {nom_alternatif}<br />"+
168
			"		<span class='{css_label}'>{i18n_mere} :</span> {mere}<br />"+
687 jp_milcent 169
			"		<span class='{css_label}'>{i18n_type_ncd} :</span> {type_ncd}<br />"+
170
			"		<span class='{css_label}'>{i18n_type_depot} :</span> {type_depot}<br />"+
961 jpm 171
			"		<span class='{css_label}'>{i18n_code} :</span> {code}<br />"+
172
			"		<span class='{css_label}'>{i18n_cote} :</span> {cote}<br />"+
453 jp_milcent 173
			"	</div>"+
477 jp_milcent 174
			"	<div class='{css_fieldset}'>"+
630 jp_milcent 175
			"		<h2>{i18n_general_collection_titre}</h2>"+
477 jp_milcent 176
			"		<span class='{css_label}'>{i18n_description} :</span> {description}<br />"+
630 jp_milcent 177
			"		<span class='{css_label}'>{i18n_historique} :</span> {historique}<br />"+
178
			"		<span class='{css_label}'>{i18n_web} :</span> {web}<br />"+
961 jpm 179
			"	</div>"+
180
			"	<hr class='{css_clear}'/>"+
181
			"	<div class='{css_fieldset}'>"+
182
			"		<h2>{i18n_couverture_collection_titre}</h2>"+
183
			"		<span class='{css_label}'>{i18n_couverture_geo} :</span> {couverture_geo}<br />"+
477 jp_milcent 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}'>"+
338
			"		<h2>{i18n_titre_constitution}</h2>"+
339
			"		<span class='{css_label}'>{i18n_periode} :</span> {periode}<br />"+
340
			"		<span class='{css_label}'>{i18n_date_debut} :</span> {date_debut}<br />"+
341
			"		<span class='{css_label}'>{i18n_date_fin} :</span> {date_fin}<br />"+
342
			"	</div>"+
630 jp_milcent 343
			"	<hr class='{css_clear}'/>"+
966 jpm 344
			"	<div class='{css_fieldset}'>"+
345
			"		<h2>{i18n_titre_classement}</h2>"+
346
			"		<span class='{css_label}'>{i18n_classement_etat} :</span> {classement_etat}<br />"+
347
			"		<span class='{css_label}'>{i18n_classement} :</span> {classement}<br />"+
348
			"	</div>"+
349
			"	<div class='{css_fieldset}'>"+
350
			"		<h2>{i18n_titre_etiquette}</h2>"+
351
			"		<span class='{css_label}'>{i18n_etiquette_renseignement} :</span> {etiquette_renseignement}<br />"+
352
			"		<span class='{css_label}'>{i18n_precision_localite} :</span> {precision_localite}<br />"+
353
			"		<span class='{css_label}'>{i18n_precision_date} :</span> {precision_date}<br />"+
354
			"		<span class='{css_label}'>{i18n_etiquette_annotation} :</span> {etiquette_annotation}<br />"+
355
			"	</div>"+
356
			"	<hr class='{css_clear}'/>"+
357
			"	<div class='{css_fieldset}'>"+
358
			"		<h2>{i18n_titre_integree}</h2>"+
359
			"		<span class='{css_label}'>{i18n_collection_integration} :</span> {collection_integration}<br />"+
360
			"		<span class='{css_label}'>{i18n_collection_integration_info} :</span> {collection_integration_info}<br />"+
361
			"	</div>"+
630 jp_milcent 362
			"</div>";
363
	}
364
 
365
	private void initialiserInventaireTpl() {
366
		inventaireTpl =
367
			"<div class='{css_corps}'>"+
368
			"	<div class='{css_fieldset}'>"+
369
			"		<h2>{i18n_titre_inventaire}</h2>"+
966 jpm 370
			"		<span class='{css_label}'>{i18n_existence} :</span> {existence}<br />"+
371
			"		<span class='{css_label}'>{i18n_participation_auteur} :</span> {participation_auteur}<br />"+
372
			"		<span class='{css_label}'>{i18n_forme} :</span> {forme}<br />"+
373
			"		<span class='{css_label}'>{i18n_info} :</span> {info}<br />"+
374
			"		<span class='{css_label}'>{i18n_digital} :</span> {digital}<br />"+
375
			"		<span class='{css_label}'>{i18n_digital_pourcent} :</span> {digital_pourcent}<br />"+
376
			"		<span class='{css_label}'>{i18n_etat} :</span> {etat}<br />"+
630 jp_milcent 377
			"	</div>"+
378
			"	<hr class='{css_clear}'/>"+
379
			"</div>";
380
	}
381
 
997 jpm 382
	private void initialiserCommentaireTpl() {
383
		commentaireTpl =
384
			"<div class='{css_corps}'>"+
385
			"	<h2>{i18n_titre_commentaire}</h2>"+
386
			"	{tableau_commentaires_liees}"+
387
			"</div>";
388
	}
389
 
390
	private void initialiserTableauCommentairesLieesTpl() {
391
		tableauCommentairesLieesTpl =
392
			"<table>"+
393
			"	<thead>"+
394
			"		<tr>" +
395
			"			<th>{i18n_type}</th>" +
396
			"			<th>{i18n_titre}</th>" +
397
			"			<th>{i18n_ponderation}</th>" +
398
			"			<th>{i18n_public}</th>" +
399
			"		</tr>"+
400
			"	</thead>"+
401
			"	<tbody>"+
402
			"		{lignes}"+
403
			"	</tbody>"+
404
			"</table>";
405
	}
406
 
407
	private void initialiserLigneCommentaireLieeTpl() {
408
		ligneCommentaireLieeTpl =
409
			"<tr>"+
410
			"	<td>{type}</td>"+
411
			"	<td>{titre}</td>"+
412
			"	<td>{ponderation}</td>"+
413
			"	<td>{public}</td>"+
414
			"</tr>"+
415
			"<tr>"+
416
			"	<td colspan='4'>{texte}</td>"+
417
			"</tr>";
418
	}
419
 
453 jp_milcent 420
	private void chargerOntologie() {
961 jpm 421
		String[] listesCodes = {"typeCollectionBota", "typeCollectionNcd", "typeDepot", "groupementPrincipe",
422
			"realisationBut", "onpi", "ea", "typeClassement", "relationPersonneCollection", "ion",
969 jpm 423
			"typeUniteRangement", "etat", "typeUniteBase", "typePapier", "methodeRangement", "methodeFixation",
424
			"methodeFixationSurSpecimen", "typeEcriture", "poisonTraitement", "insecteTraitement", "specimenDegradation",
425
			"niveauImportance", "supportDegradation", "niveauDetermination", "natureVegetale", "siecleNaturaliste",
975 jpm 426
			"dateDebut", "dateFin", "etat", "onep", "onp", "inventaireForme", "inventaireLogiciel", "inventaireEtat",
997 jpm 427
			"etatClassement", "typeCommentaireCollection"};
1322 gduche 428
		lancerChargementListesValeurs(listesCodes, sequenceur);
1373 cyprien 429
		sequenceur.enfilerRafraichissement(this, new Information("ontologie_chargee"));
453 jp_milcent 430
	}
431
 
811 jpm 432
	public void rafraichir(Object nouvellesDonnees) {
433
		if (nouvellesDonnees instanceof Collection) {
434
			collection = (Collection) nouvellesDonnees;
813 jpm 435
			collectionChargementOk = true;
811 jpm 436
		} else if (nouvellesDonnees instanceof ValeurListe) {
813 jpm 437
			ValeurListe listeValeursReceptionnee = (ValeurListe) nouvellesDonnees;
816 jpm 438
			receptionerListeValeurs(listeValeursReceptionnee);
883 jpm 439
		} else if (nouvellesDonnees instanceof Information) {
440
			Information info = (Information) nouvellesDonnees;
441
			if (info.getType().equals("liste_collection_a_personne")) {
442
				lierCollectionAPersonne((CollectionAPersonneListe) info.getDonnee(0));
443
			} else if (info.getType().equals("liste_collection_a_publication")) {
444
				lierCollectionAPublication((CollectionAPublicationListe) info.getDonnee(0));
997 jpm 445
			} else if (info.getType().equals("liste_collection_a_commentaire")) {
446
				lierCollectionACommentaire((CollectionACommentaireListe) info.getDonnee(0));
1322 gduche 447
			} else if (info.getType().equals("ontologie_chargee")) {
448
				ontologieChargementOk = true;
883 jpm 449
			}
453 jp_milcent 450
		} else {
950 jpm 451
			Debug.log(Mediateur.i18nM.erreurRafraichir(nouvellesDonnees.getClass(), this.getClass()));
453 jp_milcent 452
		}
813 jpm 453
 
454
		if (avoirDonneesChargees()) {
455
			afficherDetail();
456
		}
453 jp_milcent 457
	}
458
 
883 jpm 459
	protected void lierCollectionAPersonne(CollectionAPersonneListe personnes) {
460
		collection.setPersonnesLiees(personnes);
461
		personnesLieesChargementOk = true;
462
	}
463
 
464
	protected void lierCollectionAPublication(CollectionAPublicationListe publications) {
465
		collection.setPublicationsLiees(publications);
466
		publicationsLieesChargementOk = true;
467
	}
468
 
997 jpm 469
	protected void lierCollectionACommentaire(CollectionACommentaireListe commentaires) {
470
		collection.setCommentairesLiees(commentaires);
471
		commentairesLieesChargementOk = true;
472
	}
473
 
813 jpm 474
	private boolean avoirDonneesChargees() {
475
		boolean ok = false;
1764 aurelien 476
		if (collectionChargementOk && ontologieChargementOk && personnesLieesChargementOk && publicationsLieesChargementOk && commentairesLieesChargementOk) {
813 jpm 477
			ok = true;
478
		}
479
		return ok;
480
	}
481
 
453 jp_milcent 482
	private void afficherDetail() {
483
		if (collection != null) {
484
			afficherEntete();
485
			afficherIdentification();
883 jpm 486
			afficherPersonne();
687 jp_milcent 487
			afficherPublication();
630 jp_milcent 488
			afficherDescription();
489
			afficherContenu();
490
			afficherInventaire();
997 jpm 491
			afficherCommentaire();
453 jp_milcent 492
		}
493
		layout();
494
	}
495
 
496
	private void afficherEntete() {
497
		Params enteteParams = new Params();
498
		enteteParams.set("css_id", ComposantId.ZONE_DETAIL_ENTETE);
499
		enteteParams.set("css_meta", ComposantClass.META);
500
 
813 jpm 501
		enteteParams.set("i18n_id", i18nC.id());
502
 
453 jp_milcent 503
		enteteParams.set("nom", collection.getNom());
468 jp_milcent 504
		enteteParams.set("structure", collection.getStructureNom());
453 jp_milcent 505
		enteteParams.set("id", collection.getId());
506
		enteteParams.set("guid", collection.getGuid());
507
 
508
		String eHtml = Format.substitute(enteteTpl, enteteParams);
509
		entete.getElement().setInnerHTML(eHtml);
510
	}
511
 
512
	private void afficherIdentification() {
513
		Params generalParams = new Params();
514
		generalParams.set("i18n_titre_identification", i18nC.titreAdministratif());
961 jpm 515
		generalParams.set("i18n_nom_alternatif", i18nC.intituleAlternatifCollection());
477 jp_milcent 516
		generalParams.set("i18n_mere", i18nC.collectionMere());
687 jp_milcent 517
		generalParams.set("i18n_type_ncd", i18nC.typeCollectionNcd());
518
		generalParams.set("i18n_type_depot", i18nC.typeDepot());
961 jpm 519
		generalParams.set("i18n_code", i18nC.codeAlternatifCollection());
520
		generalParams.set("i18n_cote", i18nC.cote());
521
 
630 jp_milcent 522
		generalParams.set("i18n_general_collection_titre", i18nC.collectionGeneralTitre());
477 jp_milcent 523
		generalParams.set("i18n_description", i18nC.description());
524
		generalParams.set("i18n_historique", i18nC.historique());
525
		generalParams.set("i18n_web", i18nC.siteWeb());
961 jpm 526
 
527
		generalParams.set("i18n_couverture_collection_titre", i18nC.collectionCouvertureTitre());
528
		generalParams.set("i18n_couverture_geo", i18nC.couvertureGeo());
477 jp_milcent 529
 
961 jpm 530
		generalParams.set("i18n_specimen_type_titre", i18nC.collectionSpecimenTypeTitre());
531
		generalParams.set("i18n_specimen_type_presence", i18nC.specimenTypeCollectionDetail());
532
		generalParams.set("i18n_specimen_type_nombre", i18nC.nbreSpecimenTypeCollectionDetail());
533
		generalParams.set("i18n_specimen_type_classement", i18nC.classementSpecimenTypeCollectionDetail());
534
 
630 jp_milcent 535
		String nomAlternatif = construireTxtTruck(collection.getNomAlternatif());
536
		String typeNcd = construireTxtListeOntologie(collection.getTypeNcd());
537
		String typeDepot = construireTxtListeOntologie(collection.getTypeDepot());
961 jpm 538
		String code = construireTxtTruck(collection.getCode());
539
 
1369 cyprien 540
		String urls = construireTxtTruck(collection.getUrls(), false);
961 jpm 541
 
542
		String couvertureGeo = construireTxtTruck(collection.getCouvertureLieu());
543
		String specimenTypePresence = construireTxtListeOntologie(collection.getSpecimenType());
544
		String specimenTypeNombrePrecision = construireTxtListeOntologie(collection.getSpecimenTypeNbrePrecision());
545
		String specimenTypeNombre = "";
975 jpm 546
		if (!collection.getSpecimenTypeNbre().equals("0") && !collection.getSpecimenTypeNbre().equals("")) {
961 jpm 547
			specimenTypeNombre = collection.getSpecimenTypeNbre()+" ("+specimenTypeNombrePrecision+")";
548
		}
549
		String specimenTypeClassement = construireTxtListeOntologie(collection.getSpecimenTypeClassement());
630 jp_milcent 550
 
551
		generalParams.set("nom_alternatif", nomAlternatif);
552
		generalParams.set("mere", collection.getCollectionMereNom());
687 jp_milcent 553
		generalParams.set("type_ncd", typeNcd);
554
		generalParams.set("type_depot", typeDepot);
961 jpm 555
		generalParams.set("code", code);
556
		generalParams.set("cote", collection.getCote());
557
 
477 jp_milcent 558
		generalParams.set("description", collection.getDescription());
630 jp_milcent 559
		generalParams.set("historique", collection.getHistorique());
560
		generalParams.set("web", urls);
961 jpm 561
 
562
		generalParams.set("couverture_geo", couvertureGeo);
453 jp_milcent 563
 
961 jpm 564
		generalParams.set("specimen_type_presence", specimenTypePresence);
565
		generalParams.set("specimen_type_nombre", specimenTypeNombre);
566
		generalParams.set("specimen_type_classement", specimenTypeClassement);
567
 
453 jp_milcent 568
		afficherOnglet(generalTpl, generalParams, generalOnglet);
569
	}
570
 
883 jpm 571
	private void afficherPersonne() {
572
		String tableauPersonneHtml = "";
914 jpm 573
		if (collection.getPersonnesLiees() != null && collection.getPersonnesLiees().size() > 0) {
883 jpm 574
			tableauPersonneHtml = construireTableauPersonnesLiees();
575
		}
630 jp_milcent 576
 
883 jpm 577
		Params personneParams = new Params();
578
		personneParams.set("i18n_titre_personne", i18nC.collectionPersonneTitre());
579
		personneParams.set("tableau_personnes_liees", tableauPersonneHtml);
580
 
581
		afficherOnglet(personneTpl, personneParams, personneOnglet);
630 jp_milcent 582
	}
583
 
883 jpm 584
	private String construireTableauPersonnesLiees() {
585
		Params contenuParams = new Params();
961 jpm 586
		contenuParams.set("i18n_relation", i18nC.typeRelationPersonneCollection());
587
		contenuParams.set("i18n_nom_complet", i18nC.personneNomComplet());
883 jpm 588
		contenuParams.set("i18n_prenom", i18nC.personnePrenom());
589
		contenuParams.set("i18n_nom", i18nC.personneNom());
961 jpm 590
		contenuParams.set("i18n_naissance_date", i18nC.personneDateNaissance());
591
		contenuParams.set("i18n_naissance_lieu", i18nC.personneLieuNaissance());
592
		contenuParams.set("i18n_etre_decede", i18nC.personneDeces());
593
		contenuParams.set("i18n_deces_date", i18nC.personneDateDeces());
594
		contenuParams.set("i18n_deces_lieu", i18nC.personneLieuDeces());
883 jpm 595
 
596
		String lignesPersonnel = "";
968 jpm 597
		if (collection.getPersonnesLiees() != null) {
598
			Iterator<String> it = collection.getPersonnesLiees().keySet().iterator();
599
			while (it.hasNext()) {
600
				CollectionAPersonne relationCollectionAPersonne = collection.getPersonnesLiees().get(it.next());
601
				Personne personne = relationCollectionAPersonne.getPersonne();
602
 
603
				String relation = construireTxtListeOntologie(relationCollectionAPersonne.getIdRole());
604
				String etreDecede = construireTxtListeOntologie(personne.getDeces());
605
 
606
				Params ligneParams = new Params();
607
				ligneParams.set("relation", relation);
608
				ligneParams.set("nom_complet", personne.getNomComplet());
609
				ligneParams.set("nom", personne.getNom());
610
				ligneParams.set("prenom", personne.getPrenom());
611
				ligneParams.set("naissance_date", personne.getNaissanceDate());
612
				ligneParams.set("naissance_lieu", personne.getNaissanceLieu());
613
				ligneParams.set("etre_decede", etreDecede);
614
				ligneParams.set("deces_date", personne.getDecesDate());
615
				ligneParams.set("deces_lieu", personne.getDecesLieu());
616
 
617
				lignesPersonnel += Format.substitute(lignePersonneLieeTpl, ligneParams);
618
			}
619
		}
883 jpm 620
 
968 jpm 621
		String cHtml = i18nC.nonRenseigne();
622
		if (!UtilString.isEmpty(lignesPersonnel)) {
623
			contenuParams.set("lignes", lignesPersonnel);
624
			cHtml = Format.substitute(tableauPersonnesLieesTpl, contenuParams);
883 jpm 625
		}
626
		return cHtml;
627
	}
628
 
687 jp_milcent 629
	private void afficherPublication() {
630
		Params publicationParams = new Params();
631
		publicationParams.set("i18n_titre_publication", i18nC.collectionPublicationTitre());
632
 
883 jpm 633
		String tableauPublicationHtml = "";
914 jpm 634
		if (collection.getPersonnesLiees() != null && collection.getPersonnesLiees().size() > 0) {
883 jpm 635
			tableauPublicationHtml = construireTableauPublicationsLiees();
636
		}
637
		publicationParams.set("tableau_publications_liees", tableauPublicationHtml);
638
 
687 jp_milcent 639
		afficherOnglet(publicationTpl, publicationParams, publicationOnglet);
640
	}
641
 
883 jpm 642
	private String construireTableauPublicationsLiees() {
643
		Params contenuParams = new Params();
644
		contenuParams.set("i18n_auteur", i18nC.publicationAuteurs());
645
		contenuParams.set("i18n_titre", i18nC.publicationTitre());
961 jpm 646
		contenuParams.set("i18n_revue", i18nC.publicationRevueCollection());
647
		contenuParams.set("i18n_editeur", i18nC.publicationEditeur());
648
		contenuParams.set("i18n_annee", i18nC.publicationDateParution());
649
		contenuParams.set("i18n_nvt", i18nC.publicationNvt());
650
		contenuParams.set("i18n_fascicule", i18nC.publicationFascicule());
651
		contenuParams.set("i18n_page", i18nC.publicationPage());
1800 aurelien 652
		contenuParams.set("i18n_source", i18nC.collectionPublicationSource());
883 jpm 653
 
654
		String lignesPublication = "";
968 jpm 655
		if (collection.getPublicationsLiees() != null) {
656
			Iterator<String> it = collection.getPublicationsLiees().keySet().iterator();
657
			while (it.hasNext()) {
658
				CollectionAPublication relationCollectionAPublication = collection.getPublicationsLiees().get(it.next());
659
				Publication publication = relationCollectionAPublication.getPublication();
660
				Params ligneParams = new Params();
661
				ligneParams.set("auteur", publication.getAuteur());
662
				ligneParams.set("titre", publication.getTitre());
663
				ligneParams.set("revue", publication.getCollection());
1896 aurelien 664
				ligneParams.set("editeur", publication.getNomEditeur());
968 jpm 665
				ligneParams.set("annee", publication.getAnneeParution());
666
				ligneParams.set("nvt", publication.getIndicationNvt());
667
				ligneParams.set("fascicule", publication.getFascicule());
668
				ligneParams.set("page", publication.getPages());
1800 aurelien 669
				ligneParams.set("source", relationCollectionAPublication.getSource() == "1" ? i18nC.oui() : i18nC.non());
968 jpm 670
				lignesPublication += Format.substitute(lignePublicationLieeTpl, ligneParams);
671
			}
883 jpm 672
		}
968 jpm 673
 
674
		String cHtml = i18nC.nonRenseigne();
675
		if (!UtilString.isEmpty(lignesPublication)) {
676
			contenuParams.set("lignes", lignesPublication);
677
			cHtml = Format.substitute(tableauPublicationsLieesTpl, contenuParams);
678
		}
883 jpm 679
		return cHtml;
680
	}
681
 
630 jp_milcent 682
	private void afficherDescription() {
683
		Params descriptionParams = new Params();
1898 aurelien 684
		descriptionParams.set("i18n_titre_description", i18nC.collectionEtatGeneralEtNombreEchantillons());
875 jpm 685
		descriptionParams.set("i18n_type_botanique", i18nC.typeCollectionBotanique());
686
		descriptionParams.set("i18n_nbre_echantillon", i18nC.nbreEchantillon());
630 jp_milcent 687
 
961 jpm 688
		descriptionParams.set("i18n_titre_unite_rangement", i18nC.collectionUniteRangementTitre());
966 jpm 689
		descriptionParams.set("i18n_etat_unite_rangement", i18nC.collectionUniteRangementEtatGeneralDetail());
961 jpm 690
		descriptionParams.set("i18n_titre_unite_base", i18nC.collectionUniteBaseTitre());
691
 
692
		descriptionParams.set("i18n_titre_conservation", i18nC.collectionTitreConservation());
693
		descriptionParams.set("i18n_type_papier", i18nC.typePapierConservationDetail());
694
		descriptionParams.set("i18n_conservation_methode", i18nC.methodeConservationDetail());
695
 
696
		descriptionParams.set("i18n_titre_etiquette", i18nC.collectionTitreEtiquette());
697
		descriptionParams.set("i18n_specimen_fixation_pourcent", i18nC.specimenFixationPourcent());
698
		descriptionParams.set("i18n_etiquette_fixation_pourcent", i18nC.etiquetteFixationPourcent());
699
		descriptionParams.set("i18n_specimen_fixation_methode", i18nC.specimenMethodeFixationDetail());
700
		descriptionParams.set("i18n_etiquette_fixation_methode_support", i18nC.etiquetteMethodeFixationSurSupportDetail());
701
		descriptionParams.set("i18n_etiquette_fixation_methode_specimen", i18nC.etiquetteMethodeFixationSurSpecimenDetail());
702
		descriptionParams.set("i18n_etiquette_type_ecriture", i18nC.typeEcritureDetail());
703
 
704
		descriptionParams.set("i18n_titre_traitement", i18nC.collectionTitreTraitement());
705
		descriptionParams.set("i18n_traitement", i18nC.collectionTraitementDetail());
706
		descriptionParams.set("i18n_traitement_poison", i18nC.collectionTraitementPoisonDetail());
707
		descriptionParams.set("i18n_traitement_insecte", i18nC.collectionTraitementInsecteDetail());
708
 
966 jpm 709
		descriptionParams.set("i18n_titre_etat_degradation", i18nC.collectionTitreEtatEtDegradation());
710
		descriptionParams.set("i18n_etat_general", i18nC.collectionEtatGeneralDetail());
711
		descriptionParams.set("i18n_degradation_specimen", i18nC.degradationSpecimenDetail());
712
		descriptionParams.set("i18n_degradation_presentation", i18nC.degradationPresentationDetail());
713
		descriptionParams.set("i18n_determination", i18nC.collectionDeterminationDetail());
714
 
875 jpm 715
		String typeBota = construireTxtListeOntologie(collection.getBotanique().getType());
716
		descriptionParams.set("type_botanique", typeBota);
717
		descriptionParams.set("nbre_echantillon", collection.getBotanique().getNbreEchantillon());
718
 
961 jpm 719
		CollectionBotanique collectionBotanique = collection.getBotanique();
720
		String etatUniteRangement = construireTxtListeOntologie(collectionBotanique.getUniteRangementEtat());
1920 aurelien 721
 
722
		descriptionParams.set("i18n_collection_cartons_herbiers", i18nC.collectionCartonsHerbiers());
723
		descriptionParams.set("i18n_nb_liasses", i18nC.collectionLiasses());
724
		descriptionParams.set("i18n_autres_unites_rangement", i18nC.collectionAutreUnitesRangement());
725
 
726
		String cartonsHerbiers = collectionBotanique.getNbCartonsHerbiers();
727
		if(!collectionBotanique.getNbCartonsHerbiers().trim().isEmpty() &&
728
		   ! collectionBotanique.getFormatCartonsHerbiers().trim().isEmpty()) {
729
			cartonsHerbiers += " - "+i18nC.format()+": ";
730
		}
731
		cartonsHerbiers += collectionBotanique.getFormatCartonsHerbiers();
732
		descriptionParams.set("nb_cartons_herbier", cartonsHerbiers);
733
 
734
		String liasses = collectionBotanique.getNbLiasses();
735
		if(!collectionBotanique.getNbLiasses().trim().isEmpty() &&
736
		   ! collectionBotanique.getFormatLiasses().trim().isEmpty()) {
737
			liasses += " - "+i18nC.format()+": ";
738
		}
739
		liasses += collectionBotanique.getFormatLiasses();
740
		descriptionParams.set("nb_liasses", liasses);
1918 aurelien 741
 
1920 aurelien 742
		descriptionParams.set("autres_unites_rangement", collectionBotanique.getAutresUnitesRangement().replaceAll("\r\n|\r|\n", ", "));
743
 
961 jpm 744
		descriptionParams.set("etat_unite_rangement", etatUniteRangement);
745
 
1918 aurelien 746
		descriptionParams.set("i18n_nb_planches_herbier", i18nC.collectionNbPlanchesHerbier());
747
		descriptionParams.set("i18n_nb_especes", i18nC.collectionNbEspeces());
748
 
749
		descriptionParams.set("nb_planches_herbier", collectionBotanique.getNbPlanchesHerbiers());
750
		descriptionParams.set("nb_especes", collectionBotanique.getNbEspeces());
751
 
961 jpm 752
		String typePapier = construireTxtListeOntologie(collectionBotanique.getConservationPapierType());
753
		String conservationMethode = construireTxtListeOntologie(collectionBotanique.getConservationMethode());
754
		descriptionParams.set("type_papier", typePapier);
755
		descriptionParams.set("conservation_methode", conservationMethode);
756
 
757
		String specimenFixationMethode = construireTxtListeOntologie(collectionBotanique.getSpecimenFixationMethode());
758
		String etiquetteFixationMethodeSupport = construireTxtListeOntologie(collectionBotanique.getEtiquetteFixationSupport());
759
		String etiquetteFixationMethodeSpecimen = construireTxtListeOntologie(collectionBotanique.getEtiquetteFixationSpecimen());
760
		String etiquetteTypeEcriture = construireTxtListeOntologie(collectionBotanique.getEtiquetteEcriture());
761
		descriptionParams.set("specimen_fixation_pourcent", collectionBotanique.getSpecimenFixationPourcent());
762
		descriptionParams.set("etiquette_fixation_pourcent", collectionBotanique.getEtiquetteFixationPourcent());
763
		descriptionParams.set("specimen_fixation_methode", specimenFixationMethode);
764
		descriptionParams.set("etiquette_fixation_methode_support", etiquetteFixationMethodeSupport);
765
		descriptionParams.set("etiquette_fixation_methode_specimen", etiquetteFixationMethodeSpecimen);
766
		descriptionParams.set("etiquette_type_ecriture", etiquetteTypeEcriture);
767
 
768
		String traitement = construireTxtListeOntologie(collectionBotanique.getTraitement());
769
		String traitementPoison = construireTxtListeOntologie(collectionBotanique.getTraitementPoison());
770
		String traitementInsecte = construireTxtListeOntologie(collectionBotanique.getTraitementInsecte());
771
		descriptionParams.set("traitement", traitement);
772
		descriptionParams.set("traitement_poison", traitementPoison);
773
		descriptionParams.set("traitement_insecte", traitementInsecte);
774
 
966 jpm 775
		String etatGeneral = construireTxtListeOntologie(collectionBotanique.getEtatGeneral());
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
}