fin Modele Persistant de Donnée
This commit is contained in:
parent
d4619fab09
commit
82c4b78930
@ -17,6 +17,7 @@ import fr.iutfbleau.projetIHM2022FI2.API.Groupe;
|
|||||||
import fr.iutfbleau.projetIHM2022FI2.API.TypeGroupe;
|
import fr.iutfbleau.projetIHM2022FI2.API.TypeGroupe;
|
||||||
import fr.iutfbleau.projetIHM2022FI2.Graphic.View.PaintGroupe;
|
import fr.iutfbleau.projetIHM2022FI2.Graphic.View.PaintGroupe;
|
||||||
import fr.iutfbleau.projetIHM2022FI2.MNP.AbstractGroupeFactoryNP;
|
import fr.iutfbleau.projetIHM2022FI2.MNP.AbstractGroupeFactoryNP;
|
||||||
|
import fr.iutfbleau.projetIHM2022FI2.MNP.EtudiantNP;
|
||||||
import fr.iutfbleau.projetIHM2022FI2.MNP.GroupeNP;
|
import fr.iutfbleau.projetIHM2022FI2.MNP.GroupeNP;
|
||||||
|
|
||||||
public class Graphic{
|
public class Graphic{
|
||||||
@ -30,13 +31,13 @@ public class Graphic{
|
|||||||
this.fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
this.fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
||||||
this.getPromo();
|
this.getPromo();
|
||||||
this.fenetre.setVisible(true);
|
this.fenetre.setVisible(true);
|
||||||
/*
|
|
||||||
System.out.println(this.agf.getPromotion().monPrint());
|
System.out.println(this.agf.getPromotion().monPrint());
|
||||||
Groupe racineDeLaPartition = agf.getPromotion().getSousGroupes().iterator().next();
|
Groupe racineDeLaPartition = agf.getPromotion().getSousGroupes().iterator().next();
|
||||||
System.out.println(racineDeLaPartition.monPrint());
|
System.out.println(racineDeLaPartition.monPrint());
|
||||||
for(Groupe g : racineDeLaPartition.getSousGroupes()){
|
for(Groupe g : racineDeLaPartition.getSousGroupes()){
|
||||||
System.out.println(g.monPrint());
|
System.out.println(g.monPrint());
|
||||||
}*/
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void getPromo(){
|
private void getPromo(){
|
||||||
@ -56,13 +57,13 @@ public class Graphic{
|
|||||||
if(rs.first()){
|
if(rs.first()){
|
||||||
Groupe promo=new GroupeNP(rs.getInt(1), rs.getString(2), rs.getInt(3), rs.getInt(4), TypeGroupe.getType(rs.getString(5)), null);
|
Groupe promo=new GroupeNP(rs.getInt(1), rs.getString(2), rs.getInt(3), rs.getInt(4), TypeGroupe.getType(rs.getString(5)), null);
|
||||||
this.agf=new AbstractGroupeFactoryNP(promo);
|
this.agf=new AbstractGroupeFactoryNP(promo);
|
||||||
this.addSousGroupe(promo);
|
this.addSousGroupe(promo, cnx);
|
||||||
}
|
}
|
||||||
while(rs.next()){
|
while(rs.next()){
|
||||||
Groupe g=new GroupeNP(rs.getInt(1), rs.getString(2), rs.getInt(3), rs.getInt(4), TypeGroupe.getType(rs.getString(5)), null);
|
Groupe g=new GroupeNP(rs.getInt(1), rs.getString(2), rs.getInt(3), rs.getInt(4), TypeGroupe.getType(rs.getString(5)), null);
|
||||||
if(agf.knows(g)==false){
|
if(agf.knows(g)==false){
|
||||||
agf.addGroupe(g);
|
agf.addGroupe(g);
|
||||||
this.addSousGroupe(g);
|
this.addSousGroupe(g, cnx);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}catch(SQLException e){
|
}catch(SQLException e){
|
||||||
@ -84,45 +85,56 @@ public class Graphic{
|
|||||||
System.out.println("pilote non disponible");
|
System.out.println("pilote non disponible");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private void addSousGroupe(Groupe g){
|
private void addSousGroupe(Groupe g, Connection cnx){
|
||||||
|
this.addEtudiant(g, cnx);
|
||||||
try{
|
try{
|
||||||
Class.forName("org.mariadb.jdbc.Driver");
|
PreparedStatement pst= cnx.prepareStatement(
|
||||||
|
"SELECT `id`, `nom`, `min`, `max`, `value`, `id-parent` FROM `Groupe` join `TYPE` on Groupe.Type=TYPE.name where Groupe.`id-parent`=? and Groupe.id!=Groupe.`id-parent`;");
|
||||||
try{
|
try{
|
||||||
Connection cnx = DriverManager.getConnection(
|
pst.setString(1, String.valueOf(g.getId()));
|
||||||
"jdbc:mariadb://dwarves.iut-fbleau.fr/chaignea",
|
ResultSet rs=pst.executeQuery();
|
||||||
"chaignea", "Chaigneauphpmyadmin");
|
|
||||||
try{
|
try{
|
||||||
PreparedStatement pst = cnx.prepareStatement(
|
while(rs.next()){
|
||||||
"SELECT `id`, `nom`, `min`, `max`, `value`, `id-parent` FROM `Groupe` join `TYPE` on Groupe.Type=TYPE.name where Groupe.`id-parent`=? and Groupe.id!=Groupe.`id-parent`;");
|
System.out.println(g.getName()+" id= "+g.getId()+" "+rs.getString(2));
|
||||||
try{
|
Groupe nouveau=new GroupeNP(rs.getInt(1), rs.getString(2), rs.getInt(3), rs.getInt(4), TypeGroupe.getType(rs.getString(5)), g);
|
||||||
pst.setInt(g.getId(), 1);
|
this.agf.addGroupe(nouveau);
|
||||||
ResultSet rs=pst.executeQuery();
|
g.addSousGroupe(nouveau);
|
||||||
try{
|
this.addSousGroupe(nouveau, cnx);
|
||||||
while(rs.next()){
|
|
||||||
System.out.println(g.getName()+" "+rs.getString(2));
|
|
||||||
Groupe nouveau=new GroupeNP(rs.getInt(1), rs.getString(2), rs.getInt(3), rs.getInt(4), TypeGroupe.getType(rs.getString(5)), g);
|
|
||||||
this.agf.addGroupe(nouveau);
|
|
||||||
g.addSousGroupe(nouveau);
|
|
||||||
this.addSousGroupe(nouveau);
|
|
||||||
}
|
|
||||||
}catch(SQLException e){
|
|
||||||
System.out.println("erreur dans la prise de resultat");
|
|
||||||
}
|
|
||||||
rs.close();
|
|
||||||
}catch(SQLException e){
|
|
||||||
//ils n'ont pas de sous groupe
|
|
||||||
System.out.println(g.getId() + "est le pere");
|
|
||||||
}
|
}
|
||||||
pst.close();
|
|
||||||
}catch(SQLException e){
|
}catch(SQLException e){
|
||||||
System.out.println("erreur dans la preparation");
|
System.out.println("erreur dans la prise de resultat");
|
||||||
}
|
}
|
||||||
cnx.close();
|
rs.close();
|
||||||
}catch(SQLException e){
|
}catch(SQLException e){
|
||||||
System.out.println("Erreur dans la connexion!");
|
System.out.println("erreur dans la préparation");
|
||||||
}
|
}
|
||||||
}catch(ClassNotFoundException e){
|
pst.close();
|
||||||
System.out.println("pilote non disponible");
|
}catch(SQLException e){
|
||||||
|
System.out.println("erreur debut requete");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void addEtudiant(Groupe g, Connection cnx){
|
||||||
|
try{
|
||||||
|
PreparedStatement pst= cnx.prepareStatement(
|
||||||
|
"SELECT Etudiant.nom, Etudiant.prenom, Etudiant.id FROM `Etudiant` NATURAL JOIN CONTIENT WHERE CONTIENT.idGroupe=? Group BY Etudiant.id;");
|
||||||
|
try{
|
||||||
|
pst.setString(1, String.valueOf(g.getId()));
|
||||||
|
ResultSet rs=pst.executeQuery();
|
||||||
|
try{
|
||||||
|
while(rs.next()){
|
||||||
|
this.agf.addToGroupe(g, new EtudiantNP(rs.getString(1), rs.getString(2)));
|
||||||
|
}
|
||||||
|
}catch(SQLException e){
|
||||||
|
System.out.println("erreur dans la prise de resultat");
|
||||||
|
}
|
||||||
|
rs.close();
|
||||||
|
}catch(SQLException e){
|
||||||
|
System.out.println("erreur dans la préparation");
|
||||||
|
}
|
||||||
|
pst.close();
|
||||||
|
}catch(SQLException e){
|
||||||
|
System.out.println("erreur debut requete");
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user