presque fini MPD
This commit is contained in:
parent
191635b8f7
commit
d4619fab09
@ -110,6 +110,14 @@ public interface AbstractGroupeFactory {
|
|||||||
*/
|
*/
|
||||||
public Set<Groupe> getGroupesOfEtudiant(Etudiant etu);
|
public Set<Groupe> getGroupesOfEtudiant(Etudiant etu);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* permet d'ajouter un groupe deja tout fait la factory
|
||||||
|
*
|
||||||
|
* @param adable le groupe devant être ajouter
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* @throws java.lang.NullPointerException si le Groupe est null.
|
||||||
|
*/
|
||||||
|
public void addGroupe(Groupe adable);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
package fr.iutfbleau.projetIHM2022FI2.Graphic;
|
package fr.iutfbleau.projetIHM2022FI2.Graphic;
|
||||||
import java.sql.PreparedStatement;
|
import java.sql.PreparedStatement;
|
||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
|
import java.util.Iterator;
|
||||||
import java.util.LinkedList;
|
import java.util.LinkedList;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import java.sql.Connection;
|
import java.sql.Connection;
|
||||||
@ -29,6 +30,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());
|
||||||
|
Groupe racineDeLaPartition = agf.getPromotion().getSousGroupes().iterator().next();
|
||||||
|
System.out.println(racineDeLaPartition.monPrint());
|
||||||
|
for(Groupe g : racineDeLaPartition.getSousGroupes()){
|
||||||
|
System.out.println(g.monPrint());
|
||||||
|
}*/
|
||||||
}
|
}
|
||||||
|
|
||||||
private void getPromo(){
|
private void getPromo(){
|
||||||
@ -47,16 +55,15 @@ public class Graphic{
|
|||||||
try{
|
try{
|
||||||
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.addSousGroupe(promo);
|
||||||
}
|
}
|
||||||
while(rs.next()){
|
while(rs.next()){
|
||||||
System.out.println(rs.getString(1));
|
Groupe g=new GroupeNP(rs.getInt(1), rs.getString(2), rs.getInt(3), rs.getInt(4), TypeGroupe.getType(rs.getString(5)), null);
|
||||||
//valeur sentinel pour pas de groupe parent : -1
|
if(agf.knows(g)==false){
|
||||||
if(rs.getInt(6)!=-1){
|
agf.addGroupe(g);
|
||||||
//ll.add(new GroupeNP(rs.getInt(1), rs.getString(2), rs.getInt(3), rs.getInt(4), TypeGroupe.getType(rs.getString(5)), ll.get(rs.getInt(6))));
|
this.addSousGroupe(g);
|
||||||
}else{
|
|
||||||
//ll.add(new GroupeNP(rs.getInt(1), rs.getString(2), rs.getInt(3), rs.getInt(4), TypeGroupe.getType(rs.getString(5)), null));
|
|
||||||
}
|
}
|
||||||
//il reste a add les étudiants et mettre le sous groupe
|
|
||||||
}
|
}
|
||||||
}catch(SQLException e){
|
}catch(SQLException e){
|
||||||
System.out.println("erreur dans la prise de resultat");
|
System.out.println("erreur dans la prise de resultat");
|
||||||
@ -86,17 +93,25 @@ public class Graphic{
|
|||||||
"chaignea", "Chaigneauphpmyadmin");
|
"chaignea", "Chaigneauphpmyadmin");
|
||||||
try{
|
try{
|
||||||
PreparedStatement pst = cnx.prepareStatement(
|
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`=?; ");
|
"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{
|
||||||
|
pst.setInt(g.getId(), 1);
|
||||||
|
ResultSet rs=pst.executeQuery();
|
||||||
try{
|
try{
|
||||||
|
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){
|
}catch(SQLException e){
|
||||||
System.out.println("erreur dans la prise de resultat");
|
System.out.println("erreur dans la prise de resultat");
|
||||||
}
|
}
|
||||||
rs.close();
|
rs.close();
|
||||||
}catch(SQLException e){
|
}catch(SQLException e){
|
||||||
System.out.println("erreur dans le resultat");
|
//ils n'ont pas de sous groupe
|
||||||
|
System.out.println(g.getId() + "est le pere");
|
||||||
}
|
}
|
||||||
pst.close();
|
pst.close();
|
||||||
}catch(SQLException e){
|
}catch(SQLException e){
|
||||||
|
@ -37,6 +37,8 @@ public class AbstractGroupeFactoryNP implements AbstractGroupeFactory {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Test plutôt optimiste. Si la clé est identique alors on fait comme si c'était le bon groupe.
|
* Test plutôt optimiste. Si la clé est identique alors on fait comme si c'était le bon groupe.
|
||||||
|
*
|
||||||
|
* @return true si le groupe est connu
|
||||||
*/
|
*/
|
||||||
public Boolean knows(Groupe g){
|
public Boolean knows(Groupe g){
|
||||||
return this.brain.containsKey(Integer.valueOf(g.getId()));
|
return this.brain.containsKey(Integer.valueOf(g.getId()));
|
||||||
@ -238,8 +240,14 @@ public class AbstractGroupeFactoryNP implements AbstractGroupeFactory {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Fonction permettant d'ajouter le groupe de la promo a la factory
|
* permet d'ajouter un groupe deja tout fait la factory
|
||||||
* @param g le groupe qui représente la promo
|
*
|
||||||
* @return true si il n'y a pas de promo, autrement false
|
* @param adable le groupe devant être ajouter
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* @throws java.lang.NullPointerException si le Groupe est null.
|
||||||
*/
|
*/
|
||||||
|
public void addGroupe(Groupe adable) {
|
||||||
|
this.brain.put(adable.getId(), adable);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -37,7 +37,7 @@ public class GroupeNP implements Groupe {
|
|||||||
/**
|
/**
|
||||||
* Nouveau groupe complet (pour le modèle persisant de donnée)
|
* Nouveau groupe complet (pour le modèle persisant de donnée)
|
||||||
*/
|
*/
|
||||||
public GroupeNP(int id, String name, int min, int max, TypeGroupe type, Groupe parent){
|
public GroupeNP(int id, String name, int min, int max, TypeGroupe type, Groupe pere){
|
||||||
Objects.requireNonNull(name,"On ne peut pas créer un groupe dont le nom est null");
|
Objects.requireNonNull(name,"On ne peut pas créer un groupe dont le nom est null");
|
||||||
this.id=id;
|
this.id=id;
|
||||||
this.nextId++;
|
this.nextId++;
|
||||||
@ -45,7 +45,11 @@ public class GroupeNP implements Groupe {
|
|||||||
this.min=min;
|
this.min=min;
|
||||||
this.max=max;
|
this.max=max;
|
||||||
this.type=type;
|
this.type=type;
|
||||||
this.pointPoint=parent;
|
if(pere==null){
|
||||||
|
this.pointPoint=this;
|
||||||
|
}else{
|
||||||
|
this.pointPoint=pere;
|
||||||
|
}
|
||||||
this.sousGroupes=new LinkedHashSet<Groupe>();
|
this.sousGroupes=new LinkedHashSet<Groupe>();
|
||||||
this.membresDuGroupe=new LinkedHashSet<Etudiant>();
|
this.membresDuGroupe=new LinkedHashSet<Etudiant>();
|
||||||
}
|
}
|
||||||
|
@ -239,6 +239,10 @@ public class TestTexteMNP{
|
|||||||
for (Changement cgt : acf.getAllChangements()){
|
for (Changement cgt : acf.getAllChangements()){
|
||||||
////System.out.println(cgt.monPrint());
|
////System.out.println(cgt.monPrint());
|
||||||
}*/
|
}*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
try{
|
try{
|
||||||
Class.forName("org.mariadb.jdbc.Driver");
|
Class.forName("org.mariadb.jdbc.Driver");
|
||||||
try{
|
try{
|
||||||
@ -264,7 +268,7 @@ public class TestTexteMNP{
|
|||||||
}
|
}
|
||||||
}catch(ClassNotFoundException ef){
|
}catch(ClassNotFoundException ef){
|
||||||
System.out.println("pilote non disponible");
|
System.out.println("pilote non disponible");
|
||||||
}
|
}*/
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user