Subversion Repositories eFlore/Applications.del

Rev

Rev 1102 | 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 stopChargement();
939 benjamin 21
 
901 aurelien 22
		void startChargement();
939 benjamin 23
 
909 aurelien 24
		public void afficherAucuneDonnees();
901 aurelien 25
	}
939 benjamin 26
 
901 aurelien 27
	private Vue vue;
939 benjamin 28
 
901 aurelien 29
	public DetailListeVotesDeterminationPresenteur(Vue vue) {
30
		this.vue = vue;
31
	}
939 benjamin 32
 
901 aurelien 33
	public void go(HasWidgets container) {
34
		container.add(vue.asWidget());
35
	}
939 benjamin 36
 
901 aurelien 37
	public void afficherVotes(final PropositionDetermination propositionDetermination) {
38
		vue.startChargement();
39
		VoteDeterminationServiceConcret voteService = new VoteDeterminationServiceConcret();
939 benjamin 40
		voteService.consulterVotesPourPropositionDetermination(propositionDetermination, new ListeVotesDeterminationCallback() {
41
 
901 aurelien 42
			@Override
939 benjamin 43
			public void surErreur(String messageErreur) {
44
				Window.alert(messageErreur);
45
				vue.stopChargement();
46
			}
47
 
48
			@Override
49
			public void surRetour(HashMap<String, VoteDetermination> votesComplets) {
50
				if (votesComplets != null && votesComplets.size() > 0) {
51
					for (VoteDetermination voteDetermination : votesComplets.values()) {
52
						voteDetermination.setPropositionDetermination(propositionDetermination);
53
					}
54
 
55
					propositionDetermination.setVotesDeterminations(votesComplets);
901 aurelien 56
					vue.afficherVotes(propositionDetermination);
57
					vue.stopChargement();
909 aurelien 58
				} else {
59
					vue.afficherAucuneDonnees();
60
					vue.stopChargement();
901 aurelien 61
				}
62
			}
63
		});
64
	}
65
 
66
	@Override
67
	protected void gererEvenements() {
939 benjamin 68
		// TODO Auto-generated method stub
69
	}
901 aurelien 70
}