diff --git a/java/APIGroupe/Makefile b/java/APIGroupe/Makefile index 93d0051..1c37e62 100644 --- a/java/APIGroupe/Makefile +++ b/java/APIGroupe/Makefile @@ -107,8 +107,7 @@ ${BUILD}/MNP/AbstractChangementFactoryNP.class : ${SRC}/MNP/AbstractChangementFa ${BUILD}/ROOT/Util/BD.class : ${SRC}/ROOT/Util/BD.java ${JAVAC} ${JAVAC_OPTIONS} ${SRC}/ROOT/Util/BD.java -${BUILD}/ROOT/Util/User.class : ${SRC}/ROOT/Util/User.java - ${JAVAC} ${JAVAC_OPTIONS} ${SRC}/ROOT/Util/User.java + ## View ## @@ -172,8 +171,7 @@ ${BUILD}/ROOT/Model/Model.class : ${SRC}/ROOT/Model/Model.java \ ${BUILD}/ROOT/View/FenetreGroupe.class \ ${BUILD}/ROOT/View/FenetreEtudiant.class \ ${BUILD}/ROOT/View/Chargement.class \ - ${BUILD}/ROOT/Util/BD.class \ - ${BUILD}/ROOT/Util/User.class + ${BUILD}/ROOT/Util/BD.class ${JAVAC} ${JAVAC_OPTIONS} ${SRC}/ROOT/Model/Model.java @@ -188,8 +186,6 @@ ${BUILD}/ROOT/Model/Model.class : ${SRC}/ROOT/Model/Model.java \ ${BUILD}/ETU/Util/BD.class : ${SRC}/ETU/Util/BD.java ${JAVAC} ${JAVAC_OPTIONS} ${SRC}/ETU/Util/BD.java -${BUILD}/ETU/Util/User.class : ${SRC}/ETU/Util/User.java - ${JAVAC} ${JAVAC_OPTIONS} ${SRC}/ETU/Util/User.java ## View ## @@ -231,8 +227,7 @@ ${BUILD}/ETU/Model/Model.class : ${SRC}/ETU/Model/Model.java \ ${BUILD}/ETU/View/FenetreGroupe.class \ ${BUILD}/ETU/View/FenetreEtudiant.class \ ${BUILD}/ETU/View/Chargement.class \ - ${BUILD}/ETU/Util/BD.class \ - ${BUILD}/ETU/Util/User.class + ${BUILD}/ETU/Util/BD.class ${JAVAC} ${JAVAC_OPTIONS} ${SRC}/ETU/Model/Model.java @@ -249,9 +244,13 @@ ${BUILD}/ETU/Model/Model.class : ${SRC}/ETU/Model/Model.java \ ${BUILD}/MNP/AbstractChangementFactoryNP.class \ ${BUILD}/ROOT/Model/Model.class \ ${BUILD}/ETU/Model/Model.class \ - ${BUILD}/Test/Connexion.class + ${BUILD}/Test/Connexion.class \ + ${BUILD}/Test/User.class ${JAVAC} ${JAVAC_OPTIONS} ${SRC}/Test/TestTexteMNP.java +${BUILD}/Test/User.class : ${SRC}/Test/User.java + ${JAVAC} ${JAVAC_OPTIONS} ${SRC}/Test/User.java + # ## JARS ## ${JAR_MNP} : ${BUILD}/Test/TestTexteMNP.class diff --git a/java/APIGroupe/src/fr/iutfbleau/projetIHM2022FI2/API/AbstractGroupeFactory.java b/java/APIGroupe/src/fr/iutfbleau/projetIHM2022FI2/API/AbstractGroupeFactory.java index d7fe3b8..ed42a0f 100644 --- a/java/APIGroupe/src/fr/iutfbleau/projetIHM2022FI2/API/AbstractGroupeFactory.java +++ b/java/APIGroupe/src/fr/iutfbleau/projetIHM2022FI2/API/AbstractGroupeFactory.java @@ -119,4 +119,5 @@ public interface AbstractGroupeFactory { * @return true si possible */ public boolean changeNameGroupe(Groupe g, String name); + } diff --git a/java/APIGroupe/src/fr/iutfbleau/projetIHM2022FI2/MNP/AbstractGroupeFactoryNP.java b/java/APIGroupe/src/fr/iutfbleau/projetIHM2022FI2/MNP/AbstractGroupeFactoryNP.java index 086f8ab..f1f232d 100644 --- a/java/APIGroupe/src/fr/iutfbleau/projetIHM2022FI2/MNP/AbstractGroupeFactoryNP.java +++ b/java/APIGroupe/src/fr/iutfbleau/projetIHM2022FI2/MNP/AbstractGroupeFactoryNP.java @@ -118,9 +118,10 @@ public class AbstractGroupeFactoryNP implements AbstractGroupeFactory { */ public void deleteGroupe(Groupe g){ Objects.requireNonNull(g,"On ne peut pas enlever un groupe null car null n'est pas un groupe autorisé"); - if (!this.knows(g)){ - throw new IllegalArgumentException("Impossible d'enlever un groupe inconnu"); - } + //if (!this.knows(g)){ + //throw new IllegalArgumentException("Impossible d'enlever un groupe inconnu"); + //possible maintenant + //} g.getPointPoint().removeSousGroupe(g); this.brain.remove(Integer.valueOf(g.getId())); this.suprGroupe(g); @@ -140,9 +141,10 @@ public class AbstractGroupeFactoryNP implements AbstractGroupeFactory { Objects.requireNonNull(pere,"Le groupe pere ne peut pas être null"); Objects.requireNonNull(name,"Le nouveau groupe ne peut pas avoir null comme nom"); - if (!this.knows(pere)){ - throw new IllegalArgumentException("Interdit d'ajouter un fils à un groupe inconnu"); - } + //if (!this.knows(pere)){ + // throw new IllegalArgumentException("Interdit d'ajouter un fils à un groupe inconnu"); + //Possible maintenant + //} if (pere.getType().equals(TypeGroupe.PARTITION)){ throw new IllegalArgumentException("Impossible d'ajouter un groupe à une parition. Il faut utiliser createPartition pour créer une partition"); } @@ -175,9 +177,10 @@ public class AbstractGroupeFactoryNP implements AbstractGroupeFactory { public void createPartition(Groupe pere, String name, int n){ Objects.requireNonNull(pere,"Le groupe pere ne peut pas être null"); Objects.requireNonNull(name,"Le nouveau groupe ne peut pas avoir null comme nom"); - if (!this.knows(pere)){ - throw new IllegalArgumentException("Impossible de partitionner ce groupe inconnu"); - } + //if (!this.knows(pere)){ + //throw new IllegalArgumentException("Impossible de partitionner ce groupe inconnu"); + //possible maintenant + //} if (pere.getType().equals(TypeGroupe.PARTITION)){ throw new IllegalArgumentException("Impossible de créer une partition à ce niveau. Il faut soit repartitionner le groupe au dessus, soit partitionner une partition en dessous."); } @@ -221,9 +224,10 @@ public class AbstractGroupeFactoryNP implements AbstractGroupeFactory { public void addToGroupe(Groupe g, Etudiant e){ Objects.requireNonNull(g,"Le groupe ne peut pas être null"); Objects.requireNonNull(e,"L'étudiant ne peut pas être null"); - if (!this.knows(g)){ - throw new IllegalArgumentException("Impossible d'ajouter l'étudiant car le est groupe inconnu"); - } + //if (!this.knows(g)){ + //throw new IllegalArgumentException("Impossible d'ajouter l'étudiant car le est groupe inconnu"); + //rendu possible maintenant par la syncronisation en temps réel + //} g.addEtudiant(e); this.saveEtu(e, g); } @@ -241,9 +245,10 @@ public class AbstractGroupeFactoryNP implements AbstractGroupeFactory { public void dropFromGroupe(Groupe g, Etudiant e){ Objects.requireNonNull(g,"Le groupe ne peut pas être null"); Objects.requireNonNull(e,"L'étudiant ne peut pas être null"); - if (!this.knows(g)){ - throw new IllegalArgumentException("Impossible d'ajouter l'étudiant car le est groupe inconnu"); - } + //if (!this.knows(g)){ + //throw new IllegalArgumentException("Impossible de suprimer l'étudiant car le est groupe inconnu"); + //Possible maintenant + //} g.removeEtudiant(e); this.deleteEtu(e, g); } @@ -292,8 +297,6 @@ public class AbstractGroupeFactoryNP implements AbstractGroupeFactory { return ret; } - - // ********************** // FONCTION POUR SIMPLIFIER LES Modification BD // *********************** @@ -339,28 +342,34 @@ public class AbstractGroupeFactoryNP implements AbstractGroupeFactory { "DELETE FROM CONTIENT WHERE idGroupe=? AND idEt=?; " ); pst.setInt(2, et.getId()); - this.deleteEtu(pst, cnx, g); + this.deleteEtu(pst, cnx, g.getId()); pst.close(); }catch(SQLException e){ System.out.println(e.toString()); if(this.erreurSQL()){ - this.deleteEtu(et, g); + this.deleteEtu(et, brain.get(g.getId())); } } this.close(cnx); } - private void deleteEtu(PreparedStatement pst, Connection cnx, Groupe g){ + private void deleteEtu(PreparedStatement pst, Connection cnx, int id){ try{ - pst.setInt(1, g.getId()); + pst.setInt(1, id); pst.executeUpdate(); - for(Groupe sous: g.getSousGroupes()){ - this.deleteEtu(pst, cnx, sous); + + PreparedStatement sous=cnx.prepareStatement( + "SELECT * FROM Groupe WHERE `id-parent`=? AND `id-parent`!=id; " + ); + sous.setInt(1, id); + ResultSet rs=sous.executeQuery(); + while(rs.next()){ + this.deleteEtu(pst, cnx, rs.getInt(1)); } }catch(SQLException e){ System.out.println(e.toString()); if(this.erreurSQL()){ - this.deleteEtu(pst, cnx, g); + this.deleteEtu(pst, cnx, id); } } } diff --git a/java/APIGroupe/src/fr/iutfbleau/projetIHM2022FI2/MNP/ChangementNP.java b/java/APIGroupe/src/fr/iutfbleau/projetIHM2022FI2/MNP/ChangementNP.java index cb9f56f..2e1ed8e 100644 --- a/java/APIGroupe/src/fr/iutfbleau/projetIHM2022FI2/MNP/ChangementNP.java +++ b/java/APIGroupe/src/fr/iutfbleau/projetIHM2022FI2/MNP/ChangementNP.java @@ -44,8 +44,7 @@ public class ChangementNP implements Changement { return this.a; } - /** - * permet de récupérer le groupe d'arrivée + /** e * @return ce groupe. */ public Groupe getB(){ diff --git a/java/APIGroupe/src/fr/iutfbleau/projetIHM2022FI2/ROOT/Model/Model.java b/java/APIGroupe/src/fr/iutfbleau/projetIHM2022FI2/ROOT/Model/Model.java index 678c712..5645dc0 100644 --- a/java/APIGroupe/src/fr/iutfbleau/projetIHM2022FI2/ROOT/Model/Model.java +++ b/java/APIGroupe/src/fr/iutfbleau/projetIHM2022FI2/ROOT/Model/Model.java @@ -1,6 +1,7 @@ package fr.iutfbleau.projetIHM2022FI2.ROOT.Model; import java.sql.PreparedStatement; import java.sql.SQLException; +import java.util.Iterator; import java.util.Set; import java.sql.Connection; import java.sql.ResultSet; @@ -29,17 +30,12 @@ public class Model{ private FenetreEtudiant fenEtu; private AbstractGroupeFactory promo; private JFrame fenetre; - //private JTree tree; private BD bd; public Model(){ this.fenetre=new JFrame(); this.fenetre.setSize(1200, 720); this.fenetre.setLocation(100,100); this.fenetre.addWindowListener(new ObservateurFenetre()); - - - - this.fenetre.setLayout(new GridLayout(1,2)); this.fenetre.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); this.fenetre.setMinimumSize(this.fenetre.getSize()); diff --git a/java/APIGroupe/src/fr/iutfbleau/projetIHM2022FI2/ROOT/Util/User.java b/java/APIGroupe/src/fr/iutfbleau/projetIHM2022FI2/ROOT/Util/User.java deleted file mode 100644 index bbe348a..0000000 --- a/java/APIGroupe/src/fr/iutfbleau/projetIHM2022FI2/ROOT/Util/User.java +++ /dev/null @@ -1,11 +0,0 @@ -package fr.iutfbleau.projetIHM2022FI2.ROOT.Util; - -public enum User { - ROOT("root"), PROF("proffeseur"), ETUDIANT("etudiant"); - - private final String name; - - private User(String s) { - name = s; - } -} diff --git a/java/APIGroupe/src/fr/iutfbleau/projetIHM2022FI2/Test/Connexion.java b/java/APIGroupe/src/fr/iutfbleau/projetIHM2022FI2/Test/Connexion.java index b78154f..74b8d4f 100644 --- a/java/APIGroupe/src/fr/iutfbleau/projetIHM2022FI2/Test/Connexion.java +++ b/java/APIGroupe/src/fr/iutfbleau/projetIHM2022FI2/Test/Connexion.java @@ -1,6 +1,4 @@ package fr.iutfbleau.projetIHM2022FI2.Test; -import fr.iutfbleau.projetIHM2022FI2.ROOT.Util.User; - import javax.swing.*; import java.awt.*; diff --git a/java/APIGroupe/src/fr/iutfbleau/projetIHM2022FI2/Test/TestTexteMNP.java b/java/APIGroupe/src/fr/iutfbleau/projetIHM2022FI2/Test/TestTexteMNP.java index a486a80..7ba227e 100644 --- a/java/APIGroupe/src/fr/iutfbleau/projetIHM2022FI2/Test/TestTexteMNP.java +++ b/java/APIGroupe/src/fr/iutfbleau/projetIHM2022FI2/Test/TestTexteMNP.java @@ -1,5 +1,4 @@ package fr.iutfbleau.projetIHM2022FI2.Test; -import fr.iutfbleau.projetIHM2022FI2.ROOT.Util.User; public class TestTexteMNP{ diff --git a/java/APIGroupe/src/fr/iutfbleau/projetIHM2022FI2/ETU/Util/User.java b/java/APIGroupe/src/fr/iutfbleau/projetIHM2022FI2/Test/User.java similarity index 78% rename from java/APIGroupe/src/fr/iutfbleau/projetIHM2022FI2/ETU/Util/User.java rename to java/APIGroupe/src/fr/iutfbleau/projetIHM2022FI2/Test/User.java index 5231700..2b2fd91 100644 --- a/java/APIGroupe/src/fr/iutfbleau/projetIHM2022FI2/ETU/Util/User.java +++ b/java/APIGroupe/src/fr/iutfbleau/projetIHM2022FI2/Test/User.java @@ -1,4 +1,4 @@ -package fr.iutfbleau.projetIHM2022FI2.ETU.Util; +package fr.iutfbleau.projetIHM2022FI2.Test; public enum User { ROOT("root"), PROF("proffeseur"), ETUDIANT("etudiant");