Subversion Repositories eFlore/Applications.del

Rev

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

package org.tela_botanica.del.client.modeles;

import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;

import com.google.gwt.user.client.Window;

public class PropositionDetermination extends InterventionForum implements Serializable {

        private static final long serialVersionUID = 840032625524143547L;
        private String id, espece, commentaire, numNomenclatural;
        private int nbCommentaires = 0;
        private boolean estPropositionInitiale = false;

        public boolean estPropositionInitiale() {
                
                return estPropositionInitiale;
        }

        public void setEstPropositionInitiale(boolean estPropositionInitiale) {
                
                this.estPropositionInitiale = estPropositionInitiale;
        }

        private Map<String, VoteDetermination> votesDeterminations = new HashMap<String, VoteDetermination>();
        private Observation observation;

        public PropositionDetermination(String id, Contributeur contributeur, String texte) {
                setId(id);
                setContributeur(contributeur);
                setCommentaire(texte);
        }

        public PropositionDetermination(Observation observation) {
                this.observation = observation;
        }

        public boolean estPropositionRetenue() {
                return (this.espece.equals(this.observation.getNomRetenu()) && this.getContributeur().getNomComplet().equals(this.observation.getAuteur()));
        }
        
        public void ajouterVoteDetermination(VoteDetermination vd) {
                votesDeterminations.put(vd.getContributeur(), vd);
        }

        public String getId() {
                return id;
        }

        public void setId(String id) {
                this.id = id;
        }

        public String getEspece() {
                return espece;
        }

        public void setEspece(String espece) {
                this.espece = espece;
        }

        public Map<String, VoteDetermination> getVotesDeterminations() {
                return votesDeterminations;
        }

        public void setVotesDeterminations(Map<String, VoteDetermination> votesDeterminations) {
                this.votesDeterminations = votesDeterminations;
        }

        public boolean utilisateurAVotePourDetermination(String idContributeur) {
                return votesDeterminations.containsKey(idContributeur);
        }

        public Observation getObservation() {
                return observation;
        }

        public void setObservation(Observation observation) {
                this.observation = observation;
        }

        public void setCommentaire(String commentaire) {
                this.commentaire = commentaire;
        }

        public String getCommentaire() {
                return commentaire;
        }

        public void setNbCommentaires(int nbCommentaires) {
                this.nbCommentaires = nbCommentaires;
        }

        public int getTotalCommentaires() {
                // le nombre de commentaire peut avoir été renvoyé par le web service
                // sans que l'on possède la liste des commentaires elle même, auquel cas, il sera différent de 0
                // et ne doit pas être recalculé
                if (nbCommentaires == 0 && this.listeCommentaires.size() != 0) {
                        nbCommentaires = super.getTotalCommentaires();
                        if (this.getCommentaire() != null&&this.getCommentaire()!="") {
                                nbCommentaires += 1;
                        }
                }
                if (this.commentaire != null && !this.commentaire.equals("")) {
                        nbCommentaires ++;
                }

                return nbCommentaires;
        }
        
        public String getNumNomenclatural() {
                return numNomenclatural;
        }

        public void setNumNomenclatural(String numNomenclatural) {
                this.numNomenclatural = numNomenclatural;
        }
}