This commit is contained in:
martins 2022-12-06 11:32:01 +01:00
parent 888b12dc2a
commit 1c74683bd1
7 changed files with 28 additions and 10 deletions

View File

@ -61,7 +61,6 @@ public class AbstractGroupeFactoryNP implements AbstractGroupeFactory {
* @param g le groupe à supprimer
*
* @throws java.lang.NullPointerException si un argument est null
* @throws java.lang.IllegalStateException si le groupe contient des groupes
* @throws java.lang.IllegalArgumentException si le groupe n'est pas connu de l'usine abstraite ou bien si le groupe est celui de toute la promotion (renvoyé par getPromotion)
*/
public void deleteGroupe(Groupe g){
@ -69,14 +68,15 @@ public class AbstractGroupeFactoryNP implements AbstractGroupeFactory {
if (!this.knows(g)){
throw new IllegalArgumentException("Impossible d'enlever un groupe inconnu");
}
if (this.getPromotion().equals(g)){
throw new IllegalArgumentException("Impossible de détruire le groupe de toute la promotion");
}
if (g.getSize()>0){
throw new IllegalStateException("Impossible de détruire un groupe contenant un groupe");
}
g.getPointPoint().removeSousGroupe(g);
this.brain.remove(Integer.valueOf(g.getId()));
this.deleteRecursif(g);
}
private void deleteRecursif(Groupe g){
this.brain.remove(g.getId());
for(Groupe sous: g.getSousGroupes()){
this.deleteRecursif(sous);
}
}
/**
@ -208,12 +208,14 @@ public class AbstractGroupeFactoryNP implements AbstractGroupeFactory {
* @throws java.lang.NullPointerException si le String est null.
*/
public Set<Etudiant> getEtudiants(String nomEtu){
if(nomEtu==null){
return this.getPromotion().getEtudiants();
}
// on cherche bêtement dans la promo.
Set<Etudiant> out = new LinkedHashSet<Etudiant>();
for (Etudiant e : getPromotion().getEtudiants()){
if (e.getNom().equals(nomEtu)){
if (e.getNom().contains(nomEtu)){
out.add(e);
break;
}
}
return out;

View File

@ -16,6 +16,7 @@ import fr.iutfbleau.projetIHM2022FI2.MNP.AbstractChangementFactoryNP;
import fr.iutfbleau.projetIHM2022FI2.MNP.AbstractGroupeFactoryNP;
import fr.iutfbleau.projetIHM2022FI2.MNP.ETU.View.FenetreEtudiant;
import fr.iutfbleau.projetIHM2022FI2.MNP.ETU.View.FenetreGroupe;
import fr.iutfbleau.projetIHM2022FI2.MNP.ROOT.View.FenetreChangement;
/**
* Le Model de L'IHM
@ -35,6 +36,8 @@ public class ModelEtu implements Model{
private JFrame fenetre;
// l'etudiant courant
private Etudiant Selected;
//fenetre du changement
private FenetreChangement fenChange;
/**
* Constructeur du Model

View File

@ -11,6 +11,7 @@ import fr.iutfbleau.projetIHM2022FI2.API.Groupe;
import fr.iutfbleau.projetIHM2022FI2.API.TypeGroupe;
import fr.iutfbleau.projetIHM2022FI2.MNP.PROF.View.FenetreEtudiant;
import fr.iutfbleau.projetIHM2022FI2.MNP.PROF.View.FenetreGroupe;
import fr.iutfbleau.projetIHM2022FI2.MNP.ROOT.View.FenetreChangement;
import fr.iutfbleau.projetIHM2022FI2.API.Model;
import fr.iutfbleau.projetIHM2022FI2.Permanent.Controller.ObservateurFenetre;
import fr.iutfbleau.projetIHM2022FI2.Permanent.View.Chargement;
@ -34,6 +35,8 @@ public class ModelProf implements Model{
private JFrame fenetre;
// l'etudiant courant
private Etudiant Selected;
//fenetre du changement
private FenetreChangement fenChange;
/**
* Constructeur du Model.

View File

@ -38,6 +38,8 @@ public class ModelRoot implements Model{
private AbstractChangementFactory changement;
// la fenetre principale
private JFrame fenetre;
//fenetre du changement
private FenetreChangement fenChange;
/**
* Constructeur du model.

View File

@ -9,6 +9,7 @@ import fr.iutfbleau.projetIHM2022FI2.API.Changement;
import fr.iutfbleau.projetIHM2022FI2.API.Etudiant;
import fr.iutfbleau.projetIHM2022FI2.API.Groupe;
import fr.iutfbleau.projetIHM2022FI2.API.TypeGroupe;
import fr.iutfbleau.projetIHM2022FI2.MNP.ROOT.View.FenetreChangement;
import fr.iutfbleau.projetIHM2022FI2.API.Model;
import fr.iutfbleau.projetIHM2022FI2.Permanent.Controller.ObservateurFenetre;
import fr.iutfbleau.projetIHM2022FI2.Permanent.View.Chargement;
@ -35,6 +36,8 @@ public class ModelEtu implements Model{
private JFrame fenetre;
// l'etudiant courant
private Etudiant Selected;
//fenetre du changement
private FenetreChangement fenChange;
/**
* Constructeur du Model
*/

View File

@ -9,6 +9,7 @@ import fr.iutfbleau.projetIHM2022FI2.API.Changement;
import fr.iutfbleau.projetIHM2022FI2.API.Etudiant;
import fr.iutfbleau.projetIHM2022FI2.API.Groupe;
import fr.iutfbleau.projetIHM2022FI2.API.TypeGroupe;
import fr.iutfbleau.projetIHM2022FI2.MNP.ROOT.View.FenetreChangement;
import fr.iutfbleau.projetIHM2022FI2.MP.AbstractChangementFactoryNP;
import fr.iutfbleau.projetIHM2022FI2.MP.AbstractGroupeFactoryNP;
import fr.iutfbleau.projetIHM2022FI2.MP.PROF.View.FenetreEtudiant;
@ -36,6 +37,8 @@ public class ModelProf implements Model{
private JFrame fenetre;
// l'etudiant courant
private Etudiant Selected;
//fenetre du changement
private FenetreChangement fenChange;
/**
* Constructeur du Model.

View File

@ -38,6 +38,8 @@ public class ModelRoot implements Model{
private AbstractChangementFactory changement;
// la fenetre principale
private JFrame fenetre;
//fenetre du changement
private FenetreChangement fenChange;
/**
* Constructeur du model.