Rev 426 | Rev 448 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
package org.tela_botanica.client.vues;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import org.tela_botanica.client.ComposantClass;
import org.tela_botanica.client.ComposantId;
import org.tela_botanica.client.Mediateur;
import org.tela_botanica.client.i18n.Constantes;
import org.tela_botanica.client.interfaces.Rafraichissable;
import org.tela_botanica.client.modeles.Information;
import org.tela_botanica.client.modeles.Projet;
import org.tela_botanica.client.modeles.ProjetListe;
import org.tela_botanica.client.modeles.Structure;
import org.tela_botanica.client.modeles.StructureAPersonne;
import org.tela_botanica.client.modeles.StructureAPersonneListe;
import org.tela_botanica.client.modeles.StructureConservation;
import org.tela_botanica.client.modeles.StructureValorisation;
import org.tela_botanica.client.modeles.Valeur;
import org.tela_botanica.client.modeles.ValeurListe;
import com.extjs.gxt.ui.client.Style.Scroll;
import com.extjs.gxt.ui.client.util.Format;
import com.extjs.gxt.ui.client.util.Params;
import com.extjs.gxt.ui.client.widget.ContentPanel;
import com.extjs.gxt.ui.client.widget.Html;
import com.extjs.gxt.ui.client.widget.HtmlContainer;
import com.extjs.gxt.ui.client.widget.LayoutContainer;
import com.extjs.gxt.ui.client.widget.TabItem;
import com.extjs.gxt.ui.client.widget.TabPanel;
import com.extjs.gxt.ui.client.widget.layout.AnchorLayout;
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
import com.extjs.gxt.ui.client.widget.layout.FlowLayout;
import com.google.gwt.core.client.GWT;
public class StructureDetailVue extends LayoutContainer implements Rafraichissable {
private Mediateur mediateur = null;
private Constantes i18nC = null;
private HashMap<String, Valeur> ontologie = null;
private ProjetListe projets = null;
private String enteteTpl = null;
private String identificationTpl = null;
private String personnelTpl = null;
private String tableauPersonnelTpl = null;
private String lignePersonnelTpl = null;
private String conservationTpl = null;
private String traitementConservationTpl = null;
private String valorisationTpl = null;
private String sautLigneTpl = null;
private String typeTraitementConservationTpl = null;
private String rechercheValorisationTpl = null;
private Structure structure = null;
private StructureAPersonneListe personnel = null;
private StructureValorisation valorisation = null;
private StructureConservation conservation = null;
private ContentPanel panneauPrincipal = null;
private Html entete = null;
private TabPanel onglets = null;
private TabItem identificationOnglet = null;
private TabItem personnelOnglet = null;
private TabItem conservationOnglet = null;
private TabItem valorisationOnglet = null;
public StructureDetailVue(Mediateur mediateurCourant) {
mediateur = mediateurCourant;
i18nC = mediateur.i18nC;
initialiserTousLesTpl();
ontologie = new HashMap<String, Valeur>();
chargerOntologie();
setLayout(new FitLayout());
setBorders(false);
setScrollMode(Scroll.AUTO);
panneauPrincipal = new ContentPanel();
panneauPrincipal.setLayout(new FlowLayout());
panneauPrincipal.setHeaderVisible(false);
panneauPrincipal.setBodyBorder(false);
entete = new Html();
entete.setId(ComposantId.ZONE_DETAIL_ENTETE);
panneauPrincipal.setTopComponent(entete);
onglets = new TabPanel();
onglets.setId(ComposantId.ZONE_DETAIL_CORPS);
onglets.setHeight("100%");
onglets.setBodyBorder(false);
identificationOnglet = new TabItem(i18nC.structureInfoGeneral());
identificationOnglet.setLayout(new AnchorLayout());
identificationOnglet.setScrollMode(Scroll.AUTO);
onglets.add(identificationOnglet);
personnelOnglet = new TabItem(i18nC.structureInfoPersonnel());
personnelOnglet.setLayout(new AnchorLayout());
personnelOnglet.setScrollMode(Scroll.AUTO);
onglets.add(personnelOnglet);
conservationOnglet = new TabItem(i18nC.structureInfoConservation());
conservationOnglet.setLayout(new AnchorLayout());
conservationOnglet.setScrollMode(Scroll.AUTO);
onglets.add(conservationOnglet);
valorisationOnglet = new TabItem(i18nC.structureInfoValorisation());
valorisationOnglet.setLayout(new AnchorLayout());
valorisationOnglet.setScrollMode(Scroll.AUTO);
onglets.add(valorisationOnglet);
panneauPrincipal.add(onglets);
add(panneauPrincipal);
}
private void chargerOntologie() {
mediateur.selectionnerProjets(this);
mediateur.obtenirListeValeurEtRafraichir(this, "stpr");
mediateur.obtenirListeValeurEtRafraichir(this, "stpu");
mediateur.obtenirListeValeurEtRafraichir(this, "statut");
mediateur.obtenirListeValeurEtRafraichir(this, "fonction");
mediateur.obtenirListeValeurEtRafraichir(this, "pays");
mediateur.obtenirListeValeurEtRafraichir(this, "localStockage");
mediateur.obtenirListeValeurEtRafraichir(this, "meubleStockage");
mediateur.obtenirListeValeurEtRafraichir(this, "parametreStockage");
mediateur.obtenirListeValeurEtRafraichir(this, "autreCollection");
mediateur.obtenirListeValeurEtRafraichir(this, "onep");
mediateur.obtenirListeValeurEtRafraichir(this, "opRestau");
mediateur.obtenirListeValeurEtRafraichir(this, "autreMateriel");
mediateur.obtenirListeValeurEtRafraichir(this, "poisonTraitement");
mediateur.obtenirListeValeurEtRafraichir(this, "insecteTraitement");
mediateur.obtenirListeValeurEtRafraichir(this, "actionValorisation");
mediateur.obtenirListeValeurEtRafraichir(this, "continentEtFr");
mediateur.obtenirListeValeurEtRafraichir(this, "typeRecherche");
}
private void afficherDetailInstitution() {
if (structure != null) {
personnel = structure.getPersonnel();
valorisation = structure.getValorisation();
conservation = structure.getConservation();
afficherEntete();
afficherIdentification();
if (personnel != null) {
afficherPersonnel();
}
if (conservation != null) {
afficherConservation();
}
if (valorisation != null) {
afficherValorisation();
}
}
layout();
}
private void afficherEntete() {
Params enteteParams = new Params();
enteteParams.set("css_id", ComposantId.ZONE_DETAIL_ENTETE);
enteteParams.set("css_meta", ComposantClass.META);
enteteParams.set("nom", structure.getNom());
enteteParams.set("ville", structure.getVille());
enteteParams.set("id", structure.getId());
enteteParams.set("guid", structure.getGuid());
enteteParams.set("projet", construireTxtprojet(structure.getIdProjet()));
String eHtml = Format.substitute(enteteTpl, enteteParams);
entete.getElement().setInnerHTML(eHtml);
}
private void afficherIdentification() {
Params identificationParams = new Params();
identificationParams.set("i18n_titre_administratif", i18nC.titreAdministratif());
identificationParams.set("i18n_acronyme", i18nC.acronyme());
identificationParams.set("i18n_statut", i18nC.statut());
identificationParams.set("i18n_date_fondation", mediateur.i18nC.dateFondation());
identificationParams.set("i18n_nbre_personnel", mediateur.i18nC.nbrePersonnel());
identificationParams.set("i18n_titre_description", mediateur.i18nC.description());
identificationParams.set("i18n_description", mediateur.i18nC.description());
identificationParams.set("i18n_titre_adresse", mediateur.i18nC.adresse());
identificationParams.set("i18n_adresse", mediateur.i18nC.adresse());
identificationParams.set("i18n_cp", mediateur.i18nC.codePostal());
identificationParams.set("i18n_ville", mediateur.i18nC.ville());
identificationParams.set("i18n_region", mediateur.i18nC.region());
identificationParams.set("i18n_pays", mediateur.i18nC.pays());
identificationParams.set("i18n_titre_communication", mediateur.i18nC.titreCommunication());
identificationParams.set("i18n_tel", mediateur.i18nC.telephone());
identificationParams.set("i18n_fax", mediateur.i18nC.fax());
identificationParams.set("i18n_courriel", mediateur.i18nC.courriel());
identificationParams.set("i18n_acces", mediateur.i18nC.acces());
identificationParams.set("i18n_web", mediateur.i18nC.siteWeb());
String acronyme = construireTxtTruck(structure.getIdAlternatif());
String typePrive = construireTxtListeOntologie(structure.getTypePrive());
String typePublic = construireTxtListeOntologie(structure.getTypePublic());
String pays = construireTxtListeOntologie(structure.getPays());
String web = construireTxtTruck(structure.getUrl());
identificationParams.set("acronyme", acronyme);
identificationParams.set("statut", typePrive+typePublic);
identificationParams.set("date_fondation", structure.getDateFondationFormatLong());
identificationParams.set("nbre_personnel", structure.getNbrePersonne());
identificationParams.set("description", structure.getDescription());
identificationParams.set("adresse", structure.getAdresse());
identificationParams.set("cp", structure.getCodePostal());
identificationParams.set("ville", structure.getVille());
identificationParams.set("region", structure.getRegion());
identificationParams.set("pays", pays);
identificationParams.set("tel", structure.getTelephone());
identificationParams.set("fax", structure.getFax());
identificationParams.set("courriel", structure.getCourriel());
identificationParams.set("acces", structure.getConditionAcces());
identificationParams.set("web", web);
afficherOnglet(identificationTpl, identificationParams, identificationOnglet);
}
private void afficherPersonnel() {
String tableauPersonnelHtml = "";
if (personnel.size() > 0) {
tableauPersonnelHtml = construireTableauDuPersonnel();
}
Params personnelParams = new Params();
personnelParams.set("i18n_titre_personnel", i18nC.titrePersonnel());
personnelParams.set("i18n_nbre_personnel_collection", i18nC.nbrePersonnelCollection());
personnelParams.set("nbre_personnel_collection", personnel.size());
personnelParams.set("tableau_personnel", tableauPersonnelHtml);
afficherOnglet(personnelTpl, personnelParams, personnelOnglet);
}
private String construireTableauDuPersonnel() {
Params contenuParams = new Params();
contenuParams.set("i18n_titre_membre", i18nC.titreMembre());
contenuParams.set("i18n_fonction", i18nC.fonction());
contenuParams.set("i18n_prenom", i18nC.prenom());
contenuParams.set("i18n_nom", i18nC.nom());
contenuParams.set("i18n_tel", i18nC.telephoneFixe());
contenuParams.set("i18n_fax", i18nC.fax());
contenuParams.set("i18n_courriel", i18nC.courrielPrincipal());
contenuParams.set("i18n_statut", i18nC.statut());
contenuParams.set("i18n_tps_w", i18nC.tpsTravail());
contenuParams.set("i18n_specialite", i18nC.specialite());
contenuParams.set("i18n_contact", i18nC.boolContact());
String lignesPersonnel = "";
Iterator<String> it = personnel.keySet().iterator();
while (it.hasNext()) {
StructureAPersonne personne = personnel.get(it.next());
Params ligneParams = new Params();
String fonction = construireTxtListeOntologie(personne.getFonction());
String statut = construireTxtListeOntologie(personne.getStatut());
String contact = formaterOuiNon(personne.getContact());
ligneParams.set("fonction", fonction);
ligneParams.set("prenom", personne.getPrenom());
ligneParams.set("nom", personne.getNom());
ligneParams.set("tel", personne.getTelephone());
ligneParams.set("fax", personne.getFax());
ligneParams.set("courriel", personne.getCourriel());
ligneParams.set("statut", statut);
ligneParams.set("tps_w", personne.getBotaTravailHebdoTps());
ligneParams.set("specialite", personne.afficherSpecialite());
ligneParams.set("contact", contact);
lignesPersonnel += Format.substitute(lignePersonnelTpl, ligneParams);
}
contenuParams.set("lignes", lignesPersonnel);
String cHtml = Format.substitute(tableauPersonnelTpl, contenuParams);
return cHtml;
}
private void afficherConservation() {
Params conservationParams = new Params();
conservationParams.set("i18n_titre_conservation_personnel", i18nC.titreConservationPersonnel());
conservationParams.set("i18n_formation", i18nC.formation());
conservationParams.set("i18n_formation_interet", i18nC.formationInteret());
conservationParams.set("i18n_titre_local", i18nC.titreLocal());
conservationParams.set("i18n_local_specifique", i18nC.localSpecifique());
conservationParams.set("i18n_meuble_specifique", i18nC.meubleSpecifique());
conservationParams.set("i18n_local_parametre", i18nC.localParametre());
conservationParams.set("i18n_conservation_en_commun", i18nC.conservationEnCommun());
conservationParams.set("i18n_acces_controle", i18nC.accesControle());
conservationParams.set("i18n_titre_operation", i18nC.titreOperation());
conservationParams.set("i18n_restauration", i18nC.restauration());
conservationParams.set("i18n_materiel_conservation", i18nC.materielConservation());
conservationParams.set("i18n_traitement", i18nC.traitement());
conservationParams.set("i18n_titre_acquisition", i18nC.titreAcquisition());
conservationParams.set("i18n_acquisition_collection", i18nC.acquisitionCollection());
conservationParams.set("i18n_acquisition_echantillon", i18nC.acquisitionEchantillon());
conservationParams.set("formation", formaterOuiNon(conservation.getFormation()));
conservationParams.set("formation_info", formaterSautDeLigne(conservation.getFormationInfo()));
conservationParams.set("formation_interet", formaterOuiNon(conservation.getFormationInteret()));
conservationParams.set("meuble_specifique", conservation.getStockageMeuble());
String chaineAAnalyser = conservation.getStockageLocal();
String chaineAAfficher = construireTxtListeOntologie(chaineAAnalyser);
conservationParams.set("local_specifique", chaineAAfficher);
chaineAAnalyser = conservation.getStockageMeuble();
chaineAAfficher = construireTxtListeOntologie(chaineAAnalyser);
conservationParams.set("meuble_specifique", chaineAAfficher);
chaineAAnalyser = conservation.getStockageParametre();
chaineAAfficher = construireTxtListeOntologie(chaineAAnalyser);
conservationParams.set("local_parametre", chaineAAfficher);
conservationParams.set("conservation_en_commun", formaterOuiNon(conservation.getCollectionCommune()));
chaineAAnalyser = conservation.getCollectionAutre();
chaineAAfficher = construireTxtListeOntologie(chaineAAnalyser);
conservationParams.set("collection_autre", formaterParenthese(chaineAAfficher));
conservationParams.set("acces_controle", formaterOuiNon(conservation.getAccesControle()));
conservationParams.set("restauration", formaterOuiNon(conservation.getRestauration()));
chaineAAnalyser = conservation.getRestaurationOperation();
chaineAAfficher = construireTxtListeOntologie(chaineAAnalyser);
conservationParams.set("restauration_operation", formaterParenthese(chaineAAfficher));
chaineAAnalyser = conservation.getMaterielConservation();
chaineAAfficher = construireTxtListeOntologie(chaineAAnalyser);
conservationParams.set("materiel_conservation", chaineAAfficher);
chaineAAnalyser = conservation.getMaterielAutre();
chaineAAfficher = construireTxtListeOntologie(chaineAAnalyser);
conservationParams.set("materiel_autre", formaterParenthese(chaineAAfficher));
conservationParams.set("traitement", formaterOuiNon(conservation.getTraitement()));
chaineAAnalyser = conservation.getTraitements();
chaineAAfficher = construireTxtListeOntologie(chaineAAnalyser);
conservationParams.set("traitements", formaterParenthese(chaineAAfficher));
conservationParams.set("acquisition_collection", formaterOuiNon(conservation.getAcquisitionCollection()));
conservationParams.set("acquisition_echantillon", formaterOuiNon(conservation.getAcquisitionEchantillon()));
conservationParams.set("acquisition_traitement_info", construireTraitement());
afficherOnglet(conservationTpl, conservationParams, conservationOnglet);
}
private String construireTraitement() {
String cHtml = "";
String echantillon = conservation.getAcquisitionEchantillon();
if (echantillon.equals("1")) {
Params traitementConservationParams = new Params();
traitementConservationParams.set("i18n_acquisition_traitement", i18nC.acquisitionTraitement());
traitementConservationParams.set("acquisition_traitement", formaterOuiNon(conservation.getAcquisitionTraitement()));
traitementConservationParams.set("acquisition_traitement_type_info", construireTraitementType());
cHtml = Format.substitute(traitementConservationTpl, traitementConservationParams);
}
return cHtml;
}
private String construireTraitementType() {
String cHtml = "";
String traitement = conservation.getAcquisitionTraitement();
if (traitement.equals("1")) {
Params typeTraitementParams = new Params();
typeTraitementParams.set("i18n_acquisition_traitement_insecte", i18nC.acquisitionTraitementInsecte());
typeTraitementParams.set("i18n_acquisition_traitement_poison", i18nC.acquisitionTraitementPoison());
String acquisitionTraitementInsecte = construireTxtListeOntologie(conservation.getAcquisitionTraitementInsecte());
typeTraitementParams.set("acquisition_traitement_insecte", acquisitionTraitementInsecte);
String acquisitionTraitementPoison = construireTxtListeOntologie(conservation.getAcquisitionTraitementPoison());
typeTraitementParams.set("acquisition_traitement_poison", acquisitionTraitementPoison);
cHtml = Format.substitute(typeTraitementConservationTpl, typeTraitementParams);
}
return cHtml;
}
private void afficherValorisation() {
Params valorisationParams = new Params();
valorisationParams.set("i18n_titre_action_valorisation", i18nC.titreActionValorisation());
valorisationParams.set("i18n_action", i18nC.action());
valorisationParams.set("i18n_action_publication", i18nC.actionPublication());
valorisationParams.set("i18n_collection_autre", i18nC.collectionAutre());
valorisationParams.set("i18n_action_future", i18nC.actionFuture());
valorisationParams.set("action", formaterOuiNon(valorisation.getAction()));
String actionInfo = construireTxtListeOntologie(valorisation.getActionInfo());
valorisationParams.set("action_info", formaterParenthese(actionInfo));
valorisationParams.set("action_publication", valorisation.getPublication());
String collectionAutre = construireTxtListeOntologie(valorisation.getCollectionAutre());
valorisationParams.set("collection_autre", collectionAutre);
valorisationParams.set("action_future", formaterOuiNon(valorisation.getActionFuture()));
valorisationParams.set("action_future_info", formaterParenthese(valorisation.getActionFutureInfo()));
valorisationParams.set("i18n_titre_recherche_scientifique", i18nC.titreRechercherScientifique());
valorisationParams.set("i18n_recherche", i18nC.recherche());
valorisationParams.set("recherche", formaterOuiNon(valorisation.getRecherche()));
valorisationParams.set("recherche_info", construireRecherche());
valorisationParams.set("i18n_titre_acces_usage", i18nC.titreAccesUsage());
valorisationParams.set("i18n_acces", i18nC.acces());
valorisationParams.set("i18n_visite", i18nC.visite());
valorisationParams.set("acces", formaterOuiNon(valorisation.getAccesSansMotif()));
valorisationParams.set("acces_info", formaterParenthese(valorisation.getAccesSansMotifInfo()));
valorisationParams.set("visite", formaterOuiNon(valorisation.getVisiteAvecMotif()));
valorisationParams.set("visite_info", formaterParenthese(valorisation.getVisiteAvecMotifInfo()));
afficherOnglet(valorisationTpl, valorisationParams, valorisationOnglet);
}
private String construireRecherche() {
String cHtml = "";
String recherche = valorisation.getRecherche();
if (recherche.equals("1")) {
Params rechercheParams = new Params();
rechercheParams.set("i18n_recherche_provenance", i18nC.rechercheProvenance());
rechercheParams.set("i18n_recherche_type", i18nC.rechercheType());
String rechercheProvenance = construireTxtListeOntologie(valorisation.getRechercheProvenance());
rechercheParams.set("recherche_provenance", rechercheProvenance);
String rechercheType = construireTxtListeOntologie(valorisation.getRechercheType());
rechercheParams.set("recherche_type", rechercheType);
cHtml = Format.substitute(rechercheValorisationTpl, rechercheParams);
}
return cHtml;
}
private void afficherOnglet(String template, Params parametres, TabItem onglet) {
String cHtml = Format.substitute(template, parametres);
Params cssParams = new Params();
cssParams.set("css_corps", ComposantClass.DETAIL_CORPS_CONTENU);
cssParams.set("css_label", ComposantClass.LABEL);
cssParams.set("css_indentation", ComposantClass.INDENTATION);
cssParams.set("css_fieldset", ComposantClass.FIELDSET);
cssParams.set("css_clear", ComposantClass.CLEAR);
cHtml = Format.substitute(cHtml, cssParams);
HtmlContainer corpsConteneurDuHtml = new HtmlContainer(cHtml);
onglet.removeAll();
onglet.add(corpsConteneurDuHtml);
}
private void initialiserTousLesTpl() {
initialiserEnteteHtmlTpl();
initialiserIdentificationTpl();
initialiserPersonnelTpl();
initialiserTableauPersonnelTpl();
initialiserLignePersonnelTpl();
initialiserConservationTpl();
initialiserTraitementConservationTpl();
initialiserTypeTraitementConservationTpl();
initialiserValorisationTpl();
initialiserRechercheValorisationTpl();
initialiserSautLigneTpl();
}
private void initialiserEnteteHtmlTpl() {
enteteTpl =
"<div id='{css_id}'>"+
" <h1>{nom}</h1>"+
" <h2>{ville}<span class='{css_meta}'>{projet} - {id} - {guid}</span></h2>" +
" " +
"</div>";
}
private void initialiserIdentificationTpl() {
identificationTpl =
"<div class='{css_corps}'>"+
" <div class='{css_fieldset}'>"+
" <h2>{i18n_titre_administratif}</h2>"+
" <span class='{css_label}'>{i18n_acronyme} :</span> {acronyme}<br />"+
" <span class='{css_label}'>{i18n_acces} :</span> {acces}<br />"+
" <span class='{css_label}'>{i18n_statut} :</span> {statut}<br />"+
" <span class='{css_label}'>{i18n_date_fondation} :</span> {date_fondation}<br />"+
" <span class='{css_label}'>{i18n_nbre_personnel} :</span> {nbre_personnel}<br />"+
" </div>"+
" <div class='{css_fieldset}'>"+
" <h2>{i18n_titre_description}</h2>"+
" {description}"+
" </div>"+
" <hr class='{css_clear}'/>"+
" <div class='{css_fieldset}'>"+
" <h2>{i18n_titre_adresse}</h2>"+
" <span class='{css_label}'>{i18n_adresse} :</span> {adresse}<br />" +
" <span class='{css_label}'>{i18n_cp} :</span> {cp}<br />" +
" <span class='{css_label}'>{i18n_ville} :</span> {ville}<br />" +
" <span class='{css_label}'>{i18n_region} :</span> {region}<br />" +
" <span class='{css_label}'>{i18n_pays} :</span> {pays}<br />" +
" </div>"+
" <div class='{css_fieldset}'>"+
" <h2>{i18n_titre_communication}</h2>"+
" <span class='{css_label}'>{i18n_tel} :</span> {tel}<br />"+
" <span class='{css_label}'>{i18n_fax} :</span> {fax}<br />"+
" <span class='{css_label}'>{i18n_courriel} :</span> {courriel}<br />"+
" <span class='{css_label}'>{i18n_web} :</span> {web}<br />"+
" </div>"+
"</div>";
}
private void initialiserPersonnelTpl() {
personnelTpl =
"<div class='{css_corps}'>"+
" <h2>{i18n_titre_personnel}</h2>"+
" <p><span class='{css_label}'>{i18n_nbre_personnel_collection} :</span> {nbre_personnel_collection}</p>"+
" {tableau_personnel}"+
"</div>";
}
private void initialiserTableauPersonnelTpl() {
tableauPersonnelTpl =
"<h3>{i18n_titre_membre}</h3>"+
"<table>"+
" <thead>"+
" <tr>" +
" <th>{i18n_fonction}</th>" +
" <th>{i18n_prenom}</th>" +
" <th>{i18n_nom}</th>" +
" <th>{i18n_tel}</th>" +
" <th>{i18n_fax}</th>" +
" <th>{i18n_courriel}</th>" +
" <th>{i18n_statut}</th>" +
" <th>{i18n_tps_w}</th>" +
" <th>{i18n_specialite}</th>" +
" <th>{i18n_contact}</th>" +
" </tr>"+
" </thead>"+
" <tbody>"+
" {lignes}"+
" </tbody>"+
"</table>";
}
private void initialiserLignePersonnelTpl() {
lignePersonnelTpl =
"<tr>"+
" <td>{fonction}</td>"+
" <td>{prenom}</td>"+
" <td>{nom}</td>"+
" <td>{tel}</td>" +
" <td>{fax}</td>" +
" <td>{courriel}</td>" +
" <td>{statut}</td>" +
" <td>{tps_w}</td>" +
" <td>{specialite}</td>" +
" <td>{contact}</td>" +
"</tr>";
}
private void initialiserConservationTpl() {
conservationTpl =
"<div class='{css_corps}'>"+
" <div class='{css_fieldset}'>"+
" <h2>{i18n_titre_conservation_personnel}</h2>"+
" <span class='{css_label}'>{i18n_formation} :</span> {formation}<br />"+
" {formation_info}<br />"+
" <span class='{css_label}'>{i18n_formation_interet} :</span> {formation_interet}<br />"+
" </div>"+
" <div class='{css_fieldset}'>"+
" <h2>{i18n_titre_local}</h2>"+
" <span class='{css_label}'>{i18n_local_specifique} :</span> {local_specifique}<br />"+
" <span class='{css_label}'>{i18n_meuble_specifique} :</span> {meuble_specifique}<br />"+
" <span class='{css_label}'>{i18n_local_parametre} :</span> {local_parametre}<br />"+
" <span class='{css_label}'>{i18n_conservation_en_commun} :</span> {conservation_en_commun} {collection_autre}<br />"+
" <span class='{css_label}'>{i18n_acces_controle} :</span> {acces_controle}<br />"+
" </div>"+
" <hr class='{css_clear}'/>"+
" <div class='{css_fieldset}'>"+
" <h2>{i18n_titre_operation}</h2>"+
" <span class='{css_label}'>{i18n_restauration} :</span> {restauration} {restauration_operation}<br />"+
" <span class='{css_label}'>{i18n_materiel_conservation} :</span> {materiel_conservation} {materiel_autre}<br />"+
" <span class='{css_label}'>{i18n_traitement} :</span> {traitement} {traitements}<br />"+
" </div>"+
" <div class='{css_fieldset}'>"+
" <h2>{i18n_titre_acquisition}</h2>"+
" <span class='{css_label}'>{i18n_acquisition_collection} :</span> {acquisition_collection}<br />"+
" <span class='{css_label}'>{i18n_acquisition_echantillon} :</span> {acquisition_echantillon}<br />"+
" {acquisition_traitement_info}" +
" </div>"+
"</div>";
}
private void initialiserTraitementConservationTpl() {
traitementConservationTpl =
"<span class='{css_indentation} {css_label}'>{i18n_acquisition_traitement} :</span> {acquisition_traitement}<br />"+
" <div class='{css_indentation}'>"+
" {acquisition_traitement_type_info}"+
" </div>";
}
private void initialiserTypeTraitementConservationTpl() {
typeTraitementConservationTpl =
"<span class='{css_indentation} {css_label}'>{i18n_acquisition_traitement_insecte} :</span> {acquisition_traitement_insecte}<br />"+
"<span class='{css_indentation} {css_label}'>{i18n_acquisition_traitement_poison} :</span> {acquisition_traitement_poison}<br />";
}
private void initialiserValorisationTpl() {
valorisationTpl =
"<div class='{css_corps}'>"+
" <div class='{css_fieldset}'>"+
" <h2>{i18n_titre_action_valorisation}</h2>"+
" <span class='{css_label}'>{i18n_action} :</span> {action} {action_info}<br />"+
" <span class='{css_label}'>{i18n_action_publication} :</span> {action_publication}<br />"+
" <span class='{css_label}'>{i18n_collection_autre} :</span> {collection_autre}<br />"+
" <span class='{css_label}'>{i18n_action_future} :</span> {action_future} {action_future_info}<br />"+
" </div>"+
" <div class='{css_fieldset}'>"+
" <h2>{i18n_titre_recherche_scientifique}</h2>"+
" <span class='{css_label}'>{i18n_recherche} :</span> {recherche}<br />"+
" {recherche_info}"+
" </div>"+
" <hr class='{css_clear}'/>"+
" <div class='{css_fieldset}'>"+
" <h2>{i18n_titre_acces_usage}</h2>"+
" <span class='{css_label}'>{i18n_visite} :</span> {visite} {visite_info}<br />"+
" <span class='{css_label}'>{i18n_acces} :</span> {acces} {acces_info}<br />"+
" </div>"+
"</div>";
}
private void initialiserRechercheValorisationTpl() {
rechercheValorisationTpl =
"<span class='{css_indentation} {css_label}'>{i18n_recherche_provenance} :</span> {recherche_provenance}<br />"+
"<span class='{css_indentation} {css_label}'>{i18n_recherche_type} :</span> {recherche_type}<br />";
}
private void initialiserSautLigneTpl() {
sautLigneTpl = "<br />\n";
}
public void rafraichir(Object nouvelleDonnees) {
if (nouvelleDonnees instanceof Structure) {
structure = (Structure) nouvelleDonnees;
afficherDetailInstitution();
} else if (nouvelleDonnees instanceof ProjetListe) {
projets = (ProjetListe) nouvelleDonnees;
} else if (nouvelleDonnees instanceof ValeurListe) {
ValeurListe ontologieReceptionnee = (ValeurListe) nouvelleDonnees;
ajouterListeValeursAOntologie(ontologieReceptionnee);
} else if (nouvelleDonnees instanceof Information) {
Information info = (Information) nouvelleDonnees;
if (info.getType().equals("liste_structure_a_personne")) {
allouerPersonnelAStructure((StructureAPersonneListe) info.getDonnee(0));
afficherDetailInstitution();
}
} else {
GWT.log("Pas de correspondance dans la méthode rafraichir() de la classe "+this.getClass(), null);
}
}
private void ajouterListeValeursAOntologie(ValeurListe ontologieReceptionnee) {
Iterator<String> it = ontologieReceptionnee.keySet().iterator();
while (it.hasNext()) {
String cle = it.next();
Valeur valeur = ontologieReceptionnee.get(cle);
if (valeur != null) {
ontologie.put(cle, valeur);
}
}
}
protected void allouerPersonnelAStructure(StructureAPersonneListe personnel) {
structure.setPersonnel(personnel);
}
protected String construireTxtprojet(String idProjet) {
String chaineARetourner = idProjet;
if (projets != null) {
Projet projet = projets.get(idProjet);
String nomDuProjet = projet.getNom();
if (!nomDuProjet.equals("")) {
chaineARetourner = nomDuProjet;
}
}
return chaineARetourner;
}
protected String construireTxtListeOntologie(String chaineAAnalyser) {
ArrayList<String> termes = new ArrayList<String>();
ArrayList<String> autres = new ArrayList<String>();
if ((chaineAAnalyser != null) && (!chaineAAnalyser.trim().equals(""))) {
String[] valeurs = chaineAAnalyser.split(";;");
int nbreValeurs = valeurs.length;
if (nbreValeurs > 0) {
for (int i = 0; i < nbreValeurs; i++) {
String id = valeurs[i];
if (id.contains("AUTRE##")) {
String txt = id.replaceFirst("^AUTRE##", "");
if (!txt.equals("")) {
autres.add(txt);
}
} else if (id.matches("^[0-9]+$")) {
if (ontologie != null) {
Valeur valeur = ontologie.get(id);
if (valeur != null) {
String termeOntologie = valeur.getNom();
termes.add(termeOntologie);
}
}
}
}
}
}
String chaineTermes = formaterTableauDeTxt(termes);
String chaineAutres = formaterTableauDeTxt(autres);
String chaineARetourner = chaineTermes+formaterAutre(chaineAutres);
return chaineARetourner;
}
protected String construireTxtTruck(String chaineAAnalyser) {
ArrayList<String> termes = new ArrayList<String>();
if ((chaineAAnalyser != null) && (!chaineAAnalyser.trim().equals(""))) {
String[] valeurs = chaineAAnalyser.split(";;");
int nbreValeurs = valeurs.length;
if (nbreValeurs > 0) {
for (int i = 0; i < nbreValeurs; i++) {
String valeur = valeurs[i];
String valeurFormatee = formaterValeurTruck(valeur);
termes.add(valeurFormatee);
}
}
}
String chaineARetourner = formaterTableauDeTxt(termes);
return chaineARetourner;
}
private String formaterParenthese(String chaineAAfficher) {
if (!chaineAAfficher.equals("")) {
chaineAAfficher = "("+chaineAAfficher+")";
}
return chaineAAfficher;
}
private String formaterAutre(String chaineAAfficher) {
if (!chaineAAfficher.equals("")) {
chaineAAfficher = " ["+i18nC.autres()+" : "+chaineAAfficher+"]";
}
return chaineAAfficher;
}
private String formaterTableauDeTxt(ArrayList<String> tableauDeTxt) {
String chaineAAfficher = "";
int tailleDuTableau = tableauDeTxt.size();
if (tailleDuTableau > 0) {
int indexAvtDernier = tailleDuTableau - 1;
for (int i = 0; i < tailleDuTableau; i++) {
String mot = tableauDeTxt.get(i);
if (i != indexAvtDernier) {
chaineAAfficher += mot+", ";
} else {
chaineAAfficher += nettoyerPointFinal(mot)+".";
}
}
}
return chaineAAfficher;
}
private String formaterOuiNon(String chaineAFormater) {
String txtARetourner = "";
if (chaineAFormater.equals("0")) {
txtARetourner = i18nC.non();
} else if (chaineAFormater.equals("1")) {
txtARetourner = i18nC.oui();
}
return txtARetourner;
}
private String formaterSautDeLigne(String chaineAFormater) {
String txtARetourner = chaineAFormater.replaceAll("\n", sautLigneTpl);
return txtARetourner;
}
private String formaterValeurTruck(String valeur) {
String chaineARetourner = "";
if (valeur.matches("^[^#]+##[^$]+$")) {
String[] cleValeur = valeur.split("##");
chaineARetourner = cleValeur[1]+" "+formaterParenthese(cleValeur[0]);
} else if (!valeur.equals("")) {
chaineARetourner = valeur;
} else {
GWT.log("Valeur truck posant problèlme :"+valeur, null);
}
return chaineARetourner;
}
private String nettoyerPointFinal(String mot) {
mot = mot.replaceAll("[.]$", "");
return mot;
}
}