11,12 → 11,12 |
import org.tela_botanica.client.RegistreId; |
import org.tela_botanica.client.configuration.Configuration; |
import org.tela_botanica.client.interfaces.Rafraichissable; |
import org.tela_botanica.client.modeles.Valeur; |
import org.tela_botanica.client.modeles.ValeurListe; |
import org.tela_botanica.client.modeles.personne.Personne; |
import org.tela_botanica.client.modeles.publication.Publication; |
import org.tela_botanica.client.modeles.publication.PublicationAPersonne; |
import org.tela_botanica.client.modeles.publication.PublicationAPersonneListe; |
import org.tela_botanica.client.synchronisation.Sequenceur; |
import org.tela_botanica.client.util.Debug; |
import org.tela_botanica.client.vues.DetailVue; |
|
49,24 → 49,19 |
private HashMap hmLabelFieldRegion = new HashMap(); |
|
private Configuration config = (Configuration) Registry.get(RegistreId.CONFIG); |
private boolean ontologieRecue = false; |
//private boolean ontologieRecue = false; |
private Personne personneAAfficher = null; |
|
private boolean personneAffichee = false; |
//private boolean personneAffichee = false; |
private String tableauPublicationsLieesTpl = ""; |
private String lignePublicationLieeTpl = ""; |
|
private void chargerOntologie() { |
mediateur.obtenirListeValeurEtRafraichir(this, "pays"); |
mediateur.obtenirListeValeurEtRafraichir(this, "tel"); |
mediateur.obtenirListeValeurEtRafraichir(this, "relationPersonnePublication"); |
} |
private Sequenceur sequenceur = new Sequenceur(); |
|
|
public PersonneDetailVue(Mediateur mediateur) { |
super(mediateur); |
chargerOntologie(); |
|
|
//chargerOntologie(); -> Les ontologies sont chargées plus tôt, dans la vue PersonneVue |
setLayout(new FitLayout()); |
|
entete = new Html(); |
89,7 → 84,6 |
tabInfosNat = new TabItem(i18nC.personneInfoNat()); |
tabInfosNat.setScrollMode(Scroll.AUTO); |
|
//Greg : ajout d'un résumé des publications |
tabPublications = new TabItem(i18nC.tabPublications()); |
tabPublications.setScrollMode(Scroll.AUTO); |
tabPublications.setLayout(new FlowLayout()); |
322,7 → 316,7 |
|
while (itComposants.hasNext()) { |
String region = itComposants.next(); |
mediateur.obtenirValeurEtRafraichir(this, "region", region); |
mediateur.obtenirValeurEtRafraichir(this, "region", region, sequenceur); |
} |
} |
|
432,50 → 426,14 |
} |
|
public void rafraichir(Object nouvellesDonnees) { |
|
// FIXME : Ci-dessous, on utilise le booléen personneAffichee pour éviter un affichage répété de personnes. |
// Se règlerait avec une gestion Synchrone/Asynchrone |
|
// Si on a reçu une personne on en affiche les détails |
if (nouvellesDonnees instanceof Personne) { |
personneAAfficher = (Personne) nouvellesDonnees; |
personneAffichee = false; |
} else if (nouvellesDonnees instanceof ValeurListe) { |
ValeurListe ontologieReceptionnee = (ValeurListe) nouvellesDonnees; |
ajouterListeValeursAOntologie(ontologieReceptionnee); |
ontologieRecue = true; |
|
// Remplacer ci-dessous par Ontologie |
ValeurListe listeValeur = (ValeurListe) nouvellesDonnees; |
if (listeValeur.getId().equals(config.getListeId("region"))) { |
|
Collection colCleListeValeur = listeValeur.keySet(); |
Iterator<String> itLv = colCleListeValeur.iterator(); |
while (itLv.hasNext()) { |
String idRegion = itLv.next(); |
Valeur region = listeValeur.get(idRegion); |
|
if (region != null) { |
|
String strRegionId = region.getAbreviation(); |
|
LinkedList<LabelField> listComposantsRegion = (LinkedList) hmLabelFieldRegion.get(strRegionId); |
for (int i = 0; i < listComposantsRegion.size(); i++) { |
LabelField lfRegion = listComposantsRegion.get(i); |
lfRegion.setFieldLabel(region.getNom()); |
} |
|
} |
} |
} |
if (nouvellesDonnees instanceof ValeurListe) { |
ajouterListeValeursAOntologie((ValeurListe) nouvellesDonnees); |
} else if (nouvellesDonnees instanceof Personne) { |
afficherDetailPersonne((Personne) nouvellesDonnees); |
} else if (nouvellesDonnees instanceof PublicationAPersonneListe) { |
afficherPublications((PublicationAPersonneListe) nouvellesDonnees); |
} |
|
if (ontologieRecue && personneAAfficher != null && personneAffichee == false) { |
afficherDetailPersonne(personneAAfficher); |
personneAffichee = true; |
} |
} |
|
} |