Rev 1173 | Rev 1329 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
package org.tela_botanica.client.modeles.personne;import java.util.Date;import java.util.Iterator;import java.util.Set;import org.tela_botanica.client.Mediateur;import org.tela_botanica.client.modeles.aDonnee;import org.tela_botanica.client.modeles.publication.PublicationAPersonneListe;import org.tela_botanica.client.util.UtilString;import com.google.gwt.core.client.GWT;import com.google.gwt.i18n.client.DateTimeFormat;import com.google.gwt.json.client.JSONObject;public class Personne extends aDonnee {private static final long serialVersionUID = -6974716696155349332L;public static final String PREFIXE = "cp";public static final String TELEPHONE_FIXE = "FIX";public static final String TELEPHONE_GSM = "GSM";public static final String TELEPHONE_FAX = "FAX";public static final String ETRE_DECEDE = "30745";public static final String ETRE_VIVANT = "30746";public static String[] champsObligatoires = {"cp_id_personne"};private PublicationAPersonneListe publicationsLiees= null;public Personne() {}public Personne(JSONObject personne) {initialiserModele(personne);//Ajout du champ courriel principalthis.setCourrielPrinc(this.getInfoDenormaliseParPosition(this.renvoyerValeurCorrecte("truk_courriel"), 1));}@Overrideprotected String getPrefixe() {return PREFIXE;}protected String[] getChampsObligatoires() {return champsObligatoires;}public Object obtenirValeurChamp(String nomChamp) {return renvoyerValeurCorrecte(nomChamp);}public Date getDate(String nomChamp) {String strDate = renvoyerValeurCorrecte(nomChamp);Date dateRetour = null;try {if ((strDate != null) && (!strDate.equals("0000-00-00"))) {dateRetour = DateTimeFormat.getFormat("yyyy-MM-dd").parseStrict(strDate);}} catch (StringIndexOutOfBoundsException e) {GWT.log("Impossible de parser la date " + strDate, e);}return dateRetour;}public String getString(String nomChamp) {return String.valueOf(renvoyerValeurCorrecte(nomChamp));}//Traitement des truksprotected void remplacerTypeDansChaineDenormalise(String champ, String type, Object valeur) {if (valeur != null && !valeur.equals("")) {ajouterChaineDenormaliseAvecType(champ, type, valeur);} else {supprimerTypeDansChaineDenormalise(champ, type);}}/*** Ajoute un nouvel élément sans type à une chaine dénormalisée.* Champ de type "truk" contenant seulement des valeurs séparées par ";;".* Si l'élément existe déjà, il ne sera pas ajouté.** @param champ le nom du champ dénormalisé* @param valeur la valeur à ajouter*/protected void ajouterChaineDenormalise(String champ, Object valeur) {if (valeur instanceof String) {String chaineExistante = renvoyerValeurCorrecte(champ);if (chaineExistante.equals("")) {this.set(champ, valeur);} else {// Si la valeur à ajouter n'est pas déjà présente, nous l'ajoutonsif (!chaineExistante.matches("(^|"+SEPARATEUR_VALEURS+")"+valeur+"("+SEPARATEUR_VALEURS+"|$)")) {this.set(champ, chaineExistante+SEPARATEUR_VALEURS+valeur);}}}}// ID PERSONNEpublic String getId() {return renvoyerValeurCorrecte("id_personne");}public void setId(String personneId) {this.set("id_personne", personneId);}// ID PROJETpublic String getIdProjet() {return renvoyerValeurCorrecte("ce_projet");}// NOM COMPLETpublic String getNomComplet() {return renvoyerValeurCorrecte("fmt_nom_complet");}public void setNomComplet(String nomComplet) {this.set("fmt_nom_complet", nomComplet);}public void setFmtNomComplet(String prefixe, String suffixe) {String fmtNomComplet = "";if ((prefixe != null)&&(!prefixe.trim().equals(""))) {fmtNomComplet += prefixe + " ";}if ((this.getPrenom()!=null)&&(!this.getPrenom().trim().equals(""))) {fmtNomComplet += this.getPrenom() + " ";}if ((this.getNom()!=null)&&(!this.getNom().trim().equals(""))) {fmtNomComplet += this.getNom() + " ";}if ((suffixe!=null)&&(!suffixe.trim().equals(""))) {fmtNomComplet += suffixe;}setNomComplet(UtilString.ucFirst(fmtNomComplet));}// NOMpublic String getNom() {return renvoyerValeurCorrecte("nom");}public void setNom(String nom) {set("nom", nom);}// PRÉNOMpublic String getPrenom() {return renvoyerValeurCorrecte("prenom");}public void setPrenom(String prenom) {set("prenom", prenom);}// TÉLÉPHONEpublic String getTelephone() {return renvoyerValeurCorrecte("truk_telephone");}public void setTelephone(String t) {this.set("truk_telephone", t);}public void ajouterTelephone(String type, Object valeur) {ajouterChaineDenormaliseAvecType("truk_telephone", type, valeur);}public String selectionnerTelephone(String type) {return getInfoDenormaliseParType(renvoyerValeurCorrecte("truk_telephone"), type);}// FAXpublic String getFax() {return renvoyerValeurCorrecte("truk_fax");}public void setFax(String f) {this.set("truk_fax", f);}public void ajouterFax(Object valeur) {ajouterChaineDenormalise("truk_fax", valeur);}public String selectionnerFax(int position) {return getInfoDenormaliseParPosition(renvoyerValeurCorrecte("truk_fax"), position);}// COURRIELpublic String getCourriel() {return renvoyerValeurCorrecte("truk_courriel");}public void setCourriel(String c) {this.set("truk_courriel", c);}public void ajouterCourriel(String c) {ajouterChaineDenormalise("truk_courriel", c);}public String selectionnerCourriel(int position) {return getInfoDenormaliseParPosition(renvoyerValeurCorrecte("truk_courriel"), position);}// SPÉCIALITÉpublic String getSpecialite() {return renvoyerValeurCorrecte("ce_truk_specialite");}public void setSpecialite(String s) {// Pas de liste pour l'instant, donc tout passe dans "Autre".setChaineDenormaliseUnique("ce_truk_specialite", "AUTRE", s);}public String afficherSpecialite() {return getChaineDenormaliseUnique("ce_truk_specialite");}// NAISSANCE DATEpublic String getNaissanceDate() {String dateNaiss = "";dateNaiss = get("naissance_date");if (UtilString.isEmpty(dateNaiss)||dateNaiss.equals("0000-00-00")) {dateNaiss = Mediateur.i18nC.inconnue();}return dateNaiss;}public void setNaissanceDate(Date naissanceDate) {if (naissanceDate != null) {this.set("naissance_date", DateTimeFormat.getFormat("yyyy-MM-dd").format(naissanceDate));} else {this.set("naissance_date", null);}}// NAISSANCE LIEUpublic String getNaissanceLieu() {return renvoyerValeurCorrecte("naissance_lieu");}public void setNaissanceLieu(String naissanceLieu) {this.set("naissance_lieu", naissanceLieu);}// DÉCÉSpublic boolean estDecedee() {String ceDeces = getDeces();if (ceDeces.isEmpty() || ceDeces.equals(ETRE_DECEDE)) {return true;} else {return false;}}public String getDeces() {return renvoyerValeurCorrecte("ce_deces");}public void setDeces(String deces) {set("ce_deces", deces);}public void setDeces(Date decesDate, String lieuDeces) {set("ce_deces", ETRE_DECEDE);setDecesDate(decesDate);setDecesLieu(lieuDeces);}public void setNonDecedee() {set("ce_deces", ETRE_VIVANT);setDecesDate(null);setDecesLieu("");}// DÉCÉS DATEpublic String getDecesDate() {String dateDeces = renvoyerValeurCorrecte("deces_date");if (UtilString.isEmpty(dateDeces) || dateDeces.equals("0000-00-00")) {dateDeces = Mediateur.i18nC.inconnue();}return dateDeces;}public void setDecesDate(Date decesDate) {if (decesDate != null) {this.set("deces_date", DateTimeFormat.getFormat("yyyy-MM-dd").format(decesDate));} else {this.set("deces_date", "");}}// DÉCÉS LIEUpublic String getDecesLieu() {return renvoyerValeurCorrecte("deces_lieu");}public void setDecesLieu(String decesLieu) {this.set("deces_lieu", decesLieu);}// PARAMÊTREpublic String getParametre() {return renvoyerValeurCorrecte("parametre");}public void setParametre(String parametre) {this.set("parametre", parametre);}public void setCourrielPrinc(String courriel) {this.set("_courriel_princ_", courriel);}public String getCourrielPrinc() {return (String) this.get("_courriel_princ_");}// PUBLICATIONS LIÉESpublic PublicationAPersonneListe getPublicationsLiees() {return publicationsLiees;}public void setPublicationsLiees(PublicationAPersonneListe relationsCollectionAPublication) {publicationsLiees = relationsCollectionAPublication;}}