Subversion Repositories eFlore/Applications.cel

Rev

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

package org.tela_botanica.client.modeles.objets;

import java.util.Map;

import org.tela_botanica.client.util.Util;

import com.google.gwt.json.client.JSONObject;


public class Observation {

        private String id=null;
        private String transmis=null;
        private String nomSaisi=null;
        private String nomRetenu=null;
        private String numeroNomenclaturalSaisi=null;
        private String numeroNomenclaturalRetenu=null;
        private String numeroTaxonomique=null;
        private String famille=null;
        private String localite=null;
        private String identifiantLocalite=null;
        private String lieudit=null;
        private String station=null;
        private String milieu=null;
        private String commentaire=null;
        private String date=null;
        private String numeroOrdre=null;
        private String motsCles=null;
        private String latitude=null;
        private String longitude=null;
        private String referentielGeo=null;
        private String referentielTaxo=null;
        private String abondance=null;
        private String certitude=null;
        private String phenologie=null;
        private String altitude=null;
        
        private Map<String, ChampEtendu> champsEtendus=null;

        public Observation() {
        }

        
        /**
         * Une observation telle que stockee dans la base de donnee
         * 
         * @param transmis
         * @param nomSaisi
         * @param nomRetenu
         * @param numeroNomenclaturalSaisi
         * @param numeroNomenclaturalRetenu
         * @param numeroTaxonomique
         * @param famille
         * @param localite
         * @param IdentifiantLocalite
         * @param lieudit
         * @param station
         * @param milieu
         * @param commentaire
         * @param date
         * @param numeroOrdre
         */
        public Observation(String transmis, String nomSaisi, String nomRetenu, String numeroNomenclaturalSaisi,  String numeroNomenclaturalRetenu, String numeroTaxonomique, String famille, String localite, String identifiantLocalite, String lieudit, String station, String milieu, String commentaire, String date, String numeroOrdre) {
                
                this.transmis = transmis;
                this.nomSaisi = nomSaisi;
                this.nomRetenu = nomRetenu;
                this.numeroNomenclaturalSaisi = numeroNomenclaturalSaisi;
                this.numeroNomenclaturalRetenu = numeroNomenclaturalRetenu;
                this.numeroTaxonomique = numeroTaxonomique;
                this.famille = famille;
                
                this.identifiantLocalite = identifiantLocalite;         
                this.lieudit = lieudit;
                this.station = station;
                this.milieu = milieu;
                this.commentaire = commentaire;
                this.date = date;
                this.numeroOrdre = numeroOrdre;
                
                 // Suppresion indication departementale (on pourrait faire mieux !!)
                if(localite != null) {
                        int pos=localite.indexOf(" (" );
                        if (pos>=0) {
                this.localite=localite.substring(0,pos);
                        }
                        else {
                         this.localite=localite;
                        }
                }
            this.motsCles = ""; 
        }
        
        public Observation(JSONObject observation) {
                this.transmis = Util.getValeurJsonOuVide(observation, "transmission");
                this.identifiantLocalite = Util.getValeurJsonOuVide(observation, "ce_zone_geo");
                this.nomSaisi = Util.getValeurJsonOuVide(observation, "nom_sel");
                this.nomRetenu = (Util.getValeurJsonOuVide(observation,"nom_ret"));
                this.numeroNomenclaturalSaisi = Util.getValeurJsonOuVide(observation,"nom_sel_nn");
                this.numeroNomenclaturalRetenu = Util.getValeurJsonOuVide(observation,"nom_ret_nn");
                this.numeroTaxonomique= Util.getValeurJsonOuVide(observation,"nt");
                this.famille = Util.getValeurJsonOuVide(observation,"famille");
                this.localite = Util.getValeurJsonOuVide(observation,"zone_geo");
                this.lieudit = Util.getValeurJsonOuVide(observation,"lieudit");
                this.station= Util.getValeurJsonOuVide(observation,"station");
                this.milieu = Util.getValeurJsonOuVide(observation,"milieu");
                this.commentaire = Util.getValeurJsonOuVide(observation,"commentaire");
                this.date = Util.getValeurJsonOuVide(observation,"date_observation");
                this.numeroOrdre = Util.getValeurJsonOuVide(observation,"ordre");
                this.id = Util.getValeurJsonOuVide(observation,"id_observation");
                this.latitude = Util.getValeurJsonOuVide(observation,"latitude");
                this.longitude = Util.getValeurJsonOuVide(observation,"longitude");
                this.altitude = Util.getValeurJsonOuVide(observation,"altitude");
                this.motsCles = Util.getValeurJsonOuVide(observation,"mots_cles");
                this.abondance = Util.getValeurJsonOuVide(observation,"abondance");
                this.certitude = Util.getValeurJsonOuVide(observation,"certitude");
                this.phenologie = Util.getValeurJsonOuVide(observation,"phenologie");
                this.setReferentielTaxo(Util.getValeurJsonOuVide(observation,"nom_referentiel"));
                this.setChampsEtendus(Util.getMapValeursOuVide(observation, "obs_etendue"));
        }
        
        /**
         * Une observation saisie ou modifiee
         * 
         * @param nomSaisi
         * @param numeroNomenclaturalSaisi
         * @param localite
         * @param IdentifiantLocalite
         * @param lieudit
         * @param station
         * @param milieu
         * @param commentaire
         * @param date
         * 
         */
        public Observation(String nomSaisi, String numeroNomenclaturalSaisi,   String localite, String identifiantLocalite, String lieudit, String station, String milieu, String commentaire, String date) {
                
                this.nomSaisi = nomSaisi;
                this.numeroNomenclaturalSaisi = numeroNomenclaturalSaisi;
                
                this.identifiantLocalite = identifiantLocalite;         
                this.lieudit = lieudit;
                this.station = station;
                this.milieu = milieu;
                this.commentaire = commentaire;
                this.date = date;
                
                 // Suppresion indication departementale (on pourrait faire mieux !!)
                if(localite != null) {
                        int pos=localite.indexOf(" (" );
                    if (pos>=0) {
                        this.localite=localite.substring(0,pos);
                    }
                        else {
                                 this.localite=localite;
                        }
                }
            
            this.motsCles = "" ;
                
        }


        public String getNomSaisi() {
                return nomSaisi;
        }


        public String getNumeroOrdre() {
                return numeroOrdre;
        }


        public String getCommentaire() {
                return commentaire;
        }


        public String getDate() {
                return date;
        }


        public String getFamille() {
                return famille;
        }


        public String getLieudit() {
                return lieudit;
        }


        public String getLocalite() {
                return localite;
        }


        public String getIdentifiantLocalite() {
                if(identifiantLocalite != null) {
                        identifiantLocalite = identifiantLocalite.replaceAll("\"", "");
                }
                return identifiantLocalite; 
        }

        
        public String getMilieu() {
                return milieu;
        }


        public String getNomRetenu() {
                return nomRetenu;
        }


        public String getNumeroNomenclaturalSaisi() {
                return numeroNomenclaturalSaisi;
        }


        public String getNumeroNomenclaturalRetenu() {
                return numeroNomenclaturalRetenu;
        }


        public String getNumeroTaxonomique() {
                return numeroTaxonomique;
        }

        public void setNomRetenu(String nomRetenu) {
                this.nomRetenu = nomRetenu;
        }

        public void setNumeroNomenclaturalSaisi(String numeroNomenclaturalSaisi) {
                this.numeroNomenclaturalSaisi = numeroNomenclaturalSaisi;
        }

        public void setNumeroNomenclaturalRetenu(String numeroNomenclaturalRetenu) {
                this.numeroNomenclaturalRetenu = numeroNomenclaturalRetenu;
        }

        public void setNumeroTaxonomique(String numeroTaxonomique) {
                this.numeroTaxonomique = numeroTaxonomique;
        }

        public String getStation() {
                return station;
        }


        public String getTransmis() {
                return transmis;
        }
        
        public String getMotsCles() {
                return motsCles;
        }
        
        public String getLatitude() {
                return this.latitude ;
        }
        
        public String getLongitude() {
                return this.longitude ;
        }
        
        public String getReferentielGeo() {
                return this.referentielGeo ;
        }
        
        public String getId() {
                return this.id;
        }
        
        public String getAbondance() {
                return this.abondance;
        }
        
        public String getCertitude() {
                return this.certitude;
        }
        
        public void setMotsCles(String motsCles) {
                this.motsCles = motsCles;
        }
        
        public void setNumeroOrdre(String numeroOrdre) {
                this.numeroOrdre = numeroOrdre;
        }
        
        public void setLatitude(String latitude) {
                this.latitude = latitude;
        }
        
        public void setLongitude(String longitude) {
                this.longitude = longitude;
        }
        
        public void setReferentielGeo(String refGeo) {
                this.referentielGeo = refGeo;
        }

        public void setId(String id) {
                this.id = id;
        }
        
        public void setAbondance(String abondance) {
                this.abondance = abondance;
        }
        
        public void setCertitude(String certitude) {
                this.certitude = certitude;
        }

        public String getReferentielTaxo() {
                return referentielTaxo;
        }

        public String getCodeCourtReferentielTaxo() {
                String codeRef = "";
                if(!getReferentielTaxo().equals("") && getReferentielTaxo().length() >= 3) {
                        int positionDeuxPoints = referentielTaxo.indexOf(':');
                        if (positionDeuxPoints == -1) {
                                codeRef = referentielTaxo;
                        } else {
                                codeRef = referentielTaxo.substring(0, positionDeuxPoints);
                        }
                }
                return codeRef;
        }

        public void setReferentielTaxo(String referentielTaxo) {
                this.referentielTaxo = referentielTaxo;
        }
        
        public String getPhenologie() {
                return phenologie;
        }
        
        public void setPhenologie(String phenologie) {
                this.phenologie = phenologie;
        }

        public String getAltitude() {
                return altitude;
        }


        public void setAltitude(String altitude) {
                this.altitude = altitude;
        }


        public void setValeurChampEtendu(String cle, String valeur, String label) {
                ChampEtendu champ = new ChampEtendu(cle, label, valeur);
                champsEtendus.put(cle, champ);
        }
        
        public ChampEtendu getChampEtendu(String cle) {
                ChampEtendu champ = null;
                if(champsEtendus.containsKey(cle)) {
                        champ = champsEtendus.get(cle);
                }
                
                return champ;
        }
        
        public String getLabelChampEtendu(String cle) {
                String valeur = "";
                if(champsEtendus.containsKey(cle)) {
                        valeur = champsEtendus.get(cle).getLabel();
                }
                return valeur;
        }

        public String getValeurChampEtendu(String cle) {
                String valeur = "";
                if(champsEtendus.containsKey(cle)) {
                        valeur = champsEtendus.get(cle).getValeur();
                }
                return valeur;
        }
        
        public Map<String, ChampEtendu> getChampsEtendus() {
                return champsEtendus;
        }

        public void setChampsEtendus(Map<String, ChampEtendu> champsEtendus) {
                this.champsEtendus = champsEtendus;
        }
}