Subversion Repositories eFlore/Applications.coel

Rev

Rev 1294 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
935 jpm 1
package org.tela_botanica.client.vues.personne;
150 gduche 2
 
253 gduche 3
import java.util.Collection;
197 gduche 4
import java.util.HashMap;
5
import java.util.Iterator;
253 gduche 6
import java.util.LinkedList;
1264 gduche 7
import java.util.List;
189 gduche 8
 
435 gduche 9
import org.tela_botanica.client.ComposantId;
305 gduche 10
import org.tela_botanica.client.Mediateur;
150 gduche 11
import org.tela_botanica.client.RegistreId;
907 jpm 12
import org.tela_botanica.client.configuration.Configuration;
150 gduche 13
import org.tela_botanica.client.interfaces.Rafraichissable;
305 gduche 14
import org.tela_botanica.client.modeles.Valeur;
15
import org.tela_botanica.client.modeles.ValeurListe;
935 jpm 16
import org.tela_botanica.client.modeles.personne.Personne;
1264 gduche 17
import org.tela_botanica.client.modeles.publication.Publication;
18
import org.tela_botanica.client.modeles.publication.PublicationAPersonne;
19
import org.tela_botanica.client.modeles.publication.PublicationAPersonneListe;
1289 cyprien 20
import org.tela_botanica.client.util.Debug;
936 jpm 21
import org.tela_botanica.client.vues.DetailVue;
527 gduche 22
 
150 gduche 23
import com.extjs.gxt.ui.client.Registry;
24
import com.extjs.gxt.ui.client.Style.Scroll;
435 gduche 25
import com.extjs.gxt.ui.client.util.Format;
26
import com.extjs.gxt.ui.client.util.Params;
215 aurelien 27
import com.extjs.gxt.ui.client.widget.ContentPanel;
527 gduche 28
import com.extjs.gxt.ui.client.widget.Html;
189 gduche 29
import com.extjs.gxt.ui.client.widget.TabItem;
30
import com.extjs.gxt.ui.client.widget.TabPanel;
197 gduche 31
import com.extjs.gxt.ui.client.widget.form.FieldSet;
246 gduche 32
import com.extjs.gxt.ui.client.widget.form.LabelField;
527 gduche 33
import com.extjs.gxt.ui.client.widget.layout.AnchorLayout;
150 gduche 34
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
197 gduche 35
import com.extjs.gxt.ui.client.widget.layout.FlowLayout;
36
import com.google.gwt.user.client.ui.Image;
150 gduche 37
 
527 gduche 38
public class PersonneDetailVue extends DetailVue implements Rafraichissable {
150 gduche 39
 
269 gduche 40
	private TabPanel tabPanel;
527 gduche 41
	private Html entete;
915 jpm 42
 
215 aurelien 43
	private TabItem tabIdentite;
200 gduche 44
	private TabItem tabAdresse;
215 aurelien 45
	private TabItem tabInfosNat;
435 gduche 46
	private TabItem tabLogos;
1264 gduche 47
	private TabItem tabPublications;
48
 
915 jpm 49
	private HashMap hmLabelFieldRegion = new HashMap();
50
 
51
	private Configuration config = (Configuration) Registry.get(RegistreId.CONFIG);
52
	private boolean ontologieRecue = false;
53
	private Personne personneAAfficher = null;
54
 
1264 gduche 55
	private boolean personneAffichee = false;
56
	private String tableauPublicationsLieesTpl = "";
57
	private String lignePublicationLieeTpl = "";
915 jpm 58
 
820 gduche 59
	private void chargerOntologie() {
60
		mediateur.obtenirListeValeurEtRafraichir(this, "pays");
977 gduche 61
		mediateur.obtenirListeValeurEtRafraichir(this, "tel");
1264 gduche 62
		mediateur.obtenirListeValeurEtRafraichir(this, "relationPersonnePublication");
820 gduche 63
	}
435 gduche 64
 
820 gduche 65
 
527 gduche 66
	public PersonneDetailVue(Mediateur mediateur) {
67
		super(mediateur);
820 gduche 68
		chargerOntologie();
69
 
70
		setLayout(new FitLayout());
71
 
527 gduche 72
		entete = new Html();
73
		entete.setId(ComposantId.ZONE_DETAIL_ENTETE);
820 gduche 74
 
527 gduche 75
		ContentPanel panneauPrincipal = new ContentPanel();
76
		panneauPrincipal.setLayout(new FitLayout());
77
		panneauPrincipal.setHeaderVisible(false);
78
		panneauPrincipal.setBodyBorder(true);
79
		panneauPrincipal.setTopComponent(entete);
820 gduche 80
 
915 jpm 81
		tabIdentite = new TabItem(i18nC.personneIdentite());
1334 cyprien 82
		tabIdentite.setTitle("Identité");
527 gduche 83
		tabIdentite.setLayout(new AnchorLayout());
820 gduche 84
		tabIdentite.setScrollMode(Scroll.AUTO);
85
 
915 jpm 86
		tabAdresse = new TabItem(i18nC.personneAdresses());
1334 cyprien 87
		tabAdresse.setTitle("Adresse");
472 gduche 88
		tabAdresse.setLayout(new FitLayout());
89
		tabAdresse.setScrollMode(Scroll.AUTO);
820 gduche 90
 
915 jpm 91
		tabInfosNat = new TabItem(i18nC.personneInfoNat());
1334 cyprien 92
		tabInfosNat.setTitle("Informations naturalistes");
321 gduche 93
		tabInfosNat.setScrollMode(Scroll.AUTO);
820 gduche 94
 
1264 gduche 95
		tabPublications = new TabItem(i18nC.tabPublications());
1334 cyprien 96
		tabPublications.setTitle("Publications");
1264 gduche 97
		tabPublications.setScrollMode(Scroll.AUTO);
98
		tabPublications.setLayout(new FlowLayout());
99
 
915 jpm 100
		tabLogos = new TabItem(i18nC.personneLogos());
1334 cyprien 101
		tabLogos.setTitle("Logos");
680 gduche 102
		tabLogos.setScrollMode(Scroll.AUTO);
435 gduche 103
		tabLogos.setLayout(new FlowLayout());
820 gduche 104
 
527 gduche 105
		tabPanel = new TabPanel();
106
		tabPanel.setId(ComposantId.ZONE_DETAIL_CORPS);
107
		tabPanel.setBodyBorder(false);
820 gduche 108
 
527 gduche 109
		tabPanel.add(tabIdentite);
110
		tabPanel.add(tabAdresse);
111
		tabPanel.add(tabInfosNat);
1264 gduche 112
		tabPanel.add(tabPublications);
435 gduche 113
		tabPanel.add(tabLogos);
820 gduche 114
 
527 gduche 115
		panneauPrincipal.add(tabPanel);
116
		add(panneauPrincipal);
150 gduche 117
	}
118
 
119
	public void afficherDetailPersonne(Personne personne) {
120
		if (personne != null) {
527 gduche 121
			String tplEntete = initialiserTplEntete();
1264 gduche 122
 
123
			//Sélection des publication à personne
124
			mediateur.selectionnerPublicationAPersonne(this, null, personne.getId(), new LinkedList());
820 gduche 125
 
435 gduche 126
			Params enteteParams = new Params();
127
			enteteParams.set("nom", (String) personne.get("fmt_nom_complet"));
947 gduche 128
			enteteParams.set("mail", (String) personne.getCourrielPrinc());
820 gduche 129
 
130
			LinkedList lstLogos = (LinkedList) personne
131
					.getChaineDenormaliseAsMapOrList("truk_logo");
132
			if (lstLogos != null && lstLogos.size() > 0) {
133
 
435 gduche 134
				tabLogos.removeAll();
135
				String urlLogoPrinc = (String) lstLogos.get(0);
820 gduche 136
				if (!urlLogoPrinc.trim().equals("")) {
137
					tplEntete = "<div id='personne-logo-div'><img src='{image}' alt='logo' /></div>"
138
							+ tplEntete;
435 gduche 139
					enteteParams.set("image", urlLogoPrinc);
253 gduche 140
				}
820 gduche 141
 
435 gduche 142
				Iterator<String> itLogo = lstLogos.iterator();
820 gduche 143
				while (itLogo.hasNext()) {
435 gduche 144
					String urlLogoCourant = itLogo.next();
145
					Image imgCourante = new Image(urlLogoCourant);
820 gduche 146
					tabLogos.add(imgCourante);
435 gduche 147
				}
527 gduche 148
				tabLogos.enable();
820 gduche 149
 
435 gduche 150
			} else {
472 gduche 151
				enteteParams.set("image", "");
435 gduche 152
				tabLogos.disable();
472 gduche 153
			}
820 gduche 154
 
915 jpm 155
			entete.el().setInnerHtml(Format.substitute(tplEntete, enteteParams));
820 gduche 156
 
527 gduche 157
			String tplIdentite = initialiserTplIdentite();
820 gduche 158
 
435 gduche 159
			Params tabIdentiteParams = new Params();
828 gduche 160
			tabIdentiteParams.set("nom_complet", personne.getString("fmt_nom_complet"));
161
			tabIdentiteParams.set("abreviation", personne.getString("abreviation"));
1269 jpm 162
			tabIdentiteParams.set("naissance_date", personne.getAnneeOuDateNaiss().equals("") ? mediateur.i18nC.inconnue() : personne.getAnneeOuDateNaiss());
828 gduche 163
			tabIdentiteParams.set("naissance_lieu", personne.getString("naissance_lieu"));
164
			String tplDeces = "";
165
			if (personne.estDecedee())	{
166
				tplDeces = " <h2>Décès:</h2>"
167
						+ " <span><b>"
915 jpm 168
						+ i18nC.personneDateDeces()
828 gduche 169
						+ ":</b></span> {deces_date}<br />"
170
						+ " 	 <span><b>"
915 jpm 171
						+ i18nC.personneLieuDeces()
828 gduche 172
						+ ":</b></span> {deces_lieu}<br /><br />";
173
 
1269 jpm 174
				tabIdentiteParams.set("deces_date", personne.getAnneeOuDateDeces().equals("") ? mediateur.i18nC.inconnue() : personne.getAnneeOuDateDeces());
828 gduche 175
				tabIdentiteParams.set("deces_lieu", personne.getString("deces_lieu"));
176
			}
177
 
178
			Params paramsDeces = new Params();
179
			paramsDeces.set("tplDeces", tplDeces);
180
			tplIdentite = Format.substitute(tplIdentite, paramsDeces);
181
 
182
			tabIdentiteParams.set("description", personne.getString("description"));
820 gduche 183
 
321 gduche 184
			tabInfosNat.removeAll();
820 gduche 185
 
186
			tabIdentiteParams.set("nom_autre", construireTxtTruck(personne.getString("truk_nom_autre")));
187
			tabIdentiteParams.set("abreviation_autre", construireTxtTruck(personne.getString("truk_abreviation_autre")));
188
 
977 gduche 189
			tplIdentite += construireTxtListeOntologie(personne.getString("truk_telephone"));
820 gduche 190
 
191
			// Courriel :Champ truk de la forme
192
			// "Adresse@adr.com;; adr2@adr.fr ..."
193
			LinkedList<String> listeCourriel = (LinkedList<String>) personne
194
					.getChaineDenormaliseAsMapOrList("truk_courriel");
195
			if ((listeCourriel != null) && (listeCourriel.size() > 0)) {
253 gduche 196
				String strLabelCourriel = "Courriel";
820 gduche 197
				if (listeCourriel.size() > 1) {
198
					strLabelCourriel += "s";
253 gduche 199
				}
820 gduche 200
 
253 gduche 201
				String valeurCourriel = "";
202
				Iterator<String> itCourriel = listeCourriel.iterator();
820 gduche 203
				while (itCourriel.hasNext()) {
253 gduche 204
					String valeurCourante = itCourriel.next();
820 gduche 205
					valeurCourriel += "<br /><a href=\"mailto:"
206
							+ valeurCourante + "\">" + valeurCourante + "</a>";
253 gduche 207
				}
527 gduche 208
				tplIdentite += valeurCourriel;
253 gduche 209
			}
472 gduche 210
 
260 gduche 211
			// Url Site Webs
820 gduche 212
			LinkedList listeUrl = (LinkedList) personne
213
					.getChaineDenormaliseAsMapOrList("truk_url");
214
			if (listeUrl != null && listeUrl.size() > 0) {
215
 
527 gduche 216
				tplIdentite += "<br /><br /><b>Sites web:</b><br /><span style='display:inline-block'>";
260 gduche 217
				String strUrl = "";
218
				Iterator<String> urlIt = listeUrl.iterator();
820 gduche 219
				while (urlIt.hasNext()) {
260 gduche 220
					String urlCourante = urlIt.next();
820 gduche 221
					strUrl += "<a href=\"" + urlCourante + "\">" + urlCourante
222
							+ "</a> <br/>";
260 gduche 223
				}
527 gduche 224
				tplIdentite += strUrl + "</span><br />";
820 gduche 225
			}
226
 
527 gduche 227
			tplIdentite += "</div>";
820 gduche 228
 
527 gduche 229
			afficherOnglet(tplIdentite, tabIdentiteParams, tabIdentite);
820 gduche 230
 
231
			String tabAdresseTpl = "<div class='{css_corps}'>"
232
					+ "	<div class='{css_fieldset}'>"
233
					+ "		<h2>Adresse personnelle:</h2>"
977 gduche 234
					+ "		<b>Adresse:</b> {adresse01} <br />"
235
					+ "		<b>Complément d'adresse: </b>{adresse02} <br />"
236
					+ "		<b>Boite postale: </b>{boitePostale}<br />"
237
					+ "		<b>Code postal:</b>{codePostal} <br />"
238
					+ "		<b>Région:</b>{region}<br />"
1289 cyprien 239
					+ "		<b>Pays :</b><span style='uppercase'>{pays}</span><br />"
820 gduche 240
					+ "</div>";
241
			// Adresses :
472 gduche 242
			Params paramAdresseTpl = new Params();
820 gduche 243
			paramAdresseTpl.set("adresse01", (String) personne
244
					.obtenirValeurChamp("adresse_01"));
245
			paramAdresseTpl.set("adresse02", (String) personne
246
					.obtenirValeurChamp("adresse_02"));
247
			paramAdresseTpl.set("boitePostale", (String) personne
248
					.obtenirValeurChamp("bp"));
249
			paramAdresseTpl.set("codePostal", (String) personne
250
					.obtenirValeurChamp("code_postal"));
251
			paramAdresseTpl.set("ville", (String) personne
252
					.obtenirValeurChamp("ville"));
253
			paramAdresseTpl.set("region", (String) personne
1289 cyprien 254
					.obtenirValeurChamp("ce_truk_region"));
255
			paramAdresseTpl.set("pays", construireTxtListeOntologie((String) personne
256
					.obtenirValeurChamp("ce_truk_pays")));
820 gduche 257
 
472 gduche 258
			afficherOnglet(tabAdresseTpl, paramAdresseTpl, tabAdresse);
259
			tabAdresse.setStyleAttribute("padding", "15px");
215 aurelien 260
 
472 gduche 261
			// Infos naturalistes :Biographie, Spécialité (typé)
820 gduche 262
			String tplInfosNat = "<div class='{css_corps}'>"
263
					+ "	<div class='{css_fieldset}'>" + "		<h2>"
1266 gduche 264
					+ i18nC.personneBiographie() + "</h2>"
265
					+ "			{biographie}" + "		"
266
					+ "<h2>" + i18nC.personneSpecialite() + "</h2>"
267
					+ "			{specialites}" + "	<h2>"
915 jpm 268
					+ i18nC.personneRecolte() + "</h2>"
820 gduche 269
					+ "		{recoltes}" + "  </div>" + "</div>";
527 gduche 270
			Params prmInfosNat = new Params();
820 gduche 271
 
1266 gduche 272
			prmInfosNat.set("biographie", personne.get("biographie"));
273
 
797 gduche 274
			String specialite = construireTxtTruck(personne.getSpecialite());
275
			prmInfosNat.set("specialites", specialite);
820 gduche 276
 
277
			String recolte = construireTxtListeOntologie(personne.getString("truk_recolte"));
797 gduche 278
			prmInfosNat.set("recoltes", recolte);
820 gduche 279
 
797 gduche 280
			afficherOnglet(tplInfosNat, prmInfosNat, tabInfosNat);
281
			tabAdresse.setStyleAttribute("padding", "15px");
820 gduche 282
 
305 gduche 283
			changerLabelRegions();
150 gduche 284
			layout();
820 gduche 285
		}
197 gduche 286
	}
820 gduche 287
 
288
	public String initialiserTplEntete() {
289
		return "<div id='{css_id}'>" + "<h1>{nom}</h1>"
290
				+ "<h2><a href='{mail}'>{mail}</a></h2>" + "</div>";
472 gduche 291
	}
820 gduche 292
 
527 gduche 293
	public String initialiserTplIdentite() {
820 gduche 294
		return "<div class='{css_corps}'>" + "	<div class='{css_fieldset}'>"
295
				+ "	 <h2>Noms:</h2>" + "	 <span><b>"
915 jpm 296
				+ i18nC.personneNomComplet()
820 gduche 297
				+ ":</b></span> {nom_complet}<br />"
298
				+ "	 <span><b>"
915 jpm 299
				+ i18nC.personneNomAutre()
820 gduche 300
				+ ":</b></span> {nom_autre}<br />"
301
				+ "	 <span><b>"
915 jpm 302
				+ i18nC.personneAbreviation()
820 gduche 303
				+ ":</b></span> {abreviation}<br />"
304
				+ " 	 <span><b>"
915 jpm 305
				+ i18nC.personneAbreviationAutre()
820 gduche 306
				+ ":</b></b></span> {abreviation_autre}<br /><br />"
307
				+ "	 <h2>Naissance:</h2>"
308
				+ " 	 <span><b>"
915 jpm 309
				+ i18nC.personneDateNaissance()
828 gduche 310
				+ ":</b></span> {naissance_date}<br />"
820 gduche 311
				+ " 	 <span><b>"
915 jpm 312
				+ i18nC.personneLieuNaissance()
820 gduche 313
				+ ":</b></span> {naissance_lieu}<br /><br />"
828 gduche 314
				+ "{tplDeces}"
820 gduche 315
				+ " 	</div>"
316
				+ "</div>"
317
				+ "<div class='{css_corps}'>"
318
				+ "	<div class='css_fieldset'> "
319
				+ "	<h2>Description:</h2>"
320
				+ " 		{description}<br />" + "	</div>" + "<br />";
527 gduche 321
	}
820 gduche 322
 
323
	private void changerLabelRegions() {
321 gduche 324
		Collection<String> colClesComposants = hmLabelFieldRegion.keySet();
305 gduche 325
		Iterator<String> itComposants = colClesComposants.iterator();
820 gduche 326
 
327
		while (itComposants.hasNext()) {
305 gduche 328
			String region = itComposants.next();
329
			mediateur.obtenirValeurEtRafraichir(this, "region", region);
330
		}
331
	}
197 gduche 332
 
820 gduche 333
	private void ajouterLabelField(FieldSet fs, String tfLabel, Object tfValue) {
334
		if ((tfValue != null) && (!tfValue.toString().trim().equals(""))) {
335
 
246 gduche 336
			LabelField tf = new LabelField();
820 gduche 337
 
246 gduche 338
			tf.setFieldLabel(tfLabel + ":");
820 gduche 339
			if ((tfLabel == null) || ("".equals(tfLabel))) {
197 gduche 340
				tf.setHideLabel(true);
341
				tf.setStyleAttribute("margin", "0 0 0 105px");
342
			}
343
			tf.setValue(tfValue);
820 gduche 344
 
345
			// Ajout au fieldSet
200 gduche 346
			fs.add(tf);
347
		}
348
	}
349
 
1264 gduche 350
 
351
	private void initialiserTableauPublicationsLieesTpl() {
352
 
353
		tableauPublicationsLieesTpl =
354
			"<div class='{css_corps}'>" +
355
			"	<h2>{i18n_titre_publication}</h2>"+
356
			"	<table>"+
357
			"	<thead>"+
358
			"		<tr>" +
359
			"			<th>{i18n_relation}</th>" +
360
			"			<th>{i18n_auteur}</th>" +
361
			"			<th>{i18n_titre}</th>" +
362
			"			<th>{i18n_revue}</th>" +
363
			"			<th>{i18n_editeur}</th>" +
364
			"			<th>{i18n_annee}</th>" +
365
			"			<th>{i18n_nvt}</th>" +
366
			"			<th>{i18n_fascicule}</th>" +
367
			"			<th>{i18n_page}</th>" +
368
			"		</tr>"+
369
			"	</thead>"+
370
			"	<tbody>"+
371
			"		{lignes}"+
372
			"	</tbody>"+
373
			"</table>";
374
	}
375
 
376
	private void initialiserLignePublicationLieeTpl() {
377
		lignePublicationLieeTpl =
378
			"<tr>"+
379
			"	<td>{relation}</td>"+
380
			"	<td>{auteur}</td>"+
381
			"	<td>{titre}</td>"+
382
			"	<td>{revue}</td>"+
383
			"	<td>{editeur}</td>"+
384
			"	<td>{annee}</td>"+
385
			"	<td>{nvt}</td>"+
386
			"	<td>{fascicule}</td>"+
387
			"	<td>{page}</td>"+
388
			"</tr>";
389
	}
390
	/**
391
	 * @author greg
392
	 * Rempli l'onglet des publications liées
393
	 * @param listePublications la liste des publications
394
	 */
1334 cyprien 395
	private void afficherPublications(PublicationAPersonneListe listePublications)	{
1264 gduche 396
		List<PublicationAPersonne> publicationsLiees = listePublications.toList();
397
		Iterator<PublicationAPersonne> iterateur = publicationsLiees.iterator();
398
 
399
		//Onglet Publications
400
		initialiserTableauPublicationsLieesTpl();
401
		Params paramsPublis = new Params();
402
 
403
		String contenuLignes = "";
404
		while (iterateur.hasNext())	{
405
			initialiserLignePublicationLieeTpl();
406
 
407
			PublicationAPersonne publicationAPersonneCourante = iterateur.next();
408
			Publication publication = publicationAPersonneCourante.getPublicationLiee();
409
 
410
			Params ligneParams = new Params();
411
			ligneParams.set("relation", construireTxtListeOntologie(publicationAPersonneCourante.getRole()));
412
			ligneParams.set("auteur", publication.getAuteur());
413
			ligneParams.set("titre", publication.getTitre());
414
			ligneParams.set("revue", publication.getCollection());
415
			ligneParams.set("editeur", publication.getEditeur());
416
			ligneParams.set("annee", publication.getAnneeParution());
417
			ligneParams.set("nvt", publication.getIndicationNvt());
418
			ligneParams.set("fascicule", publication.getFascicule());
419
			ligneParams.set("page", publication.getPages());
420
			contenuLignes += Format.substitute(lignePublicationLieeTpl, ligneParams);
421
		}
422
 
423
		paramsPublis.set("lignes", contenuLignes);
1265 gduche 424
		paramsPublis.set("i18n_titre_publication", i18nC.tabPublications());
1264 gduche 425
		paramsPublis.set("i18n_relation", i18nC.publicationAuteurs());
426
		paramsPublis.set("i18n_auteur", i18nC.publicationAuteurs());
427
		paramsPublis.set("i18n_titre", i18nC.publicationTitre());
428
		paramsPublis.set("i18n_revue", i18nC.publicationRevueCollection());
429
		paramsPublis.set("i18n_editeur", i18nC.publicationEditeur());
430
		paramsPublis.set("i18n_annee", i18nC.publicationDateParution());
431
		paramsPublis.set("i18n_nvt", i18nC.publicationNvt());
432
		paramsPublis.set("i18n_fascicule", i18nC.publicationFascicule());
433
		paramsPublis.set("i18n_page", i18nC.publicationPage());
1334 cyprien 434
 
1264 gduche 435
		afficherOnglet(tableauPublicationsLieesTpl, paramsPublis, tabPublications);
436
	}
437
 
305 gduche 438
	public void rafraichir(Object nouvellesDonnees) {
1264 gduche 439
 
440
		// FIXME : Ci-dessous, on utilise le booléen personneAffichee pour éviter un affichage répété de personnes.
441
		// Se règlerait avec une gestion Synchrone/Asynchrone
442
 
227 aurelien 443
		// Si on a reçu une personne on en affiche les détails
305 gduche 444
		if (nouvellesDonnees instanceof Personne) {
915 jpm 445
			personneAAfficher = (Personne) nouvellesDonnees;
1264 gduche 446
			personneAffichee = false;
820 gduche 447
		} else if (nouvellesDonnees instanceof ValeurListe) {
448
			ValeurListe ontologieReceptionnee = (ValeurListe) nouvellesDonnees;
449
			ajouterListeValeursAOntologie(ontologieReceptionnee);
450
			ontologieRecue = true;
451
 
452
			// Remplacer ci-dessous par Ontologie
305 gduche 453
			ValeurListe listeValeur = (ValeurListe) nouvellesDonnees;
820 gduche 454
			if (listeValeur.getId().equals(config.getListeId("region"))) {
455
 
305 gduche 456
				Collection colCleListeValeur = listeValeur.keySet();
457
				Iterator<String> itLv = colCleListeValeur.iterator();
820 gduche 458
				while (itLv.hasNext()) {
305 gduche 459
					String idRegion = itLv.next();
460
					Valeur region = listeValeur.get(idRegion);
820 gduche 461
 
462
					if (region != null) {
463
 
305 gduche 464
						String strRegionId = region.getAbreviation();
820 gduche 465
 
321 gduche 466
						LinkedList<LabelField> listComposantsRegion = (LinkedList) hmLabelFieldRegion.get(strRegionId);
820 gduche 467
						for (int i = 0; i < listComposantsRegion.size(); i++) {
305 gduche 468
							LabelField lfRegion = listComposantsRegion.get(i);
820 gduche 469
							lfRegion.setFieldLabel(region.getNom());
305 gduche 470
						}
820 gduche 471
 
305 gduche 472
					}
473
				}
474
			}
1334 cyprien 475
		} else if (nouvellesDonnees instanceof PublicationAPersonneListe)	{
1264 gduche 476
			afficherPublications((PublicationAPersonneListe) nouvellesDonnees);
1334 cyprien 477
			layout();
305 gduche 478
		}
915 jpm 479
 
1334 cyprien 480
		// Le code suivant est exécuté DANS TOUS LES CAS !!! peu importe le type de données reçu !
481
		if (ontologieRecue && personneAAfficher != null && personneAffichee == false)	{
915 jpm 482
			afficherDetailPersonne(personneAAfficher);
1264 gduche 483
			personneAffichee = true;
915 jpm 484
		}
150 gduche 485
	}
486
 
197 gduche 487
}