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 * @param g le groupe à supprimer
* *
* @throws java.lang.NullPointerException si un argument est null * @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) * @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){ public void deleteGroupe(Groupe g){
@ -69,14 +68,15 @@ public class AbstractGroupeFactoryNP implements AbstractGroupeFactory {
if (!this.knows(g)){ if (!this.knows(g)){
throw new IllegalArgumentException("Impossible d'enlever un groupe inconnu"); 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); 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. * @throws java.lang.NullPointerException si le String est null.
*/ */
public Set<Etudiant> getEtudiants(String nomEtu){ public Set<Etudiant> getEtudiants(String nomEtu){
if(nomEtu==null){
return this.getPromotion().getEtudiants();
}
// on cherche bêtement dans la promo. // on cherche bêtement dans la promo.
Set<Etudiant> out = new LinkedHashSet<Etudiant>(); Set<Etudiant> out = new LinkedHashSet<Etudiant>();
for (Etudiant e : getPromotion().getEtudiants()){ for (Etudiant e : getPromotion().getEtudiants()){
if (e.getNom().equals(nomEtu)){ if (e.getNom().contains(nomEtu)){
out.add(e); out.add(e);
break;
} }
} }
return out; 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.AbstractGroupeFactoryNP;
import fr.iutfbleau.projetIHM2022FI2.MNP.ETU.View.FenetreEtudiant; import fr.iutfbleau.projetIHM2022FI2.MNP.ETU.View.FenetreEtudiant;
import fr.iutfbleau.projetIHM2022FI2.MNP.ETU.View.FenetreGroupe; import fr.iutfbleau.projetIHM2022FI2.MNP.ETU.View.FenetreGroupe;
import fr.iutfbleau.projetIHM2022FI2.MNP.ROOT.View.FenetreChangement;
/** /**
* Le Model de L'IHM * Le Model de L'IHM
@ -35,6 +36,8 @@ public class ModelEtu implements Model{
private JFrame fenetre; private JFrame fenetre;
// l'etudiant courant // l'etudiant courant
private Etudiant Selected; private Etudiant Selected;
//fenetre du changement
private FenetreChangement fenChange;
/** /**
* Constructeur du Model * 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.API.TypeGroupe;
import fr.iutfbleau.projetIHM2022FI2.MNP.PROF.View.FenetreEtudiant; import fr.iutfbleau.projetIHM2022FI2.MNP.PROF.View.FenetreEtudiant;
import fr.iutfbleau.projetIHM2022FI2.MNP.PROF.View.FenetreGroupe; 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.API.Model;
import fr.iutfbleau.projetIHM2022FI2.Permanent.Controller.ObservateurFenetre; import fr.iutfbleau.projetIHM2022FI2.Permanent.Controller.ObservateurFenetre;
import fr.iutfbleau.projetIHM2022FI2.Permanent.View.Chargement; import fr.iutfbleau.projetIHM2022FI2.Permanent.View.Chargement;
@ -34,6 +35,8 @@ public class ModelProf implements Model{
private JFrame fenetre; private JFrame fenetre;
// l'etudiant courant // l'etudiant courant
private Etudiant Selected; private Etudiant Selected;
//fenetre du changement
private FenetreChangement fenChange;
/** /**
* Constructeur du Model. * Constructeur du Model.

View File

@ -38,6 +38,8 @@ public class ModelRoot implements Model{
private AbstractChangementFactory changement; private AbstractChangementFactory changement;
// la fenetre principale // la fenetre principale
private JFrame fenetre; private JFrame fenetre;
//fenetre du changement
private FenetreChangement fenChange;
/** /**
* Constructeur du model. * 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.Etudiant;
import fr.iutfbleau.projetIHM2022FI2.API.Groupe; import fr.iutfbleau.projetIHM2022FI2.API.Groupe;
import fr.iutfbleau.projetIHM2022FI2.API.TypeGroupe; import fr.iutfbleau.projetIHM2022FI2.API.TypeGroupe;
import fr.iutfbleau.projetIHM2022FI2.MNP.ROOT.View.FenetreChangement;
import fr.iutfbleau.projetIHM2022FI2.API.Model; import fr.iutfbleau.projetIHM2022FI2.API.Model;
import fr.iutfbleau.projetIHM2022FI2.Permanent.Controller.ObservateurFenetre; import fr.iutfbleau.projetIHM2022FI2.Permanent.Controller.ObservateurFenetre;
import fr.iutfbleau.projetIHM2022FI2.Permanent.View.Chargement; import fr.iutfbleau.projetIHM2022FI2.Permanent.View.Chargement;
@ -35,6 +36,8 @@ public class ModelEtu implements Model{
private JFrame fenetre; private JFrame fenetre;
// l'etudiant courant // l'etudiant courant
private Etudiant Selected; private Etudiant Selected;
//fenetre du changement
private FenetreChangement fenChange;
/** /**
* Constructeur du Model * 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.Etudiant;
import fr.iutfbleau.projetIHM2022FI2.API.Groupe; import fr.iutfbleau.projetIHM2022FI2.API.Groupe;
import fr.iutfbleau.projetIHM2022FI2.API.TypeGroupe; 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.AbstractChangementFactoryNP;
import fr.iutfbleau.projetIHM2022FI2.MP.AbstractGroupeFactoryNP; import fr.iutfbleau.projetIHM2022FI2.MP.AbstractGroupeFactoryNP;
import fr.iutfbleau.projetIHM2022FI2.MP.PROF.View.FenetreEtudiant; import fr.iutfbleau.projetIHM2022FI2.MP.PROF.View.FenetreEtudiant;
@ -36,6 +37,8 @@ public class ModelProf implements Model{
private JFrame fenetre; private JFrame fenetre;
// l'etudiant courant // l'etudiant courant
private Etudiant Selected; private Etudiant Selected;
//fenetre du changement
private FenetreChangement fenChange;
/** /**
* Constructeur du Model. * Constructeur du Model.

View File

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