/src/org/tela_botanica/del/client/modeles/Observation.java |
---|
4,10 → 4,8 |
import java.util.ArrayList; |
import java.util.List; |
import org.tela_botanica.del.client.utils.GwtObservable; |
public class Observation implements Serializable { |
public class Observation extends GwtObservable implements Serializable { |
private static final long serialVersionUID = 840032625524143547L; |
private String auteur; |
28,7 → 26,7 |
private List<PropositionDetermination> imageCelValidationDatas = new ArrayList<PropositionDetermination>(); |
private List<Image> images=new ArrayList<Image>(); |
private List<Image> images = new ArrayList<Image>(); |
public String getAuteur() { |
return auteur; |
104,8 → 102,6 |
public void addImageCelValidationData(PropositionDetermination observationValidation) { |
imageCelValidationDatas.add(observationValidation); |
setChanged(); |
notifyObservers(); |
} |
public ArrayList<String> getPropositionsTaxonsData() { |
/src/org/tela_botanica/del/client/navigation/evenement/ajoutdetermination/EvenementAjoutDetermination.java |
---|
New file |
0,0 → 1,35 |
package org.tela_botanica.del.client.navigation.evenement.ajoutdetermination; |
import org.tela_botanica.del.client.modeles.PropositionDetermination; |
import com.google.gwt.event.shared.GwtEvent; |
public class EvenementAjoutDetermination extends GwtEvent<GestionnaireEvenementAjoutDetermination> { |
public static com.google.gwt.event.shared.GwtEvent.Type<GestionnaireEvenementAjoutDetermination> TYPE = new com.google.gwt.event.shared.GwtEvent.Type<GestionnaireEvenementAjoutDetermination>(); |
private PropositionDetermination propositionDetermination; |
public EvenementAjoutDetermination(PropositionDetermination propositionDetermination) { |
this.propositionDetermination = propositionDetermination; |
} |
@Override |
protected void dispatch(GestionnaireEvenementAjoutDetermination handler) { |
handler.onAjoutDetermination(this); |
} |
@Override |
public com.google.gwt.event.shared.GwtEvent.Type<GestionnaireEvenementAjoutDetermination> getAssociatedType() { |
return TYPE; |
} |
public PropositionDetermination getPropositionDetermination() { |
return propositionDetermination; |
} |
public void setPropositionDetermination(PropositionDetermination propositionDetermination) { |
this.propositionDetermination = propositionDetermination; |
} |
} |
/src/org/tela_botanica/del/client/navigation/evenement/ajoutdetermination/GestionnaireEvenementAjoutDetermination.java |
---|
New file |
0,0 → 1,8 |
package org.tela_botanica.del.client.navigation.evenement.ajoutdetermination; |
import com.google.gwt.event.shared.EventHandler; |
public interface GestionnaireEvenementAjoutDetermination extends EventHandler { |
public void onAjoutDetermination(EvenementAjoutDetermination event); |
} |
/src/org/tela_botanica/del/client/utils/GwtObservable.java |
---|
File deleted |
/src/org/tela_botanica/del/client/utils/GwtObserver.java |
---|
File deleted |
/src/org/tela_botanica/del/client/utils/MockDatasource.java |
---|
19,7 → 19,7 |
import com.google.gwt.i18n.client.DateTimeFormat; |
import com.google.gwt.i18n.client.DateTimeFormat.PredefinedFormat; |
public class MockDatasource extends GwtObservable { |
public class MockDatasource { |
static MockDatasource instance; |
30,7 → 30,7 |
ArrayList<String> propositionsTaxonDatas = new ArrayList<String>(); |
List<Protocole> protocoles = new ArrayList<Protocole>(); |
List<Image> images = new ArrayList<Image>(); |
List<String> pourcentagesConfiance = new ArrayList<String>(); |
106,7 → 106,9 |
PropositionDetermination observationValidationData3 = new PropositionDetermination(); |
observationValidationData3.setEspece("Acer monsp. L."); |
observationValidationData3.setContributeur("Léo Ferré"); |
Commentaire commentaire=new Commentaire("Greg", new Date(), "Avec le temps..."); |
Commentaire commentaire = new Commentaire("Greg", new Date(), "Avec le temps..."); |
Commentaire commentaireBis = new Commentaire("Benj", new Date(), "Pas d'accord avec Greg!"); |
commentaire.getListeCommentaires().add(commentaireBis); |
observationValidationData3.getCommentaires().add(commentaire); |
observationValidationData3.setId("1"); |
observationValidationData3.setIdImage("id image 1"); |
118,7 → 120,7 |
PropositionDetermination observationValidationData4 = new PropositionDetermination(); |
observationValidationData4.setEspece("Acer aceras aus."); |
observationValidationData4.setContributeur("Pierre Desproges"); |
Commentaire commentaire2=new Commentaire("Greg", new Date(), "Public chéri mon amour..."); |
Commentaire commentaire2 = new Commentaire("Greg", new Date(), "Public chéri mon amour..."); |
observationValidationData4.getCommentaires().add(commentaire2); |
observationValidationData4.setId("2"); |
observationValidationData4.setIdImage("id image 1"); |
130,7 → 132,7 |
PropositionDetermination observationValidationData5 = new PropositionDetermination(); |
observationValidationData5.setEspece("Acer monsp subsp. monsp."); |
observationValidationData5.setContributeur("Louis Aragon"); |
Commentaire commentaire3=new Commentaire("Greg", new Date(), "Tout est affaire de décor..."); |
Commentaire commentaire3 = new Commentaire("Greg", new Date(), "Tout est affaire de décor..."); |
observationValidationData5.getCommentaires().add(commentaire3); |
observationValidationData5.setId("2"); |
observationValidationData5.setIdImage("id image 1"); |
164,11 → 166,20 |
VoteProtocole voteProtocole = new VoteProtocole(); |
voteProtocole.setProtocol(protocol1); |
voteProtocole.setVote(3); |
voteProtocole.setContributeur("aurelien"); |
voteProtocole.setDate(new Date()); |
image.getVoteProtocoles().add(voteProtocole); |
VoteProtocole voteProtocole2 = new VoteProtocole(); |
voteProtocole2.setProtocol(protocol2); |
voteProtocole2.setVote(2); |
voteProtocole2.setContributeur("jpm"); |
voteProtocole2.setDate(new Date()); |
image.getVoteProtocoles().add(voteProtocole2); |
observations.add(observation); |
} |
180,7 → 191,7 |
public List<Observation> getObservations() { |
return observations; |
} |
public List<Image> getImages() { |
return images; |
} |
229,9 → 240,9 |
} |
return null; |
} |
public void saveVote(VoteProtocole voteProtocole){ |
//TODO implement method |
public void saveVote(VoteProtocole voteProtocole) { |
// TODO implement method |
} |
public List<String> getPourcentagesConfiance() { |
/src/org/tela_botanica/del/client/vues/plateformedetermination/formulaireproposition/FormulairePropositionPresenteur.java |
---|
6,6 → 6,8 |
import org.tela_botanica.del.client.composants.validation.TextNotNullFormValidator; |
import org.tela_botanica.del.client.modeles.Commentaire; |
import org.tela_botanica.del.client.modeles.PropositionDetermination; |
import org.tela_botanica.del.client.navigation.evenement.BusEvenementiel; |
import org.tela_botanica.del.client.navigation.evenement.ajoutdetermination.EvenementAjoutDetermination; |
import org.tela_botanica.del.client.utils.MockDatasource; |
import com.google.gwt.event.dom.client.ClickEvent; |
35,6 → 37,9 |
} else { |
PropositionDetermination propositionAjoutee = collecterValeursSaisieProposition(); |
CacheClient.getInstance().getCurrentObservation().addImageCelValidationData(propositionAjoutee); |
EvenementAjoutDetermination evenementAjoutDetermination=new EvenementAjoutDetermination(propositionAjoutee); |
BusEvenementiel.getInstance().fireEvent(evenementAjoutDetermination); |
} |
} |
}); |
/src/org/tela_botanica/del/client/vues/plateformedetermination/forum/ForumVue.ui.xml |
---|
8,6 → 8,6 |
<g:VerticalPanel> |
<g:Label text="{constants.lesPropositions}" styleName="titre"/> |
<g:Label text="{constants.infoPropositions}" styleName="petit"/> |
<g:HTML ui:field='htmlTableau' styleName="{style.table}" /> |
<g:FlexTable ui:field='htmlTableau' styleName="{style.table}" /> |
</g:VerticalPanel> |
</ui:UiBinder> |
/src/org/tela_botanica/del/client/vues/plateformedetermination/forum/ForumPresenteur.java |
---|
2,22 → 2,15 |
import java.util.List; |
import org.tela_botanica.del.client.cache.CacheClient; |
import org.tela_botanica.del.client.modeles.PropositionDetermination; |
import org.tela_botanica.del.client.utils.GwtObservable; |
import org.tela_botanica.del.client.utils.GwtObserver; |
import org.tela_botanica.del.client.cache.CacheClient; |
import org.tela_botanica.del.client.utils.MockDatasource; |
import org.tela_botanica.del.client.navigation.evenement.BusEvenementiel; |
import org.tela_botanica.del.client.navigation.evenement.ajoutdetermination.EvenementAjoutDetermination; |
import org.tela_botanica.del.client.navigation.evenement.ajoutdetermination.GestionnaireEvenementAjoutDetermination; |
import com.google.gwt.core.client.GWT; |
import com.google.gwt.uibinder.client.UiBinder; |
import com.google.gwt.uibinder.client.UiField; |
import com.google.gwt.user.client.Window; |
import com.google.gwt.user.client.ui.Composite; |
import com.google.gwt.user.client.ui.HTML; |
import com.google.gwt.user.client.ui.HasWidgets; |
import com.google.gwt.user.client.ui.Widget; |
public class ForumPresenteur implements GwtObserver { |
public class ForumPresenteur { |
private ForumVue forumVue = new ForumVue(); |
25,19 → 18,24 |
public void go(HasWidgets composite) { |
CacheClient.getInstance().getCurrentObservation().addObserver(this); |
chargerCommentaires(); |
chargerDeterminations(); |
composite.add(forumVue); |
gererEvenements(); |
} |
private void chargerCommentaires() { |
private void chargerDeterminations() { |
determinations = CacheClient.getInstance().getCurrentObservation().getImageCelValidationDatas(); |
forumVue.chargerObservations(determinations); |
forumVue.chargerDeterminations(determinations); |
} |
@Override |
public void update(GwtObservable observable, Object data) { |
chargerCommentaires(); |
private void gererEvenements() { |
BusEvenementiel.getInstance().addHandler(EvenementAjoutDetermination.TYPE, new GestionnaireEvenementAjoutDetermination() { |
@Override |
public void onAjoutDetermination(EvenementAjoutDetermination event) { |
forumVue.chargerDetermination(event.getPropositionDetermination()); |
} |
}); |
} |
} |
/src/org/tela_botanica/del/client/vues/plateformedetermination/forum/ForumVue.java |
---|
13,7 → 13,9 |
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.HTML; |
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 { |
23,40 → 25,56 |
interface ForumUIiBinder extends UiBinder<Widget, ForumVue> { |
}; |
@UiField(provided = true) |
HTML htmlTableau = new HTML(); |
@UiField |
FlexTable htmlTableau; |
public ForumVue() { |
initWidget(uiBinder.createAndBindUi(this)); |
} |
public void chargerObservations(List<PropositionDetermination> determinations) { |
public void chargerDeterminations(List<PropositionDetermination> determinations) { |
String ligne = "<table>" + "<tr>" + "<th> " + I18n.getVocabulary().nom() + " </th>" + "<th> " + I18n.getVocabulary().contributeur() + " </th>" + "<th> " + I18n.getVocabulary().fiabilite() + " </th>" + "<th> " + I18n.getVocabulary().date() + " </th>" + "<th> " + I18n.getVocabulary().commentaire() + " </th>" + "</tr>"; |
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 observationDetermination : determinations) { |
for (PropositionDetermination determination : determinations) { |
chargerDetermination(determination); |
} |
ligne += "<tr>" + "<td>" + observationDetermination.getEspece() + "</td>" + "<td>" + observationDetermination.getContributeur() + "</td>" + "<td>" + observationDetermination.getPourcentageConfiance() + "</td>" + "<td>" + formaterDatePourForum(observationDetermination.getDate()) + "</td>" + "<td>" + creerListeCommentaireRecursive(observationDetermination.getCommentaires()) + "</td>" + "</tr>"; |
} |
ligne += "</table>"; |
htmlTableau.setHTML(ligne); |
} |
private String creerListeCommentaireRecursive(List<Commentaire> commentaires) { |
public void chargerDetermination(PropositionDetermination determination) { |
String commentairesHtml = "<ul class=\"liste_commentaire\">"; |
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) { |
commentairesHtml += "<li class=\"commentaire\">"; |
commentairesHtml += "<div class=\"commentaire_texte\">" + commentaire.getCommentaire() + "</div>"; |
commentairesHtml += "<span class=\"commentaire_auteur\">" + commentaire.getAuteur() + "</span>"; |
commentairesHtml += "<span class=\"commentaire_date\">" + formaterDatePourForum(commentaire.getDate()) + "</span>"; |
String commentaireHTML = commentaire.getCommentaire() +" "+ commentaire.getAuteur() + "-"+formaterDatePourForum(commentaire.getDate()); |
parentTreeItem.setHTML(commentaireHTML); |
if (commentaire.getListeCommentaires().size() != 0) { |
commentairesHtml += creerListeCommentaireRecursive(commentaire.getListeCommentaires()); |
TreeItem childTreeItem = new TreeItem(); |
parentTreeItem.addItem(childTreeItem); |
creerListeCommentaireRecursive(childTreeItem, commentaire.getListeCommentaires()); |
} |
commentairesHtml += "</li>"; |
} |
parentTreeItem.setState(true); |
return commentairesHtml; |
} |
private String formaterDatePourForum(Date date) { |