Subversion Repositories eFlore/Applications.coel

Compare Revisions

Ignore whitespace Rev 405 → Rev 406

/trunk/src/org/tela_botanica/client/vues/StructureDetailPanneauVue.java
1,12 → 1,17
package org.tela_botanica.client.vues;
 
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Map.Entry;
 
import org.tela_botanica.client.ComposantClass;
import org.tela_botanica.client.ComposantId;
import org.tela_botanica.client.Mediateur;
import org.tela_botanica.client.RegistreId;
import org.tela_botanica.client.i18n.Constantes;
import org.tela_botanica.client.interfaces.Rafraichissable;
import org.tela_botanica.client.modeles.Configuration;
import org.tela_botanica.client.modeles.Information;
import org.tela_botanica.client.modeles.Structure;
import org.tela_botanica.client.modeles.StructureAPersonne;
13,8 → 18,11
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.Events;
import com.extjs.gxt.ui.client.Registry;
import com.extjs.gxt.ui.client.Style.Scroll;
import com.extjs.gxt.ui.client.util.Format;
import com.extjs.gxt.ui.client.util.Params;
34,6 → 42,7
public class StructureDetailPanneauVue extends LayoutContainer implements Rafraichissable {
 
private Mediateur mediateur = null;
private Constantes i18nC = null;
private String enteteTpl = null;
private String identificationTpl = null;
42,6 → 51,7
private String lignePersonnelTpl = null;
private String conservationTpl = null;
private String valorisationTpl = null;
private String sautLigneTpl = null;
private Structure structure = null;
private StructureAPersonneListe personnel = null;
55,9 → 65,14
private TabItem personnelOnglet = null;
private TabItem conservationOnglet = null;
private TabItem valorisationOnglet = null;
 
private Params identificationParams = null;
private Params personnelParams = null;
private Params conservationParams = null;
public StructureDetailPanneauVue(Mediateur mediateurCourant) {
mediateur = mediateurCourant;
i18nC = mediateur.i18nC;
initialiserTousLesTpl();
setLayout(new FitLayout());
64,6 → 79,12
setBorders(false);
setScrollMode(Scroll.AUTO);
conservationParams = new Params();
mediateur.obtenirListeValeurEtRafraichir(this, "localStockage");
mediateur.obtenirListeValeurEtRafraichir(this, "meubleStockage");
mediateur.obtenirListeValeurEtRafraichir(this, "parametreStockage");
panneauPrincipal = new ContentPanel();
panneauPrincipal.setLayout(new FlowLayout());
panneauPrincipal.setHeaderVisible(false);
114,7 → 135,7
afficherPersonnel();
}
if (conservation != null) {
//afficherConservation();
afficherConservation();
}
if (valorisation != null) {
//afficherValorisation();
139,58 → 160,55
}
private void afficherIdentification() {
Params contenuParams = new Params();
contenuParams.set("css_corps", ComposantClass.DETAIL_CORPS_CONTENU);
contenuParams.set("css_label", ComposantClass.LABEL);
contenuParams.set("css_fieldset", ComposantClass.FIELDSET);
contenuParams.set("css_clear", ComposantClass.CLEAR);
identificationParams = new Params();
identificationParams.set("css_corps", ComposantClass.DETAIL_CORPS_CONTENU);
identificationParams.set("css_label", ComposantClass.LABEL);
identificationParams.set("css_fieldset", ComposantClass.FIELDSET);
identificationParams.set("css_clear", ComposantClass.CLEAR);
contenuParams.set("i18n_titre_administratif", mediateur.i18nC.titreAdministratif());
contenuParams.set("i18n_acronyme", mediateur.i18nC.acronyme());
contenuParams.set("i18n_statut", mediateur.i18nC.statut());
contenuParams.set("i18n_date_fondation", mediateur.i18nC.dateFondation());
contenuParams.set("i18n_nbre_personnel", mediateur.i18nC.nbrePersonnel());
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());
contenuParams.set("i18n_titre_description", mediateur.i18nC.description());
contenuParams.set("i18n_description", mediateur.i18nC.description());
identificationParams.set("i18n_titre_description", mediateur.i18nC.description());
identificationParams.set("i18n_description", mediateur.i18nC.description());
contenuParams.set("i18n_titre_adresse", mediateur.i18nC.adresse());
contenuParams.set("i18n_adresse", mediateur.i18nC.adresse());
contenuParams.set("i18n_cp", mediateur.i18nC.codePostal());
contenuParams.set("i18n_ville", mediateur.i18nC.ville());
contenuParams.set("i18n_region", mediateur.i18nC.region());
contenuParams.set("i18n_pays", mediateur.i18nC.pays());
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());
contenuParams.set("i18n_titre_communication", mediateur.i18nC.titreCommunication());
contenuParams.set("i18n_tel", mediateur.i18nC.telephone());
contenuParams.set("i18n_fax", mediateur.i18nC.fax());
contenuParams.set("i18n_courriel", mediateur.i18nC.courriel());
contenuParams.set("i18n_acces", mediateur.i18nC.acces());
contenuParams.set("i18n_web", mediateur.i18nC.siteWeb());
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());
contenuParams.set("acronyme", structure.getIdAlternatif());
contenuParams.set("statut", structure.getTypePrive()+structure.getTypePublic());
contenuParams.set("date_fondation", structure.getDateFondationFormatLong());
contenuParams.set("nbre_personnel", structure.getNbrePersonne());
identificationParams.set("acronyme", structure.getIdAlternatif());
identificationParams.set("statut", structure.getTypePrive()+structure.getTypePublic());
identificationParams.set("date_fondation", structure.getDateFondationFormatLong());
identificationParams.set("nbre_personnel", structure.getNbrePersonne());
contenuParams.set("description", structure.getDescription());
identificationParams.set("description", structure.getDescription());
contenuParams.set("adresse", structure.getAdresse());
contenuParams.set("cp", structure.getCodePostal());
contenuParams.set("ville", structure.getVille());
contenuParams.set("region", structure.getRegion());
contenuParams.set("pays", structure.getPays());
identificationParams.set("adresse", structure.getAdresse());
identificationParams.set("cp", structure.getCodePostal());
identificationParams.set("ville", structure.getVille());
identificationParams.set("region", structure.getRegion());
identificationParams.set("pays", structure.getPays());
contenuParams.set("tel", structure.getTelephone());
contenuParams.set("fax", structure.getFax());
contenuParams.set("courriel", structure.getCourriel());
contenuParams.set("acces", structure.getConditionAcces());
contenuParams.set("web", structure.getUrl());
identificationParams.set("tel", structure.getTelephone());
identificationParams.set("fax", structure.getFax());
identificationParams.set("courriel", structure.getCourriel());
identificationParams.set("acces", structure.getConditionAcces());
identificationParams.set("web", structure.getUrl());
String cHtml = Format.substitute(identificationTpl, contenuParams);
HtmlContainer corpsConteneurDuHtml = new HtmlContainer(cHtml);
identificationOnglet.removeAll();
identificationOnglet.add(corpsConteneurDuHtml);
afficherOnglet(identificationTpl, identificationParams, identificationOnglet);
}
private void afficherPersonnel() {
199,32 → 217,29
tableauPersonnelHtml = construireTableauDuPersonnel();
}
Params contenuParams = new Params();
contenuParams.set("css_corps", ComposantClass.DETAIL_CORPS_CONTENU);
contenuParams.set("i18n_titre_personnel", mediateur.i18nC.titrePersonnel());
contenuParams.set("i18n_nbre_personnel_collection", mediateur.i18nC.nbrePersonnelCollection());
contenuParams.set("nbre_personnel_collection", personnel.size());
contenuParams.set("tableau_personnel", tableauPersonnelHtml);
String cHtml = Format.substitute(personnelTpl, contenuParams);
personnelParams = new Params();
personnelParams.set("css_corps", ComposantClass.DETAIL_CORPS_CONTENU);
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);
HtmlContainer corpsConteneurDuHtml = new HtmlContainer(cHtml);
personnelOnglet.removeAll();
personnelOnglet.add(corpsConteneurDuHtml);
afficherOnglet(personnelTpl, personnelParams, personnelOnglet);
}
private String construireTableauDuPersonnel() {
Params contenuParams = new Params();
contenuParams.set("i18n_titre_membre", mediateur.i18nC.titreMembre());
contenuParams.set("i18n_fonction", mediateur.i18nC.fonction());
contenuParams.set("i18n_prenom", mediateur.i18nC.prenom());
contenuParams.set("i18n_nom", mediateur.i18nC.nom());
contenuParams.set("i18n_tel", mediateur.i18nC.telephoneFixe());
contenuParams.set("i18n_fax", mediateur.i18nC.fax());
contenuParams.set("i18n_courriel", mediateur.i18nC.courrielPrincipal());
contenuParams.set("i18n_statut", mediateur.i18nC.statut());
contenuParams.set("i18n_tps_w", mediateur.i18nC.tpsTravail());
contenuParams.set("i18n_specialite", mediateur.i18nC.specialite());
contenuParams.set("i18n_contact", mediateur.i18nC.boolContact());
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();
248,7 → 263,55
String cHtml = Format.substitute(tableauPersonnelTpl, contenuParams);
return cHtml;
}
private void afficherConservation() {
conservationParams.set("css_corps", ComposantClass.DETAIL_CORPS_CONTENU);
conservationParams.set("css_label", ComposantClass.LABEL);
conservationParams.set("css_fieldset", ComposantClass.FIELDSET);
conservationParams.set("css_clear", ComposantClass.CLEAR);
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("formation", formaterOuiNon(conservation.getFormation()));
conservationParams.set("formation_info", formaterSautDeLigne(conservation.getFormationInfo()));
conservationParams.set("formation_interet", formaterOuiNon(conservation.getFormationInteret()));
conservationParams.set("meuble_specifique", conservation.getStockageMeuble());
conservationParams.set("meuble_specifique", conservation.getStockageMeuble());
conservationParams.set("local_parametre", conservation.getStockageParametre());
afficherOnglet(conservationTpl, conservationParams, conservationOnglet);
}
private void afficherOnglet(String template, Params parametres, TabItem onglet) {
String cHtml = Format.substitute(template, parametres);
HtmlContainer corpsConteneurDuHtml = new HtmlContainer(cHtml);
onglet.removeAll();
onglet.add(corpsConteneurDuHtml);
}
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 void initialiserTousLesTpl() {
initialiserEnteteHtmlTpl();
initialiserIdentificationTpl();
257,6 → 320,7
initialiserLignePersonnelTpl();
initialiserConservationTpl();
initialiserValorisationTpl();
initialiserSautLigneTpl();
}
private void initialiserEnteteHtmlTpl() {
355,7 → 419,8
"<div class='{css_corps}'>"+
" <div class='{css_fieldset}'>"+
" <h2>{i18n_titre_conservation_personnel}</h2>"+
" <span class='{css_label}'>{i18n_formation} :</span> {formation_interet}<br />"+
" <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}'>"+
386,22 → 451,65
"</div>";
}
private void initialiserSautLigneTpl() {
sautLigneTpl = "<br />\n";
}
public void rafraichir(Object nouvelleDonnees) {
if (nouvelleDonnees instanceof Structure) {
structure = (Structure) nouvelleDonnees;
afficherDetailInstitution();
} if (nouvelleDonnees instanceof Information) {
} else if (nouvelleDonnees instanceof Information) {
Information info = (Information) nouvelleDonnees;
if (info.getType().equals("liste_structure_a_personne")) {
allouerPersonnelAStructure((StructureAPersonneListe) info.getDonnee(0));
afficherDetailInstitution();
}
} else if (nouvelleDonnees instanceof ValeurListe) {
ValeurListe ontologie = (ValeurListe) nouvelleDonnees;
if (ontologie.size() > 0) {
Configuration config = (Configuration) Registry.get(RegistreId.CONFIG);
if (ontologie.getId().equals(config.getListeId("localStockage"))) {
String chaineAAnalyser = conservation.getStockageLocal();
String chaineAAfficher = construireTxtListeOntologie(ontologie, chaineAAnalyser);
conservationParams.set("local_specifique", chaineAAfficher);
GWT.log(chaineAAfficher, null);
}
}
} else {
GWT.log("Pas de correspondance dans la méthode rafraichir() de la classe "+this.getClass(), null);
}
}
 
private void allouerPersonnelAStructure(StructureAPersonneListe personnel) {
protected String construireTxtListeOntologie(ValeurListe ontologie, String chaineAAnalyser) {
String chaineAAfficher = "";
if ((chaineAAnalyser != null) && (!chaineAAnalyser.trim().equals(""))) {
String[] valeurs = chaineAAnalyser.split(";;");
int nbreValeurs = valeurs.length;
if (nbreValeurs > 0) {
for (int i = 0; i < nbreValeurs; i++) {
if (valeurs[i].contains("##")) {
} else {
Valeur valeur = ontologie.get(valeurs[i]);
if (valeur != null) {
String termeOntologie = valeur.getNom();
if (i != (nbreValeurs - 1)) {
termeOntologie += ", ";
}
chaineAAfficher += termeOntologie;
GWT.log("Valeur :"+valeurs[i]+" - Ontologie :"+valeur.getNom(), null);
}
}
}
}
}
return chaineAAfficher;
}
protected void allouerPersonnelAStructure(StructureAPersonneListe personnel) {
structure.setPersonnel(personnel);
}