Subversion Repositories eFlore/Applications.del

Compare Revisions

Ignore whitespace Rev 1208 → Rev 1209

/trunk/src/org/tela_botanica/del/client/utils/UtilitairesServiceResultat.java
90,9 → 90,11
JSONValue propositions = observationJson.get("commentaires");
 
boolean creerPropositionAPartirObs = true;
 
boolean propositionInitialeExiste = false;
PropositionDetermination propositionPotentiellementInitiale = null;
if (propositions != null && propositions.isObject() != null) {
List<InterventionForum> interventions = parserInterventions(propositions.isObject());
for (InterventionForum interventionForum : interventions) {
interventionForum.setObservation(observation);
// Si une proposition avec le même nom retenu que l'observation
105,18 → 107,32
creerPropositionAPartirObs = false;
proposition.setDate(parserDateObservation(observation.getDateReleve()));
}
if (proposition.getEspece().equals(observation.getNomRetenu()) && proposition.getContributeur().getNomComplet().equals(observation.getAuteur())) {
propositionPotentiellementInitiale = proposition;
}
if (proposition.estPropositionInitiale()) {
propositionInitialeExiste = true;
}
}
}
observation.setInterventionsForum(interventions);
}
 
if (!propositionInitialeExiste && propositionPotentiellementInitiale != null) {
propositionPotentiellementInitiale.setEstPropositionInitiale(true);
}
if (creerPropositionAPartirObs) {
// Si elle est nécessaire, la proposition factice est ajoutée au
// début
observation.getInterventionsForum().add(0, creerPropositionDeterminationAPartirObservation(observation));
observation.getInterventionsForum().add(0, creerPropositionDeterminationAPartirObservation(observation, propositionInitialeExiste));
}
return observation;
 
}
 
/**
* Créée une proposition de determination à partir d'une observation
124,7 → 140,7
* @param observation
* @return
*/
private static PropositionDetermination creerPropositionDeterminationAPartirObservation(Observation observation) {
private static PropositionDetermination creerPropositionDeterminationAPartirObservation(Observation observation, boolean propositionInitialeExiste) {
 
String utilisateurNom = observation.getNomAuteur();
String utilisateurPrenom = observation.getPrenomAuteur();
137,6 → 153,10
java.util.Date datePropDeter = parserDateObservation(observation.getDateReleve());
propositionDetermination.setDate(datePropDeter);
propositionDetermination.setEspece(observation.getNomRetenu());
if (!propositionInitialeExiste) {
propositionDetermination.setEstPropositionInitiale(true);
}
 
return propositionDetermination;
}
188,7 → 208,7
String prenom = getValeurOuVide(jsonIntervention, "auteur.prenom");
String courriel = getValeurOuVide(jsonIntervention, "auteur.courriel");
Contributeur contributeur = new Contributeur(idUtilisateur, nom, prenom, courriel);
 
Date date = parserDateObservation(getValeurOuVide(jsonIntervention, "date"));
 
if (!nomSel.equals("")) {
198,10 → 218,21
String nom_ret_nn = getValeurOuVide(jsonIntervention, "nom_ret_nn");
String famille = getValeurOuVide(jsonIntervention, "famille");
String nom_referentiel = getValeurOuVide(jsonIntervention, "nom_referentiel");
 
String nbCommentaires = getValeurOuVide(jsonIntervention, "nb_commentaires");
 
PropositionDetermination intervention = new PropositionDetermination(id, contributeur, texte);
String proposition_initiale = getValeurOuVide(jsonIntervention, "proposition_initiale");
if (proposition_initiale != null && proposition_initiale.equals("1")) {
intervention.setEstPropositionInitiale(true);
} /*else {
String nomRetObs = intervention.getObservation().getNomRetenu();
String auteur = intervention.getObservation().getAuteur();
boolean b = nom_ret.equals(nomRetObs) && intervention.getContributeur().getNomComplet().equals(auteur);
intervention.setEstPropositionInitiale(b);
}*/
// intervention.setObservation(observation);
intervention.setEspece(nom_sel);
 
217,6 → 248,8
intervention.setNumNomenclatural(nom_ret_nn);
}
if (!idParent.equals("")) {
intervention.setIdParent(idParent);
}
/trunk/src/org/tela_botanica/del/client/vues/identiplante/resultats/observationdeterminations/observationdetermination.css
2,6 → 2,10
padding-top:3px;
}
 
.lignePropositionRetenue {
}
 
.determInitiale, .especesProposees {
padding-left:10px;
}
/trunk/src/org/tela_botanica/del/client/vues/identiplante/resultats/observationdeterminations/ObservationDeterminationVue.ui.xml
14,8 → 14,15
<g:Label styleName="petit {style.headerTableau} {style.gauche} {style.determInitiale}">Détermination initiale</g:Label>
<g:Label styleName="petit {style.headerTableau} {style.milieu}">Voter</g:Label>
<g:Label styleName="petit {style.headerTableau} {style.droite}">Comm.</g:Label>
<g:HTMLPanel styleName="{style.determination} {style.determinationOriginale}" ui:field="tableauPropositionOriginale" />
<g:HTMLPanel styleName="{style.determination} {style.determinationOriginale}" ui:field="tableauPropositionInitiale" />
</g:HTMLPanel>
<g:HTMLPanel styleName="{style.determinationOriginale} nettoyage {style.lignePropositionRetenue}" ui:field="lignePropositionRetenue">
<g:Label styleName="petit {style.headerTableau} {style.gauche}">Score</g:Label>
<g:Label styleName="petit {style.headerTableau} {style.gauche} {style.determInitiale}">Détermination retenue</g:Label>
<g:Label styleName="petit {style.headerTableau} {style.milieu}">Voter</g:Label>
<g:Label styleName="petit {style.headerTableau} {style.droite}">Comm.</g:Label>
<g:HTMLPanel styleName="{style.determination} {style.determinationOriginale}" ui:field="tableauPropositionRetenue" />
</g:HTMLPanel>
<g:HTML><br class="nettoyage"></br></g:HTML>
<g:HTMLPanel styleName="{style.determinationOriginale}" ui:field="zonePropositions">
<g:Label styleName="petit {style.headerTableau} {style.gauche}">Score</g:Label>
/trunk/src/org/tela_botanica/del/client/vues/identiplante/resultats/observationdeterminations/ObservationDeterminationPresenteur.java
1,39 → 1,40
package org.tela_botanica.del.client.vues.identiplante.resultats.observationdeterminations;
 
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;
 
import org.tela_botanica.del.client.composants.fenetreoverlay.FenetreOverlaySimplePresenteur;
import org.tela_botanica.del.client.composants.rss.RssPresenteur;
import org.tela_botanica.del.client.composants.rss.RssVue;
import org.tela_botanica.del.client.modeles.MoyenneVote;
import org.tela_botanica.del.client.modeles.Observation;
import org.tela_botanica.del.client.modeles.PropositionDetermination;
import org.tela_botanica.del.client.modeles.VoteDetermination;
import org.tela_botanica.del.client.navigation.evenement.BusEvenementiel;
import org.tela_botanica.del.client.navigation.evenement.voteDetermination.EvenementVoteDetermination;
import org.tela_botanica.del.client.navigation.evenement.voteDetermination.GestionnaireEvenementVoteDetermination;
import org.tela_botanica.del.client.services.CalculVoteDeterminationService;
import org.tela_botanica.del.client.utils.ComparateurPropositionDetermination;
import org.tela_botanica.del.client.vues.identiplante.resultats.votes.DetailVoteObservationPresenteur;
import org.tela_botanica.del.client.vues.identiplante.resultats.votes.DetailVoteObservationVue;
 
import com.google.gwt.core.shared.GWT;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.ui.HTMLPanel;
import com.google.gwt.user.client.ui.HasWidgets;
import com.google.gwt.user.client.ui.IsWidget;
 
public class ObservationDeterminationPresenteur {
public abstract interface Vue extends IsWidget {
public void viderTableau();
 
public void viderTableauPropositionOriginale();
public void viderTableauPropositionInitiale();
public HasWidgets getTableauPropositions();
 
public HasWidgets getTableauPropositionOriginale();
public HasWidgets getTableauPropositionInitiale();
public void viderTableauPropositionRetenue();
public HasWidgets getTableauPropositionRetenue();
 
void setNbVotes(int index, int nbVotes);
 
44,6 → 45,8
public void masquerPropositions();
public HasWidgets getZoneRss();
public void toggleTableauPropositionRetenue();
}
private Vue vue;
private List<PropositionDetermination> propositions;
54,8 → 57,24
this.vue = vue;
}
 
public void chargerRss(Observation observation) {
new RssPresenteur(new RssVue(), observation, "").go(vue.getZoneRss());
}
public void chargerPropositionRetenue(PropositionDetermination proposition) {
vue.viderTableauPropositionRetenue();
HTMLPanel panneau = new HTMLPanel("");
DetailVoteObservationPresenteur presenteurVote = new DetailVoteObservationPresenteur(new DetailVoteObservationVue(), proposition);
presenteurVote.go(panneau);
LignePropositionVue lignePropositionVue = new LignePropositionVue(panneau);
LignePropositionPresenteur lignePropositionPresenteur = new LignePropositionPresenteur(lignePropositionVue, proposition);
lignePropositionPresenteur.go(vue.getTableauPropositionRetenue());
vue.toggleTableauPropositionRetenue();
GWT.log("lkjlakrjelkrjealkrjezlkjezlrkezjlkzrjzelkrjzelkr");
}
public void chargerPropositionOriginale(PropositionDetermination proposition) {
vue.viderTableauPropositionOriginale();
vue.viderTableauPropositionInitiale();
// TODO: afficher nombre de votes total et mettre à jour en cas de
// vote
HTMLPanel panneau = new HTMLPanel("");
63,9 → 82,8
presenteurVote.go(panneau);
LignePropositionVue lignePropositionVue = new LignePropositionVue(panneau);
LignePropositionPresenteur lignePropositionPresenteur = new LignePropositionPresenteur(lignePropositionVue, proposition);
lignePropositionPresenteur.go(vue.getTableauPropositionOriginale());
lignePropositionPresenteur.go(vue.getTableauPropositionInitiale());
new RssPresenteur(new RssVue(), proposition.getObservation(), "").go(vue.getZoneRss());
}
78,9 → 96,12
vue.viderTableau();
int nbPropositions = 0;
classerPropositions(propositions);
chargerRss(propositions.get(0).getObservation());
for (PropositionDetermination proposition : propositions) {
if (proposition.estPropositionInitiale()) {
this.chargerPropositionOriginale(proposition);
chargerPropositionOriginale(proposition);
} else if (proposition.estPropositionRetenue()) {
chargerPropositionRetenue(proposition);
} else {
nbPropositions++;
95,6 → 116,7
lignePropositionPresenteur.go(vue.getTableauPropositions());
}
}
if (nbPropositions > 0) {
} else {
vue.masquerPropositions();
/trunk/src/org/tela_botanica/del/client/vues/identiplante/resultats/observationdeterminations/ObservationDeterminationVue.java
17,7 → 17,7
private static Binder binder = GWT.create(Binder.class);
 
@UiField
protected HTMLPanel zoneRss, tableauPropositions, tableauPropositionOriginale, zonePropositions;
HTMLPanel zoneRss, tableauPropositions, tableauPropositionInitiale, zonePropositions, tableauPropositionRetenue, lignePropositionRetenue;
 
public HTMLPanel getTableauPropositions() {
return tableauPropositions;
25,6 → 25,7
 
public ObservationDeterminationVue() {
initWidget(binder.createAndBindUi(this));
toggleTableauPropositionRetenue();
}
 
@Override
54,8 → 55,8
}
 
@Override
public HasWidgets getTableauPropositionOriginale() {
return tableauPropositionOriginale;
public HasWidgets getTableauPropositionInitiale() {
return tableauPropositionInitiale;
}
public void masquerPropositions() {
63,8 → 64,8
}
 
@Override
public void viderTableauPropositionOriginale() {
tableauPropositionOriginale.clear();
public void viderTableauPropositionInitiale() {
tableauPropositionInitiale.clear();
}
71,4 → 72,20
public HasWidgets getZoneRss() {
return zoneRss;
}
 
@Override
public void viderTableauPropositionRetenue() {
tableauPropositionRetenue.clear();
}
 
@Override
public HasWidgets getTableauPropositionRetenue() {
return tableauPropositionRetenue;
}
 
@Override
public void toggleTableauPropositionRetenue() {
lignePropositionRetenue.setVisible(!lignePropositionRetenue.isVisible());
}
}
/trunk/src/org/tela_botanica/del/client/modeles/PropositionDetermination.java
4,6 → 4,7
import java.util.HashMap;
import java.util.Map;
 
import com.google.gwt.core.shared.GWT;
import com.google.gwt.user.client.Window;
 
public class PropositionDetermination extends InterventionForum implements Serializable {
11,7 → 12,18
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;
 
25,7 → 37,7
this.observation = observation;
}
 
public boolean estPropositionInitiale() {
public boolean estPropositionRetenue() {
return (this.espece.equals(this.observation.getNomRetenu()) && this.getContributeur().getNomComplet().equals(this.observation.getAuteur()));
}