46 |
aurelien |
1 |
package org.tela_botanica.del.client.vues.plateformedetermination.forum;
|
|
|
2 |
|
140 |
aurelien |
3 |
import java.util.Date;
|
46 |
aurelien |
4 |
import java.util.List;
|
|
|
5 |
|
70 |
aurelien |
6 |
import org.tela_botanica.del.client.i18n.I18n;
|
140 |
aurelien |
7 |
import org.tela_botanica.del.client.modeles.Commentaire;
|
|
|
8 |
import org.tela_botanica.del.client.modeles.PropositionDetermination;
|
46 |
aurelien |
9 |
|
|
|
10 |
import com.google.gwt.core.client.GWT;
|
140 |
aurelien |
11 |
import com.google.gwt.i18n.client.DateTimeFormat;
|
|
|
12 |
import com.google.gwt.i18n.client.DateTimeFormat.PredefinedFormat;
|
46 |
aurelien |
13 |
import com.google.gwt.uibinder.client.UiBinder;
|
|
|
14 |
import com.google.gwt.uibinder.client.UiField;
|
|
|
15 |
import com.google.gwt.user.client.ui.Composite;
|
159 |
benjamin |
16 |
import com.google.gwt.user.client.ui.FlexTable;
|
|
|
17 |
import com.google.gwt.user.client.ui.Tree;
|
|
|
18 |
import com.google.gwt.user.client.ui.TreeItem;
|
46 |
aurelien |
19 |
import com.google.gwt.user.client.ui.Widget;
|
|
|
20 |
|
|
|
21 |
public class ForumVue extends Composite {
|
155 |
benjamin |
22 |
|
46 |
aurelien |
23 |
private static ForumUIiBinder uiBinder = GWT.create(ForumUIiBinder.class);
|
155 |
benjamin |
24 |
|
|
|
25 |
interface ForumUIiBinder extends UiBinder<Widget, ForumVue> {
|
|
|
26 |
};
|
|
|
27 |
|
159 |
benjamin |
28 |
@UiField
|
|
|
29 |
FlexTable htmlTableau;
|
155 |
benjamin |
30 |
|
|
|
31 |
public ForumVue() {
|
46 |
aurelien |
32 |
initWidget(uiBinder.createAndBindUi(this));
|
|
|
33 |
}
|
155 |
benjamin |
34 |
|
159 |
benjamin |
35 |
public void chargerDeterminations(List<PropositionDetermination> determinations) {
|
155 |
benjamin |
36 |
|
159 |
benjamin |
37 |
htmlTableau.setHTML(1, 1, I18n.getVocabulary().nom());
|
|
|
38 |
htmlTableau.setHTML(1, 2, I18n.getVocabulary().contributeur());
|
|
|
39 |
htmlTableau.setHTML(1, 3, I18n.getVocabulary().fiabilite());
|
|
|
40 |
htmlTableau.setHTML(1, 4, I18n.getVocabulary().date());
|
|
|
41 |
htmlTableau.setHTML(1, 5, I18n.getVocabulary().commentaire());
|
155 |
benjamin |
42 |
|
159 |
benjamin |
43 |
for (PropositionDetermination determination : determinations) {
|
|
|
44 |
chargerDetermination(determination);
|
|
|
45 |
}
|
155 |
benjamin |
46 |
|
46 |
aurelien |
47 |
}
|
155 |
benjamin |
48 |
|
159 |
benjamin |
49 |
public void chargerDetermination(PropositionDetermination determination) {
|
155 |
benjamin |
50 |
|
159 |
benjamin |
51 |
Tree arbreCommentaires = new Tree();
|
|
|
52 |
TreeItem racineArbreCommentaires = new TreeItem();
|
|
|
53 |
arbreCommentaires.addItem(racineArbreCommentaires);
|
|
|
54 |
creerListeCommentaireRecursive(racineArbreCommentaires, determination.getCommentaires());
|
|
|
55 |
|
|
|
56 |
int ligne = htmlTableau.getRowCount() + 1;
|
|
|
57 |
htmlTableau.setHTML(ligne, 1, determination.getEspece());
|
|
|
58 |
htmlTableau.setHTML(ligne, 2, determination.getContributeur());
|
|
|
59 |
htmlTableau.setHTML(ligne, 3, determination.getPourcentageConfiance());
|
|
|
60 |
htmlTableau.setHTML(ligne, 4, DateTimeFormat.getFormat(PredefinedFormat.DATE_SHORT).format(determination.getDate()));
|
|
|
61 |
htmlTableau.setWidget(ligne, 5, arbreCommentaires);
|
|
|
62 |
|
|
|
63 |
}
|
|
|
64 |
|
|
|
65 |
private void creerListeCommentaireRecursive(TreeItem parentTreeItem, List<Commentaire> commentaires) {
|
|
|
66 |
|
140 |
aurelien |
67 |
for (Commentaire commentaire : commentaires) {
|
159 |
benjamin |
68 |
String commentaireHTML = commentaire.getCommentaire() +" "+ commentaire.getAuteur() + "-"+formaterDatePourForum(commentaire.getDate());
|
|
|
69 |
parentTreeItem.setHTML(commentaireHTML);
|
155 |
benjamin |
70 |
if (commentaire.getListeCommentaires().size() != 0) {
|
159 |
benjamin |
71 |
TreeItem childTreeItem = new TreeItem();
|
|
|
72 |
parentTreeItem.addItem(childTreeItem);
|
|
|
73 |
creerListeCommentaireRecursive(childTreeItem, commentaire.getListeCommentaires());
|
140 |
aurelien |
74 |
}
|
|
|
75 |
}
|
159 |
benjamin |
76 |
parentTreeItem.setState(true);
|
155 |
benjamin |
77 |
|
140 |
aurelien |
78 |
}
|
155 |
benjamin |
79 |
|
140 |
aurelien |
80 |
private String formaterDatePourForum(Date date) {
|
|
|
81 |
return DateTimeFormat.getFormat(PredefinedFormat.DATE_SHORT).format(date);
|
|
|
82 |
}
|
46 |
aurelien |
83 |
|
|
|
84 |
}
|