Rev 1233 | Rev 1327 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
package org.tela_botanica.client;import java.util.Iterator;import java.util.List;import org.tela_botanica.client.composants.AideFenetre;import org.tela_botanica.client.composants.IdentificationFenetre;import org.tela_botanica.client.composants.InfoLogger;import org.tela_botanica.client.composants.LicenceFenetre;import org.tela_botanica.client.composants.AproposFenetre;import org.tela_botanica.client.configuration.APropos;import org.tela_botanica.client.configuration.Configuration;import org.tela_botanica.client.i18n.Constantes;import org.tela_botanica.client.i18n.ErrorMessages;import org.tela_botanica.client.interfaces.Rafraichissable;import org.tela_botanica.client.modeles.Information;import org.tela_botanica.client.modeles.MenuApplicationId;import org.tela_botanica.client.modeles.Utilisateur;import org.tela_botanica.client.modeles.Valeur;import org.tela_botanica.client.modeles.ValeurListe;import org.tela_botanica.client.modeles.collection.Collection;import org.tela_botanica.client.modeles.collection.CollectionACommentaire;import org.tela_botanica.client.modeles.collection.CollectionACommentaireAsyncDao;import org.tela_botanica.client.modeles.collection.CollectionACommentaireListe;import org.tela_botanica.client.modeles.collection.CollectionAPersonne;import org.tela_botanica.client.modeles.collection.CollectionAPersonneListe;import org.tela_botanica.client.modeles.collection.CollectionAPublication;import org.tela_botanica.client.modeles.collection.CollectionAPublicationListe;import org.tela_botanica.client.modeles.collection.CollectionListe;import org.tela_botanica.client.modeles.commentaire.Commentaire;import org.tela_botanica.client.modeles.commentaire.CommentaireListe;import org.tela_botanica.client.modeles.personne.Personne;import org.tela_botanica.client.modeles.personne.PersonneListe;import org.tela_botanica.client.modeles.projet.Projet;import org.tela_botanica.client.modeles.projet.ProjetListe;import org.tela_botanica.client.modeles.publication.Publication;import org.tela_botanica.client.modeles.publication.PublicationAPersonne;import org.tela_botanica.client.modeles.publication.PublicationAPersonneListe;import org.tela_botanica.client.modeles.publication.PublicationListe;import org.tela_botanica.client.modeles.structure.Structure;import org.tela_botanica.client.modeles.structure.StructureAPersonne;import org.tela_botanica.client.modeles.structure.StructureAPersonneListe;import org.tela_botanica.client.modeles.structure.StructureConservation;import org.tela_botanica.client.modeles.structure.StructureListe;import org.tela_botanica.client.modeles.structure.StructureValorisation;import org.tela_botanica.client.util.Debug;import org.tela_botanica.client.vues.ContenuVue;import org.tela_botanica.client.vues.EnteteVue;import org.tela_botanica.client.vues.Formulaire;import org.tela_botanica.client.vues.FenetreJournal;import org.tela_botanica.client.vues.NavigationVue;import org.tela_botanica.client.vues.PopupChargement;import org.tela_botanica.client.vues.StatutVue;import org.tela_botanica.client.vues.MenuVue;import org.tela_botanica.client.vues.accueil.AccueilVue;import org.tela_botanica.client.vues.collection.CollectionForm;import org.tela_botanica.client.vues.collection.CollectionListeVue;import org.tela_botanica.client.vues.collection.CollectionVue;import org.tela_botanica.client.vues.commentaire.CommentaireForm;import org.tela_botanica.client.vues.commentaire.CommentaireVue;import org.tela_botanica.client.vues.personne.PersonneForm;import org.tela_botanica.client.vues.personne.PersonneVue;import org.tela_botanica.client.vues.projet.ProjetForm;import org.tela_botanica.client.vues.projet.ProjetVue;import org.tela_botanica.client.vues.publication.PublicationForm;import org.tela_botanica.client.vues.publication.PublicationVue;import org.tela_botanica.client.vues.structure.StructureForm;import org.tela_botanica.client.vues.structure.StructureVue;import com.extjs.gxt.ui.client.GXT;import com.extjs.gxt.ui.client.Registry;import com.extjs.gxt.ui.client.Style.LayoutRegion;import com.extjs.gxt.ui.client.data.DataProxy;import com.extjs.gxt.ui.client.event.Listener;import com.extjs.gxt.ui.client.event.MessageBoxEvent;import com.extjs.gxt.ui.client.util.Margins;import com.extjs.gxt.ui.client.widget.Component;import com.extjs.gxt.ui.client.widget.Dialog;import com.extjs.gxt.ui.client.widget.Info;import com.extjs.gxt.ui.client.widget.MessageBox;import com.extjs.gxt.ui.client.widget.Viewport;import com.extjs.gxt.ui.client.widget.button.Button;import com.extjs.gxt.ui.client.widget.layout.BorderLayout;import com.extjs.gxt.ui.client.widget.layout.BorderLayoutData;import com.gargoylesoftware.htmlunit.AlertHandler;import com.google.gwt.core.client.GWT;import com.google.gwt.i18n.client.Dictionary;import com.google.gwt.user.client.Window;import com.google.gwt.user.client.ui.RootPanel;public class Mediateur implements Rafraichissable {private Viewport viewport;private Modele modele = null;public static final Constantes i18nC = getI18nConstante();public static final ErrorMessages i18nM = getI18nMessage();private EnteteVue panneauNord = null;private NavigationVue panneauOuest = null;private ContenuVue panneauCentre = null;private StatutVue panneauSud = null;private FenetreJournal fenetreJournal = null;private IdentificationFenetre fenetreIdentification = null;private int nbElements = Integer.valueOf(((Dictionary) Dictionary.getDictionary("configuration")).get("nbElementsPage"));public Mediateur() {// Enregistrement du Médiateur dans le RegistreRegistry.register(RegistreId.MEDIATEUR, this);//Initialisation du RegistreinitialiserRegistre();// Création du Modèle qui s'enregistre lui même dans le Registremodele = new Modele();// Création du Viewport qui contient la disposition globale de l'applicationviewport = new Viewport();viewport.setLayout(new BorderLayout());// Création des différents panneauxcreerPanneauNord();creerPanneauOuest();creerPanneauCentral();creerPanneauSud();fenetreJournal = new FenetreJournal(this);// Connection de l'utilisateurconnecterUtilisateur(null, null);// Retour à GWT du Viewport une fois constuitRootPanel.get().add(viewport);}//+----------------------------------------------------------------------------------------------------------------+// GESTION de l'I18N et du REGISTRE//+----------------------------------------------------------------------------------------------------------------+protected static Constantes getI18nConstante() {return GWT.create(Constantes.class);}protected static ErrorMessages getI18nMessage() {return GWT.create(ErrorMessages.class);}protected void initialiserRegistre() {APropos apropos = new APropos();Registry.register(RegistreId.APPLI_NOM, apropos.getAppliNom());Registry.register(RegistreId.APPLI_CODE, apropos.getAppliCode());Registry.register(RegistreId.APPLI_VERSION, apropos.getAppliVersionCode());Registry.register(RegistreId.APPLI_VERSION_NOM, apropos.getAppliVersionNom());Registry.register(RegistreId.APPLI_DEVELOPPEURS, apropos.getDeveloppeurs());Registry.register(RegistreId.APPLI_TRADUCTEURS, apropos.getTraducteurs());Registry.register(RegistreId.APPLI_LICENCE, apropos.getLicence());Registry.register(RegistreId.APPLI_REVISION, apropos.getRevisionGlobale());Registry.register(RegistreId.APPLI_COMPILATION_JAVA_VERSION, apropos.getVersionJavaCompilation());Registry.register(RegistreId.APPLI_COMPILATION_DATE_HEURE, apropos.getDateHeureCompilation());Registry.register(RegistreId.CONFIG, new Configuration());Registry.register(RegistreId.POPUP_CHARGEMENT, new PopupChargement(this));Registry.register(RegistreId.UTILISATEUR_COURANT, new Utilisateur());Registry.register(RegistreId.PROJET_COURANT, new Projet());}//+----------------------------------------------------------------------------------------------------------------+// GESTION des PANNEAUX PRINCIPAUX//+----------------------------------------------------------------------------------------------------------------+private void creerPanneauNord() {panneauNord = new EnteteVue(this);BorderLayoutData regionNord = new BorderLayoutData(LayoutRegion.NORTH, 100);regionNord.setCollapsible(true);regionNord.setFloatable(true);regionNord.setSplit(false);regionNord.setMargins(new Margins(5, 5, 0, 5));viewport.add(panneauNord, regionNord);}private void creerPanneauOuest() {panneauOuest = new NavigationVue(this);BorderLayoutData regionOuest = new BorderLayoutData(LayoutRegion.WEST, 200);regionOuest.setSplit(true);regionOuest.setCollapsible(true);regionOuest.setMargins(new Margins(5));viewport.add(panneauOuest, regionOuest);}private void creerPanneauCentral() {panneauCentre = new ContenuVue(this);BorderLayoutData regionCentre = new BorderLayoutData(LayoutRegion.CENTER);regionCentre.setMargins(new Margins(5, 5, 5, 0));viewport.add(panneauCentre, regionCentre);}private void creerPanneauSud() {panneauSud = new StatutVue();BorderLayoutData regionSud = new BorderLayoutData(LayoutRegion.SOUTH, 20);regionSud.setCollapsible(true);regionSud.setFloatable(true);regionSud.setSplit(false);regionSud.setMargins(new Margins(0));viewport.add(panneauSud, regionSud);}public void actualiserPanneauCentral() {panneauCentre.layout();}public Rafraichissable obtenirFenetreJournal() {return this.fenetreJournal;}public void ouvrirFenetreJournal() {fenetreJournal.show();}public StatutVue obtenirPanneauSud() {return this.panneauSud;}//+----------------------------------------------------------------------------------------------------------------+// GESTION du MENU//+----------------------------------------------------------------------------------------------------------------+public void clicMenu(String codeMenuClique) {activerChargement(codeMenuClique);panneauOuest.getMenu().selectionMenu(codeMenuClique);if (codeMenuClique.equals(MenuApplicationId.ACCUEIL)) {afficherAccueil();} else if (codeMenuClique.equals(MenuApplicationId.PROJET)) {selectionnerProjet(panneauCentre, null);} else if (codeMenuClique.equals(MenuApplicationId.STRUCTURE)) {selectionnerStructure(panneauCentre, null);} else if (codeMenuClique.equals(MenuApplicationId.COLLECTION)) {selectionnerCollection(panneauCentre, null, null);} else if (codeMenuClique.equals(MenuApplicationId.PERSONNE)) {selectionnerPersonne(panneauCentre, null, getProjetId());} else if (codeMenuClique.equals(MenuApplicationId.PUBLICATION)) {selectionnerPublication(panneauCentre, null);} else if (codeMenuClique.equals(MenuApplicationId.COMMENTAIRE)) {selectionnerCommentaire(panneauCentre, null);} else {GWT.log(i18nM.nonImplemente(codeMenuClique), null);}panneauCentre.layout();}public void activerChargement(String message) {afficherPopinChargement();panneauCentre.disable();panneauSud.showBusy(i18nC.chargement()+" "+message);}public void desactiverChargement() {masquerPopinChargement();panneauCentre.enable();panneauSud.clear();}//+----------------------------------------------------------------------------------------------------------------+// GESTION DES FENÊTRES//+----------------------------------------------------------------------------------------------------------------+public void ouvrirAide() {AideFenetre aideFenetre = new AideFenetre();aideFenetre.show();// FIXME : apparament le fade In/Fade Out pose problème sur les navigateurs...//aideFenetre.el().fadeIn(FxConfig.NONE);}public void ouvrirParametres() {AproposFenetre parametresFenetre = new AproposFenetre();parametresFenetre.show();}public void ouvrirIdentification() {fenetreIdentification = new IdentificationFenetre(this);fenetreIdentification.show();}public void ouvrirUrlExterne(String id) {if (id.equals(ComposantId.MENU_CEL)) {Window.open(((Configuration) Registry.get(RegistreId.CONFIG)).getUrl("cel"), "Carnet en ligne", "");} else if (id.equals(ComposantId.MENU_BEL)) {Window.open(((Configuration) Registry.get(RegistreId.CONFIG)).getUrl("cel"), "Biblio en ligne", "");} else if (id.equals(ComposantId.MENU_BOGUE)) {Window.open(((Configuration) Registry.get(RegistreId.CONFIG)).getUrl("bogue"), "Bogue", "");} else if (id.equals(ComposantId.MENU_COMMENTAIRE)) {Window.open(((Configuration) Registry.get(RegistreId.CONFIG)).getUrl("commentaire"), "Commentaire", "");}}public void afficherFenetreLicence(IdentificationFenetre vue) {LicenceFenetre lf = new LicenceFenetre(vue);}public void accepterLicence(Rafraichissable vue) {modele.accepterLicence(vue);}//+----------------------------------------------------------------------------------------------------------------+// GESTION de l'UTILISATEUR et de l'IDENTIFICATION//+----------------------------------------------------------------------------------------------------------------+/*** Retourne l'identifiant de l'utilisateur courrant de l'application.*/public String getUtilisateurId() {String id = null;Utilisateur utilisateurCourant = (Utilisateur) Registry.get(RegistreId.UTILISATEUR_COURANT);if (!utilisateurCourant.getId().equals("")) {id = utilisateurCourant.getId();}return id;}public Utilisateur getUtilisateur() {Utilisateur utilisateurCourant = (Utilisateur) Registry.get(RegistreId.UTILISATEUR_COURANT);return utilisateurCourant;}public void connecterUtilisateur(String login, String mdp) {modele.connecterUtilisateur(this, login, mdp);}public void deconnecterUtilisateur() {modele.deconnecterUtilisateur(this);}public void repandreEtatIdentification(Utilisateur utilisateur) {// Mise à jour du registreRegistry.register(RegistreId.UTILISATEUR_COURANT, utilisateur);// Propagation de l'information de mise à jour de l'utilisateurrepandreInfoMiseAJourUtilisateur();}public void repandreInfoMiseAJourUtilisateur() {// Création de l'information de mise à jour de l'utilisateurInformation info = new Information("maj_utilisateur");// Rafraichissement de la fenêtre d'Identificationif (fenetreIdentification != null && fenetreIdentification.isVisible()) {fenetreIdentification.rafraichir(info);}// Rafraichissement du panneau NordpanneauNord.rafraichir(info);// Rafraichissement du panneau Centreif (panneauCentre != null) {panneauCentre.rafraichir(info);}}public void modifierUtilisateur() {Utilisateur utilisateurCourant = (Utilisateur) Registry.get(RegistreId.UTILISATEUR_COURANT);panneauNord.rafraichir(utilisateurCourant);modele.modifierUtilisateur(this, utilisateurCourant);}//+----------------------------------------------------------------------------------------------------------------+// GESTION DES VALEURS ET LISTES//+----------------------------------------------------------------------------------------------------------------+public void obtenirListeValeurEtRafraichir(Rafraichissable vueARafraichir, int listeId) {modele.obtenirListeValeurs(vueARafraichir, "identifiant", listeId);}public void obtenirListeValeurEtRafraichir(Rafraichissable vueARafraichir, String listeId) {modele.obtenirListeValeurs(vueARafraichir, ((Configuration) Registry.get(RegistreId.CONFIG)).getListeId(listeId));}public void obtenirListeValeurEtRafraichir(Rafraichissable vueARafraichir, String nomListe, boolean pagination, String recherche, int start, int nbElements) {modele.obtenirListeValeurs(vueARafraichir, ((Configuration) Registry.get(RegistreId.CONFIG)).getListeId(nomListe), pagination, recherche, start, nbElements);}public void obtenirValeurEtRafraichir(Rafraichissable vue, String listeId, String identifiantValeur) {modele.obtenirValeur(vue, "abv", ((Configuration) Registry.get(RegistreId.CONFIG)).getListeId(listeId), identifiantValeur);}public void obtenirListeRegionsEtRafraichir(Rafraichissable vue, String strListeId, String strPays) {modele.obtenirListeRegion(vue, ((Configuration) Registry.get(RegistreId.CONFIG)).getListeId(strListeId), strPays+".__");}//+----------------------------------------------------------------------------------------------------------------+// GESTION des APPLETS de l'ACCUEIL//+----------------------------------------------------------------------------------------------------------------+public void afficherAccueil() {if (!(panneauCentre.getContenu() instanceof AccueilVue)) {panneauCentre.removeAll();panneauCentre.add(new AccueilVue(this));}else {desactiverChargement();}}//+----------------------------------------------------------------------------------------------------------------+// GESTION des PROJETS//+----------------------------------------------------------------------------------------------------------------+public void afficherFormProjet(String projetId) {panneauCentre.removeAll();ProjetForm projetForm = new ProjetForm(this, projetId);panneauCentre.add(projetForm);panneauCentre.layout();}public void afficherListeProjets(ProjetListe projetsACharger) {if (!(panneauCentre.getContenu() instanceof ProjetVue)) {panneauCentre.removeAll();panneauCentre.add(new ProjetVue(this));panneauCentre.setId(ComposantId.PANNEAU_PROJET_LISTE);panneauCentre.layout();}panneauCentre.getContenu().rafraichir(projetsACharger);mettreFiltreAJour(projetsACharger);}public void mettreFiltreAJour(ProjetListe projetsACharger) {panneauOuest.getFiltre().rafraichir(projetsACharger);}public void mettreFiltreAJour(List<Projet> projetsACharger) {panneauOuest.getFiltre().rafraichir(projetsACharger);}public void clicListeProjet(Projet projet) {panneauCentre.getContenu().rafraichir(projet);}public void clicSupprimerProjet(final List<Projet> projetListe) {if (projetListe.size() <= 0) {MessageBox.alert("Attention", "Vous devez sélectionner un projet", null);} else {String message = "Voulez-vous vraiment supprimer ces projets ?";if (projetListe.size() == 1) {message = "Voulez-vous vraiment supprimer ce projet ?";}final Listener<MessageBoxEvent> listenerSuppression = new Listener<MessageBoxEvent>() {public void handleEvent(MessageBoxEvent ce) {Dialog dialog = (Dialog) ce.getComponent();Button btn = ce.getButtonClicked();if (btn.getText().equals(dialog.yesText)) {modele.supprimerProjet(panneauCentre.getContenu(), projetListe);}}};MessageBox.confirm("Supprimer un projet", message, listenerSuppression);}}public void clicModifierProjet(List<Projet> projetsSelectionnes) {if (projetsSelectionnes.size() == 0) {InfoLogger.display("Information", "Veuillez sélectionner un projet.");} else if (projetsSelectionnes.size() > 1) {InfoLogger.display("Information", "Veuillez sélectionner un seul projet à la fois.");} else if (projetsSelectionnes.size() == 1) {afficherFormProjet(projetsSelectionnes.get(0).getId());} else {InfoLogger.display("Erreur", "Une erreur est survenue dans la méthode clicModifierProjet() du Médiateur.");}}public void clicAjouterProjet() {afficherFormProjet(null);}public void selectionnerProjet(Rafraichissable vueARafraichir, String projetId) {selectionnerProjet(vueARafraichir, projetId, null, 0, nbElements);}public void selectionnerProjet(Rafraichissable vueARafraichir, String projetId, String nom, int start, int nbElements) {modele.selectionnerProjet(vueARafraichir, projetId, nom, start, this.nbElements);}public void ajouterProjet(Rafraichissable vueARafraichir, Projet projetCollecte) {modele.ajouterProjet(vueARafraichir, projetCollecte);}public void modifierProjet(Rafraichissable vueARafraichir, Projet projetCollecte) {modele.modifierProjet(vueARafraichir, projetCollecte);}//+----------------------------------------------------------------------------------------------------------------+// SELECTION : projet/*** Retourne l'identifiant du projet courrant de l'application.*/public String getProjetId() {String id = null;Projet projetCourant = (Projet) Registry.get(RegistreId.PROJET_COURANT);if (projetCourant != null && !projetCourant.getId().equals("")) {id = projetCourant.getId();}return id;}public void selectionnerProjetCourant(Projet projetSelectionne) {Registry.register(RegistreId.PROJET_COURANT, projetSelectionne);if (panneauCentre.getContenu() instanceof AccueilVue) {desactiverChargement();} else if (panneauCentre.getContenu() instanceof ProjetVue) {selectionnerProjet(panneauCentre.getContenu(), null);} else if (panneauCentre.getContenu() instanceof StructureVue) {selectionnerStructure(panneauCentre.getContenu(), null);} else if (panneauCentre.getContenu() instanceof CollectionVue) {selectionnerCollection(panneauCentre.getContenu(), null, null);} else if (panneauCentre.getContenu() instanceof PersonneVue) {selectionnerPersonne(panneauCentre.getContenu(), null, getProjetId());} else if (panneauCentre.getContenu() instanceof PublicationVue) {selectionnerPublication(panneauCentre.getContenu(), null);} else if (panneauCentre.getContenu() instanceof CommentaireVue) {selectionnerCommentaire(panneauCentre.getContenu(), null);}}//+----------------------------------------------------------------------------------------------------------------+// GESTION DES STRUCTURES//+----------------------------------------------------------------------------------------------------------------+public void afficherListeStructures(StructureListe structuresACharger) {if (!(panneauCentre.getContenu() instanceof StructureVue)) {panneauCentre.removeAll();panneauCentre.add(new StructureVue(this));}panneauCentre.getContenu().rafraichir(structuresACharger);}public void afficherFormStructure(String structureId) {String mode = Formulaire.MODE_AJOUTER;if (structureId != null) {mode = Formulaire.MODE_MODIFIER;}panneauCentre.removeAll();StructureForm structureForm = new StructureForm(this, mode);panneauCentre.add(structureForm);if (mode.equals(Formulaire.MODE_MODIFIER)) {selectionnerStructure(structureForm, structureId);selectionnerStructureAPersonne(structureForm, structureId, StructureAPersonne.ROLE_EQUIPE);}panneauCentre.layout();}public void clicListeStructure(Structure structure) {panneauCentre.getContenu().rafraichir(structure);if (structure != null && structure.getPersonnel() == null) {selectionnerStructureAPersonne(panneauCentre.getContenu(), structure.getId(), StructureAPersonne.ROLE_EQUIPE);}}public void clicAjouterStructure() {afficherFormStructure(null);}public void clicModifierStructure(List<Structure> structureSelection) {if (structureSelection.size() == 0) {InfoLogger.display("Information", "Veuillez sélectionner une structure.");} else if (structureSelection.size() > 1) {InfoLogger.display("Information", "Veuillez sélectionner une seule structure à la fois.");} else if (structureSelection.size() == 1) {afficherFormStructure(structureSelection.get(0).getId());} else {InfoLogger.display("Erreur", "Une erreur est survenue dans la méthode clicModifierStructure() du Médiateur.");}}public void clicSupprimerStructure(final Rafraichissable vue, final List<Structure> structureSelection) {if (structureSelection.size() == 0) {InfoLogger.display("Information", "Veuillez sélectionner une structure.");} else if(structureSelection.size() > 0) {String titre = "Supprimer des structures";String message = "Êtes vous sur de vouloir supprimer les structures sélectionnées ?";if (structureSelection.size() == 1) {titre = "Supprimer une structure";message = "Êtes vous sur de vouloir supprimer la structure sélectionnée ?";}final Listener<MessageBoxEvent> suppressionEcouteur = new Listener<MessageBoxEvent>() {public void handleEvent(MessageBoxEvent ce) {Dialog dialog = (Dialog) ce.getComponent();Button btn = ce.getButtonClicked();if (btn.getText().equals(dialog.yesText)) {String idStr = "" ;for(int i = 0 ; i < structureSelection.size() ; i++) {idStr += structureSelection.get(i).getId()+",";}supprimerStructure(vue, idStr);}}};MessageBox.confirm(titre, message, suppressionEcouteur);} else {InfoLogger.display("Erreur", "Une erreur est survenue dans la méthode clicSupprimerStructure() du Médiateur.");}}public void selectionnerStructure(Rafraichissable vueARafraichir, String structureId) {modele.selectionnerStructure(vueARafraichir, getProjetId(), structureId, null, 0, nbElements);}public void selectionnerStructure(Rafraichissable vueARafraichir, String structureId, String projetId, String nom, int start, int nbElements) {modele.selectionnerStructure(vueARafraichir, getProjetId(), structureId, nom, start, nbElements);}public void selectionnerStructureParProjet(Rafraichissable vueARafraichir, String projetId) {modele.selectionnerStructure(vueARafraichir, projetId, null, null, 0, -1);}public void ajouterStructure(Rafraichissable vueARafraichir, Structure structure, StructureConservation conservation, StructureValorisation valorisation) {modele.ajouterStructure(vueARafraichir, structure, conservation, valorisation);}public void modifierStructure(Rafraichissable vueARafraichir, String structureId, Structure structure, StructureConservation conservation, StructureValorisation valorisation) {modele.modifierStructure(vueARafraichir, structureId, structure, conservation, valorisation);}public void supprimerStructure(Rafraichissable vueARafraichir, String IdentifiantsStructureSepareParVirgule) {modele.supprimerStructure(vueARafraichir, IdentifiantsStructureSepareParVirgule);}//+----------------------------------------------------------------------------------------------------------------+// GESTION de la relation STRUCTURE A PERSONNEpublic void selectionnerStructureAPersonne(Rafraichissable vueARafraichir, String structureId, String roleId) {modele.selectionnerStructureAPersonne(vueARafraichir, structureId, roleId);}public void ajouterStructureAPersonne(Rafraichissable vueARafraichir, String structureId, StructureAPersonneListe personnelAjoute) {if (personnelAjoute != null && personnelAjoute.size() > 0) {for (Iterator<String> it = personnelAjoute.keySet().iterator(); it.hasNext();) {modele.ajouterStructureAPersonne(vueARafraichir, structureId, (StructureAPersonne) personnelAjoute.get(it.next()));}}}public void modifierStructureAPersonne(Rafraichissable vueARafraichir, StructureAPersonneListe personnelModifie) {if (personnelModifie != null && personnelModifie.size() > 0) {for (Iterator<String> it = personnelModifie.keySet().iterator(); it.hasNext();) {modele.modifierStructureAPersonne(vueARafraichir, (StructureAPersonne) personnelModifie.get(it.next()));}}}public void supprimerStructureAPersonne(Rafraichissable vueARafraichir, StructureAPersonneListe personnelSupprime) {if (personnelSupprime != null && personnelSupprime.size() > 0) {String idStructureAPersonneSepareParVirgule = "" ;Iterator<String> it = personnelSupprime.keySet().iterator();while (it.hasNext()) {idStructureAPersonneSepareParVirgule += personnelSupprime.get(it.next()).getId();idStructureAPersonneSepareParVirgule += (it.hasNext()) ? "," : "";}supprimerStructureAPersonne(vueARafraichir, idStructureAPersonneSepareParVirgule);}}public void supprimerStructureAPersonne(Rafraichissable vueARafraichir, String idStructureAPersonneSeparesParVirgule) {modele.supprimerStructureAPersonne(vueARafraichir, idStructureAPersonneSeparesParVirgule);}public void supprimerStructureAPersonne(final Rafraichissable vueARafraichir, final List<Structure> structuresListe) {if (structuresListe.size() != 0) {String idStructureSepareParVirgule = "" ;Iterator<Structure> it = structuresListe.iterator();while (it.hasNext()) {Structure structure = it.next();idStructureSepareParVirgule += structure.getId();idStructureSepareParVirgule += it.hasNext() ? "," : "";}supprimerStructureAPersonne(vueARafraichir, idStructureSepareParVirgule);}}//+----------------------------------------------------------------------------------------------------------------+// GESTION des COLLECTIONS//+----------------------------------------------------------------------------------------------------------------+public void afficherListeCollections(CollectionListe collectionsACharger) {if (!(panneauCentre.getContenu() instanceof CollectionVue)) {panneauCentre.removeAll();panneauCentre.add(new CollectionVue(this));}panneauCentre.getContenu().rafraichir(collectionsACharger);}public void afficherFormCollection(String collectionId) {panneauCentre.removeAll();CollectionForm collectionForm = new CollectionForm(this, collectionId);panneauCentre.add(collectionForm);panneauCentre.layout();}public void clicListeCollection(Collection collectionCliquee) {panneauCentre.getContenu().rafraichir(collectionCliquee);if (collectionCliquee != null) {selectionnerCollectionAPersonne(panneauCentre.getContenu(), collectionCliquee.getId(), null);selectionnerCollectionAPublication(panneauCentre.getContenu(), collectionCliquee.getId());selectionnerCollectionACommentaire(panneauCentre.getContenu(), collectionCliquee.getId());}}public void clicAjouterCollection() {afficherFormCollection(null);}public void clicModifierCollection(List<Collection> selection) {if (selection.size() == 0) {InfoLogger.display("Information", "Veuillez sélectionner une collection.");} else if (selection.size() > 1) {InfoLogger.display("Information", "Veuillez sélectionner une seule collection à la fois.");} else if (selection.size() == 1) {afficherFormCollection(selection.get(0).getId());} else {InfoLogger.display("Erreur", "Une erreur est survenue dans la méthode clicModifierCollection() du Médiateur.");}}public void clicSupprimerCollection(CollectionListeVue collectionListeVue, final List<Collection> collectionsASupprimer) {if (collectionsASupprimer.size() <= 0) {MessageBox.alert("Attention", "Vous devez sélectionner au moins une collection", null);} else {String message = "Voulez-vous vraiment supprimer ces collections ?";if (collectionsASupprimer.size() == 1) {message = "Voulez-vous vraiment supprimer cette collection ?";}final Listener<MessageBoxEvent> listenerSuppression = new Listener<MessageBoxEvent>() {public void handleEvent(MessageBoxEvent ce) {Dialog dialog = (Dialog) ce.getComponent();Button btn = ce.getButtonClicked();if (btn.getText().equals(dialog.yesText)) {supprimerCollection(panneauCentre.getContenu(), collectionsASupprimer);}}};MessageBox.confirm("Supprimer une collection", message, listenerSuppression);}}public void selectionnerCollection(Rafraichissable vueARafraichir, String collectionId, String nom) {selectionnerCollection(vueARafraichir, collectionId, nom, 0, nbElements);}public void selectionnerCollection(Rafraichissable vueARafraichir, String collectionId, String nom, int start, int nbElements) {modele.selectionnerCollection(vueARafraichir, getProjetId(), collectionId, nom, start, nbElements);}public void selectionnerCollectionParProjet(Rafraichissable vueARafraichir, String projetId) {modele.selectionnerCollection(vueARafraichir, projetId, null, null, 0, -1);}public void ajouterCollection(Rafraichissable vueARafraichir, Collection collection) {modele.ajouterCollection(vueARafraichir, collection);}public void modifierCollection(Rafraichissable vueARafraichir, Collection collection) {modele.modifierCollection(vueARafraichir, collection);}public void supprimerCollection(Rafraichissable vueARafraichir, List<Collection> collectionsListe) {if (collectionsListe != null && collectionsListe.size() > 0) {String idCollectionSeparesParVirgule = "" ;Iterator<Collection> it = collectionsListe.iterator();while (it.hasNext()) {idCollectionSeparesParVirgule += it.next().getId();if (it.hasNext()) {idCollectionSeparesParVirgule += ",";}}modele.supprimerCollection(vueARafraichir, idCollectionSeparesParVirgule);modele.supprimerCollectionAPersonne(vueARafraichir, idCollectionSeparesParVirgule);modele.supprimerCollectionAPublication(vueARafraichir, idCollectionSeparesParVirgule);//modele.supprimerCollectionACommentaire(vueARafraichir, idCollectionSeparesParVirgule);}}//+----------------------------------------------------------------------------------------------------------------+// GESTION de la relation COLLECTION A PERSONNEpublic void selectionnerCollectionAPersonne(Rafraichissable vueARafraichir, String collectionId, String roleId) {modele.selectionnerCollectionAPersonne(vueARafraichir, collectionId, roleId);}public void ajouterCollectionAPersonne(Rafraichissable vueARafraichir, String collectionId, CollectionAPersonneListe personnesAjoutees) {if (personnesAjoutees != null && personnesAjoutees.size() > 0) {for (Iterator<String> it = personnesAjoutees.keySet().iterator(); it.hasNext();) {modele.ajouterCollectionAPersonne(vueARafraichir, collectionId, (CollectionAPersonne) personnesAjoutees.get(it.next()));}}}public void modifierCollectionAPersonne(Rafraichissable vueARafraichir, CollectionAPersonneListe personnesModifiees) {if (personnesModifiees != null && personnesModifiees.size() > 0) {for (Iterator<String> it = personnesModifiees.keySet().iterator(); it.hasNext();) {modele.modifierCollectionAPersonne(vueARafraichir, (CollectionAPersonne) personnesModifiees.get(it.next()));}}}public void supprimerCollectionAPersonne(Rafraichissable vueARafraichir, CollectionAPersonneListe personnesSupprimees) {if (personnesSupprimees != null && personnesSupprimees.size() > 0) {String idCollectionAPersonneSeparesParVirgule = "" ;for (Iterator<String> it = personnesSupprimees.keySet().iterator(); it.hasNext();) {idCollectionAPersonneSeparesParVirgule += personnesSupprimees.get(it.next()).getId();if (it.hasNext()) {idCollectionAPersonneSeparesParVirgule += ",";}}modele.supprimerCollectionAPersonne(vueARafraichir, idCollectionAPersonneSeparesParVirgule);}}//+----------------------------------------------------------------------------------------------------------------+// GESTION de la relation COLLECTION A PUBLICATIONpublic void selectionnerCollectionAPublication(Rafraichissable vueARafraichir, String collectionId) {modele.selectionnerCollectionAPublication(vueARafraichir, collectionId);}public void ajouterCollectionAPublication(Rafraichissable vueARafraichir, String collectionId, CollectionAPublicationListe publicationsAjoutees) {if (publicationsAjoutees != null && publicationsAjoutees.size() > 0) {for (Iterator<String> it = publicationsAjoutees.keySet().iterator(); it.hasNext();) {modele.ajouterCollectionAPublication(vueARafraichir, collectionId, (CollectionAPublication) publicationsAjoutees.get(it.next()));}}}public void modifierCollectionAPublication(Rafraichissable vueARafraichir, CollectionAPublicationListe publicationsModifiees) {if (publicationsModifiees != null && publicationsModifiees.size() > 0) {for (Iterator<String> it = publicationsModifiees.keySet().iterator(); it.hasNext();) {modele.modifierCollectionAPublication(vueARafraichir, (CollectionAPublication) publicationsModifiees.get(it.next()));}}}public void supprimerCollectionAPublication(Rafraichissable vueARafraichir, CollectionAPublicationListe publicationsSupprimees) {if (publicationsSupprimees != null && publicationsSupprimees.size() > 0) {String idCollectionAPublicationSeparesParVirgule = "" ;for (Iterator<String> it = publicationsSupprimees.keySet().iterator(); it.hasNext();) {idCollectionAPublicationSeparesParVirgule += publicationsSupprimees.get(it.next()).getId();if (it.hasNext()) {idCollectionAPublicationSeparesParVirgule += ",";}}modele.supprimerCollectionAPublication(vueARafraichir, idCollectionAPublicationSeparesParVirgule);}}//+----------------------------------------------------------------------------------------------------------------+// GESTION de la relation COLLECTION A COMMENTAIREpublic void selectionnerCollectionACommentaire(Rafraichissable vueARafraichir, String collectionId) {modele.selectionnerCollectionACommentaire(vueARafraichir, collectionId);}public void ajouterCollectionACommentaire(Rafraichissable vueARafraichir, String collectionId, CollectionACommentaireListe commentairesAjoutees) {if (commentairesAjoutees != null && commentairesAjoutees.size() > 0) {for (Iterator<String> it = commentairesAjoutees.keySet().iterator(); it.hasNext();) {modele.ajouterCollectionACommentaire(vueARafraichir, collectionId, (CollectionACommentaire) commentairesAjoutees.get(it.next()));}}}public void modifierCollectionACommentaire(Rafraichissable vueARafraichir, CollectionACommentaireListe commentairesModifiees) {if (commentairesModifiees != null && commentairesModifiees.size() > 0) {for (Iterator<String> it = commentairesModifiees.keySet().iterator(); it.hasNext();) {modele.modifierCollectionACommentaire(vueARafraichir, (CollectionACommentaire) commentairesModifiees.get(it.next()));}}}public void supprimerCollectionACommentaire(Rafraichissable vueARafraichir, CollectionACommentaireListe commentairesSupprimees) {if (commentairesSupprimees != null && commentairesSupprimees.size() > 0) {String idCollectionACommentaireSeparesParVirgule = "" ;for (Iterator<String> it = commentairesSupprimees.keySet().iterator(); it.hasNext();) {idCollectionACommentaireSeparesParVirgule += commentairesSupprimees.get(it.next()).getId();if (it.hasNext()) {idCollectionACommentaireSeparesParVirgule += ",";}}modele.supprimerCollectionACommentaire(vueARafraichir, idCollectionACommentaireSeparesParVirgule, CollectionACommentaireAsyncDao.SUPPRESSION_PAR_COLLECTION);}}//+----------------------------------------------------------------------------------------------------------------+// GESTION DES PERSONNES//+----------------------------------------------------------------------------------------------------------------+public void afficherListePersonnes(PersonneListe personnesACharger) {if (!(panneauCentre.getContenu() instanceof PersonneVue)) {panneauCentre.removeAll();panneauCentre.add(new PersonneVue(this));panneauCentre.setId(ComposantId.PANNEAU_PERSONNE_LISTES);}panneauCentre.getContenu().rafraichir(personnesACharger);}public void afficherFormPersonne(String personneId) {panneauCentre.removeAll();PersonneForm personneForm = new PersonneForm(this, personneId);panneauCentre.add(personneForm);panneauCentre.layout();}public void clicListePersonne(Personne personne) {panneauCentre.getContenu().rafraichir(personne);}public void clicAjouterPersonne() {afficherFormPersonne(null);}public void clicModifierPersonne(List<Personne> selection) {if (selection.size() == 0) {InfoLogger.display("Information", "Veuillez sélectionner une personne.");} else if (selection.size() > 1) {InfoLogger.display("Information", "Veuillez sélectionner une seule personne à la fois.");} else if (selection.size() == 1) {afficherFormPersonne(selection.get(0).getId());} else {InfoLogger.display("Erreur", "Une erreur est survenue dans la méthode clicModifierPersonne() du Médiateur.");}}public void clicSupprimerPersonne(final Rafraichissable vue, final List<Personne> personneSelection) {//Empecher suppression utilisateurfor (int i=0; i < personneSelection.size(); i++) {Personne courante = personneSelection.get(i);if (courante.getId().equals(getUtilisateurId())) {InfoLogger.display("Information", "Vous ne pouvez pas supprimer votre compte");personneSelection.remove(courante);}}if (personneSelection.size() == 0) {InfoLogger.display("Information", "Veuillez sélectionner une personne.");} else if(personneSelection.size() > 0) {String message = "Êtes vous sur de vouloir supprimer les personnes sélectionnées ?";if (personneSelection.size() == 1) {message = "Êtes vous sur de vouloir supprimer la personne sélectionnée ?";}final Listener<MessageBoxEvent> listenerSuppression = new Listener<MessageBoxEvent>() {public void handleEvent(MessageBoxEvent ce) {Dialog dialog = (Dialog) ce.getComponent();Button btn = ce.getButtonClicked();if (btn.getText().equals(dialog.yesText)) {String idPersonneSepareParVirgule = "" ;Iterator<Personne> itPersonne = personneSelection.iterator();while (itPersonne.hasNext()) {Personne personneCourante = itPersonne.next();idPersonneSepareParVirgule += personneCourante.getId();idPersonneSepareParVirgule +=",";}modele.supprimerPersonne(vue, idPersonneSepareParVirgule);}}};MessageBox.confirm("Supprimer une personne", message, listenerSuppression);} else {InfoLogger.display("Erreur", "Une erreur est survenue dans la méthode clicSupprimerPersonne() du Médiateur.");}}public void selectionnerPersonne(Rafraichissable vueARafraichir, Personne personne, String projetId) {selectionnerPersonne(vueARafraichir, personne, projetId, 0, nbElements);}public void selectionnerPersonne(Rafraichissable vueARafraichir, Personne personne, String projetId, int start, int nbElements) {String personneId = null;String personneNom = null;if (personne != null) {personneId = personne.getId();personneNom = personne.getNom();}modele.selectionnerPersonne(vueARafraichir, personneId, projetId, personneNom, start, nbElements);}public void selectionnerPersonneParNomComplet(Rafraichissable vueARafraichir, String projetId, String nomComplet) {modele.selectionnerPersonne(vueARafraichir, null, projetId, nomComplet, 0, -1);}public void selectionnerPersonneParProjet(Rafraichissable vueARafraichir, String projetId) {modele.selectionnerPersonne(vueARafraichir, null, projetId, null, 0, -1);}public void enregistrerPersonne(Rafraichissable vue, Personne personne){if (personne.getId() != null && !personne.getId().trim().equals("")) {modele.modifierPersonne(vue, personne);} else {modele.ajouterPersonne(vue, personne);}}//+----------------------------------------------------------------------------------------------------------------+// GESTION DES PUBLICATIONS//+----------------------------------------------------------------------------------------------------------------+public void afficherListePublication(PublicationListe nouvelleDonnees) {if (!(panneauCentre.getContenu() instanceof PublicationVue)) {panneauCentre.removeAll();panneauCentre.add(new PublicationVue(this));}panneauCentre.getContenu().rafraichir(nouvelleDonnees);}public void afficherFormPublication(String publicationId) {panneauCentre.removeAll();PublicationForm publicationForm = new PublicationForm(this, publicationId);panneauCentre.add(publicationForm);panneauCentre.layout();}public void clicListePublication(Publication publication) {if (publication != null) {panneauCentre.getContenu().rafraichir(publication);}}public void clicAjouterPublication() {afficherFormPublication(null);}public void clicModifierPublication(List<Publication> selection) {if (selection.size() == 0) {InfoLogger.display("Information", "Veuillez sélectionner une publication.");} else if (selection.size() > 1) {InfoLogger.display("Information", "Veuillez sélectionner une seule publication à la fois.");} else if (selection.size() == 1) {afficherFormPublication(selection.get(0).getId());} else {InfoLogger.display("Erreur", "Une erreur est survenue dans la méthode clicModifierPublication() du Médiateur.");}}public void clicSupprimerPublication(final List<Publication> publicationListe) {if (publicationListe.size() <= 0) {MessageBox.alert("Attention", "Vous devez sélectionner une publication", null);} else {String message = "Voulez-vous vraiment supprimer ces publications ?";if (publicationListe.size() == 1) {message = "Voulez-vous vraiment supprimer cette publication ?";}final Listener<MessageBoxEvent> listenerSuppression = new Listener<MessageBoxEvent>() {public void handleEvent(MessageBoxEvent ce) {Dialog dialog = (Dialog) ce.getComponent();Button btn = ce.getButtonClicked();if (btn.getText().equals(dialog.yesText)) {supprimerPublication(panneauCentre.getContenu(), publicationListe);}}};MessageBox.confirm("Supprimer une publication", message, listenerSuppression);}}public void selectionnerPublication(Rafraichissable vueARafraichir, String publicationId) {selectionnerPublication(vueARafraichir, getProjetId(), publicationId, null, 0, nbElements);}public void selectionnerPublicationParNomComplet(Rafraichissable vueARafraichir, String projetId, String nomComplet) {selectionnerPublication(vueARafraichir, projetId, null, nomComplet, 0, nbElements);}public void selectionnerPublication(Rafraichissable vueARafraichir, String projetId, String publicationId, String nomComplet, int pageCourante, int nbElements) {modele.selectionnerPublication(vueARafraichir, publicationId, projetId, nomComplet, nbElements, pageCourante);}public void ajouterPublication(Rafraichissable vueARafraichir, Publication publication) {modele.ajouterPublication(vueARafraichir, publication);}public void modifierPublication(Rafraichissable vueARafraichir, Publication publication) {modele.modifierPublication(vueARafraichir, publication);}public void supprimerPublication(Rafraichissable vueARafraichir, List<Publication> publicationsListe) {if (publicationsListe != null && publicationsListe.size() > 0) {String idPublicationSeparesParVirgule = "" ;Iterator<Publication> it = publicationsListe.iterator();while (it.hasNext()) {idPublicationSeparesParVirgule += it.next().getId();if (it.hasNext()) {idPublicationSeparesParVirgule += ",";}}modele.supprimerPublication(vueARafraichir, idPublicationSeparesParVirgule);modele.supprimerPublicationAPersonne(vueARafraichir, idPublicationSeparesParVirgule);}}public void clicObtenirListeEditeurs(Rafraichissable vueARafraichir) {selectionnerStructureParProjet(vueARafraichir, null);}public void clicObtenirListeAuteurs(Rafraichissable vueARafraichir) {selectionnerPersonneParProjet(vueARafraichir, null);}//+----------------------------------------------------------------------------------------------------------------+// GESTION de la relation PUBLICATION A PERSONNEpublic void selectionnerPublicationAPersonne(Rafraichissable vueARafraichir, String publicationId, String personnesId, String roleId) {modele.selectionPublicationAPersonne(vueARafraichir, publicationId, personnesId, roleId);}public void selectionnerPublicationAPersonne(Rafraichissable vueARafraichir, String publicationId, String personnesId, List<Valeur> roleId) {String roleIds = "";Iterator<Valeur> itRole = roleId.iterator();while (itRole.hasNext()) {roleIds+= itRole.next().getId();if (itRole.hasNext()) {roleIds+=",";}}modele.selectionPublicationAPersonne(vueARafraichir, publicationId, personnesId, roleIds);}public void ajouterPublicationAPersonne(Rafraichissable vueARafraichir, String publicationId, PublicationAPersonneListe personnesAjoutees, String roleId) {if (personnesAjoutees != null && personnesAjoutees.size() > 0) {String idPublicationAPersonneSepareParVirgule = "" ;for (Iterator<String> it = personnesAjoutees.keySet().iterator(); it.hasNext();) {idPublicationAPersonneSepareParVirgule += personnesAjoutees.get(it.next()).getIdPersonne();if (it.hasNext()) {idPublicationAPersonneSepareParVirgule += ",";}}modele.ajouterPublicationAPersonne(vueARafraichir, publicationId, idPublicationAPersonneSepareParVirgule, roleId);}}public void supprimerPublicationAPersonne(Rafraichissable vueARafraichir, PublicationAPersonneListe personnesSupprimees) {if (personnesSupprimees != null && personnesSupprimees.size() > 0) {String idPublicationAPersonneSepareParVirgule = "" ;for (Iterator<String> it = personnesSupprimees.keySet().iterator(); it.hasNext();) {idPublicationAPersonneSepareParVirgule += personnesSupprimees.get(it.next()).getId();if (it.hasNext()) {idPublicationAPersonneSepareParVirgule += ",";}}modele.supprimerPublicationAPersonne(vueARafraichir, idPublicationAPersonneSepareParVirgule);}}//Lier plusieurs publication à une personnepublic void ajouterPublicationAPersonne(Rafraichissable vueARafraichir, PublicationAPersonneListe listePublications, String personneId, String roleId) {if (listePublications!=null && listePublications.size()>0) {String idsPubli = "";String rolesIds = "";for (Iterator<String> it = listePublications.keySet().iterator(); it.hasNext();) {PublicationAPersonne publi = listePublications.get(it.next());idsPubli += publi.getId();rolesIds += publi.getRole();if (it.hasNext()) {idsPubli += ",";rolesIds += ",";}}modele.ajouterPublicationAPersonne(vueARafraichir, idsPubli, personneId, rolesIds);}}//+----------------------------------------------------------------------------------------------------------------+// GESTION DES COMMENTAIRES//+----------------------------------------------------------------------------------------------------------------+public void afficherListeCommentaire(CommentaireListe nouvelleDonnees) {if (!(panneauCentre.getContenu() instanceof CommentaireVue)) {panneauCentre.removeAll();panneauCentre.add(new CommentaireVue(this));}panneauCentre.getContenu().rafraichir(nouvelleDonnees);}public void afficherFormCommentaire(String commentaireId) {panneauCentre.removeAll();CommentaireForm commentaireForm = new CommentaireForm(this, commentaireId);panneauCentre.add(commentaireForm);panneauCentre.layout();}public void clicListeCommentaire(Commentaire commentaire) {if (commentaire != null) {panneauCentre.getContenu().rafraichir(commentaire);}}public void clicAjouterCommentaire() {afficherFormCommentaire(null);}public void clicModifierCommentaire(List<Commentaire> selection) {if (selection.size() == 0) {InfoLogger.display("Information", "Veuillez sélectionner un commentaire.");} else if (selection.size() > 1) {InfoLogger.display("Information", "Veuillez sélectionner un seul commentaire à la fois.");} else if (selection.size() == 1) {afficherFormCommentaire(selection.get(0).getId());} else {InfoLogger.display("Erreur", "Une erreur est survenue dans la méthode clicModifierCommentaire() du Médiateur.");}}public void clicSupprimerCommentaire(final List<Commentaire> commentaireListe) {if (commentaireListe.size() <= 0) {MessageBox.alert("Attention", "Vous devez sélectionner un commentaire", null);} else {String message = "Voulez-vous vraiment supprimer ces commentaires ?";if (commentaireListe.size() == 1) {message = "Voulez-vous vraiment supprimer ce commentaire ?";}final Listener<MessageBoxEvent> listenerSuppression = new Listener<MessageBoxEvent>() {public void handleEvent(MessageBoxEvent ce) {Dialog dialog = (Dialog) ce.getComponent();Button btn = ce.getButtonClicked();if (btn.getText().equals(dialog.yesText)) {supprimerCommentaire(panneauCentre.getContenu(), commentaireListe);}}};MessageBox.confirm("Supprimer un commentaire", message, listenerSuppression);}}public void selectionnerCommentaire(Rafraichissable vueARafraichir, String commentaireId) {selectionnerCommentaire(vueARafraichir, commentaireId, null, 0, nbElements);}public void selectionnerCommentaire(Rafraichissable vueARafraichir, String commentaireId, String titre, int pageCourante, int nbElements) {modele.selectionnerCommentaire(vueARafraichir, commentaireId, getProjetId(), titre, pageCourante, nbElements);}public void selectionnerCommentaireParTitre(Rafraichissable vueARafraichir, String titre) {selectionnerCommentaire(vueARafraichir, null, titre, 0, nbElements);}public void ajouterCommentaire(Rafraichissable vueARafraichir, Commentaire commentaire) {modele.ajouterCommentaire(vueARafraichir, commentaire);}public void modifierCommentaire(Rafraichissable vueARafraichir, Commentaire commentaire) {modele.modifierCommentaire(vueARafraichir, commentaire);}public void supprimerCommentaire(Rafraichissable vueARafraichir, List<Commentaire> commentairesListe) {if (commentairesListe != null && commentairesListe.size() > 0) {String idCommentaireSeparesParVirgule = "" ;Iterator<Commentaire> it = commentairesListe.iterator();while (it.hasNext()) {idCommentaireSeparesParVirgule += it.next().getId();if (it.hasNext()) {idCommentaireSeparesParVirgule += ",";}}modele.supprimerCommentaire(vueARafraichir, idCommentaireSeparesParVirgule);modele.supprimerCollectionACommentaire(vueARafraichir, idCommentaireSeparesParVirgule, CollectionACommentaireAsyncDao.SUPPRESSION_PAR_COMMENTAIRE);}}//+----------------------------------------------------------------------------------------------------------------+// RAFRAICHISSEMENT//+----------------------------------------------------------------------------------------------------------------+public void rafraichir(Object nouvellesDonnees) {if (nouvellesDonnees instanceof Utilisateur) {repandreEtatIdentification((Utilisateur) nouvellesDonnees);} else if (nouvellesDonnees instanceof Information) {Information info = (Information) nouvellesDonnees;if (info.getType().equals("modification_personne")) {repandreInfoMiseAJourUtilisateur();}} else {GWT.log(i18nM.erreurRafraichir(nouvellesDonnees.getClass(), this.getClass()), null);}}//+----------------------------------------------------------------------------------------------------------------+// GESTION du STATUT//+----------------------------------------------------------------------------------------------------------------+public void afficherPopinChargement() {((PopupChargement) Registry.get(RegistreId.POPUP_CHARGEMENT)).center();}public void masquerPopinChargement() {((PopupChargement) Registry.get(RegistreId.POPUP_CHARGEMENT)).hide();}public String obtenirClasseContenu() {String classeContenu = null;if (panneauCentre.getContenu() != null) {classeContenu = panneauCentre.getContenu().getClass().toString();}return classeContenu;}}