Subversion Repositories eFlore/Applications.coel

Rev

Rev 156 | Rev 169 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

package org.tela_botanica.client.modeles;

import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

import com.extjs.gxt.ui.client.data.BaseModelData;
import com.google.gwt.core.client.GWT;
import com.google.gwt.i18n.client.DateTimeFormat;
import com.google.gwt.json.client.JSONObject;

public class Structure extends aDonnee {
        
        public static final String PREFIXE = "cs";
        private BaseModelData urls = null;
        /**
         * Constructeur vide
         * 
         */
        public Structure() {
                
        }
        
        /**
         * Constructeur avec un objet JSON
         * 
         * @param image
         */
        public Structure(JSONObject institution) {
                // l'objet JSON est une table de hachage
                Set<String> im = institution.keySet();

                // Parcourt pour chaque clé
                for (Iterator<String> it = im.iterator(); it.hasNext();) {
                        // Si elle est associée à une valeur, nous l'ajoutons
                        String cle = it.next();
                        // Suppression de l'abréviation du champ. Inutile dans le contexte d'un objet
                        String cleObjet = cle.replaceFirst("^"+Structure.PREFIXE+"_", "");
                        // Sinon, nous ajoutons la clé avec une valeur vide
                        String valeur = " ";
                        if (institution.get(cle).isString() != null) {
                                valeur = institution.get(cle).isString().stringValue();
                        }
                        if (cleObjet.equals("truk_url")) {
                                this.setUrl(valeur);
                        } else {
                                this.set(cleObjet, valeur);
                        }
                }
        }
        
        public String getId() {
                return (String) renvoyerValeurCorrecte("id_structure");
        }
        public void setId(String idStructure) {
                this.set("id_structure", idStructure);
        }
        
        public String getIdProjet() {
                return (String) renvoyerValeurCorrecte("ce_projet");
        }
        public void setIdProjet(String idProjet) {
                this.set("ce_projet", idProjet);
        }
        
        public String getIdMere() {
                return (String) renvoyerValeurCorrecte("ce_mere");
        }
        public void setIdMere(String idMere) {
                this.set("ce_mere", idMere);
        }
        
        public String getGuid() {
                return (String) renvoyerValeurCorrecte("guid");
        }
        public void setGuid(String guid) {
                this.set("guid", guid);
        }
        
        public String getIdAlternatif() {
                return (String) renvoyerValeurCorrecte("truk_identifiant_alternatif");
        }
        public void setIdAlternatif(String idAlter) {
                this.set("truk_identifiant_alternatif", idAlter);
        }
        
        public String getNom() {
                return (String) renvoyerValeurCorrecte("nom");
        }
        public void setNom(String nom) {
                this.set("nom", nom);
        }
        
        public String getNomAlternatif() {
                return (String) renvoyerValeurCorrecte("truk_nom_alternatif");
        }
        
        public String getDescription() {
                return (String) renvoyerValeurCorrecte("description");
        }
        
        public String getType() {
                return (String) renvoyerValeurCorrecte("ce_type");
        }
        public void setType(String type) {
                this.set("ce_type", type);
        }
        
        public String getTypePrive() {
                return (String) renvoyerValeurCorrecte("ce_truk_type_prive");
        }
        public void setTypePrive(String typePrive) {
                this.set("ce_truk_type_prive", typePrive);
        }
        
        public String getTypePublic() {
                return (String) renvoyerValeurCorrecte("ce_truk_type_public");
        }
        public void setTypePublic(String typePublic) {
                this.set("ce_truk_type_public", typePublic);
        }
        
        public String getAdresse() {
                return (String) renvoyerValeurCorrecte("adresse_01");
        }
        public void setAdresse(String adr) {
                this.set("adresse_01", adr);
        }
        
        public String getAdresseComplement() {
                return (String) renvoyerValeurCorrecte("adresse_02");
        }

        public Date getDateFondation() {
                Date fondationDate = null;
                String fondationChaine = (String) renvoyerValeurCorrecte("date_fondation");
                if (!fondationChaine.equals(" ")) {
                        fondationDate = DateTimeFormat.getFormat("yyyy-MM-dd HH:mm:ss").parseStrict(fondationChaine);
                }
                return fondationDate;
        }
        public void setDateFondation(Date dateFondation) {
                if (dateFondation != null) {
                        this.set("date_fondation", DateTimeFormat.getFormat("yyyy-MM-dd HH:mm:ss").format(dateFondation));
                }
        }
        public void setDateFondation(String dateFondation) {
                if (dateFondation != null) {
                        this.set("date_fondation", dateFondation);
                }
        }
                
        public String getCodePostal() {
                return (String) renvoyerValeurCorrecte("code_postal");
        }
        public void setCodePostal(String codePostal) {
                this.set("code_postal", codePostal);
        }
        
        public String getVille() {
                return (String) renvoyerValeurCorrecte("ville");
        }
        public void setVille(String ville) {
                this.set("ville", ville);
        }
        
        public String getRegion() {
                return (String) renvoyerValeurCorrecte("region");
        }
        public void setRegion(String region) {
                this.set("region", region);
        }
        
        public String getPays() {
                return (String) renvoyerValeurCorrecte("pays");
        }
        public void setPays(String pays) {
                this.set("pays", pays);
        }
        
        public String getLatitude() {
                return (String) renvoyerValeurCorrecte("latitude");
        }

        public String getLongitude() {
                return (String) renvoyerValeurCorrecte("longitude");
        }
        
        public String getTelephone() {
                return (String) renvoyerValeurCorrecte("telephone");
        }
        public void setTelephone(String tel) {
                this.set("telephone", tel);
        }
        
        public String getFax() {
                return (String) renvoyerValeurCorrecte("fax");
        }
        public void setFax(String fax) {
                this.set("fax", fax);
        }
        
        public String getCourriel() {
                return (String) renvoyerValeurCorrecte("courriel");
        }
        public void setCourriel(String courriel) {
                this.set("courriel", courriel);
        }
        
        public String getUrl(String type) {
                return urls.get(type);
        }
        public String getUrl() {
                String urlsDenormalise = "";
                Set<String> proprietes = urls.getProperties().keySet();
                for (Iterator<String> it = proprietes.iterator(); it.hasNext();) {
                        String cle = it.next();
                        urlsDenormalise += cle+"##"+urls.get(cle)+";;";
                }
                urlsDenormalise.replaceFirst(";;$", "");
                return urlsDenormalise;
        }
        public void setUrl(String urlsDenormalise) {
                // Constructions du tableau des urls interne
                urls = new BaseModelData();
                if (urlsDenormalise != null && !urlsDenormalise.equals("")) {
                        //GWT.log(urlsDenormalise, null);
                        String[] tableauUrls = urlsDenormalise.split(";;");
                        for (int i = 0; i < tableauUrls.length; i++) {
                                String url = tableauUrls[i];
                                //GWT.log("\t"+url, null);
                                String[] tableauUrl = url.split("##");
                                if (tableauUrl.length == 2) {
                                        //GWT.log("\t\t"+tableauUrl[0]+"-"+tableauUrl[1], null);
                                        urls.set(tableauUrl[0], tableauUrl[1]);
                                }
                        }
                }
        }
        public void setUrl(String type, String url) {
                urls.set(type, url);
        }
        
        public String getNbrePersonne() {
                return (String) renvoyerValeurCorrecte("nbre_personne");
        }
        public void setNbrePersonne(String nbrePersonne) {
                this.set("nbre_personne", nbrePersonne);
        }
        
        public String getConditionAcces() {
                return (String) renvoyerValeurCorrecte("condition_acces");
        }

        public String getConditionUsage() {
                return (String) renvoyerValeurCorrecte("condition_usage");
        }
        
        public String toString() {
                String sortie = "";
                Set<String> proprietes = this.getProperties().keySet();
                for (Iterator<String> it = proprietes.iterator(); it.hasNext();) {
                        String cle = it.next();
                        sortie += cle+" : "+this.get(cle)+"\n";
                }
                return sortie;
        }
        
}