diff --git a/src/fr/iutfbleau/projetIHM2022FI2/API/AbstractGroupeFactory.java b/src/fr/iutfbleau/projetIHM2022FI2/API/AbstractGroupeFactory.java index 3307c93..37959ee 100644 --- a/src/fr/iutfbleau/projetIHM2022FI2/API/AbstractGroupeFactory.java +++ b/src/fr/iutfbleau/projetIHM2022FI2/API/AbstractGroupeFactory.java @@ -126,12 +126,4 @@ public interface AbstractGroupeFactory { * @return le groupe refresh/un parent si il a été refresh */ public Groupe refreshALL(Groupe g); - - - /** - * refresh le Groupe seulement - * @param g le groupe - * @return le groupe refresh/un parent si il a été refresh - */ - public Groupe refreshOnlyG(Groupe g); } diff --git a/src/fr/iutfbleau/projetIHM2022FI2/MNP/AbstractGroupeFactoryNP.java b/src/fr/iutfbleau/projetIHM2022FI2/MNP/AbstractGroupeFactoryNP.java index cd64266..dac1d8b 100644 --- a/src/fr/iutfbleau/projetIHM2022FI2/MNP/AbstractGroupeFactoryNP.java +++ b/src/fr/iutfbleau/projetIHM2022FI2/MNP/AbstractGroupeFactoryNP.java @@ -269,12 +269,5 @@ public class AbstractGroupeFactoryNP implements AbstractGroupeFactory { public Groupe refreshALL(Groupe g) { return g; } - - @Override - public Groupe refreshOnlyG(Groupe g) { - // TODO Auto-generated method stub - return g; - } - } diff --git a/src/fr/iutfbleau/projetIHM2022FI2/MP/AbstractChangementFactoryPersistant.java b/src/fr/iutfbleau/projetIHM2022FI2/MP/AbstractChangementFactoryPersistant.java index f6cc984..deb36d3 100644 --- a/src/fr/iutfbleau/projetIHM2022FI2/MP/AbstractChangementFactoryPersistant.java +++ b/src/fr/iutfbleau/projetIHM2022FI2/MP/AbstractChangementFactoryPersistant.java @@ -303,11 +303,13 @@ public class AbstractChangementFactoryPersistant implements AbstractChangementFa private void getChange(){ Connection cnx=this.cnx(); try{ - PreparedStatement pst=cnx.prepareStatement("SELECT * FROM `Changement` NATURAL JOIN Etudiant; "); + PreparedStatement pst=cnx.prepareStatement("SELECT * FROM `Changement` NATURAL JOIN Etudiant LEFT OUTER JOIN Groupe ON Groupe.id=(SELECT Groupe.`id-parent` from Groupe where Groupe.id=Changement.idGroupeA); "); ResultSet rs=pst.executeQuery(); while(rs.next()){ + Groupe parent=new GroupeNP(rs.getInt(8), rs.getString(9), rs.getInt(10), rs.getInt(11), TypeGroupe.getType(rs.getString(12)), null); Groupe[] ab=new Groupe[2]; - this.getGroupe(rs.getInt(2), rs.getInt(3), ab, this.agf.getPromotion()); + this.agf.refreshALL(parent); + this.getGroupe(rs.getInt(2), rs.getInt(3), ab, parent); Etudiant e=new EtudiantNP(rs.getString(6), rs.getString(7), rs.getInt(4)); if(rs.getString(5)!=null){ this.brain.put(rs.getInt(1), new ChangementNP(ab[0], e, ab[1], rs.getInt(1), rs.getString(5))); @@ -317,6 +319,7 @@ public class AbstractChangementFactoryPersistant implements AbstractChangementFa } pst.close(); }catch(SQLException e){ + System.out.println(e.toString()); if(this.erreurCO()) this.getChange(); return; @@ -332,19 +335,13 @@ public class AbstractChangementFactoryPersistant implements AbstractChangementFa * @param toFind le groupe à comparer (ou groupe père pour la première itération) */ private void getGroupe(int idA, int idB, Groupe[] retour, Groupe tofind){ - if(retour[0]!=null && retour[1]!=null) - return; - if(tofind.getId()==idA){ - retour[0]=tofind; - return; - } - if(tofind.getId()==idB){ - retour[1]=tofind; - return; - } - this.agf.refreshOnlyG(tofind); for(Groupe sous:tofind.getSousGroupes()){ - this.getGroupe(idA, idB, retour, sous); + if(idA==sous.getId()){ + retour[0]=sous; + } + if(idB==sous.getId()){ + retour[1]=sous; + } } } diff --git a/src/fr/iutfbleau/projetIHM2022FI2/MP/AbstractGroupeFactoryPersistant.java b/src/fr/iutfbleau/projetIHM2022FI2/MP/AbstractGroupeFactoryPersistant.java index 7c076a7..96a6c22 100644 --- a/src/fr/iutfbleau/projetIHM2022FI2/MP/AbstractGroupeFactoryPersistant.java +++ b/src/fr/iutfbleau/projetIHM2022FI2/MP/AbstractGroupeFactoryPersistant.java @@ -779,12 +779,4 @@ private boolean saveEtu(Etudiant etudiant, Groupe g){ this.addSousGroupe(g, cnx); } } - -@Override -public Groupe refreshOnlyG(Groupe g) { - Connection cnx = this.cnx(); - this.addSousGroupePasRecursif(g, cnx); - this.close(cnx); - return g; -} }