/trunk/src/org/tela_botanica/del/client/modeles/Image.java |
---|
47,25 → 47,34 |
this.idImage = idImage; |
} |
private Map<String, List<VoteProtocole>> voteProtocoles = new HashMap<String, List<VoteProtocole>>(); |
// 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 List<VoteProtocole> getVoteProtocoles(String id_protocole) { |
if(!voteProtocoles.containsKey(""+id_protocole) || voteProtocoles.get(""+id_protocole) == null) { |
voteProtocoles.put(""+id_protocole, new ArrayList<VoteProtocole>()); |
public void ajouterVoteProtocole(VoteProtocole voteProcotole) { |
getVotesProtocoles(voteProcotole.getIdProtocole()).put(voteProcotole.getContributeur(), voteProcotole); |
} |
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 voteProtocoles.get(id_protocole+""); |
return votesProtocoles.get(id_protocole+""); |
} |
public List<VoteProtocole> getVotesProtocoles(int id_protocole) { |
return getVoteProtocoles(id_protocole+""); |
public HashMap<String, VoteProtocole> getVotesProtocoles(int id_protocole) { |
return getVotesProtocoles(id_protocole+""); |
} |
public void setVoteProtocoles(Map<String, List<VoteProtocole>> voteProtocoles) { |
this.voteProtocoles = voteProtocoles; |
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, List<VoteProtocole> voteProtocoles) { |
this.voteProtocoles.put(id_protocole, voteProtocoles); |
public void setVoteProtocoles(String id_protocole, HashMap<String, VoteProtocole> voteProtocoles) { |
this.votesProtocoles.put(id_protocole, voteProtocoles); |
} |
public Observation getObservation() { |
/trunk/src/org/tela_botanica/del/client/modeles/VoteProtocole.java |
---|
11,8 → 11,12 |
public Protocole getProtocole() { |
return protocole; |
} |
public void setProtocole(Protocole protocole) { |
this.protocole = protocole; |
} |
public int getIdProtocole() { |
return getProtocole().getId(); |
} |
} |
/trunk/src/org/tela_botanica/del/client/i18n/Vocabulary.properties |
---|
64,9 → 64,9 |
#ecran determination |
proposerSaDetermination = Proposer votre détermination |
proposerSaDetermination = Proposer une détermination |
infoProposerDetermination = Pour proposer une détermination, remplissez les champs ci-dessous et cliquez sur le bouton Proposer ! |
boutonProposer = Valider ma détermination |
boutonProposer = Valider |
infoVous = Vos nom et prénom |
fiabilite = Fiabilité |
infoFiabilite = Indiquez votre niveau de certitude vis-à-vis de votre proposition. |
/trunk/src/org/tela_botanica/del/client/utils/UtilitairesServiceResultat.java |
---|
71,10 → 71,10 |
return propositionDetermination; |
} |
public static Map<String, List<VoteProtocole>> parserVotesProtocoles(JSONArray votes) { |
public static HashMap<String, HashMap<String,VoteProtocole>> parserVotesProtocoles(JSONArray votes) { |
int nbVotes = votes.size(); |
Map<String, List<VoteProtocole>> votesProtocoles = new HashMap<String, List<VoteProtocole>>(); |
HashMap<String, HashMap<String,VoteProtocole>> votesProtocoles = new HashMap<String, HashMap<String,VoteProtocole>>(); |
for (int j = 0; j < nbVotes; j++) { |
JSONObject vote = votes.get(j).isObject(); |
VoteProtocole vd = new VoteProtocole(); |
86,9 → 86,9 |
vd.setVote(valeurVote); |
if(!votesProtocoles.containsKey(idProtocoleVote)) { |
votesProtocoles.put(idProtocoleVote, new ArrayList<VoteProtocole>()); |
votesProtocoles.put(idProtocoleVote, new HashMap<String,VoteProtocole>()); |
} |
votesProtocoles.get(idProtocoleVote).add(vd); |
votesProtocoles.get(idProtocoleVote).put(vd.getContributeur(), vd); |
} |
return votesProtocoles; |
/trunk/src/org/tela_botanica/del/client/vues/rechercheimages/resultats/votes/MoyenneVotePresenteur.java |
---|
1,34 → 1,64 |
package org.tela_botanica.del.client.vues.rechercheimages.resultats.votes; |
import java.util.Iterator; |
import java.util.List; |
import org.tela_botanica.del.client.cache.CacheClient; |
import org.tela_botanica.del.client.modeles.Image; |
import org.tela_botanica.del.client.modeles.Protocole; |
import org.tela_botanica.del.client.modeles.Utilisateur; |
import org.tela_botanica.del.client.modeles.VoteProtocole; |
import org.tela_botanica.del.client.services.rest.VoteProtocoleService; |
import org.tela_botanica.del.client.utils.MockDatasource; |
import com.google.gwt.event.dom.client.ChangeEvent; |
import com.google.gwt.event.dom.client.ChangeHandler; |
import com.google.gwt.event.dom.client.ClickEvent; |
import com.google.gwt.event.dom.client.ClickHandler; |
import com.google.gwt.event.dom.client.HasChangeHandlers; |
import com.google.gwt.event.dom.client.HasClickHandlers; |
import com.google.gwt.user.client.Window; |
import com.google.gwt.user.client.ui.HasText; |
import com.google.gwt.user.client.ui.HasWidgets; |
import com.google.gwt.user.client.ui.IsWidget; |
public class MoyenneVotePresenteur { |
private MoyenneVoteVue vue; |
public interface Vue extends IsWidget { |
public HasClickHandlers getBoutonVoter(); |
public HasClickHandlers getBoutonAnnuler(); |
public HasText getNbVotes(); |
public HasClickHandlers getVotes(); |
public int getValeurVote(); |
public void afficherBoutonVoter(); |
public void afficherBoutonAnnuler(); |
public void masquerBoutonVoter(); |
public void masquerBoutonAnnuler(); |
public void afficherNbVotes(); |
public void masquerNbVotes(); |
public void reinitialiserVotes(); |
public void rafraichir(int moyenneVote, int nbVotes); |
public void ajouterAuParent(HasWidgets composite); |
} |
private Vue vue; |
private Protocole protocole; |
private final VoteProtocoleService voteProtocoleService = MockDatasource.getInstance(); |
private String idImage; |
private final MockDatasource validationService = MockDatasource.getInstance(); |
private Image image; |
public MoyenneVotePresenteur(List<VoteProtocole> validationDatas, String idImage, Protocole protocole) { |
vue = new MoyenneVoteVue(validationDatas); |
private int valeurVoteDefaut = -1; |
private int valeurVoteUtilisateur = -1; |
private int valeurVoteTotal = 0; |
public MoyenneVotePresenteur(Image image, Protocole protocole, Vue vue) { |
this.vue = vue; |
this.protocole = protocole; |
this.idImage = idImage; |
this.image = image; |
} |
public void go(HasWidgets container) { |
container.add(vue); |
public void go(HasWidgets composite) { |
vue.ajouterAuParent(composite); |
gererEvenements(); |
rafraichirVue(); |
} |
public void gererEvenements() { |
35,6 → 65,7 |
vue.getVotes().addClickHandler(new ClickHandler() { |
@Override |
public void onClick(ClickEvent event) { |
valeurVoteUtilisateur = vue.getValeurVote(); |
vue.afficherBoutonVoter(); |
vue.afficherBoutonAnnuler(); |
vue.masquerNbVotes(); |
44,6 → 75,7 |
vue.getBoutonAnnuler().addClickHandler(new ClickHandler() { |
@Override |
public void onClick(ClickEvent event) { |
valeurVoteUtilisateur = valeurVoteDefaut; |
vue.masquerBoutonVoter(); |
vue.masquerBoutonAnnuler(); |
vue.afficherNbVotes(); |
54,7 → 86,6 |
vue.getBoutonVoter().addClickHandler(new ClickHandler() { |
@Override |
public void onClick(ClickEvent event) { |
enregistrerVote(); |
vue.masquerBoutonVoter(); |
vue.masquerBoutonAnnuler(); |
64,12 → 95,48 |
}); |
} |
public void setValeurVoteUtilisateur(int valeurVoteUtilisateur) { |
this.valeurVoteUtilisateur = valeurVoteUtilisateur; |
} |
public void enregistrerVote() { |
VoteProtocole voteProtocole = new VoteProtocole(); |
voteProtocole.setProtocole(this.protocole); |
voteProtocoleService.saveVote(idImage, voteProtocole); |
voteProtocole.setVote(valeurVoteUtilisateur); |
voteProtocole.setContributeur(CacheClient.getInstance().getUtilisateur().getId()); |
// voteProtocoleService.saveVote(idImage, voteProtocole); |
// TODO: sauver vote asynchrone |
image.ajouterVoteProtocole(voteProtocole); |
rafraichirVue(); |
} |
public int getValeurVoteTotal() { |
return valeurVoteTotal; |
} |
public IsWidget getVue() { |
return vue; |
} |
private void rafraichirVue() { |
valeurVoteTotal = calculerMoyenneVotes(); |
vue.rafraichir(valeurVoteTotal, image.getVotesProtocoles(protocole.getId()).size()); |
} |
public int calculerMoyenneVotes() { |
double valeurVote = 0; |
int nbVote = 0; |
for (Iterator<String> iterator = image.getVotesProtocoles(protocole.getId()).keySet().iterator(); iterator.hasNext();) { |
VoteProtocole imageCelValidationData = image.getVotesProtocoles(protocole.getId()).get(iterator.next()); |
valeurVote += (double)imageCelValidationData.getVote()/5; |
nbVote++; |
} |
List<VoteProtocole> observationValidationDatas = validationService.getVotePourImageEtProtocole(idImage, protocole.getNom()); |
vue.rafraichir(observationValidationDatas); |
if (nbVote > 0) { |
valeurVote /= nbVote; |
valeurVote *= 5; |
} |
return (int)Math.round(valeurVote); |
} |
} |
/trunk/src/org/tela_botanica/del/client/vues/rechercheimages/resultats/votes/MoyenneVoteVue.java |
---|
9,6 → 9,7 |
import com.google.gwt.core.client.GWT; |
import com.google.gwt.event.dom.client.ClickEvent; |
import com.google.gwt.event.dom.client.ClickHandler; |
import com.google.gwt.event.dom.client.HasChangeHandlers; |
import com.google.gwt.event.dom.client.HasClickHandlers; |
import com.google.gwt.uibinder.client.UiBinder; |
import com.google.gwt.uibinder.client.UiField; |
17,10 → 18,11 |
import com.google.gwt.user.client.ui.Composite; |
import com.google.gwt.user.client.ui.FocusPanel; |
import com.google.gwt.user.client.ui.HasText; |
import com.google.gwt.user.client.ui.HasWidgets; |
import com.google.gwt.user.client.ui.Label; |
import com.google.gwt.user.client.ui.Widget; |
public class MoyenneVoteVue extends Composite { |
public class MoyenneVoteVue extends Composite implements MoyenneVotePresenteur.Vue { |
// Annotation can be used to change the name of the associated xml file |
// @UiTemplate("MoyenneVoteVue.ui.xml") |
40,16 → 42,13 |
@UiField |
Button boutonVoter, boutonAnnuler; |
protected MoyenneVoteVue(List<VoteProtocole> validationDatas) { |
public MoyenneVoteVue() { |
initWidget(uiBinder.createAndBindUi(this)); |
votes = new Rating(0, 5); |
votes.setReadOnly(false); |
voter.add(votes); |
masquerBoutonAnnuler(); |
masquerBoutonVoter(); |
rafraichir(validationDatas); |
} |
public HasClickHandlers getBoutonVoter() { |
68,6 → 67,10 |
return votes; |
} |
public int getValeurVote() { |
return votes.getValue(); |
} |
public void afficherBoutonVoter() { |
boutonVoter.setVisible(true); |
} |
96,19 → 99,14 |
votes.setValue(valeurOrigine); |
} |
public void rafraichir(List<VoteProtocole> validationDatas) { |
int meanVote = 0; |
int nbVote = 0; |
for (VoteProtocole imageCelValidationData : validationDatas) { |
meanVote += imageCelValidationData.getVote(); |
nbVote++; |
} |
if (nbVote > 0) { |
meanVote /= nbVote; |
} |
votes.setValue(nbVote); |
valeurOrigine = nbVote; |
nbVotes.setText(String.valueOf(validationDatas.size()) + " " +I18n.getVocabulary().nbVotes()); |
public void rafraichir(int moyenneVote, int nombreVotes) { |
valeurOrigine = moyenneVote; |
nbVotes.setText(nombreVotes+" "+I18n.getVocabulary().nbVotes()); |
votes.setValue(moyenneVote); |
} |
@Override |
public void ajouterAuParent(HasWidgets composite) { |
composite.add(this); |
} |
} |
/trunk/src/org/tela_botanica/del/client/vues/rechercheimages/resultats/images/ImagePresenteur.java |
---|
1,5 → 1,6 |
package org.tela_botanica.del.client.vues.rechercheimages.resultats.images; |
import java.util.HashMap; |
import java.util.List; |
import org.tela_botanica.del.client.cache.CacheClient; |
26,6 → 27,7 |
import org.tela_botanica.del.client.services.rest.ImageServiceConcret; |
import org.tela_botanica.del.client.services.rest.async.ImagesParTaxonCallback; |
import org.tela_botanica.del.client.vues.rechercheimages.resultats.votes.MoyenneVotePresenteur; |
import org.tela_botanica.del.client.vues.rechercheimages.resultats.votes.MoyenneVoteVue; |
import com.google.gwt.event.dom.client.ClickEvent; |
import com.google.gwt.event.dom.client.ClickHandler; |
58,7 → 60,7 |
private Vue vue; |
private final Image image; |
private boolean detailsOpen = false; |
private boolean detailsOuverts = false; |
private Protocole protocole; |
72,15 → 74,15 |
composite.add(vue.asWidget()); |
vue.loadImage(image); |
new MetadonneesPresenteur(new MetadonneesVue(), image.getObservation(), ModeRecherche.MODE_IMAGE).go(vue.getMetadonnees()); |
loadValidationData(); |
chargerDonneesValidation(); |
gererEvenements(); |
} |
private void loadValidationData() { |
private void chargerDonneesValidation() { |
vue.getZoneVoter().clear(); |
List<VoteProtocole> observationValidationDatas = image.getVotesProtocoles(protocole.getId()); |
HashMap<String, VoteProtocole> observationValidationDatas = image.getVotesProtocoles(protocole.getId()); |
if(observationValidationDatas != null) { |
new MoyenneVotePresenteur(observationValidationDatas, image.getIdImage(), protocole).go(vue.getZoneVoter()); |
new MoyenneVotePresenteur(image, protocole, new MoyenneVoteVue()).go(vue.getZoneVoter()); |
} |
} |
88,7 → 90,7 |
CacheClient.getInstance().setImageCourante(image); |
final Observation obs = image.getObservation(); |
// charge toutes les images de l'observation associee à l'observation en cours |
// charge toutes les images de l'observation associée à l'observation en cours |
ImageService imageService = new ImageServiceConcret(); |
imageService.getImagesParObservation(obs.getId(), new ImagesParTaxonCallback() { |
144,7 → 146,7 |
public void onVoirDetailsImage(EvenementVoirDetailsImage event) { |
if (image.getIdImage().equals(event.getImage().getIdImage())) { |
if (!detailsOpen) { |
if (!detailsOuverts) { |
afficherDetails(); |
} else { |
cacherDetails(); |
159,7 → 161,7 |
@Override |
public void onChangementProtocole(EvenementChangementProtocole event) { |
setProtocole(event.getProtocole()); |
loadValidationData(); |
chargerDonneesValidation(); |
} |
}); |
} |
166,16 → 168,16 |
public void cacherDetails() { |
vue.cacherZoneCache(); |
detailsOpen = false; |
detailsOuverts = false; |
} |
public void afficherDetails() { |
vue.afficherZoneCache(); |
detailsOpen = true; |
detailsOuverts = true; |
} |
public boolean isDetailsOpen() { |
return detailsOpen; |
return detailsOuverts; |
} |
public Protocole getProtocole() { |
/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/vote/EnsembleVotesPresenteur.java |
---|
1,5 → 1,6 |
package org.tela_botanica.del.client.vues.plateformedetermination.vote; |
import java.util.HashMap; |
import java.util.List; |
import org.tela_botanica.del.client.cache.CacheClient; |
38,11 → 39,11 |
Image imageCourante = CacheClient.getInstance().getImageCourante(); |
Protocole protocoleEsthetisme = protocoleService.getProtocole(Protocole.ESTHETISME); |
List<VoteProtocole> observationValidationsEsthetisme = imageCourante.getVotesProtocoles(protocoleEsthetisme.getId()); |
HashMap<String, VoteProtocole> observationValidationsEsthetisme = imageCourante.getVotesProtocoles(protocoleEsthetisme.getId()); |
new MoyenneVoteProtocolePresenteur(protocoleEsthetisme, observationValidationsEsthetisme).go(vue.getPanneauVotes()); |
Protocole protocoleIdentification = protocoleService.getProtocole(Protocole.IDENTIFICATION_AUTOMATIQUE); |
List<VoteProtocole> observationValidationsIdentification = imageCourante.getVotesProtocoles(protocoleIdentification.getId()); |
HashMap<String, VoteProtocole> observationValidationsIdentification = imageCourante.getVotesProtocoles(protocoleIdentification.getId()); |
new MoyenneVoteProtocolePresenteur(protocoleIdentification, observationValidationsIdentification).go(vue.getPanneauVotes()); |
} |
} |
/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/vote/barrerepartition/BarreRepartitionVotePresenteur.java |
---|
57,16 → 57,13 |
public void gererEvenements() { |
BusEvenementiel.getInstance().addHandler(EvenementVoteDetermination.TYPE, new GestionnaireEvenementVoteDetermination() { |
@Override |
public void onVoteDetermination(VoteDetermination event) { |
public void onVoteDetermination(VoteDetermination event) { |
if(event.getPropositionDetermination().equals(moyenneVote.getPropositionAssociee())) { |
moyenneVote.getPropositionAssociee().ajouterVoteDetermination(event); |
moyenneVote = CalculVoteDeterminationService.calculerVoteDetermination(moyenneVote.getPropositionAssociee()); |
afficherVotes(moyenneVote); |
} |
} |
} |
}); |
104,7 → 101,6 |
} |
moyenneVote.getPropositionAssociee().ajouterVoteDetermination(vd); |
BusEvenementiel.getInstance().fireEvent(new EvenementVoteDetermination(vd)); |
} |
} |
/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/vote/protocole/moyenne/MoyenneVoteProtocolePresenteur.java |
---|
1,5 → 1,6 |
package org.tela_botanica.del.client.vues.plateformedetermination.vote.protocole.moyenne; |
import java.util.HashMap; |
import java.util.List; |
import org.tela_botanica.del.client.modeles.Protocole; |
15,7 → 16,7 |
private Protocole protocole; |
public MoyenneVoteProtocolePresenteur(Protocole protocole, List<VoteProtocole> validationDatas) { |
public MoyenneVoteProtocolePresenteur(Protocole protocole, HashMap<String, VoteProtocole> validationDatas) { |
view = new MoyenneVoteProtocoleVue(protocole, validationDatas); |
} |
/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/vote/protocole/moyenne/MoyenneVoteProtocoleVue.java |
---|
1,8 → 1,11 |
package org.tela_botanica.del.client.vues.plateformedetermination.vote.protocole.moyenne; |
import java.util.HashMap; |
import java.util.Iterator; |
import java.util.List; |
import org.cobogw.gwt.user.client.ui.Rating; |
import org.tela_botanica.del.client.modeles.MoyenneVote; |
import org.tela_botanica.del.client.modeles.Protocole; |
import org.tela_botanica.del.client.modeles.VoteProtocole; |
27,7 → 30,7 |
@UiField |
Label nbVotes, nomProtocole; |
protected MoyenneVoteProtocoleVue(Protocole protocole, List<VoteProtocole> validationDatas) { |
protected MoyenneVoteProtocoleVue(Protocole protocole, HashMap<String, VoteProtocole> validationDatas) { |
initWidget(uiBinder.createAndBindUi(this)); |
nomProtocole.setText(protocole.getNom()); |
34,8 → 37,8 |
int meanVote = 0; |
int nbVote = 0; |
for (VoteProtocole validationData : validationDatas) { |
meanVote += validationData.getVote(); |
for (Iterator<String> iterator = validationDatas.keySet().iterator(); iterator.hasNext();) { |
meanVote += validationDatas.get(iterator.next()).getVote(); |
nbVote++; |
} |
if (nbVote > 0) |
/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/DeterminationPresenteur.java |
---|
1,6 → 1,8 |
package org.tela_botanica.del.client.vues.plateformedetermination; |
import java.util.Iterator; |
import java.util.List; |
import java.util.Map; |
import org.tela_botanica.del.client.cache.CacheClient; |
import org.tela_botanica.del.client.composants.metadonnees.MetadonneesEnLigneVue; |
9,9 → 11,12 |
import org.tela_botanica.del.client.composants.observations.ObservationImagesPresenteur; |
import org.tela_botanica.del.client.composants.observations.ObservationImagesVue; |
import org.tela_botanica.del.client.composants.presenteur.Presenteur; |
import org.tela_botanica.del.client.modeles.Image; |
import org.tela_botanica.del.client.modeles.ModeRecherche; |
import org.tela_botanica.del.client.modeles.MoyenneVote; |
import org.tela_botanica.del.client.modeles.Protocole; |
import org.tela_botanica.del.client.modeles.VoteDetermination; |
import org.tela_botanica.del.client.modeles.VoteProtocole; |
import org.tela_botanica.del.client.navigation.evenement.BusEvenementiel; |
import org.tela_botanica.del.client.navigation.evenement.ajoutdetermination.EvenementAjoutDetermination; |
import org.tela_botanica.del.client.navigation.evenement.ajoutdetermination.GestionnaireEvenementAjoutDetermination; |
18,10 → 23,12 |
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.services.rest.ProtocoleService; |
import org.tela_botanica.del.client.composants.fenetreoverlay.FenetreOverlayDefilanteVue; |
import org.tela_botanica.del.client.composants.fenetreoverlay.FenetreOverlaySimplePresenteur; |
import org.tela_botanica.del.client.composants.formulaires.formulaireproposition.FormulairePropositionPresenteur; |
import org.tela_botanica.del.client.composants.formulaires.formulaireproposition.FormulairePropositionVue; |
import org.tela_botanica.del.client.utils.MockDatasource; |
import org.tela_botanica.del.client.vues.plateformedetermination.formulairerechercheeflore.FormulaireRechercheEflorePresenteur; |
import org.tela_botanica.del.client.vues.plateformedetermination.forum.ForumPresenteur; |
import org.tela_botanica.del.client.vues.plateformedetermination.forum.ForumVue; |
29,9 → 36,13 |
import org.tela_botanica.del.client.vues.plateformedetermination.vote.EnsembleVotesVue; |
import org.tela_botanica.del.client.vues.plateformedetermination.vote.barrerepartition.BarreRepartitionVotePresenteur; |
import org.tela_botanica.del.client.vues.plateformedetermination.vote.barrerepartition.BarreRepartitionVoteVue; |
import org.tela_botanica.del.client.vues.plateformedetermination.vote.protocole.moyenne.MoyenneVoteProtocolePresenteur; |
import org.tela_botanica.del.client.vues.rechercheimages.resultats.votes.MoyenneVotePresenteur; |
import org.tela_botanica.del.client.vues.rechercheimages.resultats.votes.MoyenneVoteVue; |
import com.google.gwt.event.dom.client.ClickEvent; |
import com.google.gwt.event.dom.client.ClickHandler; |
import com.google.gwt.user.client.Window; |
import com.google.gwt.user.client.ui.Button; |
import com.google.gwt.user.client.ui.HasWidgets; |
import com.google.gwt.user.client.ui.IsWidget; |
48,6 → 59,7 |
public Panel getBarreRepartition(); |
public Button getBoutonAjoutProposition(); |
public HasWidgets getMetadonnees(); |
public void ajouterLigneVoteProtocole(String nom, IsWidget vue); |
} |
private Vue vue; |
54,6 → 66,8 |
BarreRepartitionVotePresenteur barreRepartitionVotePresenteur; |
FenetreOverlaySimplePresenteur fenetreOverlaySimplePresenteur; |
private ProtocoleService protocoleService = MockDatasource.getInstance(); |
public DeterminationPresenteur(Vue vue) { |
this.vue = vue; |
64,7 → 78,8 |
if (CacheClient.getInstance().getImageCourante() != null) { |
new MetadonneesPresenteur(new MetadonneesEnLigneVue(), CacheClient.getInstance().getObservationCourante(), ModeRecherche.MODE_OBSERVATION).go(vue.getMetadonnees()); |
new ObservationImagesPresenteur(new ObservationImagesVue(), CacheClient.getInstance().getObservationCourante()).go(vue.getDetailImageObservation()); |
new EnsembleVotesPresenteur(new EnsembleVotesVue()).go(vue.getVoteProtocole()); |
ajouterLignesVotesProtocole(); |
} |
new ForumPresenteur(new ForumVue()).go(vue.getForum()); |
new FormulaireRechercheEflorePresenteur().go(vue.getFormulaireRechercheEflore()); |
77,6 → 92,17 |
gererEvenements(); |
} |
private void ajouterLignesVotesProtocole() { |
List<Protocole> tousLesProtocoles = protocoleService.getProtocoles(); |
Image imageCourante = CacheClient.getInstance().getImageCourante(); |
for (Iterator<Protocole> iterator = tousLesProtocoles.iterator(); iterator.hasNext();) { |
Protocole protocole = (Protocole) iterator.next(); |
MoyenneVotePresenteur presenteurCeProtocole = new MoyenneVotePresenteur(imageCourante, protocole, new MoyenneVoteVue()); |
presenteurCeProtocole.go(vue.getVoteProtocole()); |
vue.ajouterLigneVoteProtocole(protocole.getNom(), presenteurCeProtocole.getVue()); |
} |
} |
private void calculerEtAfficherVoteDeterminationPlusPopulaire() { |
/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/DeterminationVue.java |
---|
5,6 → 5,10 |
import com.google.gwt.uibinder.client.UiField; |
import com.google.gwt.user.client.ui.Button; |
import com.google.gwt.user.client.ui.Composite; |
import com.google.gwt.user.client.ui.HTMLPanel; |
import com.google.gwt.user.client.ui.HorizontalPanel; |
import com.google.gwt.user.client.ui.IsWidget; |
import com.google.gwt.user.client.ui.Label; |
import com.google.gwt.user.client.ui.Panel; |
import com.google.gwt.user.client.ui.VerticalPanel; |
import com.google.gwt.user.client.ui.Widget; |
56,4 → 60,13 |
public Panel getMetadonnees() { |
return metadonnees; |
} |
@Override |
public void ajouterLigneVoteProtocole(String nom, IsWidget vue) { |
HorizontalPanel panneauVote = new HorizontalPanel(); |
Label labelProtocole = new Label(nom); |
panneauVote.add(labelProtocole); |
panneauVote.add(vue); |
voteProtocole.add(panneauVote); |
} |
} |
/trunk/src/org/tela_botanica/del/test/vues/rechercheimages/resultats/votes/MoyenneVotePresenteurTest.java |
---|
New file |
0,0 → 1,75 |
package org.tela_botanica.del.test.vues.rechercheimages.resultats.votes; |
import static org.junit.Assert.assertEquals; |
import java.util.ArrayList; |
import java.util.List; |
import org.junit.Before; |
import org.junit.Test; |
import org.mockito.Mockito; |
import org.tela_botanica.del.client.modeles.Image; |
import org.tela_botanica.del.client.modeles.Protocole; |
import org.tela_botanica.del.client.modeles.VoteProtocole; |
import org.tela_botanica.del.client.vues.rechercheimages.resultats.votes.MoyenneVotePresenteur; |
import com.google.gwt.user.client.ui.HasWidgets; |
public class MoyenneVotePresenteurTest { |
MoyenneVotePresenteur mvp; |
HasWidgets container; |
List<Protocole> tousLesProtocoles = new ArrayList<Protocole>(); |
MoyenneVotePresenteur.Vue vue; |
Image imageCourante; |
@Before |
public void setUp() { |
Protocole protocol1 = new Protocole(); |
protocol1.setNom(Protocole.ESTHETISME); |
protocol1.setId(0); |
Protocole protocol2 = new Protocole(); |
protocol2.setNom(Protocole.IDENTIFICATION_AUTOMATIQUE); |
protocol2.setId(1); |
tousLesProtocoles.add(protocol1); |
tousLesProtocoles.add(protocol2); |
imageCourante = new Image(); |
Protocole protocole = tousLesProtocoles.get(0); |
vue = Mockito.mock(MoyenneVotePresenteur.Vue.class,Mockito.RETURNS_DEEP_STUBS); |
mvp = new MoyenneVotePresenteur(imageCourante, protocole, vue); |
container = Mockito.mock(HasWidgets.class, Mockito.RETURNS_DEEP_STUBS); |
mvp.go(container); |
} |
@Test |
public void testerVote() { |
assertEquals(1, imageCourante.getListeVotesProtocoles().size()); |
mvp.setValeurVoteUtilisateur(3); |
mvp.enregistrerVote(); |
mvp.setValeurVoteUtilisateur(3); |
mvp.enregistrerVote(); |
assertEquals(2, imageCourante.getVotesProtocoles(0).size()); |
assertEquals(3, mvp.getValeurVoteTotal()); |
} |
@Test |
public void testerTroisVotes() { |
assertEquals(1, imageCourante.getListeVotesProtocoles().size()); |
mvp.setValeurVoteUtilisateur(3); |
mvp.enregistrerVote(); |
mvp.setValeurVoteUtilisateur(1); |
mvp.enregistrerVote(); |
assertEquals(2, imageCourante.getVotesProtocoles(0).size()); |
assertEquals(2, mvp.getValeurVoteTotal()); |
mvp.setValeurVoteUtilisateur(5); |
mvp.enregistrerVote(); |
assertEquals(3, imageCourante.getVotesProtocoles(0).size()); |
assertEquals(3, mvp.getValeurVoteTotal()); |
} |
} |