Subversion Repositories eFlore/Applications.del

Compare Revisions

Ignore whitespace Rev 2170 → Rev 2171

/branches/v1.11-magnesium/src/org/tela_botanica/del/client/modeles/MotCle.java
New file
0,0 → 1,27
package org.tela_botanica.del.client.modeles;
 
public class MotCle {
private String idMotCle;
private String idImage;
private String motCle;
public MotCle(String idMotCle, String idImage, String motCle) {
super();
this.idMotCle = idMotCle;
this.idImage = idImage;
this.motCle = motCle;
}
 
public String getIdMotCle() {
return idMotCle;
}
 
public String getIdImage() {
return idImage;
}
 
public String getMotCle() {
return motCle;
}
}
/branches/v1.11-magnesium/src/org/tela_botanica/del/client/modeles/Contributeur.java
New file
0,0 → 1,57
package org.tela_botanica.del.client.modeles;
 
import com.google.gwt.user.client.Window;
 
public class Contributeur {
private String id, nom, prenom, adresseEmail;
public Contributeur(String id, String nom, String prenom, String adresseEmail) {
this.id = id;
this.nom = nom;
this.prenom = prenom;
this.adresseEmail = adresseEmail;
}
 
public String getNom() {
return nom;
}
 
public void setNom(String nom) {
this.nom = nom;
}
 
public String getPrenom() {
return prenom;
}
 
public void setPrenom(String prenom) {
this.prenom = prenom;
}
 
public String getAdresseEmail() {
return adresseEmail;
}
 
public void setAdresseEmail(String adresseEmail) {
this.adresseEmail = adresseEmail;
}
public String getNomComplet() {
String retour;
if ((this.prenom == null || this.prenom.equals("")) && (this.nom == null || this.nom.equals(""))) {
retour = ""; // évite de retourner " "
} else {
retour = this.prenom + " " + this.nom;
}
return retour;
}
public void setId(String id) {
this.id = id;
}
 
public String getId() {
return id;
}
}
/branches/v1.11-magnesium/src/org/tela_botanica/del/client/modeles/ImageServiceResultat.java
New file
0,0 → 1,26
package org.tela_botanica.del.client.modeles;
 
import java.util.List;
 
public class ImageServiceResultat {
 
private List<Image> images;
 
private int nbTotalImagesPourLaRecherche;
 
public List<Image> getImages() {
return images;
}
 
public void setImages(List<Image> images) {
this.images = images;
}
 
public int getNbTotalImagesPourLaRecherche() {
return nbTotalImagesPourLaRecherche;
}
 
public void setNbTotalImagesPourLaRecherche(int nbTotalImagesPourLaRecherche) {
this.nbTotalImagesPourLaRecherche = nbTotalImagesPourLaRecherche;
}
}
/branches/v1.11-magnesium/src/org/tela_botanica/del/client/modeles/EvenementObs.java
New file
0,0 → 1,28
package org.tela_botanica.del.client.modeles;
 
public class EvenementObs {
public String type = "";
public String infosComplementaires = "";
public EvenementObs(String type, String infosComplementaires) {
this.type = type;
this.infosComplementaires = infosComplementaires;
}
 
public String getType() {
return type;
}
 
public void setType(String type) {
this.type = type;
}
 
public String getInfosComplementaires() {
return infosComplementaires;
}
 
public void setInfosComplementaires(String infosComplementaires) {
this.infosComplementaires = infosComplementaires;
}
}
/branches/v1.11-magnesium/src/org/tela_botanica/del/client/modeles/Observation.java
New file
0,0 → 1,320
package org.tela_botanica.del.client.modeles;
 
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
 
public class Observation implements Serializable {
 
private static final long serialVersionUID = 840032625524143547L;
private String id, auteur, idAuteur, nomAuteur, prenomAuteur, courrielAuteur, nomRetenu, famille, localite, idLocalite,
dateTransmission, numNomenclatural, nomCommun, lieuDit,
milieu, commentaire, dateReleve, station, referentiel, pays;
 
private List<String> motsClefs = new ArrayList<String>();
private List<EvenementObs> evenements = new ArrayList<EvenementObs>();
 
// les propositions sont une liste ordonnée qui contient soit des
// proposition de determinations, soit des commentaires
private List<InterventionForum> propositions = new ArrayList<InterventionForum>();
private List<Image> images = new ArrayList<Image>();
private String nbCommentaires;
 
public String getAuteur() {
return auteur;
}
 
public void setAuteur(String auteur) {
this.auteur = auteur;
}
 
public String getNomRetenu() {
return nomRetenu;
}
 
public void setNomRetenu(String commonName) {
this.nomRetenu = commonName;
}
 
public String getNomCommun() {
return nomCommun;
}
 
public void setNomCommun(String nomCommun) {
this.nomCommun = nomCommun;
}
 
public String getStation() {
return this.station;
}
public void setStation(String station) {
this.station = station;
}
public String getLieuDit() {
return this.lieuDit;
}
 
public void setLieuDit(String lieuDit) {
this.lieuDit = lieuDit;
}
 
public String getMilieu() {
return milieu;
}
 
public void setMilieu(String milieu) {
this.milieu = milieu;
}
 
public String getCommentaire() {
return commentaire;
}
 
public void setCommentaire(String commentaire) {
this.commentaire = commentaire;
}
 
public String getFamille() {
return famille;
}
 
public void setFamille(String famille) {
this.famille = famille;
}
 
public String getIdLocalite() {
return idLocalite;
}
 
public void setIdLocalite(String idlocalite) {
this.idLocalite = idlocalite;
}
 
public String getLocalite() {
return localite;
}
 
public String getLocaliteAvecIdFormatee() {
String localiteFormatee = this.localite;
if (idLocalite != null && idLocalite.length() >= 5 && idLocalite.substring(0, 5).equals("INSEE")) {
String[] tableaulocalite = idLocalite.split(":");
String idLocaliteFormatee = (tableaulocalite.length == 2) ? tableaulocalite[1] : localiteFormatee;
localiteFormatee += " (" + idLocaliteFormatee + ")";
} else if (idLocalite != null && idLocalite.length() >= 2) {
localiteFormatee += " (" + idLocalite.substring(0, 2) + ")";
}
 
return localiteFormatee;
}
 
public void setLocalite(String localite) {
this.localite = localite;
}
 
public String getDateTransmission() {
return dateTransmission;
}
 
public void setDateTransmission(String date) {
this.dateTransmission = date;
}
 
public String getDateReleve() {
return dateReleve;
}
 
public void setDateReleve(String dateReleve) {
this.dateReleve = dateReleve;
}
 
public String getNumNomenclatural() {
return numNomenclatural;
}
 
public void setNumNomenclatural(String numNomenclatural) {
this.numNomenclatural = numNomenclatural;
}
 
public List<InterventionForum> getInterventionsForum() {
return propositions;
}
 
public void setInterventionsForum(List<InterventionForum> propositions) {
this.propositions = propositions;
}
 
public List<String> getMotsClefs() {
return motsClefs;
}
 
public void setMotsClefs(List<String> motsClefs) {
this.motsClefs = motsClefs;
}
 
public void ajouterMotsClef(String motsClefs) {
if (this.motsClefs == null) {
this.motsClefs = new ArrayList<String>();
}
this.motsClefs.add(motsClefs);
}
 
public void ajouterPropositionDetermination(PropositionDetermination observationValidation) {
propositions.add(observationValidation);
}
 
public ArrayList<String> getPropositionsTaxonsData() {
 
ArrayList<String> propositionsTaxonDatas = new ArrayList<String>();
for (InterventionForum proposition : propositions) {
if (proposition instanceof PropositionDetermination) {
String espece = ((PropositionDetermination) proposition).getEspece();
if (espece != "" && !propositionsTaxonDatas.contains(espece)) {
propositionsTaxonDatas.add(espece);
}
}
}
 
return propositionsTaxonDatas;
}
 
public List<PropositionDetermination> getPropositionDeterminations() {
List<PropositionDetermination> determinations = new ArrayList<PropositionDetermination>();
for (InterventionForum proposition : getInterventionsForum()) {
if (proposition instanceof PropositionDetermination) {
determinations.add((PropositionDetermination) proposition);
}
}
return determinations;
}
public List<Commentaire> getCommentairesForum() {
List<Commentaire> commentaires = new ArrayList<Commentaire>();
for (InterventionForum proposition : getInterventionsForum()) {
if (proposition instanceof Commentaire) {
commentaires.add((Commentaire) proposition);
}
}
return commentaires;
}
public void supprimerIntervention(InterventionForum intervention) {
if(propositions.contains(intervention)) {
propositions.remove(intervention);
} else {
for (Iterator<InterventionForum> iterator = propositions.iterator(); iterator.hasNext();) {
iterator.next().supprimerIntervention(intervention);
}
}
}
 
public List<Image> getImages() {
return images;
}
 
public void setImages(List<Image> images) {
this.images = images;
}
 
public String getId() {
return id;
}
 
public void setId(String id) {
this.id = id;
}
public void setIdAuteur(String idAuteur) {
this.idAuteur = idAuteur;
}
 
public String getIdAuteur() {
return idAuteur;
}
public String getNomAuteur() {
return nomAuteur;
}
 
public void setNomAuteur(String nomAuteur) {
this.nomAuteur = nomAuteur;
}
 
public String getPrenomAuteur() {
return prenomAuteur;
}
 
public void setPrenomAuteur(String prenomAuteur) {
this.prenomAuteur = prenomAuteur;
}
 
public String getCourrielAuteur() {
return courrielAuteur;
}
 
public void setCourrielAuteur(String courrielAuteur) {
this.courrielAuteur = courrielAuteur;
}
public boolean estADeterminer() {
return nomRetenu == null || nomRetenu.isEmpty() || nomRetenu.equals("0") || motsClefs.contains("aDeterminer");
}
public String getReferentiel() {
String refFmt = "";
// on ne renvoie que le code du référentiel, sans version, et seulement également si l'on possède
// un numéro nomenclatural associé (ce qui nous assure une certaine cohérence)
if(referentiel.length() >= 3 && numNomenclatural != null && !numNomenclatural.equals("0")) {
int positionDeuxPoints = referentiel.indexOf(':');
if (positionDeuxPoints == -1) {
refFmt = referentiel;
} else {
refFmt = referentiel.substring(0, positionDeuxPoints);
}
}
return refFmt;
}
public void setReferentiel(String referentiel) {
this.referentiel = referentiel;
}
public String getNomRetenuFormateReferentiel() {
String nomRetenuFmt = "";
if(nomRetenu != null && !nomRetenu.equals("")) {
nomRetenuFmt += nomRetenu;
}
String referentiel = getReferentiel();
if(!nomRetenuFmt.equals("") && !referentiel.equals("")) {
nomRetenuFmt += " ("+referentiel+")";
}
return nomRetenuFmt;
}
public String getNbCommentaires() {
return nbCommentaires;
}
 
public void setNbCommentaires(String nbCommentaires) {
this.nbCommentaires = nbCommentaires;
}
public String getPays() {
return pays;
}
 
public void setPays(String pays) {
this.pays = pays;
}
public List<EvenementObs> setEvenementsAssocies(List<EvenementObs> evenements) {
return this.evenements = evenements;
}
public List<EvenementObs> getEvenementsAssocies() {
return evenements;
}
}
/branches/v1.11-magnesium/src/org/tela_botanica/del/client/modeles/InterventionForum.java
New file
0,0 → 1,133
package org.tela_botanica.del.client.modeles;
 
import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
public class InterventionForum {
private Contributeur contributeur;
private Date date;
private String id, idParent;
private InterventionForum parent;
private Observation observation;
public List<Commentaire> listeCommentaires = new ArrayList<Commentaire>();
boolean estAffichee;
public void setId(String id) {
this.id = id;
}
public String getId() {
return id;
}
public String getIdParent() {
return idParent;
}
 
public void afficher() {
this.estAffichee = true;
}
public boolean estAffichee() {
return this.estAffichee;
}
public void setIdParent(String idParent) {
this.idParent = idParent;
}
public void setParent(InterventionForum parent) {
this.parent = parent;
}
public boolean estFils() {
return (this.parent != null);
}
public InterventionForum getParent() {
return parent;
}
public void setObservation(Observation observation) {
this.observation = observation;
}
public Observation getObservation() {
return observation;
}
public String getAuteur() {
return contributeur.getNomComplet();
}
 
public void setContributeur(Contributeur contributeur) {
this.contributeur = contributeur;
}
public Contributeur getContributeur() {
return contributeur;
}
public Date getDate() {
return date;
}
 
public void setDate(Date date) {
this.date = date;
}
 
public List<Commentaire> getListeCommentaires() {
return listeCommentaires;
}
 
public void setListeCommentaires(List<Commentaire> listeCommentaires) {
this.listeCommentaires = listeCommentaires;
}
 
public void ajouterCommentaire(Commentaire commentaire) {
listeCommentaires.add(commentaire);
}
public boolean aDesCommentaires() {
return (listeCommentaires.size() != 0);
}
public void supprimerIntervention(InterventionForum intervention) {
if(listeCommentaires.contains(intervention)) {
listeCommentaires.remove(intervention);
} else {
for (Iterator<Commentaire> iterator = listeCommentaires.iterator(); iterator.hasNext();) {
iterator.next().supprimerIntervention(intervention);
}
}
}
public PropositionDetermination getPropositionParenteOuNulle() {
InterventionForum parent = getParent();
PropositionDetermination proposition = null;
while(parent != null && !(parent instanceof PropositionDetermination)) {
parent = parent.getParent();
}
if(parent != null) {
proposition = (PropositionDetermination)parent;
}
return proposition;
}
public int getTotalCommentaires() {
int nbCommentaires = 0;
for (Commentaire commentaire : listeCommentaires) {
chargerNbCommentairesRecursivement(nbCommentaires, commentaire);
}
return nbCommentaires;
}
 
private void chargerNbCommentairesRecursivement(int nbCommentaires, Commentaire commentaire) {
nbCommentaires ++;
for (Commentaire commentaireFils: commentaire.getListeCommentaires()) {
chargerNbCommentairesRecursivement(nbCommentaires, commentaireFils);
}
}
}
/branches/v1.11-magnesium/src/org/tela_botanica/del/client/modeles/ModeRecherche.java
New file
0,0 → 1,5
package org.tela_botanica.del.client.modeles;
 
public enum ModeRecherche {
MODE_OBSERVATION, MODE_IMAGE
}
/branches/v1.11-magnesium/src/org/tela_botanica/del/client/modeles/TypeInterventionForum.java
New file
0,0 → 1,14
package org.tela_botanica.del.client.modeles;
 
public enum TypeInterventionForum {
TYPE_COMMENTAIRE {
public String toString() {
return "type_commentaire";
};
},
TYPE_PROPOSITION_DETERMINATION {
public String toString() {
return "type_proposition_determination";
};
}
}
/branches/v1.11-magnesium/src/org/tela_botanica/del/client/modeles/VoteDetermination.java
New file
0,0 → 1,18
package org.tela_botanica.del.client.modeles;
 
 
public class VoteDetermination extends Vote {
 
private static final long serialVersionUID = -1017065180398557172L;
private PropositionDetermination propositionDetermination;
 
public PropositionDetermination getPropositionDetermination() {
return propositionDetermination;
}
 
public void setPropositionDetermination(
PropositionDetermination propositionDetermination) {
this.propositionDetermination = propositionDetermination;
}
}
/branches/v1.11-magnesium/src/org/tela_botanica/del/client/modeles/ObservationServiceResultat.java
New file
0,0 → 1,26
package org.tela_botanica.del.client.modeles;
 
import java.util.List;
 
public class ObservationServiceResultat {
 
private List<Observation> observations;
 
private int nbTotalObservationsPourLaRecherche;
 
public List<Observation> getObservations() {
return observations;
}
 
public void setObservations(List<Observation> observations) {
this.observations = observations;
}
 
public int getNbTotalObservationsPourLaRecherche() {
return nbTotalObservationsPourLaRecherche;
}
 
public void setNbTotalObservationsPourLaRecherche(int nbTotalObservationsPourLaRecherche) {
this.nbTotalObservationsPourLaRecherche = nbTotalObservationsPourLaRecherche;
}
}
/branches/v1.11-magnesium/src/org/tela_botanica/del/client/modeles/ActiviteUtilisateur.java
New file
0,0 → 1,33
package org.tela_botanica.del.client.modeles;
 
public class ActiviteUtilisateur {
private String nbEvenements = "0";
private String dateDerniereConsultationEvenements = null;
public String getNbEvenements() {
return nbEvenements;
}
public int getNbEvenementsInt() {
int nbEvents = 0;
try {
nbEvents = Integer.parseInt(nbEvenements);
} catch (Exception e) {
nbEvents = 0;
}
return nbEvents;
}
public void setNbEvenements(String nbEvenements) {
this.nbEvenements = nbEvenements;
}
public String getDateDerniereConsultationEvenements() {
return dateDerniereConsultationEvenements;
}
public void setDateDerniereConsultationEvenements(String dateDerniereConsultationEvenements) {
this.dateDerniereConsultationEvenements = dateDerniereConsultationEvenements;
}
}
/branches/v1.11-magnesium/src/org/tela_botanica/del/client/modeles/Commentaire.java
New file
0,0 → 1,23
package org.tela_botanica.del.client.modeles;
 
import java.util.Date;
 
public class Commentaire extends InterventionForum {
 
private String commentaire;
 
public Commentaire(Contributeur contributeur, Date date, String commentaire) {
setContributeur(contributeur);
setDate(date);
this.commentaire = commentaire;
}
 
public String getCommentaire() {
return commentaire;
}
 
public void setCommentaire(String commentaire) {
this.commentaire = commentaire;
}
 
}
/branches/v1.11-magnesium/src/org/tela_botanica/del/client/modeles/ModeTri.java
New file
0,0 → 1,19
package org.tela_botanica.del.client.modeles;
 
public enum ModeTri {
TRI_ASCENDANT {
public String toString() {
return "asc";
};
},
TRI_DESCENDANT {
public String toString() {
return "desc";
};
},
PAS_DE_TRI {
public String toString() {
return "naturel";
};
}
}
/branches/v1.11-magnesium/src/org/tela_botanica/del/client/modeles/VoteProtocole.java
New file
0,0 → 1,22
package org.tela_botanica.del.client.modeles;
 
import java.io.Serializable;
 
public class VoteProtocole extends Vote implements Serializable {
 
private static final long serialVersionUID = -1017065180398557172L;
 
private Protocole protocole;
 
public Protocole getProtocole() {
return protocole;
}
public void setProtocole(Protocole protocole) {
this.protocole = protocole;
}
public int getIdProtocole() {
return getProtocole().getId();
}
}
/branches/v1.11-magnesium/src/org/tela_botanica/del/client/modeles/Protocole.java
New file
0,0 → 1,60
package org.tela_botanica.del.client.modeles;
 
public class Protocole {
 
private int id;
private String nom;
private String description;
private String tag;
private String motsClesProtocoles;
private boolean doitEtreIdentifiePourVoter = false;
 
public int getId() {
return id;
}
 
public void setId(int id) {
this.id = id;
}
 
public String getNom() {
return nom;
}
 
public void setNom(String nom) {
this.nom = nom;
}
public String getDescription() {
return description;
}
 
public void setDescription(String description) {
this.description = description;
}
public String getTag() {
return tag;
}
 
public void setTag(String tag) {
this.tag = tag;
}
public void setMotsClesProtocole(String motsClesProtocole) {
this.motsClesProtocoles = motsClesProtocole;
}
public String getMotsClesProtocole() {
return motsClesProtocoles;
}
 
public boolean doitEtreIdentifiePourVoter() {
return doitEtreIdentifiePourVoter;
}
 
public void setDoitEtreIdentifiePourVoter(boolean doitEtreIdentifiePourVoter) {
this.doitEtreIdentifiePourVoter = doitEtreIdentifiePourVoter;
}
 
}
/branches/v1.11-magnesium/src/org/tela_botanica/del/client/modeles/PropositionDetermination.java
New file
0,0 → 1,150
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, referentiel, valideePar, dateValidation;
private int nbCommentaires = 0;
/** Doit valoir 1 s'il y a un commentaire initial, sinon 0 */
private int commentaireInitial = 0;
private boolean estPropositionInitiale = false;
private boolean estPropositionRetenue = false;
 
public boolean estPropositionInitiale() {
return estPropositionInitiale;
}
 
public void setEstPropositionInitiale(boolean estPropositionInitiale) {
this.estPropositionInitiale = estPropositionInitiale;
}
public boolean estPropositionRetenue() {
//return (this.espece.equals(this.observation.getNomRetenu()));
return estPropositionRetenue;
}
 
public void setEstPropositionRetenue(boolean estPropositionRetenue) {
this.estPropositionRetenue = estPropositionRetenue;
}
 
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;
}
 
protected void additionnerCommentaireInitial() {
if (this.commentaire != null && !this.commentaire.equals("")) {
commentaireInitial = 1;
} else {
commentaireInitial = 0;
}
}
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;
additionnerCommentaireInitial();
}
 
public String getCommentaire() {
return commentaire;
}
 
public void setNbCommentaires(int nbCommentaires) {
this.nbCommentaires = nbCommentaires;
}
 
public int getTotalCommentaires() {
if (nbCommentaires == 0 && this.listeCommentaires.size() != 0) {
// wtf ?
nbCommentaires = super.getTotalCommentaires();
}
 
return nbCommentaires + commentaireInitial;
}
public String getNumNomenclatural() {
return numNomenclatural;
}
 
public void setNumNomenclatural(String numNomenclatural) {
this.numNomenclatural = numNomenclatural;
}
public String getReferentiel() {
return referentiel;
}
 
public void setReferentiel(String referentiel) {
this.referentiel = referentiel;
}
public String getValideePar() {
return valideePar;
}
 
public void setValideePar(String idUtilisateur) {
valideePar = idUtilisateur;
}
public void setDateValidation(String dateValidation) {
this.dateValidation = dateValidation;
}
public String getDateValidation() {
return dateValidation;
}
}
/branches/v1.11-magnesium/src/org/tela_botanica/del/client/modeles/MoyenneVote.java
New file
0,0 → 1,52
package org.tela_botanica.del.client.modeles;
 
public class MoyenneVote implements Comparable<MoyenneVote> {
 
/**
* Pourcentage de personne ayant voté pour la propostion, un score de -1
* indique qu'aucun vote n'a été effectué;
*/
private int score = -1;
private String intituleAssocie;
private PropositionDetermination propositionAssociee;
 
public MoyenneVote(int score, PropositionDetermination propositionAssociee) {
this.score = score;
this.intituleAssocie = propositionAssociee.getEspece();
this.propositionAssociee = propositionAssociee;
}
 
public int getScore() {
return score;
}
 
public void setScore(int score) {
this.score = score;
}
 
public String getIntituleAssocie() {
return intituleAssocie;
}
 
public void setIntituleAssocie(String intituleAssocie) {
this.intituleAssocie = intituleAssocie;
}
 
public void setPropositionAssociee(PropositionDetermination propositionDetermination) {
this.propositionAssociee = propositionDetermination;
}
 
public PropositionDetermination getPropositionAssociee() {
return this.propositionAssociee;
}
 
@Override
public int compareTo(MoyenneVote mv) {
if (mv.getScore() > this.score)
return 1;
else if (mv.getScore() == this.score)
return 0;
else
return -1;
}
}
/branches/v1.11-magnesium/src/org/tela_botanica/del/client/modeles/Utilisateur.java
New file
0,0 → 1,124
package org.tela_botanica.del.client.modeles;
 
import java.util.HashMap;
 
import org.tela_botanica.del.client.cache.CacheClient;
import org.tela_botanica.del.client.i18n.I18n;
 
import com.google.gwt.core.shared.GWT;
 
 
public class Utilisateur {
 
private String nom = "";
private String prenom = "";
private String courriel = "";
private String id = "0";
private String sessionId = "";
private String adminNiveau = "0";
private boolean identifie = false;
private HashMap<String, String> preferences = null;
// TODO: avoir une liste d'activités avec des types différents
private ActiviteUtilisateur activiteUtilisateur = new ActiviteUtilisateur();
 
// Jeton encodé en base64 passé de manière automatique aux services dans un header
private static String jeton = "";
// Durée de vie du jeton en secondes (sert au rafraîchissement automatique)
private static int duree = 0;
 
public Utilisateur(String sessionId, String id) {
this.id = id;
this.sessionId = sessionId;
}
public Utilisateur(String sessionId, String id, String prenom, String nom, String courriel, String adminNiveau) {
this(sessionId, id);
this.prenom = prenom;
this.nom = nom;
this.courriel = courriel;
this.adminNiveau = adminNiveau;
identifie = true;
}
public String getNom() {
return nom;
}
public void setNom(String nom) {
this.nom = nom;
}
public String getPrenom() {
return prenom;
}
public void setPrenom(String prenom) {
this.prenom = prenom;
}
public String getCourriel() {
return courriel;
}
public void setCourriel(String courriel) {
this.courriel = courriel;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public boolean estIdentifie() {
return identifie;
}
public void setIdentifie(boolean identifie) {
this.identifie = identifie;
}
public String getNomPrenomFormate() {
return identifie ? prenom+" "+nom : I18n.getVocabulary().anonyme();
}
public HashMap<String, String> getPreferences() {
return preferences;
}
public void setPreferences(HashMap<String, String> preferences) {
this.preferences = preferences;
}
public boolean etreValidateur() {
return etreAdmin() || this.adminNiveau.equals("1");
}
public boolean etreAdmin() {
return this.adminNiveau.equals("2");
}
public String toString() {
String utilisateur = id + "\n" + nom + "\n" + prenom + "\n" + courriel + "\n" +
sessionId + "\n" + adminNiveau + "\n";
return utilisateur;
}
 
public void setActivite(ActiviteUtilisateur activite) {
this.activiteUtilisateur = activite;
}
public ActiviteUtilisateur getActivite() {
return this.activiteUtilisateur;
}
 
public static String getJeton() {
return Utilisateur.jeton;
}
 
public static void setJeton(String jeton) {
Utilisateur.jeton = jeton;
}
 
public static int getDureeJeton() {
return Utilisateur.duree;
}
 
public static void setDureeJeton(int duree) {
Utilisateur.duree = duree;
}
}
/branches/v1.11-magnesium/src/org/tela_botanica/del/client/modeles/ProtocoleServiceResultat.java
New file
0,0 → 1,21
package org.tela_botanica.del.client.modeles;
 
import java.util.List;
 
public class ProtocoleServiceResultat {
private List<Protocole> protocoles;
 
public ProtocoleServiceResultat(List<Protocole> protocoles) {
// constructeur utilisable plus tard quand on aura implenté un systeme
// de cache
this.protocoles = protocoles;
}
 
public List<Protocole> getProtocoles() {
return protocoles;
}
 
public void setProtocoles(List<Protocole> protocoles) {
this.protocoles = protocoles;
}
}
/branches/v1.11-magnesium/src/org/tela_botanica/del/client/modeles/AuthInfo.java
New file
0,0 → 1,30
package org.tela_botanica.del.client.modeles;
 
/**
* Une mini classe pour stocker facilement le retour d'un appel aux services
* annuaire:auth (connexion, deconnexion, identite)
*
* @author mathias
*/
public class AuthInfo {
 
public String token;
public boolean session;
public String tokenId;
public int duration;
public Integer lastModif; // Integer pour pouvoir mettre null dedans
public String error;
 
public AuthInfo(String token, boolean session, String tokenId, int duration, Integer lastModif, String error) {
this.token = token;
this.session = session;
this.tokenId = tokenId;
this.duration = duration;
this.lastModif = lastModif;
this.error = error;
}
 
public AuthInfo() {
this(null, false, null, 0, null, null);
}
}
/branches/v1.11-magnesium/src/org/tela_botanica/del/client/modeles/Vote.java
New file
0,0 → 1,55
package org.tela_botanica.del.client.modeles;
 
import java.util.Date;
 
public class Vote {
 
private String id;
private int vote;
private String contributeur;
private Date date;
private Contributeur auteur;
 
public Vote() {
}
 
public String getId() {
return id;
}
 
public void setId(String id) {
this.id = id;
}
 
public int getVote() {
return vote;
}
 
public void setVote(int vote) {
this.vote = vote;
}
 
public String getContributeur() {
return contributeur;
}
 
public void setContributeur(String contributeur) {
this.contributeur = contributeur;
}
 
public Date getDate() {
return date;
}
 
public void setDate(Date date) {
this.date = date;
}
 
public Contributeur getAuteur() {
return auteur;
}
 
public void setAuteur(Contributeur auteur) {
this.auteur = auteur;
}
}
/branches/v1.11-magnesium/src/org/tela_botanica/del/client/modeles/InformationsRecherche.java
New file
0,0 → 1,305
package org.tela_botanica.del.client.modeles;
 
import org.tela_botanica.del.client.config.Config;
import org.tela_botanica.del.client.Del;
 
import com.google.gwt.http.client.URL;
import com.google.gwt.user.client.Window;
 
public class InformationsRecherche {
 
private String rechercheLibre;
 
private String departement;
private String referentiel;
 
private String taxon;
 
private String genre;
 
// gardé pour ancienne comptabilité
private String motClef;
// mots clés publics de del
private String motClefDel;
// mots clés privés du cel
private String motClefCel;
 
private String date;
private String pays;
 
private String commune;
 
private boolean pnInscritsSeulement;
 
private String famille;
 
private String tag;
 
private String auteur;
 
private String idProtocoleSelectionne = null;
 
private ModeTri triParMoyenneArithmetique = ModeTri.PAS_DE_TRI;
 
private ModeTri triParDatePublication = ModeTri.PAS_DE_TRI;
private ModeTri triParDateObservation = ModeTri.PAS_DE_TRI;
private ModeTri triParNbCommentaires = ModeTri.PAS_DE_TRI;
private ModeTri triParNbTag = ModeTri.PAS_DE_TRI;
private ModeTri triParNbPoints = ModeTri.PAS_DE_TRI;
 
public String getRechercheLibre() {
return rechercheLibre;
}
 
public void setRechercheLibre(String rechercheLibre) {
if (rechercheLibre != null) {
this.rechercheLibre = rechercheLibre;
}
}
 
public String getDepartement() {
return departement;
}
 
public void setDepartement(String departement) {
if (departement != null) {
this.departement = departement;
}
}
public String getReferentiel() {
return referentiel;
}
 
public void setReferentiel(String referentiel) {
this.referentiel = referentiel;
}
 
public String getTaxon() {
return taxon;
}
 
public void setTaxon(String taxon) {
if (taxon != null) {
this.taxon = taxon;
}
}
 
public String getGenre() {
return genre;
}
 
public void setGenre(String genre) {
if (genre != null) {
this.genre = genre;
}
}
 
public String getMotClef() {
return motClef;
}
 
public void setMotClef(String motClef) {
if (motClef != null) {
this.motClef = motClef;
}
}
 
public String getDate() {
return date;
}
 
public void setDate(String date) {
if (date != null) {
this.date = date;
}
}
public String setPays(String pays) {
return this.pays = pays;
}
 
public String getPays() {
return pays;
}
 
public boolean getPnInscritsSeulement() {
return pnInscritsSeulement;
}
 
public void setPnInscritsSeulement(boolean pnInscritsSeulement) {
this.pnInscritsSeulement = pnInscritsSeulement;
}
public String getCommune() {
return commune;
}
 
public void setCommune(String commune) {
if (commune != null) {
String[] tableauCommuneDpt = commune.split(" ");
if (tableauCommuneDpt.length == 2) {
String dpt = tableauCommuneDpt[1].replaceAll("\\(", "").replaceAll("\\)", "");
setDepartement(dpt);
this.commune = tableauCommuneDpt[0];
} else {
this.commune = commune;
}
}
}
 
public String getFamille() {
return famille;
}
 
public void setFamille(String famille) {
if (famille != null) {
this.famille = famille;
}
}
 
public String getTag() {
return tag;
}
 
public void setTag(String tag) {
if (tag != null) {
this.tag = tag;
}
}
 
public String getAuteur() {
return auteur;
}
 
public void setAuteur(String auteur) {
if (auteur != null) {
this.auteur = auteur;
}
}
 
public ModeTri getTriParMoyenneArithmetique() {
return triParMoyenneArithmetique;
}
 
public void setTriParMoyenneArithmetique(ModeTri triParMoyenneArithmetique) {
this.triParMoyenneArithmetique = triParMoyenneArithmetique;
}
 
public void setIdProtocoleSelectionne(String idProtocoleSelectionne) {
this.idProtocoleSelectionne = idProtocoleSelectionne;
}
 
public String getIdProtocoleSelectionne() {
return idProtocoleSelectionne;
}
 
public ModeTri getTriParDatePublication() {
return triParDatePublication;
}
 
public void setTriParDatePublication(ModeTri triParDatePublication) {
this.triParDatePublication = triParDatePublication;
}
public ModeTri getTriParDateObservation() {
return triParDateObservation;
}
 
public void setTriParDateObservation(ModeTri triParDateObservation) {
this.triParDateObservation = triParDateObservation;
}
 
public void setTriParNbTags(ModeTri triParTag) {
this.triParNbTag = triParTag;
}
public ModeTri getTriParNbPoints() {
return this.triParNbPoints;
}
 
public void setTriParNbPoints(ModeTri triParPoints) {
this.triParNbPoints = triParPoints;
}
public ModeTri getTriParNbTags() {
return this.triParNbTag;
}
public void setTriParNbCommentaires(ModeTri triParNbCommentaires) {
this.triParNbCommentaires = triParNbCommentaires;
}
public ModeTri getTriParNbCommentaires() {
return triParNbCommentaires;
}
 
public String versChaineRequete() {
String chaine = "";
chaine += estNonNull(rechercheLibre) ? "&masque=" + URL.encodeQueryString(rechercheLibre) : "";
chaine += estNonNull(departement) ? "&masque.departement=" + URL.encodeQueryString(departement) : "";
chaine += estNonNull(referentiel) && !referentiel.equals("tous") ? "&masque.referentiel=" + URL.encodeQueryString(referentiel) : "";
chaine += estNonNull(taxon) ? "&masque.ns=" + URL.encodeQueryString(taxon) : "";
chaine += estNonNull(genre) ? "&masque.genre=" + URL.encodeQueryString(genre) : "";
chaine += estNonNull(motClef) ? "&masque.tag=" + URL.encodeQueryString(motClef) : "";
chaine += estNonNull(motClefCel) ? "&masque.tag_cel=" + URL.encodeQueryString(motClefCel) : "";
chaine += estNonNull(motClefDel) ? "&masque.tag_pictoflora=" + URL.encodeQueryString(motClefDel) : "";
chaine += estNonNull(date) ? "&masque.date=" + URL.encodeQueryString(date) : "";
chaine += estNonNull(commune) ? "&masque.commune=" + URL.encodeQueryString(commune) : "";
chaine += estNonNull(famille) ? "&masque.famille=" + URL.encodeQueryString(famille) : "";
chaine += estNonNull(auteur) ? "&masque.auteur=" + URL.encodeQueryString(auteur) : "";
chaine += estNonNull(pays) ? "&masque.pays=" + URL.encodeQueryString(pays) : "";
chaine += "&masque.pninscritsseulement=" + (pnInscritsSeulement ? URL.encodeQueryString("1") : URL.encodeQueryString("0"));
 
String urlCourante = Window.Location.getHref();
Config config = new Config();
String urlAppliImg = config.getUrl("pictoflora");
if (urlCourante.contains(urlAppliImg)) {
chaine += triParMoyenneArithmetique != ModeTri.PAS_DE_TRI ? "&tri=moyenne-arithmetique" : "";
chaine += triParMoyenneArithmetique != ModeTri.PAS_DE_TRI ? "&ordre=" + triParMoyenneArithmetique : "";
chaine += triParNbTag != ModeTri.PAS_DE_TRI ? "&tri=tags" : "";
chaine += triParNbTag != ModeTri.PAS_DE_TRI ? "&ordre=" + triParNbTag : "";
chaine += triParNbPoints != ModeTri.PAS_DE_TRI ? "&tri=points" : "";
chaine += triParNbPoints != ModeTri.PAS_DE_TRI ? "&ordre=" + triParNbPoints : "";
chaine += estNonNull(idProtocoleSelectionne) ? "&protocole=" + idProtocoleSelectionne : "";
} else {
chaine += triParNbCommentaires != ModeTri.PAS_DE_TRI ? "&tri=nb_commentaires" : "";
chaine += triParNbCommentaires != ModeTri.PAS_DE_TRI ? "&ordre=" + triParNbCommentaires : "";
}
 
chaine += triParDateObservation != ModeTri.PAS_DE_TRI ? "&tri=date_observation" : "";
chaine += triParDateObservation != ModeTri.PAS_DE_TRI ? "&ordre=" + triParDateObservation : "";
chaine += triParDatePublication != ModeTri.PAS_DE_TRI ? "&tri=date_transmission" : "";
chaine += triParDatePublication != ModeTri.PAS_DE_TRI ? "&ordre=" + triParDatePublication : "";
 
return chaine;
}
 
private boolean estNonNull(String critere) {
return critere != null && !critere.trim().isEmpty();
}
 
public String getMotClefDel() {
return motClefDel;
}
 
public void setMotClefDel(String motClefDel) {
this.motClefDel = motClefDel;
}
 
public String getMotClefCel() {
return motClefCel;
}
 
public void setMotClefCel(String motClefCel) {
this.motClefCel = motClefCel;
}
}
/branches/v1.11-magnesium/src/org/tela_botanica/del/client/modeles/Image.java
New file
0,0 → 1,122
package org.tela_botanica.del.client.modeles;
 
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
 
import com.google.gwt.user.client.Window;
 
public class Image {
 
private String idImage;
private Observation observation;
private String url;
private String urlFormat;
private String miniature;
private List<String> motsClefs;
 
public String getUrl() {
return url;
}
 
public String getMiniature() {
return miniature;
}
 
public String getUrlFormat(String format) {
return urlFormat.replaceAll("%s%", format);
}
 
public void setUrlFormat(String urlFormat) {
this.urlFormat = urlFormat;
}
 
public void setUrl(String url) {
this.url = url;
}
 
public void setMiniature(String url) {
miniature = url;
}
 
public String getIdImage() {
return idImage;
}
 
public void setIdImage(String idImage) {
this.idImage = idImage;
}
 
// Impossible d'utiliser le type générique Map ici, pourquoi ? je ne sais pas !
private HashMap<String, HashMap<String, VoteProtocole>> votesProtocoles = new HashMap<String, HashMap<String, VoteProtocole>>();
 
public void ajouterVoteProtocole(VoteProtocole voteProcotole) {
getVotesProtocoles(voteProcotole.getIdProtocole()).put(voteProcotole.getContributeur(), voteProcotole);
}
public void supprimerVoteProtocole(String idProtocole, String idContributeur) {
if(utilisateurAVotePourProtocole(idProtocole, idContributeur)) {
votesProtocoles.get(idProtocole).remove(idContributeur);
}
}
public boolean utilisateurAVotePourProtocole(String idProtocole, String idContributeur) {
boolean aVote = false;
if (votesProtocoles.containsKey(idProtocole) && votesProtocoles.get(idProtocole).containsKey(idContributeur)) {
aVote = true;
}
return aVote;
}
public HashMap<String, VoteProtocole> getVotesProtocoles(String id_protocole) {
if(!votesProtocoles.containsKey(""+id_protocole) || votesProtocoles.get(""+id_protocole) == null) {
votesProtocoles.put(""+id_protocole, new HashMap<String, VoteProtocole>());
}
return votesProtocoles.get(id_protocole+"");
}
public HashMap<String, VoteProtocole> getVotesProtocoles(int id_protocole) {
return getVotesProtocoles(id_protocole+"");
}
public HashMap<String, HashMap<String, VoteProtocole>> getListeVotesProtocoles() {
return votesProtocoles;
}
public void setVoteProtocoles(HashMap<String, HashMap<String, VoteProtocole>> voteProtocoles) {
this.votesProtocoles = voteProtocoles;
}
 
public void setVoteProtocoles(String id_protocole, HashMap<String, VoteProtocole> voteProtocoles) {
this.votesProtocoles.put(id_protocole, voteProtocoles);
}
 
public Observation getObservation() {
return observation;
}
 
public void setObservation(Observation observation) {
this.observation = observation;
}
public List<String> getMotsClefs() {
return motsClefs;
}
 
public void setMotsClefs(List<String> motsClefs) {
this.motsClefs = motsClefs;
}
 
public void ajouterMotsClef(String motsClefs) {
if (this.motsClefs == null) {
this.motsClefs = new ArrayList<String>();
}
this.motsClefs.add(motsClefs);
}
public boolean estADeterminer() {
return observation == null || observation.estADeterminer() || motsClefs.contains("aDeterminer");
}
 
}