This commit is contained in:
martins 2022-12-08 16:21:33 +01:00
parent ba54790df2
commit 7a8ab8262a
4 changed files with 11 additions and 37 deletions

View File

@ -126,12 +126,4 @@ public interface AbstractGroupeFactory {
* @return le groupe refresh/un parent si il a été refresh * @return le groupe refresh/un parent si il a été refresh
*/ */
public Groupe refreshALL(Groupe g); 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);
} }

View File

@ -269,12 +269,5 @@ public class AbstractGroupeFactoryNP implements AbstractGroupeFactory {
public Groupe refreshALL(Groupe g) { public Groupe refreshALL(Groupe g) {
return g; return g;
} }
@Override
public Groupe refreshOnlyG(Groupe g) {
// TODO Auto-generated method stub
return g;
}
} }

View File

@ -303,11 +303,13 @@ public class AbstractChangementFactoryPersistant implements AbstractChangementFa
private void getChange(){ private void getChange(){
Connection cnx=this.cnx(); Connection cnx=this.cnx();
try{ 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(); ResultSet rs=pst.executeQuery();
while(rs.next()){ 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]; 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)); Etudiant e=new EtudiantNP(rs.getString(6), rs.getString(7), rs.getInt(4));
if(rs.getString(5)!=null){ if(rs.getString(5)!=null){
this.brain.put(rs.getInt(1), new ChangementNP(ab[0], e, ab[1], rs.getInt(1), rs.getString(5))); 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(); pst.close();
}catch(SQLException e){ }catch(SQLException e){
System.out.println(e.toString());
if(this.erreurCO()) if(this.erreurCO())
this.getChange(); this.getChange();
return; 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) * @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){ 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()){ 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;
}
} }
} }

View File

@ -779,12 +779,4 @@ private boolean saveEtu(Etudiant etudiant, Groupe g){
this.addSousGroupe(g, cnx); this.addSousGroupe(g, cnx);
} }
} }
@Override
public Groupe refreshOnlyG(Groupe g) {
Connection cnx = this.cnx();
this.addSousGroupePasRecursif(g, cnx);
this.close(cnx);
return g;
}
} }