Rev 155 | Blame | Last modification | View Log | RSS feed
package org.tela_botanica.del.client.vues.plateformedetermination.forum;import java.util.Date;import java.util.List;import org.tela_botanica.del.client.i18n.I18n;import org.tela_botanica.del.client.modeles.Commentaire;import org.tela_botanica.del.client.modeles.PropositionDetermination;import com.google.gwt.core.client.GWT;import com.google.gwt.i18n.client.DateTimeFormat;import com.google.gwt.i18n.client.DateTimeFormat.PredefinedFormat;import com.google.gwt.uibinder.client.UiBinder;import com.google.gwt.uibinder.client.UiField;import com.google.gwt.user.client.ui.Composite;import com.google.gwt.user.client.ui.FlexTable;import com.google.gwt.user.client.ui.Tree;import com.google.gwt.user.client.ui.TreeItem;import com.google.gwt.user.client.ui.Widget;public class ForumVue extends Composite {private static ForumUIiBinder uiBinder = GWT.create(ForumUIiBinder.class);interface ForumUIiBinder extends UiBinder<Widget, ForumVue> {};@UiFieldFlexTable htmlTableau;public ForumVue() {initWidget(uiBinder.createAndBindUi(this));}public void chargerDeterminations(List<PropositionDetermination> determinations) {htmlTableau.setHTML(1, 1, I18n.getVocabulary().nom());htmlTableau.setHTML(1, 2, I18n.getVocabulary().contributeur());htmlTableau.setHTML(1, 3, I18n.getVocabulary().fiabilite());htmlTableau.setHTML(1, 4, I18n.getVocabulary().date());htmlTableau.setHTML(1, 5, I18n.getVocabulary().commentaire());for (PropositionDetermination determination : determinations) {chargerDetermination(determination);}}public void chargerDetermination(PropositionDetermination determination) {Tree arbreCommentaires = new Tree();TreeItem racineArbreCommentaires = new TreeItem();arbreCommentaires.addItem(racineArbreCommentaires);creerListeCommentaireRecursive(racineArbreCommentaires, determination.getCommentaires());int ligne = htmlTableau.getRowCount() + 1;htmlTableau.setHTML(ligne, 1, determination.getEspece());htmlTableau.setHTML(ligne, 2, determination.getContributeur());htmlTableau.setHTML(ligne, 3, determination.getPourcentageConfiance());htmlTableau.setHTML(ligne, 4, DateTimeFormat.getFormat(PredefinedFormat.DATE_SHORT).format(determination.getDate()));htmlTableau.setWidget(ligne, 5, arbreCommentaires);}private void creerListeCommentaireRecursive(TreeItem parentTreeItem, List<Commentaire> commentaires) {for (Commentaire commentaire : commentaires) {String commentaireHTML = commentaire.getCommentaire() +" "+ commentaire.getAuteur() + "-"+formaterDatePourForum(commentaire.getDate());parentTreeItem.setHTML(commentaireHTML);if (commentaire.getListeCommentaires().size() != 0) {TreeItem childTreeItem = new TreeItem();parentTreeItem.addItem(childTreeItem);creerListeCommentaireRecursive(childTreeItem, commentaire.getListeCommentaires());}}parentTreeItem.setState(true);}private String formaterDatePourForum(Date date) {return DateTimeFormat.getFormat(PredefinedFormat.DATE_SHORT).format(date);}}