Subversion Repositories eFlore/Applications.coel

Compare Revisions

Ignore whitespace Rev 1762 → Rev 1763

/trunk/src/org/tela_botanica/client/Mediateur.java
34,8 → 34,6
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;
66,8 → 64,6
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;
192,7 → 188,6
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());
}
//+----------------------------------------------------------------------------------------------------------------+
221,10 → 216,6
 
viewport.add(panneauOuest, regionOuest);
}
public String getFiltreProjet() {
return panneauOuest.getFiltre().getProjet();
}
 
private void creerPanneauCentral() {
panneauCentre = new ContenuVue(this);
271,14 → 262,12
boolean codeOk = true;
if (codeMenuClique.equals(MenuApplicationId.ACCUEIL)) {
afficherAccueil();
} else if (codeMenuClique.equals(MenuApplicationId.PROJET)) {
selectionnerProjet(panneauCentre, null, null, false, null);
} else if (codeMenuClique.equals(MenuApplicationId.STRUCTURE)) {
selectionnerStructure(panneauCentre, null, null, false);
} else if (codeMenuClique.equals(MenuApplicationId.COLLECTION)) {
selectionnerCollection(panneauCentre, null, null, null);
} else if (codeMenuClique.equals(MenuApplicationId.PERSONNE)) {
selectionnerPersonne(panneauCentre, null, getProjetId(), null);
selectionnerPersonne(panneauCentre, null, null);
} else if (codeMenuClique.equals(MenuApplicationId.PUBLICATION)) {
selectionnerPublication(panneauCentre, null, null);
} else if (codeMenuClique.equals(MenuApplicationId.COMMENTAIRE)) {
513,181 → 502,6
}
//+----------------------------------------------------------------------------------------------------------------+
// GESTION des PROJETS
//+----------------------------------------------------------------------------------------------------------------+
public void afficherFormProjet(String projetId) {
final FenetreForm fenetre = new FenetreForm("");
ProjetForm projetForm = new ProjetForm(this, projetId) {
@Override
public void surFermetureFormulaire() {
fenetre.hide();
}
};
projetForm.vueExterneARafraichirApresValidation = panneauCentre.getContenu();
fenetre.add(projetForm);
fenetre.show();
}
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.getHtml().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);
}
 
/****************************************************************************************************
/** selectionnerProjet(Rafraichissable vueARafraichir, String recherche, int start, int nbElements)
/****************************************************************************************************
* Action :
* --------
* - Récupère un nombre défini de projets en s'aidant du nom partiel ou complet du projet.
*
* Description des paramètres :
* ----------------------------
* - 'vueARafraichir' référence l'objet à mettre à jour après réception des données.
* - 'recherche' est une chaîne de caractères représentant tout ou partie du nom d'un projet.
* Si la chaîne est vide, alors tous les projets sont recherchés.
* - 'start' et 'nbElements' sont les paramètres indispensables à la pagination. 'start'
* est le paramètre qui décrit le numéro du tuple de départ et 'nbElements' le nombre
* d'éléments à collecter.
*
* Préconditions :
* ---------------
* - 'vueARafraichir' doit être non NULL et référencer un objet implémentant l'interface
* 'Rafraichissable'
* - 'recherche' doit être non NULL.
* - 'start' doit être supérieur ou égal à zéro. 'nbElements' doit être supérieur à zéro.
*
*****************************************************************************************************/
public void selectionnerProjet(Rafraichissable vueARafraichir, String recherche, int start, int nbElements, Sequenceur sequenceur) {
if (Mediateur.DEBUG) System.out.println("MEDIATEUR - selectionner Projet");
Integer numeroSequence = null;
if (sequenceur != null) {
numeroSequence = sequenceur.lancerRequeteSynchrone(vueARafraichir);
vueARafraichir = sequenceur;
}
modele.selectionnerProjet(vueARafraichir, recherche, start, nbElements, numeroSequence);
}
/** Cette méthode est un "wrapper" **/
public void selectionnerProjet(Rafraichissable vueARafraichir, String projetId, String formatRetour, boolean paginationProgressive, Sequenceur sequenceur) {
selectionnerProjet(vueARafraichir, projetId, null, 0, this.nbElements, formatRetour, paginationProgressive, sequenceur);
}
public void selectionnerProjet(Rafraichissable vueARafraichir, String projetId, String nom, int start, int nbElements, String formatRetour, boolean paginationProgressive, Sequenceur sequenceur) {
if (Mediateur.DEBUG) System.out.println("MEDIATEUR - selectionner Projet");
Integer numeroSequence = null;
if (sequenceur != null) {
numeroSequence = sequenceur.lancerRequeteSynchrone(vueARafraichir);
vueARafraichir = sequenceur;
}
modele.selectionnerProjet(vueARafraichir, projetId, nom, start, nbElements, formatRetour, paginationProgressive, numeroSequence);
}
 
/** AJOUTER **/
public void ajouterProjet(Rafraichissable vueARafraichir, Projet projetCollecte) {
modele.ajouterProjet(vueARafraichir, projetCollecte);
}
 
/** MODIFIER **/
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, null, false, null);
} else if (panneauCentre.getContenu() instanceof StructureVue) {
selectionnerStructure(panneauCentre.getContenu(), null, null, false);
} else if (panneauCentre.getContenu() instanceof CollectionVue) {
selectionnerCollection(panneauCentre.getContenu(), null, null, null);
} else if (panneauCentre.getContenu() instanceof PersonneVue) {
selectionnerPersonne(panneauCentre.getContenu(), null, getProjetId(), null);
} else if (panneauCentre.getContenu() instanceof PublicationVue) {
selectionnerPublication(panneauCentre.getContenu(), null, null);
} else if (panneauCentre.getContenu() instanceof CommentaireVue) {
selectionnerCommentaire(panneauCentre.getContenu(), null, null);
}
}
//+----------------------------------------------------------------------------------------------------------------+
// GESTION DES STRUCTURES
//+----------------------------------------------------------------------------------------------------------------+
 
824,10 → 638,10
vueARafraichir = sequenceur;
}
 
modele.selectionnerStructure(vueARafraichir, getProjetId(), structureId, null, 0, nbElements, seqId, searchCity);
modele.selectionnerStructure(vueARafraichir, structureId, null, 0, nbElements, seqId, searchCity);
}
public void selectionnerStructure(Rafraichissable vueARafraichir, String structureId, String projetId, String nom, int start, int nbElements, Sequenceur sequenceur, boolean searchCity) {
public void selectionnerStructure(Rafraichissable vueARafraichir, String structureId, String nom, int start, int nbElements, Sequenceur sequenceur, boolean searchCity) {
if (Mediateur.DEBUG) {
System.out.println("MEDIATEUR - selectionner Structure");
}
836,10 → 650,10
seqId = sequenceur.lancerRequeteSynchrone(vueARafraichir);
vueARafraichir = sequenceur;
}
modele.selectionnerStructure(vueARafraichir, getProjetId(), structureId, nom, start, nbElements, seqId, searchCity);
modele.selectionnerStructure(vueARafraichir, structureId, nom, start, nbElements, seqId, searchCity);
}
public void selectionnerStructureAvecPaginationProgressive(Rafraichissable vueARafraichir, String structureId, String projetId, String nom, String formatRetour, int start, int nbElements, Sequenceur sequenceur, boolean searchCity) {
public void selectionnerStructureAvecPaginationProgressive(Rafraichissable vueARafraichir, String structureId, String nom, String formatRetour, int start, int nbElements, Sequenceur sequenceur, boolean searchCity) {
if (Mediateur.DEBUG) {
System.out.println("MEDIATEUR - selectionner Structure");
}
848,21 → 662,9
seqId = sequenceur.lancerRequeteSynchrone(vueARafraichir);
vueARafraichir = sequenceur;
}
modele.selectionnerStructureAvecPaginationProgressive(vueARafraichir, getProjetId(), structureId, nom, formatRetour, start, nbElements, seqId, searchCity);
modele.selectionnerStructureAvecPaginationProgressive(vueARafraichir, structureId, nom, formatRetour, start, nbElements, seqId, searchCity);
}
public void selectionnerStructureParProjet(Rafraichissable vueARafraichir, String projetId, Sequenceur sequenceur, boolean searchCity) {
if (Mediateur.DEBUG) {
System.out.println("MEDIATEUR - selectionner Structure");
}
Integer seqId = null;
if (sequenceur != null) {
seqId = sequenceur.lancerRequeteSynchrone(vueARafraichir);
vueARafraichir = sequenceur;
}
modele.selectionnerStructure(vueARafraichir, projetId, null, null, 0, -1, seqId, searchCity);
}
/** AJOUTER **/
public void ajouterStructure(Rafraichissable vueARafraichir, Structure structure, StructureConservation conservation, StructureValorisation valorisation) {
modele.ajouterStructure(vueARafraichir, structure, conservation, valorisation);
1036,19 → 838,9
seqId = sequenceur.lancerRequeteSynchrone(vueARafraichir);
vueARafraichir = sequenceur;
}
modele.selectionnerCollection(vueARafraichir, getProjetId(), collectionId, nom, start, nbElements, seqId);
modele.selectionnerCollection(vueARafraichir, collectionId, nom, start, nbElements, seqId);
}
public void selectionnerCollectionParProjet(Rafraichissable vueARafraichir, String projetId, Sequenceur sequenceur) {
if (Mediateur.DEBUG) System.out.println("MEDIATEUR - selectionner Collection");
Integer seqId = null;
if (sequenceur!=null) {
seqId = sequenceur.lancerRequeteSynchrone(vueARafraichir);
vueARafraichir = sequenceur;
}
modele.selectionnerCollection(vueARafraichir, projetId, null, null, 0, -1, seqId);
}
/****************************************************************************************************
/** selectionnerCollection(Rafraichissable vueARafraichir, String recherche, int start, int nbElements)
/****************************************************************************************************
1396,13 → 1188,8
}
modele.selectionnerPersonne(vueARafraichir, recherche, start, nbElements, seqId);
}
 
/** Cette méthode est un "wrapper" **/
public void selectionnerPersonne(Rafraichissable vueARafraichir, Personne personne, String projetId, Sequenceur sequenceur) {
selectionnerPersonne(vueARafraichir, personne, projetId, 0, nbElements, sequenceur);
}
public void selectionnerPersonne(Rafraichissable vueARafraichir, Personne personne, String projetId, int start, int nbElements, Sequenceur sequenceur) {
public void selectionnerPersonne(Rafraichissable vueARafraichir, Personne personne, int start, int nbElements, Sequenceur sequenceur) {
if (Mediateur.DEBUG) System.out.println("MEDIATEUR - selectionner Personne");
Integer seqId = null;
if (sequenceur!=null) {
1415,7 → 1202,7
personneId = personne.getId();
personneNom = personne.getNom();
}
modele.selectionnerPersonne(vueARafraichir, personneId, projetId, personneNom, start, nbElements, seqId);
modele.selectionnerPersonne(vueARafraichir, personneId, personneNom, start, nbElements, seqId);
}
public void selectionnerPersonne(Rafraichissable vueARafraichir, String idPersonne, Sequenceur sequenceur) {
1425,10 → 1212,10
seqId = sequenceur.lancerRequeteSynchrone(vueARafraichir);
vueARafraichir = sequenceur;
}
modele.selectionnerPersonne(vueARafraichir, idPersonne, null, null, -1, nbElements, seqId);
modele.selectionnerPersonne(vueARafraichir, idPersonne, null, 0, nbElements, seqId);
}
public void selectionnerPersonneParNomComplet(Rafraichissable vueARafraichir, String projetId, String nomComplet, Sequenceur sequenceur) {
public void selectionnerPersonneParNomComplet(Rafraichissable vueARafraichir, String nomComplet, Sequenceur sequenceur) {
if (Mediateur.DEBUG) System.out.println("MEDIATEUR - selectionner Personne");
Integer seqId = null;
if (sequenceur!=null) {
1435,19 → 1222,9
seqId = sequenceur.lancerRequeteSynchrone(vueARafraichir);
vueARafraichir = sequenceur;
}
modele.selectionnerPersonne(vueARafraichir, null, projetId, nomComplet, 0, -1, seqId);
modele.selectionnerPersonne(vueARafraichir, null, nomComplet, 0, -1, seqId);
}
public void selectionnerPersonneParProjet(Rafraichissable vueARafraichir, String projetId, Sequenceur sequenceur) {
if (Mediateur.DEBUG) System.out.println("MEDIATEUR - selectionner Personne");
Integer seqId = null;
if (sequenceur!=null) {
seqId = sequenceur.lancerRequeteSynchrone(vueARafraichir);
vueARafraichir = sequenceur;
}
modele.selectionnerPersonne(vueARafraichir, null, projetId, null, 0, -1, seqId);
}
/** ENREGISTRER **/
public void enregistrerPersonne(Rafraichissable vue, Personne personne){
if (personne.getId() != null && !personne.getId().trim().equals("")) {
1532,15 → 1309,15
/** Cette méthode est un "wrapper" */
public void selectionnerPublication(Rafraichissable vueARafraichir, String publicationId, Sequenceur sequenceur) {
selectionnerPublication(vueARafraichir, getProjetId(), publicationId, null, 0, nbElements, sequenceur);
selectionnerPublication(vueARafraichir, publicationId, null, 0, nbElements, sequenceur);
}
/** Cette méthode est un "wrapper" */
public void selectionnerPublicationParNomComplet(Rafraichissable vueARafraichir, String projetId, String nomComplet) {
selectionnerPublication(vueARafraichir, projetId, null, nomComplet, 0, nbElements, null);
public void selectionnerPublicationParNomComplet(Rafraichissable vueARafraichir, String nomComplet) {
selectionnerPublication(vueARafraichir, null, nomComplet, 0, nbElements, null);
}
public void selectionnerPublication(Rafraichissable vueARafraichir, String projetId, String publicationId, String nomComplet, int pageCourante, int nbElements, Sequenceur sequenceur) {
public void selectionnerPublication(Rafraichissable vueARafraichir, String publicationId, String nomComplet, int pageCourante, int nbElements, Sequenceur sequenceur) {
if (Mediateur.DEBUG) System.out.println("MEDIATEUR - selectionner Publication");
Integer seqId = null;
if (sequenceur!=null) {
1547,7 → 1324,7
seqId = sequenceur.lancerRequeteSynchrone(vueARafraichir);
vueARafraichir = sequenceur;
}
modele.selectionnerPublication(vueARafraichir, publicationId, projetId, nomComplet, pageCourante, nbElements, seqId);
modele.selectionnerPublication(vueARafraichir, publicationId, nomComplet, pageCourante, nbElements, seqId);
}
public void selectionnerPublication(Rafraichissable vueARafraichir, String recherche, int start, int nbElements, Sequenceur sequenceur) {
1584,14 → 1361,6
modele.supprimerPublication(vueARafraichir, idPublicationSeparesParVirgule);
}
}
 
public void clicObtenirListeEditeurs(Rafraichissable vueARafraichir) {
selectionnerStructureParProjet(vueARafraichir, null, null, false);
}
 
public void clicObtenirListeAuteurs(Rafraichissable vueARafraichir) {
selectionnerPersonneParProjet(vueARafraichir, null, null);
}
//+----------------------------------------------------------------------------------------------------------------+
// GESTION de la relation PUBLICATION A PERSONNE
1811,7 → 1580,7
seqId = sequenceur.lancerRequeteSynchrone(vueARafraichir);
vueARafraichir = sequenceur;
}
modele.selectionnerCommentaire(vueARafraichir, commentaireId, getProjetId(), titre, pageCourante, nbElements, seqId);
modele.selectionnerCommentaire(vueARafraichir, commentaireId, titre, pageCourante, nbElements, seqId);
}
public void selectionnerCommentaire(Rafraichissable vueARafraichir, String recherche, int pageCourante, int nbElements, Sequenceur sequenceur) {