MAJ V1.0.5

This commit is contained in:
pablo rodriguez 2023-07-11 14:32:59 +02:00
parent 09918899d8
commit 90467fd81e
9 changed files with 523 additions and 221 deletions

File diff suppressed because one or more lines are too long

View File

@ -54,8 +54,9 @@ public class importInscriptionXLS {
Sheet sheet = workbook.getSheetAt(0);
// Vérification du nom de la feuille
if(!sheet.getSheetName().equals("Inscrits détail")) {
JOptionPane.showMessageDialog(null, "Ce n'est pas une feuille d'inscription de luniversité d'Artois.");
if(!sheet.getSheetName().equals(commandes.nomFeuilleExcel_Inscription)) {
JOptionPane.showMessageDialog(null, "<html>Ce n'est pas une feuille d'inscription de luniversité d'Artois.<br>"
+ "Le nom de la feuille doit être : "+commandes.nomFeuilleExcel_Inscription+"</html>");
return;
}

View File

@ -143,10 +143,9 @@ public class Window_demarre extends JFrame {
frmEvalwriter.setBounds(100, 100, 789, 636);
if(commandes.newVersion) {
frmEvalwriter.setBounds(100, 100, 789, 745);
}
//Affiche le bouton "Nouvelle version dispoinible".
if(commandes.newVersion) frmEvalwriter.setBounds(100, 100, 789, 745);
int screenWidth = (int) java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds().getWidth();
int screenHeight = (int) java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds().getHeight();
@ -243,6 +242,7 @@ public class Window_demarre extends JFrame {
btnNewButton.setForeground(Color.GRAY);
btnNewButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
Window_parametreImportationInscription.Affiche();
}
});
btnNewButton.setFont(new Font("Arial", Font.BOLD, 16));

View File

@ -0,0 +1,232 @@
package Windows;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import java.awt.Font;
import javax.swing.SwingConstants;
import javax.swing.JTextField;
import java.awt.Color;
import javax.swing.JButton;
/**
* Fenêtre permettant de changer les paramètres (nom de la feuille, noms des colonnes).
* Pour importer les inscriptions depuis un classeur Ms Excel.
* @author pabr6
*
*/
public class Window_parametreImportationInscription extends JFrame {
/**
*
*/
private static final long serialVersionUID = 1L;
private JPanel contentPane;
private JTextField txtNomFeuille;
private JTextField txtNomColonneExcel_Formation;
private JTextField txtNomColonneExcel_NomEtudiant;
private JLabel lblleNomColonneExcel_PrenomEtudiant;
private JTextField txtNomColonneExcel_PrenomEtudiant;
private JLabel lblleNomColonneExcel_CodeEtudiant;
private JTextField txtNomColonneExcel_CodeEtudiant;
private JLabel lblleNomColonneExcel_ProfilEtudiant;
private JTextField txtNomColonneExcel_ProfilEtudiant;
private JLabel lblleNomColonneExcel_BacEtudiant;
private JTextField txtNomColonneExcel_BacEtudiant;
private JLabel lblleNomColonneExcel_PortableEtudiant;
private JTextField txtNomColonneExcel_PortableEtudiant;
private JLabel lblleNomColonneExcel_MailPersoEtudiant;
private JTextField txtNomColonneExcel_MailPersoEtudiant;
private JLabel lblleNomColonneExcel_MailPersoEtudiant_1;
private JTextField txtNomColonneExcel_MailUnivEtudiant;
private JButton btnEnregistrer;
private JLabel lblImage;
/**
* Lancement de l'affichage de la fenêtre.
*/
public static void Affiche() {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Window_parametreImportationInscription frame = new Window_parametreImportationInscription();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Crréation de la fenêtre.
*/
public Window_parametreImportationInscription() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
setTitle("Gestion des inscriptions et des groupes - langues - informatique - stage - rentrée");
setBounds(0, 0, 1200, 860);
int screenWidth = (int) java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds().getWidth();
int screenHeight = (int) java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds().getHeight();
setLocation(( (screenWidth) - getWidth()) / 2, (screenHeight - getHeight()) / 2);
setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
getContentPane().setLayout(null);
JLabel lblNomFeuilleExcel = new JLabel("<html>Le nom de la feuille contenant<br>les inscriptions</html>");
lblNomFeuilleExcel.setHorizontalAlignment(SwingConstants.LEFT);
lblNomFeuilleExcel.setFont(new Font("Arial", Font.BOLD, 14));
lblNomFeuilleExcel.setBounds(20, 527, 307, 34);
contentPane.add(lblNomFeuilleExcel);
txtNomFeuille = new JTextField();
txtNomFeuille.setText("Inscrits détail");
txtNomFeuille.setFont(new Font("Tahoma", Font.BOLD, 14));
txtNomFeuille.setBounds(326, 526, 244, 34);
contentPane.add(txtNomFeuille);
txtNomFeuille.setColumns(32);
JLabel lblleNomColonneExcel_Formation = new JLabel("<html>Le nom de la colonne : formation</html>");
lblleNomColonneExcel_Formation.setHorizontalAlignment(SwingConstants.LEFT);
lblleNomColonneExcel_Formation.setFont(new Font("Arial", Font.BOLD, 14));
lblleNomColonneExcel_Formation.setBounds(20, 570, 348, 34);
contentPane.add(lblleNomColonneExcel_Formation);
txtNomColonneExcel_Formation = new JTextField();
txtNomColonneExcel_Formation.setText("IAE - Version d'étape (lib. web)");
txtNomColonneExcel_Formation.setFont(new Font("Tahoma", Font.BOLD, 14));
txtNomColonneExcel_Formation.setColumns(60);
txtNomColonneExcel_Formation.setBounds(326, 571, 244, 34);
contentPane.add(txtNomColonneExcel_Formation);
JLabel lblNewLabel = new JLabel("<html><p>Si vous rencontrez des difficultés pour importer les données à partir du classeur fourni par le service de récupération des inscriptions des étudiants, il est probable que le nom de la feuille dans le classeur ou le nom des colonnes ne correspondent pas à ceux de l'application.</p><br>\r\n<p>Pour résoudre ce problème, veuillez suivre les étapes suivantes :<br>\r\n1 - Ouvrez le classeur fourni.<br>\r\n2 - Copiez les différents noms des colonnes correspondant à chaque information requise par l'application.<br>\r\n3 - Collez ces noms dans les emplacements appropriés ci-dessous.<br>\r\n4 - Cliquez sur le bouton \"Enregistrer\"</p><br>\r\n<p>Une fois ces étapes complétées, les informations seront importées et conservées dans la base de données de l'application. Cela devrait permettre une importation correcte des données et assurer leur enregistrement dans la base de données.</p>");
lblNewLabel.setForeground(Color.BLUE);
lblNewLabel.setFont(new Font("Arial", Font.BOLD, 14));
lblNewLabel.setVerticalAlignment(SwingConstants.TOP);
lblNewLabel.setHorizontalAlignment(SwingConstants.LEFT);
lblNewLabel.setBounds(10, 319, 1164, 201);
contentPane.add(lblNewLabel);
JLabel lblleNomColonneExcel_NomEtudiant = new JLabel("<html>Le nom de la colonne : nom de l'étudiant</html>");
lblleNomColonneExcel_NomEtudiant.setHorizontalAlignment(SwingConstants.LEFT);
lblleNomColonneExcel_NomEtudiant.setFont(new Font("Arial", Font.BOLD, 14));
lblleNomColonneExcel_NomEtudiant.setBounds(20, 615, 348, 34);
contentPane.add(lblleNomColonneExcel_NomEtudiant);
txtNomColonneExcel_NomEtudiant = new JTextField();
txtNomColonneExcel_NomEtudiant.setText("Individu - Nom");
txtNomColonneExcel_NomEtudiant.setFont(new Font("Tahoma", Font.BOLD, 14));
txtNomColonneExcel_NomEtudiant.setColumns(60);
txtNomColonneExcel_NomEtudiant.setBounds(326, 614, 244, 34);
contentPane.add(txtNomColonneExcel_NomEtudiant);
lblleNomColonneExcel_PrenomEtudiant = new JLabel("<html>Le nom de la colonne : prénom de<br>l'étudiant</html>");
lblleNomColonneExcel_PrenomEtudiant.setHorizontalAlignment(SwingConstants.LEFT);
lblleNomColonneExcel_PrenomEtudiant.setFont(new Font("Arial", Font.BOLD, 14));
lblleNomColonneExcel_PrenomEtudiant.setBounds(20, 660, 338, 34);
contentPane.add(lblleNomColonneExcel_PrenomEtudiant);
txtNomColonneExcel_PrenomEtudiant = new JTextField();
txtNomColonneExcel_PrenomEtudiant.setText("Individu - Prénom");
txtNomColonneExcel_PrenomEtudiant.setFont(new Font("Tahoma", Font.BOLD, 14));
txtNomColonneExcel_PrenomEtudiant.setColumns(60);
txtNomColonneExcel_PrenomEtudiant.setBounds(326, 660, 244, 34);
contentPane.add(txtNomColonneExcel_PrenomEtudiant);
lblleNomColonneExcel_CodeEtudiant = new JLabel("<html>Le nom de la colonne : code de l'étudiant</html>");
lblleNomColonneExcel_CodeEtudiant.setHorizontalAlignment(SwingConstants.LEFT);
lblleNomColonneExcel_CodeEtudiant.setFont(new Font("Arial", Font.BOLD, 14));
lblleNomColonneExcel_CodeEtudiant.setBounds(20, 704, 307, 34);
contentPane.add(lblleNomColonneExcel_CodeEtudiant);
txtNomColonneExcel_CodeEtudiant = new JTextField();
txtNomColonneExcel_CodeEtudiant.setText("Individu - Code Etudiant");
txtNomColonneExcel_CodeEtudiant.setFont(new Font("Tahoma", Font.BOLD, 14));
txtNomColonneExcel_CodeEtudiant.setColumns(60);
txtNomColonneExcel_CodeEtudiant.setBounds(326, 705, 244, 34);
contentPane.add(txtNomColonneExcel_CodeEtudiant);
lblleNomColonneExcel_ProfilEtudiant = new JLabel("<html>Le nom de la colonne : profil de<br>l'étudiant</html>");
lblleNomColonneExcel_ProfilEtudiant.setHorizontalAlignment(SwingConstants.LEFT);
lblleNomColonneExcel_ProfilEtudiant.setFont(new Font("Arial", Font.BOLD, 14));
lblleNomColonneExcel_ProfilEtudiant.setBounds(606, 528, 286, 34);
contentPane.add(lblleNomColonneExcel_ProfilEtudiant);
txtNomColonneExcel_ProfilEtudiant = new JTextField();
txtNomColonneExcel_ProfilEtudiant.setText("Profil étudiant (lib.)");
txtNomColonneExcel_ProfilEtudiant.setFont(new Font("Tahoma", Font.BOLD, 14));
txtNomColonneExcel_ProfilEtudiant.setColumns(60);
txtNomColonneExcel_ProfilEtudiant.setBounds(905, 527, 244, 34);
contentPane.add(txtNomColonneExcel_ProfilEtudiant);
lblleNomColonneExcel_BacEtudiant = new JLabel("<html>Le nom de la colonne : bac de l'étudiant</html>");
lblleNomColonneExcel_BacEtudiant.setHorizontalAlignment(SwingConstants.LEFT);
lblleNomColonneExcel_BacEtudiant.setFont(new Font("Arial", Font.BOLD, 14));
lblleNomColonneExcel_BacEtudiant.setBounds(606, 571, 307, 34);
contentPane.add(lblleNomColonneExcel_BacEtudiant);
txtNomColonneExcel_BacEtudiant = new JTextField();
txtNomColonneExcel_BacEtudiant.setText("Bac ou équivalence (lib.)");
txtNomColonneExcel_BacEtudiant.setFont(new Font("Tahoma", Font.BOLD, 14));
txtNomColonneExcel_BacEtudiant.setColumns(60);
txtNomColonneExcel_BacEtudiant.setBounds(905, 571, 244, 34);
contentPane.add(txtNomColonneExcel_BacEtudiant);
lblleNomColonneExcel_PortableEtudiant = new JLabel("<html>Le nom de la colonne : tél. de l'étudiant</html>");
lblleNomColonneExcel_PortableEtudiant.setHorizontalAlignment(SwingConstants.LEFT);
lblleNomColonneExcel_PortableEtudiant.setFont(new Font("Arial", Font.BOLD, 14));
lblleNomColonneExcel_PortableEtudiant.setBounds(606, 616, 307, 34);
contentPane.add(lblleNomColonneExcel_PortableEtudiant);
txtNomColonneExcel_PortableEtudiant = new JTextField();
txtNomColonneExcel_PortableEtudiant.setText("Individu - Tél. portable");
txtNomColonneExcel_PortableEtudiant.setFont(new Font("Tahoma", Font.BOLD, 14));
txtNomColonneExcel_PortableEtudiant.setColumns(60);
txtNomColonneExcel_PortableEtudiant.setBounds(905, 616, 244, 34);
contentPane.add(txtNomColonneExcel_PortableEtudiant);
lblleNomColonneExcel_MailPersoEtudiant = new JLabel("<html>Le nom de la colonne : mail personnelle<br>de l'étudiant</html>");
lblleNomColonneExcel_MailPersoEtudiant.setHorizontalAlignment(SwingConstants.LEFT);
lblleNomColonneExcel_MailPersoEtudiant.setFont(new Font("Arial", Font.BOLD, 14));
lblleNomColonneExcel_MailPersoEtudiant.setBounds(606, 661, 307, 34);
contentPane.add(lblleNomColonneExcel_MailPersoEtudiant);
txtNomColonneExcel_MailPersoEtudiant = new JTextField();
txtNomColonneExcel_MailPersoEtudiant.setText("Individu - Email personnel");
txtNomColonneExcel_MailPersoEtudiant.setFont(new Font("Tahoma", Font.BOLD, 14));
txtNomColonneExcel_MailPersoEtudiant.setColumns(60);
txtNomColonneExcel_MailPersoEtudiant.setBounds(905, 661, 244, 34);
contentPane.add(txtNomColonneExcel_MailPersoEtudiant);
lblleNomColonneExcel_MailPersoEtudiant_1 = new JLabel("<html>Le nom de la colonne : mail université<br>de l'étudiant</html>");
lblleNomColonneExcel_MailPersoEtudiant_1.setHorizontalAlignment(SwingConstants.LEFT);
lblleNomColonneExcel_MailPersoEtudiant_1.setFont(new Font("Arial", Font.BOLD, 14));
lblleNomColonneExcel_MailPersoEtudiant_1.setBounds(606, 705, 307, 34);
contentPane.add(lblleNomColonneExcel_MailPersoEtudiant_1);
txtNomColonneExcel_MailUnivEtudiant = new JTextField();
txtNomColonneExcel_MailUnivEtudiant.setText("Individu - Email");
txtNomColonneExcel_MailUnivEtudiant.setFont(new Font("Tahoma", Font.BOLD, 14));
txtNomColonneExcel_MailUnivEtudiant.setColumns(60);
txtNomColonneExcel_MailUnivEtudiant.setBounds(905, 705, 244, 34);
contentPane.add(txtNomColonneExcel_MailUnivEtudiant);
btnEnregistrer = new JButton("Enregistrer");
btnEnregistrer.setFont(new Font("Tahoma", Font.BOLD, 18));
btnEnregistrer.setBounds(10, 749, 1164, 61);
contentPane.add(btnEnregistrer);
lblImage = new JLabel("");
lblImage.setBounds(10, 11, 1164, 297);
contentPane.add(lblImage);
}
}

View File

@ -53,7 +53,7 @@ public class base {
nBase.setAttribut("Excel_"+commandes.nomColonneMailPersoEtudiant,commandes.nomColonneExcel_MailPersoEtudiant);
nBase.setAttribut("Excel_"+commandes.nomColonneMailUnivEtudiant,commandes.nomColonneExcel_MailUnivEtudiant);
nBase.setAttribut("Excel_Feuille_Inscription",commandes.nomFeuilleExcel_Inscription);
String defaultValue = "2022-2023";

View File

@ -7,8 +7,12 @@ import outils.supprimeCaracatresSpeciaux;
public class correspondanceNomDeColonneInscription {
/**
* Chargement des valeurs qui sont présentes dans la base.
*/
public static void chargement() {
// Valeurs par défaut
if(commandes.nBase!=null) {
commandes.nomColonneFormation = commandes.nBase.getAttributes("Formation");
commandes.nomColonneNomEtudiant = commandes.nBase.getAttributes("Individu_-_Nom");
commandes.nomColonnePrenomEtudiant = commandes.nBase.getAttributes("Individu_-_Prenom");
@ -29,6 +33,12 @@ public class correspondanceNomDeColonneInscription {
commandes.nomColonneExcel_MailPersoEtudiant = commandes.nBase.getAttributes("Excel_Individu_-_Email_personnel");
commandes.nomColonneExcel_MailUnivEtudiant = commandes.nBase.getAttributes("Excel_Individu_-_Email");
commandes.nomFeuilleExcel_Inscription = commandes.nBase.getAttributes("Excel_Feuille_Inscription");
}else {
chargementParDefaut();
}
}
/**
@ -48,6 +58,8 @@ public class correspondanceNomDeColonneInscription {
commandes.nomColonneExcel_MailPersoEtudiant = "Individu - Email personnel";
commandes.nomColonneExcel_MailUnivEtudiant = "Individu - Email";
commandes.nomFeuilleExcel_Inscription = "Inscrits détail";
commandes.nomColonneFormation = supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(commandes.nomColonneExcel_Formation);//"IAE_-_Version_detape_lib._web";
commandes.nomColonneNomEtudiant = supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(commandes.nomColonneExcel_NomEtudiant);//"Individu_-_Nom";
commandes.nomColonnePrenomEtudiant = supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(commandes.nomColonneExcel_PrenomEtudiant);; //"Individu_-_Prenom";

View File

@ -11,8 +11,18 @@ import outils.FileSaveXLSX;
import outils.commandes;
import outils.noeud;
/**
* Exportation de la base ou d'une partie de la base vers un classeur Ms Excel.
* @author pabr6
*
*/
public class exportBaseToExcel {
/**
* type d'exportation
* @author pabr6
*
*/
public static enum exportType {
TABLE,
EMARGEMENT,
@ -20,7 +30,9 @@ public class exportBaseToExcel {
}
/**
* Exportation de toute la base
*/
public static void exportBase() {
// Données
@ -127,7 +139,11 @@ public class exportBaseToExcel {
}
/**
* Exportation de la table pour réaliser la mise à jour ou la feuille d'émargement
* @param nTable
* @param type
*/
public static void exportTable(noeud nTable,exportType type) {
// Données
@ -237,12 +253,7 @@ public class exportBaseToExcel {
JOptionPane.showMessageDialog(null, panel, "Erreur", JOptionPane.ERROR_MESSAGE);
}
}
}

View File

@ -18,6 +18,13 @@ import outils.commandes;
import outils.lectureXML;
import outils.noeud;
/**
* Permet la vérification d'une nouvelle version disponible sur la forge de Chapril.
* Permet la mise à jour de la base pour prendre en cmopte les modifications de l'application.
* Permet de vérifier la compatibilité de la version de la base avec celle de l'application.
* @author pabr6
*
*/
public class VersionChecker {
/**
@ -130,96 +137,25 @@ public class VersionChecker {
String versionDeLaBase = nBase.getAttributes("version");
// les version 1.0.1 et 1.0.2 n'avaient pas l'attribut version dans le noeud de la base.
if(versionDeLaBase==null) {
versionDeLaBase = "1.0.2";
}
if(versionDeLaBase==null) versionDeLaBase = "1.0.2";
String[] VersionApplicationSplit = commandes.version.split("\\.");
String[] VersionBaseSplit = versionDeLaBase.split("\\.");
boolean newV = false;
if( Integer.valueOf(VersionBaseSplit[0]) < Integer.valueOf(VersionApplicationSplit[0]) ) {
newV=true;
}else if ((Integer.valueOf(VersionBaseSplit[0])==Integer.valueOf(VersionApplicationSplit[0]))
&& (Integer.valueOf(VersionBaseSplit[1]) < Integer.valueOf(VersionApplicationSplit[1]))) {
newV=true;
}else if ((Integer.valueOf(VersionBaseSplit[0])==Integer.valueOf(VersionApplicationSplit[0]))
&& (Integer.valueOf(VersionBaseSplit[1]) == Integer.valueOf(VersionApplicationSplit[1]))
&& (Integer.valueOf(VersionBaseSplit[2])<Integer.valueOf(VersionApplicationSplit[2])) ){
newV=true;
}
if(newV) {
// Mise à jour des versions
if(compareLaVersion(versionDeLaBase)) {
nBase.setAttribut("version", commandes.version);
//Modification de la base si elle est de la version 1.0.1 ou 1.0.2
if(versionDeLaBase.equals("1.0.2")) {
String baseToString = nBase.toWrite();
String regex = "\\bGroupe_Langue\\b";
String resultat = baseToString.replaceAll(regex, "Groupe_LV1");
regex = "\\bColonne_Groupe_Langue\\b";
resultat = resultat.replaceAll(regex, "Colonne_Groupe_LV1");
nBase= lectureXML.lectureStringToNoeud(resultat);
for(noeud nFormation : nBase.getFirstChild().getChildren()) {
nFormation.setAttribut("Colonne_Groupe_LV2", "false");
if(nFormation.getAttributes("Colonne_Groupe_LV1")==null) nFormation.addAttribute("Colonne_Groupe_LV1", "true");
if(nFormation.getAttributes("Colonne_Groupe_Documentation")==null) nFormation.addAttribute("Colonne_Groupe_Documentation", "true");
if(nFormation.getAttributes("Colonne_Groupe_Informatique")==null) nFormation.addAttribute("Colonne_Groupe_Informatique", "true");
if(nFormation.getAttributes("Colonne_Groupe_Principal")==null) nFormation.addAttribute("Colonne_Groupe_Principal", "true");
if(nFormation.getAttributes("Colonne_Groupe_Projet")==null) nFormation.addAttribute("Colonne_Groupe_Projet", "true");
if(nFormation.getAttributes("Colonne_Groupe_TD")==null) nFormation.addAttribute("Colonne_Groupe_TD", "true");
if(nFormation.getAttributes("Colonne_LV1")==null) nFormation.addAttribute("Colonne_LV1", "true");
if(nFormation.getAttributes("Colonne_LV2")==null) nFormation.addAttribute("Colonne_LV2", "true");
if(nFormation.getAttributes("Colonne_Regime")==null) nFormation.addAttribute("Colonne_Regime", "true");
if(nFormation.getAttributes("Colonne_Stage1")==null) nFormation.addAttribute("Colonne_Stage1", "true");
if(nFormation.getAttributes("Colonne_Stage2")==null) nFormation.addAttribute("Colonne_Stage2", "true");
if(nFormation.getAttributes("ToutesLesColonnes")==null) nFormation.addAttribute("ToutesLesColonnes", "true");
for(noeud nStudent : nFormation.getChildren()) {
nStudent.addAttribute("Groupe_LV2", "");
}
}
nBase = version102(nBase);
versionDeLaBase = "1.0.3";
}
if(versionDeLaBase.equals("1.0.4")) {
correspondanceNomDeColonneInscription.chargementParDefaut();
nBase.setAttribut("Formation",commandes.nomColonneFormation);
nBase.setAttribut(commandes.nomColonneCodeEtudiant,commandes.nomColonneCodeEtudiant);
nBase.setAttribut(commandes.nomColonneNomEtudiant,commandes.nomColonneNomEtudiant);
nBase.setAttribut(commandes.nomColonnePrenomEtudiant,commandes.nomColonnePrenomEtudiant);
nBase.setAttribut(commandes.nomColonneProfilEtudiant,commandes.nomColonneProfilEtudiant);
nBase.setAttribut(commandes.nomColonneBacEtudiant,commandes.nomColonneBacEtudiant);
nBase.setAttribut(commandes.nomColonnePortableEtudiant,commandes.nomColonnePortableEtudiant);
nBase.setAttribut(commandes.nomColonneMailPersoEtudiant,commandes.nomColonneMailPersoEtudiant);
nBase.setAttribut(commandes.nomColonneMailUnivEtudiant,commandes.nomColonneMailUnivEtudiant);
nBase.setAttribut("Excel_Formation",commandes.nomColonneExcel_Formation);
nBase.setAttribut("Excel_"+commandes.nomColonneCodeEtudiant,commandes.nomColonneExcel_CodeEtudiant);
nBase.setAttribut("Excel_"+commandes.nomColonneNomEtudiant,commandes.nomColonneExcel_NomEtudiant);
nBase.setAttribut("Excel_"+commandes.nomColonnePrenomEtudiant,commandes.nomColonneExcel_PrenomEtudiant);
nBase.setAttribut("Excel_"+commandes.nomColonneProfilEtudiant,commandes.nomColonneExcel_ProfilEtudiant);
nBase.setAttribut("Excel_"+commandes.nomColonneBacEtudiant,commandes.nomColonneExcel_BacEtudiant);
nBase.setAttribut("Excel_"+commandes.nomColonnePortableEtudiant,commandes.nomColonneExcel_PortableEtudiant);
nBase.setAttribut("Excel_"+commandes.nomColonneMailPersoEtudiant,commandes.nomColonneExcel_MailPersoEtudiant);
nBase.setAttribut("Excel_"+commandes.nomColonneMailUnivEtudiant,commandes.nomColonneExcel_MailUnivEtudiant);
for(noeud nFormation : nBase.getFirstChild().getChildren()) {
nFormation.setAttribut("Colonne_Groupe_TP", "true");
for(noeud nStudent : nFormation.getChildren()) {
nStudent.addAttribute("Groupe_TP", "");
}
if(versionDeLaBase.equals("1.0.3") && compareLaVersion(versionDeLaBase)) {
versionDeLaBase = "1.0.4";
}
if(versionDeLaBase.equals("1.0.4") && compareLaVersion(versionDeLaBase)) {
nBase = version104(nBase);
versionDeLaBase = "1.0.5";
}
@ -251,5 +187,110 @@ public class VersionChecker {
return resultat;
}
/***
* Compare la version de la base avec la version de l'application.
* @param VersionBase
* @return
*/
public static boolean compareLaVersion(String VersionBase ) {
String[] VersionApplicationSplit = commandes.version.split("\\.");
String[] VersionBaseSplit = VersionBase.split("\\.");
boolean newVersion = false;
if( Integer.valueOf(VersionBaseSplit[0]) < Integer.valueOf(VersionApplicationSplit[0]) ) {
newVersion=true;
}else if ((Integer.valueOf(VersionBaseSplit[0])==Integer.valueOf(VersionApplicationSplit[0]))
&& (Integer.valueOf(VersionBaseSplit[1]) < Integer.valueOf(VersionApplicationSplit[1]))) {
newVersion=true;
}else if ((Integer.valueOf(VersionBaseSplit[0])==Integer.valueOf(VersionApplicationSplit[0]))
&& (Integer.valueOf(VersionBaseSplit[1]) == Integer.valueOf(VersionApplicationSplit[1]))
&& (Integer.valueOf(VersionBaseSplit[2])<Integer.valueOf(VersionApplicationSplit[2])) ){
newVersion=true;
}
return newVersion;
}
/**
* Mise à jour de la version 1.0.2
* @param nBase
* @return
*/
public static noeud version102(noeud nBase) {
String baseToString = nBase.toWrite();
String regex = "\\bGroupe_Langue\\b";
String resultat = baseToString.replaceAll(regex, "Groupe_LV1");
regex = "\\bColonne_Groupe_Langue\\b";
resultat = resultat.replaceAll(regex, "Colonne_Groupe_LV1");
nBase= lectureXML.lectureStringToNoeud(resultat);
for(noeud nFormation : nBase.getFirstChild().getChildren()) {
nFormation.setAttribut("Colonne_Groupe_LV2", "false");
if(nFormation.getAttributes("Colonne_Groupe_LV1")==null) nFormation.addAttribute("Colonne_Groupe_LV1", "true");
if(nFormation.getAttributes("Colonne_Groupe_Documentation")==null) nFormation.addAttribute("Colonne_Groupe_Documentation", "true");
if(nFormation.getAttributes("Colonne_Groupe_Informatique")==null) nFormation.addAttribute("Colonne_Groupe_Informatique", "true");
if(nFormation.getAttributes("Colonne_Groupe_Principal")==null) nFormation.addAttribute("Colonne_Groupe_Principal", "true");
if(nFormation.getAttributes("Colonne_Groupe_Projet")==null) nFormation.addAttribute("Colonne_Groupe_Projet", "true");
if(nFormation.getAttributes("Colonne_Groupe_TD")==null) nFormation.addAttribute("Colonne_Groupe_TD", "true");
if(nFormation.getAttributes("Colonne_LV1")==null) nFormation.addAttribute("Colonne_LV1", "true");
if(nFormation.getAttributes("Colonne_LV2")==null) nFormation.addAttribute("Colonne_LV2", "true");
if(nFormation.getAttributes("Colonne_Regime")==null) nFormation.addAttribute("Colonne_Regime", "true");
if(nFormation.getAttributes("Colonne_Stage1")==null) nFormation.addAttribute("Colonne_Stage1", "true");
if(nFormation.getAttributes("Colonne_Stage2")==null) nFormation.addAttribute("Colonne_Stage2", "true");
if(nFormation.getAttributes("ToutesLesColonnes")==null) nFormation.addAttribute("ToutesLesColonnes", "true");
for(noeud nStudent : nFormation.getChildren()) {
nStudent.addAttribute("Groupe_LV2", "");
}
}
return nBase;
}
/**
* Mise à jour de la version 1.0.4
* @param nBase
* @return
*/
public static noeud version104(noeud nBase) {
correspondanceNomDeColonneInscription.chargementParDefaut();
nBase.setAttribut("Formation",commandes.nomColonneFormation);
nBase.setAttribut(commandes.nomColonneCodeEtudiant,commandes.nomColonneCodeEtudiant);
nBase.setAttribut(commandes.nomColonneNomEtudiant,commandes.nomColonneNomEtudiant);
nBase.setAttribut(commandes.nomColonnePrenomEtudiant,commandes.nomColonnePrenomEtudiant);
nBase.setAttribut(commandes.nomColonneProfilEtudiant,commandes.nomColonneProfilEtudiant);
nBase.setAttribut(commandes.nomColonneBacEtudiant,commandes.nomColonneBacEtudiant);
nBase.setAttribut(commandes.nomColonnePortableEtudiant,commandes.nomColonnePortableEtudiant);
nBase.setAttribut(commandes.nomColonneMailPersoEtudiant,commandes.nomColonneMailPersoEtudiant);
nBase.setAttribut(commandes.nomColonneMailUnivEtudiant,commandes.nomColonneMailUnivEtudiant);
nBase.setAttribut("Excel_Formation",commandes.nomColonneExcel_Formation);
nBase.setAttribut("Excel_"+commandes.nomColonneCodeEtudiant,commandes.nomColonneExcel_CodeEtudiant);
nBase.setAttribut("Excel_"+commandes.nomColonneNomEtudiant,commandes.nomColonneExcel_NomEtudiant);
nBase.setAttribut("Excel_"+commandes.nomColonnePrenomEtudiant,commandes.nomColonneExcel_PrenomEtudiant);
nBase.setAttribut("Excel_"+commandes.nomColonneProfilEtudiant,commandes.nomColonneExcel_ProfilEtudiant);
nBase.setAttribut("Excel_"+commandes.nomColonneBacEtudiant,commandes.nomColonneExcel_BacEtudiant);
nBase.setAttribut("Excel_"+commandes.nomColonnePortableEtudiant,commandes.nomColonneExcel_PortableEtudiant);
nBase.setAttribut("Excel_"+commandes.nomColonneMailPersoEtudiant,commandes.nomColonneExcel_MailPersoEtudiant);
nBase.setAttribut("Excel_"+commandes.nomColonneMailUnivEtudiant,commandes.nomColonneExcel_MailUnivEtudiant);
nBase.setAttribut("Excel_Feuille_Inscription",commandes.nomFeuilleExcel_Inscription);
// Ajoute le groupe_TP dans la base.
for(noeud nFormation : nBase.getFirstChild().getChildren()) {
nFormation.setAttribut("Colonne_Groupe_TP", "true");
for(noeud nStudent : nFormation.getChildren()) {
nStudent.addAttribute("Groupe_TP", "");
}
}
return nBase;
}
}

View File

@ -1,5 +1,10 @@
package outils;
/**
* Variables pour l'ensemble de l'application.
* @author pabr6
*
*/
public class commandes {
public static noeud nBase = null; // La base de données sous forme de noeud.
@ -27,7 +32,7 @@ public class commandes {
public static String nomColonneExcel_PortableEtudiant = null;
public static String nomColonneExcel_MailPersoEtudiant = null;
public static String nomColonneExcel_MailUnivEtudiant = null;
public static String nomFeuilleExcel_Inscription = null;
// Messages et sécurité
public static Boolean newVersion = false; //Permet de vérifier l'existance d'un nouvelle version.