1,9 → 1,9 |
package org.tela_botanica.del.client.vues.plateformedetermination.forum; |
|
import java.util.ArrayList; |
import java.util.List; |
|
import org.tela_botanica.del.client.cache.CacheClient; |
import org.tela_botanica.del.client.modeles.Commentaire; |
import org.tela_botanica.del.client.modeles.InterventionForum; |
import org.tela_botanica.del.client.navigation.evenement.BusEvenementiel; |
import org.tela_botanica.del.client.navigation.evenement.ajoutcommentaire.EvenementAjoutCommentaire; |
27,7 → 27,7 |
public interface Vue extends IsWidget { |
|
public abstract HasWidgets getPanneauInterventions(); |
|
|
public abstract void vider(); |
} |
|
46,46 → 46,33 |
} |
|
private void chargerDeterminations() { |
|
|
vue.vider(); |
List<InterventionForum> interventions = new ArrayList<InterventionForum>(CacheClient.getInstance().getObservationCourante().getInterventionsForum()); |
|
int i = 0; |
while (interventions.size() > 0 && i < 10) { |
i++; |
InterventionForum interventionCourante = interventions.get(0); |
ForumInterventionPresenteur presenteur = new ForumInterventionPresenteur(new ForumInterventionVue(), interventionCourante, new CommentaireServiceConcret(), new PropositionDeterminationServiceConcret()); |
List<InterventionForum> fils = trouverFils(interventions, interventionCourante); |
if (fils.size() > 0) { |
for (InterventionForum interventionFille : fils) { |
ForumInterventionPresenteur presenteurFille = new ForumInterventionPresenteur(new ForumInterventionVue(), interventionFille, new CommentaireServiceConcret(), new PropositionDeterminationServiceConcret()); |
presenteur.addEnfant(presenteurFille); |
interventions.remove(interventions.indexOf(interventionFille)); |
} |
} |
|
presenteur.go(vue.getPanneauInterventions()); |
interventions.remove(interventions.indexOf(interventionCourante)); |
List<InterventionForum> interventions = CacheClient.getInstance().getObservationCourante().getInterventionsForum(); |
|
for (InterventionForum interventionCourante : interventions) { |
ForumInterventionPresenteur presenteur = new ForumInterventionPresenteur(new ForumInterventionVue(), interventionCourante, new CommentaireServiceConcret(), new PropositionDeterminationServiceConcret()); |
ajouterCommentairesRecursivement(interventionCourante, presenteur); |
} |
} |
|
private List<InterventionForum> trouverFils(List<InterventionForum> interventions, InterventionForum parent) { |
List<InterventionForum> fils = new ArrayList<InterventionForum>(); |
for (InterventionForum interventionCourante : interventions) { |
InterventionForum parentCourant = interventionCourante.getParent(); |
if (parentCourant != null && interventionCourante.getIdParent().equals(parent.getId())) { |
fils.add(interventionCourante); |
} |
private void ajouterCommentairesRecursivement(InterventionForum interventionCourante, ForumInterventionPresenteur presenteur) { |
List<Commentaire> fils = interventionCourante.getListeCommentaires(); |
for (InterventionForum interventionFils : fils) { |
ForumInterventionPresenteur presenteurFils = new ForumInterventionPresenteur(new ForumInterventionVue(), interventionFils, new CommentaireServiceConcret(), new PropositionDeterminationServiceConcret()); |
ajouterCommentairesRecursivement(interventionFils, presenteurFils); |
presenteur.ajouterEnfant(presenteurFils); |
} |
return fils; |
|
presenteur.go(vue.getPanneauInterventions()); |
} |
|
|
private void gererEvenements() { |
BusEvenementiel.getInstance().addHandler(EvenementAjoutDetermination.TYPE, new GestionnaireEvenementAjoutDetermination() { |
|
@Override |
public void onAjoutDetermination(EvenementAjoutDetermination event) { |
new ForumInterventionPresenteur(new ForumInterventionVue(), event.getPropositionDetermination(), new CommentaireServiceConcret(), new PropositionDeterminationServiceConcret()).go(vue.getPanneauInterventions()); |
chargerDeterminations(); |
} |
}); |
|
93,24 → 80,22 |
|
@Override |
public void onAjoutCommentaire(EvenementAjoutCommentaire event) { |
new ForumInterventionPresenteur(new ForumInterventionVue(), event.getCommentaire(), new CommentaireServiceConcret(), new PropositionDeterminationServiceConcret()).go(vue.getPanneauInterventions()); |
chargerDeterminations(); |
} |
}); |
|
BusEvenementiel.getInstance().addHandler(EvenementSuppressionDetermination.TYPE, new GestionnaireEvenementSuppressionDetermination() { |
|
|
BusEvenementiel.getInstance().addHandler(EvenementSuppressionDetermination.TYPE, new GestionnaireEvenementSuppressionDetermination() { |
|
@Override |
public void onSuppressionDetermination( |
EvenementSuppressionDetermination event) { |
public void onSuppressionDetermination(EvenementSuppressionDetermination event) { |
chargerDeterminations(); |
} |
}); |
|
|
BusEvenementiel.getInstance().addHandler(EvenementSuppressionCommentaire.TYPE, new GestionnaireEvenementSuppressionCommentaire() { |
|
@Override |
public void onSuppressionCommentaire( |
EvenementSuppressionCommentaire event) { |
public void onSuppressionCommentaire(EvenementSuppressionCommentaire event) { |
chargerDeterminations(); |
} |
}); |