correction de bugs

This commit is contained in:
martins 2022-11-28 10:29:52 +01:00
parent 47742b1ddc
commit c215672e38
9 changed files with 45 additions and 55 deletions

View File

@ -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

View File

@ -119,4 +119,5 @@ public interface AbstractGroupeFactory {
* @return true si possible
*/
public boolean changeNameGroupe(Groupe g, String name);
}

View File

@ -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);
}
}
}

View File

@ -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(){

View File

@ -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());

View File

@ -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;
}
}

View File

@ -1,6 +1,4 @@
package fr.iutfbleau.projetIHM2022FI2.Test;
import fr.iutfbleau.projetIHM2022FI2.ROOT.Util.User;
import javax.swing.*;
import java.awt.*;

View File

@ -1,5 +1,4 @@
package fr.iutfbleau.projetIHM2022FI2.Test;
import fr.iutfbleau.projetIHM2022FI2.ROOT.Util.User;
public class TestTexteMNP{

View File

@ -1,4 +1,4 @@
package fr.iutfbleau.projetIHM2022FI2.ETU.Util;
package fr.iutfbleau.projetIHM2022FI2.Test;
public enum User {
ROOT("root"), PROF("proffeseur"), ETUDIANT("etudiant");