Subversion Repositories eFlore/Applications.del

Rev

Rev 909 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
901 aurelien 1
package org.tela_botanica.del.client.composants.votes.details;
2
 
3
import java.util.HashMap;
4
 
5
import org.tela_botanica.del.client.composants.presenteur.Presenteur;
6
import org.tela_botanica.del.client.modeles.PropositionDetermination;
7
import org.tela_botanica.del.client.modeles.VoteDetermination;
8
import org.tela_botanica.del.client.services.rest.VoteDeterminationServiceConcret;
939 benjamin 9
import org.tela_botanica.del.client.services.rest.async.ListeVotesDeterminationCallback;
901 aurelien 10
 
11
import com.google.gwt.user.client.Window;
12
import com.google.gwt.user.client.ui.HasWidgets;
13
import com.google.gwt.user.client.ui.IsWidget;
14
 
15
public class DetailListeVotesDeterminationPresenteur extends Presenteur {
16
 
17
	public interface Vue extends IsWidget {
18
		public void afficherVotes(PropositionDetermination propositionDetermination);
939 benjamin 19
 
901 aurelien 20
		void ajouterVote(VoteDetermination vote);
939 benjamin 21
 
901 aurelien 22
		void stopChargement();
939 benjamin 23
 
901 aurelien 24
		void startChargement();
939 benjamin 25
 
909 aurelien 26
		public void afficherAucuneDonnees();
901 aurelien 27
	}
939 benjamin 28
 
901 aurelien 29
	private Vue vue;
939 benjamin 30
 
901 aurelien 31
	public DetailListeVotesDeterminationPresenteur(Vue vue) {
32
		this.vue = vue;
33
	}
939 benjamin 34
 
901 aurelien 35
	public void go(HasWidgets container) {
36
		container.add(vue.asWidget());
37
	}
939 benjamin 38
 
901 aurelien 39
	public void afficherVotes(final PropositionDetermination propositionDetermination) {
40
		vue.startChargement();
41
		VoteDeterminationServiceConcret voteService = new VoteDeterminationServiceConcret();
939 benjamin 42
		voteService.consulterVotesPourPropositionDetermination(propositionDetermination, new ListeVotesDeterminationCallback() {
43
 
901 aurelien 44
			@Override
939 benjamin 45
			public void surErreur(String messageErreur) {
46
				Window.alert(messageErreur);
47
				vue.stopChargement();
48
			}
49
 
50
			@Override
51
			public void surRetour(HashMap<String, VoteDetermination> votesComplets) {
52
				if (votesComplets != null && votesComplets.size() > 0) {
53
					for (VoteDetermination voteDetermination : votesComplets.values()) {
54
						voteDetermination.setPropositionDetermination(propositionDetermination);
55
					}
56
 
57
					propositionDetermination.setVotesDeterminations(votesComplets);
901 aurelien 58
					vue.afficherVotes(propositionDetermination);
59
					vue.stopChargement();
909 aurelien 60
				} else {
61
					vue.afficherAucuneDonnees();
62
					vue.stopChargement();
901 aurelien 63
				}
64
			}
65
		});
66
	}
67
 
68
	@Override
69
	protected void gererEvenements() {
939 benjamin 70
		// TODO Auto-generated method stub
71
	}
901 aurelien 72
}