Subversion Repositories eFlore/Applications.del

Rev

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

Rev Author Line No. Line
922 benjamin 1
package org.tela_botanica.del.client.composants.commentaires;
2
 
926 benjamin 3
import java.util.List;
922 benjamin 4
 
5
import org.tela_botanica.del.client.composants.presenteur.Presenteur;
926 benjamin 6
import org.tela_botanica.del.client.modeles.Commentaire;
922 benjamin 7
import org.tela_botanica.del.client.modeles.PropositionDetermination;
926 benjamin 8
import org.tela_botanica.del.client.services.rest.CommentaireServiceConcret;
9
import org.tela_botanica.del.client.services.rest.async.CommentaireCallback;
922 benjamin 10
import org.tela_botanica.del.client.utils.UtilitairesServiceResultat;
11
 
926 benjamin 12
import com.google.gwt.json.client.JSONParser;
922 benjamin 13
import com.google.gwt.user.client.Window;
14
import com.google.gwt.user.client.ui.HasWidgets;
15
import com.google.gwt.user.client.ui.IsWidget;
16
 
17
public class DetailCommentairePresenteur extends Presenteur {
18
 
19
	public interface Vue extends IsWidget {
20
		public void afficherCommentairesProposition(PropositionDetermination propositionDetermination);
21
 
22
		void stopChargement();
23
 
24
		void startChargement();
926 benjamin 25
 
26
		public void afficherAucuneDonnees();
922 benjamin 27
	}
28
 
29
	private Vue vue;
30
 
31
	private PropositionDetermination propositionDetermination;
32
 
33
	public DetailCommentairePresenteur(Vue vue, PropositionDetermination propositionDetermination) {
34
		this.vue = vue;
35
		this.propositionDetermination = propositionDetermination;
36
	}
37
 
38
	public void go(HasWidgets container) {
39
		container.add(vue.asWidget());
40
	}
41
 
42
	public void afficherCommentaires() {
43
		vue.startChargement();
926 benjamin 44
		CommentaireServiceConcret commentaireService = new CommentaireServiceConcret();
45
		commentaireService.chargerCommentaires(propositionDetermination, new CommentaireCallback() {
46
 
922 benjamin 47
			@Override
48
			public void surRetour(String messageRetour) {
926 benjamin 49
				List<Commentaire> commentaires = UtilitairesServiceResultat.parserCommentaires(JSONParser.parseStrict(messageRetour).isObject().get("resultats").isObject(), propositionDetermination.getObservation());
50
				propositionDetermination.setListeCommentaires(commentaires);
51
				int nbCommentaires = propositionDetermination.getTotalCommentaires();
52
				if (nbCommentaires > 0) {
922 benjamin 53
					vue.afficherCommentairesProposition(propositionDetermination);
54
					vue.stopChargement();
55
				} else {
926 benjamin 56
					vue.afficherAucuneDonnees();
922 benjamin 57
					vue.stopChargement();
58
				}
59
 
60
			}
61
 
62
			@Override
63
			public void surErreur(String messageErreur) {
64
				Window.alert(messageErreur);
65
				vue.stopChargement();
66
			}
67
		});
68
	}
69
 
70
	@Override
71
	protected void gererEvenements() {
72
		// TODO Auto-generated method stub
73
	}
74
}