Rev 956 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
package org.tela_botanica.del.client.composants.commentaires;import java.util.List;import org.tela_botanica.del.client.composants.presenteur.Presenteur;import org.tela_botanica.del.client.modeles.Commentaire;import org.tela_botanica.del.client.modeles.PropositionDetermination;import org.tela_botanica.del.client.services.rest.CommentaireService;import org.tela_botanica.del.client.services.rest.async.ListeCommentairesCallback;import com.google.gwt.user.client.Window;import com.google.gwt.user.client.ui.HasWidgets;import com.google.gwt.user.client.ui.IsWidget;/*** Cette classe permet d'afficher une popup avec la liste des commentaires* associées à une proposition de determination** @author LIENS**/public class DetailCommentairePresenteur extends Presenteur {/*** Interface de la vue correspondante** @author LIENS**/public interface Vue extends IsWidget {public void afficherCommentairesProposition(PropositionDetermination propositionDetermination);public void afficherAucuneDonnees();public void stopChargement();public void startChargement();}// La vue correspondanteprivate Vue vue;// La proposition de determinationprivate PropositionDetermination propositionDetermination;//le servcie de recuperation des commentairesprivate CommentaireService commentaireService;/*** Constructeur** @param vue* @param propositionDetermination*/public DetailCommentairePresenteur(Vue vue, CommentaireService commentaireService, PropositionDetermination propositionDetermination) {this.vue = vue;this.propositionDetermination = propositionDetermination;this.commentaireService = commentaireService;}/*** Declenchement du présenteur*/public void go(HasWidgets container) {container.add(vue.asWidget());}/*** Affichage des commentaires*/public void afficherCommentaires() {// affichage de l'icone de chargementvue.startChargement();// si l'id de la propostion est égal est nulle alors celle ci est une proposition// crée par l'interface à partir de l'obs et n'a donc pas de commentairesif(propositionDetermination.getId() != null) {// Appel du servicecommentaireService.chargerCommentaires(propositionDetermination, new ListeCommentairesCallback() {@Overridepublic void surRetour(List<Commentaire> commentaires) {propositionDetermination.setListeCommentaires(commentaires);// s'il existe des commentaires ils sont affichésif (propositionDetermination.getTotalCommentaires() > 0) {// affichage des commentaires associés à la proposition dans// la vuevue.afficherCommentairesProposition(propositionDetermination);// supression de l'icone de chargementvue.stopChargement();} else {// affichage d'un message precisant qu'il n'y a pas de// commentairesvue.afficherAucuneDonnees();// supression de l'icone de chargementvue.stopChargement();}}@Overridepublic void surErreur(String messageErreur) {Window.alert(messageErreur);vue.stopChargement();}});} else {// affichage d'un message precisant qu'il n'y a pas de// commentairesvue.afficherAucuneDonnees();// supression de l'icone de chargementvue.stopChargement();}}/*** Gestion des evenements du presenteur*/@Overrideprotected void gererEvenements() {// TODO Auto-generated method stub}}