Rev 775 | Blame | Last modification | View Log | RSS feed
package org.tela_botanica.client.modeles;import java.util.Date;import java.util.Iterator;import java.util.Set;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 Personne() {}public Personne(JSONObject personne) {initialiserModele(personne);//Ajout du champ courriel principalthis.set("courriel_princ", this.getInfoDenormaliseParPosition(this.renvoyerValeurCorrecte("truk_courriel"), 1));}@Overrideprotected String getPrefixe() {return PREFIXE;}// ID PERSONNEpublic String getId() {return renvoyerValeurCorrecte("id_personne");}// ID PROJETpublic String getIdProjet() {return renvoyerValeurCorrecte("ce_projet");}// NOM COMPLETpublic String getNomComplet() {return renvoyerValeurCorrecte("fmt_nom_complet");}// NOMpublic String getNom() {return renvoyerValeurCorrecte("nom");}// PRÉNOMpublic String getPrenom() {return renvoyerValeurCorrecte("prenom");}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;}// 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");}public Object obtenirValeurChamp(String nomChamp) {return renvoyerValeurCorrecte(nomChamp);}public String getString(String champ) {return String.valueOf(renvoyerValeurCorrecte(champ));}public void setNaissanceDate(Date naissanceDate) {if (naissanceDate != null) {this.set("naissance_date", DateTimeFormat.getFormat("yyyy-MM-dd").format(naissanceDate));}}public void setDecesDate(Date decesDate) {if (decesDate != null) {this.set("deces_date", DateTimeFormat.getFormat("yyyy-MM-dd").format(decesDate));}}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;}this.set("fmt_nom_complet", UtilString.ucFirst(fmtNomComplet));}//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);}}}}}