diff --git a/base/archiveBase.zip b/base/archiveBase.zip index ea11d19..aa2a851 100644 Binary files a/base/archiveBase.zip and b/base/archiveBase.zip differ diff --git a/base/base.xml b/base/base.xml index bbcd6f8..7925e5d 100644 --- a/base/base.xml +++ b/base/base.xml @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/base/base_sauvegarde.xml b/base/base_sauvegarde.xml index 2d37f4c..f539c10 100644 --- a/base/base_sauvegarde.xml +++ b/base/base_sauvegarde.xml @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/resources/portevoie.svg b/resources/portevoie.svg new file mode 100644 index 0000000..8137365 --- /dev/null +++ b/resources/portevoie.svg @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + + + diff --git a/src/Inscriptions/importInscriptionXLS.java b/src/Inscriptions/importInscriptionXLS.java index 8f9c33e..b80585e 100644 --- a/src/Inscriptions/importInscriptionXLS.java +++ b/src/Inscriptions/importInscriptionXLS.java @@ -73,7 +73,7 @@ public class importInscriptionXLS { for (Cell cell : sheet.getRow(0)) { if(cell.getCellType()==CellType.STRING) { - String nameColumns = supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(cell.getStringCellValue()); + String nameColumns = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(cell.getStringCellValue()); if(nameColumns.equals(commandes.nomColonneNomEtudiant)) nomPresent=true; if(nameColumns.equals(commandes.nomColonnePrenomEtudiant)) prenomPresent=true; if(nameColumns.equals(commandes.nomColonneCodeEtudiant)) codePresent=true; @@ -119,14 +119,14 @@ public class importInscriptionXLS { // Création ou insertion des informations récupéré dans le HashMap Student; if(Student.get(commandes.nomColonneExcel_Formation)!=null) { - String nameFormation = supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(Student.get(commandes.nomColonneExcel_Formation)); + String nameFormation = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(Student.get(commandes.nomColonneExcel_Formation)); noeud nFormation = null; // récupère le noeud formation ou bien création du noeud formation if(nYear.getChild(nameFormation)!=null) { nFormation = nYear.getChild(nameFormation); }else { - nFormation = new noeud(supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(nameFormation)); + nFormation = new noeud(supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(nameFormation)); nFormation.setAttribut("Colonne_Groupe_Documentation", "true"); nFormation.setAttribut("Colonne_Groupe_Informatique", "true"); nFormation.setAttribut("Colonne_Groupe_LV1", "true"); @@ -175,7 +175,7 @@ public class importInscriptionXLS { || entry.getKey().equals(commandes.nomColonneExcel_MailPersoEtudiant) || entry.getKey().equals(commandes.nomColonneExcel_MailUnivEtudiant) || entry.getKey().equals(commandes.nomColonneExcel_PortableEtudiant)) { - nStudent.setAttribut(supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(entry.getKey()), entry.getValue()); + nStudent.setAttribut(supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(entry.getKey()), entry.getValue()); } } diff --git a/src/Inscriptions/lectureCSV.java b/src/Inscriptions/lectureCSV.java index b1392b8..07f9268 100644 --- a/src/Inscriptions/lectureCSV.java +++ b/src/Inscriptions/lectureCSV.java @@ -35,7 +35,7 @@ public class lectureCSV { entete = false; int compteur = 0 ; for (String value : data) { - value = supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(value); + value = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(value); Head.setAttribut("C"+String.valueOf(compteur), value); compteur++; } diff --git a/src/Inscriptions/majBaseWithCSV.java b/src/Inscriptions/majBaseWithCSV.java index 167d179..bee636d 100644 --- a/src/Inscriptions/majBaseWithCSV.java +++ b/src/Inscriptions/majBaseWithCSV.java @@ -22,7 +22,7 @@ public class majBaseWithCSV { if(nCSV.getChildren().get(i).getAttributes("IAE_-_Etape_lib.")!=null) { if(!nCSV.getChildren().get(i).getAttributes("IAE_-_Etape_lib.").isEmpty()) { if(!isExisteFormationIntoBase(nBase, nCSV.getChildren().get(i).getAttributes("IAE_-_Etape_lib."))) { - noeud nFormation = new noeud( supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(nCSV.getChildren().get(i).getAttributes("IAE_-_Etape_lib."))); + noeud nFormation = new noeud( supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(nCSV.getChildren().get(i).getAttributes("IAE_-_Etape_lib."))); nFormation.setAttribut("Colonne_Groupe_Documentation", "true"); nFormation.setAttribut("Colonne_Groupe_Informatique", "true"); nFormation.setAttribut("Colonne_Groupe_LV1", "true"); @@ -57,7 +57,7 @@ public class majBaseWithCSV { private static boolean isExisteFormationIntoBase(noeud nBase , String attribut) { if(defaut_Year!=null) { - if(nBase.getChild(defaut_Year).getChild(supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(attribut))!=null) { + if(nBase.getChild(defaut_Year).getChild(supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(attribut))!=null) { return true; } } @@ -77,7 +77,7 @@ public class majBaseWithCSV { if(isValidEightDigits(nStudent.getAttributes("Individu_-_Code_Etudiant")) && !isOnlySpace ) { if(isExisteFormationIntoBase(nBase, nStudent.getAttributes("IAE_-_Etape_lib."))) { - noeud nBF = nBase.getChild(defaut_Year).getChild(supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(nStudent.getAttributes("IAE_-_Etape_lib."))); + noeud nBF = nBase.getChild(defaut_Year).getChild(supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(nStudent.getAttributes("IAE_-_Etape_lib."))); if(nBF.getChild("n"+nStudent.getAttributes("Individu_-_Code_Etudiant").trim())==null) { diff --git a/src/Windows/Window_demarre.java b/src/Windows/Window_demarre.java index 8076e69..71f6c4e 100644 --- a/src/Windows/Window_demarre.java +++ b/src/Windows/Window_demarre.java @@ -23,10 +23,10 @@ import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; +import javax.swing.JTabbedPane; import javax.swing.SwingConstants; import javax.swing.UIManager; -import Inscriptions.importInscriptionCSV; import Inscriptions.importInscriptionXLS; import base.CreateUpdateZipArchive; import base.Hash; @@ -113,13 +113,19 @@ public class Window_demarre extends JFrame { } }; - // Planification de la tâche de sauvegarde automatique à exécuter toutes les 5 minutes 10 * 60 * 1000 - timer.schedule(autoSaveTask, 0, 300000); + // Planification de la tâche de sauvegarde automatique à exécuter toutes les 1 minutes 10 * 60 * 1000 + timer.schedule(autoSaveTask, 0, 60000); + + + if(commandes.newVersion && !commandes.messageVersion.isEmpty()) { + String message = "" + commandes.messageVersion + ""; + JOptionPane.showMessageDialog(null, message,"Information version",JOptionPane.INFORMATION_MESSAGE); + } if(!commandes.messageAlerte.isEmpty()) { String message = "" + commandes.messageAlerte + ""; - JOptionPane.showMessageDialog(null, message); + JOptionPane.showMessageDialog(null, message,"Information",JOptionPane.INFORMATION_MESSAGE); } } catch (Exception e) { @@ -142,11 +148,11 @@ public class Window_demarre extends JFrame { frmEvalwriter.setTitle("Gestion des inscriptions et des groupes - langues - informatique - stage - rentrée"); - //frmEvalwriter.setBounds(100, 100, 765, 641); - frmEvalwriter.setBounds(100, 100, 765, 641); + //frmEvalwriter.setBounds(100, 100, 765, 640); + frmEvalwriter.setBounds(100, 100, 765, 640); //Affiche le bouton "Nouvelle version dispoinible". - if(commandes.newVersion) frmEvalwriter.setBounds(100, 100, 765, 745); + if(commandes.newVersion) frmEvalwriter.setBounds(100, 100, 765, 712); int screenWidth = (int) java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds().getWidth(); int screenHeight = (int) java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds().getHeight(); @@ -159,20 +165,6 @@ public class Window_demarre extends JFrame { frmEvalwriter.setResizable(false); - btnExporterTouteLaBase = new JButton("Exporter toute la base dans
un classeur MS Excel"); - btnExporterTouteLaBase.setIcon(new ImageIcon(Window_demarre.class.getResource("/resources/exportbasetoexcel.png"))); - btnExporterTouteLaBase.setFont(new Font("Arial", Font.BOLD, 16)); - btnExporterTouteLaBase.setBounds(10, 530, 360, 60); - - frmEvalwriter.getContentPane().add(btnExporterTouteLaBase); - - actImporterInscriptionDepuisCSV = new JButton("Importer des inscriptions
depuis CSV (UTF-8, point-virgule)"); - actImporterInscriptionDepuisCSV.setHorizontalAlignment(SwingConstants.LEFT); - actImporterInscriptionDepuisCSV.setIcon(new ImageIcon(Window_demarre.class.getResource("/resources/importationcsv.png"))); - actImporterInscriptionDepuisCSV.setFont(new Font("Arial", Font.BOLD | Font.ITALIC, 16)); - actImporterInscriptionDepuisCSV.setBounds(409, 721, 377, 60); - actImporterInscriptionDepuisCSV.setForeground(Color.DARK_GRAY); - frmEvalwriter.getContentPane().add(actImporterInscriptionDepuisCSV); JLabel lblTitre = new JLabel(); lblTitre.setIcon(new ImageIcon(Window_demarre.class.getResource("/resources/accueil.png"))); @@ -181,26 +173,6 @@ public class Window_demarre extends JFrame { lblTitre.setFont(new Font("Pacifico", Font.PLAIN, 26)); lblTitre.setBounds(10, 35, 700, 202); frmEvalwriter.getContentPane().add(lblTitre); - btnMiseAJourDepuisClasseur.setIcon(new ImageIcon(Window_demarre.class.getResource("/resources/majInscriptionToBase.png"))); - btnMiseAJourDepuisClasseur.setFont(new Font("Arial", Font.BOLD, 16)); - btnMiseAJourDepuisClasseur.setBounds(10, 460, 360, 60); - frmEvalwriter.getContentPane().add(btnMiseAJourDepuisClasseur); - - - btnGestionnaire.setIcon(new ImageIcon(Window_demarre.class.getResource("/resources/gestionnaire_bouton.png"))); - btnGestionnaire.setFont(new Font("Arial", Font.BOLD, 16)); - btnGestionnaire.setBounds(380, 460, 360, 131); - frmEvalwriter.getContentPane().add(btnGestionnaire); - btnimporterDesInscriptionsdepuisClasseur.setIcon(new ImageIcon(Window_demarre.class.getResource("/resources/bouton_inscription_excel.png"))); - btnimporterDesInscriptionsdepuisClasseur.setFont(new Font("Arial", Font.BOLD, 16)); - btnimporterDesInscriptionsdepuisClasseur.setBounds(10, 320, 360, 60); - frmEvalwriter.getContentPane().add(btnimporterDesInscriptionsdepuisClasseur); - - btnNAideMiseAJour.setForeground(Color.GRAY); - btnNAideMiseAJour.setFont(new Font("Tahoma", Font.BOLD | Font.ITALIC, 12)); - btnNAideMiseAJour.setBounds(380, 419, 360, 30); - frmEvalwriter.getContentPane().add(btnNAideMiseAJour); - lblAuteurVersion.setVerticalAlignment(SwingConstants.TOP); lblAuteurVersion.setHorizontalAlignment(SwingConstants.LEFT); @@ -209,34 +181,114 @@ public class Window_demarre extends JFrame { lblAuteurVersion.setBounds(22, 11, 307, 55); frmEvalwriter.getContentPane().add(lblAuteurVersion); - lblFondImage.setVerticalAlignment(SwingConstants.BOTTOM); lblFondImage.setBounds(10, 0, 730, 317); frmEvalwriter.getContentPane().add(lblFondImage); affichageImageDeFond(); + JTabbedPane tabbedPane = new JTabbedPane(JTabbedPane.TOP); + tabbedPane.setBounds(10, 320, 729, 271); + tabbedPane.setFont(new Font("Arial", Font.BOLD, 14)); + + + JPanel tabGestionnaire = new JPanel(); + tabbedPane.addTab("Gestion de
la base de données", tabGestionnaire); + + JPanel tabInscriptions = new JPanel(); + tabbedPane.addTab("Inscriptions
des étudiants", tabInscriptions); + + JPanel tabExporteImporte = new JPanel(); + tabbedPane.addTab("Exporter et importer des données
depuis un classeur Ms Excel", tabExporteImporte); + tabbedPane.setEnabledAt(2, true); + + JPanel tabAides = new JPanel(); + tabbedPane.addTab("Aides", tabAides); + + frmEvalwriter.getContentPane().add(tabbedPane); + tabExporteImporte.setLayout(null); + + + + btnExporterTouteLaBase = new JButton("Exporter toute la base dans
un classeur MS Excel"); + btnExporterTouteLaBase.setIcon(new ImageIcon(Window_demarre.class.getResource("/resources/exportbasetoexcel.png"))); + btnExporterTouteLaBase.setFont(new Font("Arial", Font.BOLD, 16)); + btnExporterTouteLaBase.setBounds(370, 10, 340, 80); + + tabExporteImporte.add(btnExporterTouteLaBase); +// frmEvalwriter.getContentPane().add(btnExporterTouteLaBase); + +// actImporterInscriptionDepuisCSV = new JButton("Importer des inscriptions
depuis CSV (UTF-8, point-virgule)"); +// actImporterInscriptionDepuisCSV.setHorizontalAlignment(SwingConstants.LEFT); +// actImporterInscriptionDepuisCSV.setIcon(new ImageIcon(Window_demarre.class.getResource("/resources/importationcsv.png"))); +// actImporterInscriptionDepuisCSV.setFont(new Font("Arial", Font.BOLD | Font.ITALIC, 16)); +// actImporterInscriptionDepuisCSV.setBounds(409, 721, 377, 60); +// actImporterInscriptionDepuisCSV.setForeground(Color.DARK_GRAY); + +// frmEvalwriter.getContentPane().add(actImporterInscriptionDepuisCSV); + + + btnMiseAJourDepuisClasseur = new JButton("Mise à jour de la base depuis
un classeur Ms Excel"); + btnMiseAJourDepuisClasseur.setIcon(new ImageIcon(Window_demarre.class.getResource("/resources/majInscriptionToBase.png"))); + btnMiseAJourDepuisClasseur.setFont(new Font("Arial", Font.BOLD, 16)); + btnMiseAJourDepuisClasseur.setBounds(10, 10, 340, 200); + tabExporteImporte.add(btnMiseAJourDepuisClasseur); + tabGestionnaire.setLayout(null); + + +// frmEvalwriter.getContentPane().add(btnMiseAJourDepuisClasseur); + + btnGestionnaire = new JButton(""); + btnGestionnaire.setIcon(new ImageIcon(Window_demarre.class.getResource("/resources/gestionnaire_bouton.png"))); + btnGestionnaire.setFont(new Font("Arial", Font.BOLD, 16)); + btnGestionnaire.setBounds(10, 10, 340, 200); + tabGestionnaire.add(btnGestionnaire); + tabInscriptions.setLayout(null); + +// frmEvalwriter.getContentPane().add(btnGestionnaire); + + btnimporterDesInscriptionsdepuisClasseur = new JButton("Importer des inscriptions
depuis un classeur Ms Excel"); + btnimporterDesInscriptionsdepuisClasseur.setIcon(new ImageIcon(Window_demarre.class.getResource("/resources/bouton_inscription_excel.png"))); + btnimporterDesInscriptionsdepuisClasseur.setFont(new Font("Arial", Font.BOLD, 16)); + btnimporterDesInscriptionsdepuisClasseur.setBounds(10, 10, 340, 200); + + tabInscriptions.add(btnimporterDesInscriptionsdepuisClasseur); + tabAides.setLayout(null); + +// frmEvalwriter.getContentPane().add(btnimporterDesInscriptionsdepuisClasseur); + + btnNAideMiseAJour = new JButton("Aide à la mise en jour"); + btnNAideMiseAJour.setForeground(Color.GRAY); + btnNAideMiseAJour.setFont(new Font("Tahoma", Font.BOLD | Font.ITALIC, 12)); + btnNAideMiseAJour.setBounds(288, 21, 426, 30); + tabAides.add(btnNAideMiseAJour); + +// frmEvalwriter.getContentPane().add(btnNAideMiseAJour); + btnNewVersion.setIcon(new ImageIcon(Window_demarre.class.getResource("/resources/newVersion.png"))); btnNewVersion.setFont(new Font("Tahoma", Font.BOLD, 16)); - btnNewVersion.setBounds(10, 602, 729, 63); - frmEvalwriter.getContentPane().add(btnNewVersion); + btnNewVersion.setBounds(20, 602, 705, 63); btnNewVersion.setVisible(commandes.newVersion); - + frmEvalwriter.getContentPane().add(btnNewVersion); + + btnHelpDownload = new JButton("Aide au téléchargement et à l'installation"); btnHelpDownload.setFont(new Font("Tahoma", Font.BOLD | Font.ITALIC, 12)); btnHelpDownload.setForeground(Color.GRAY); - btnHelpDownload.setBounds(10, 665, 729, 30); - frmEvalwriter.getContentPane().add(btnHelpDownload); + btnHelpDownload.setBounds(288, 84, 426, 30); +// tabAideParamètres.add(btnHelpDownload); + + tabAides.add(btnHelpDownload); btnAideImportationInscriptionXLSX.setFont(new Font("Tahoma", Font.BOLD | Font.ITALIC, 12)); - btnAideImportationInscriptionXLSX.setBounds(380, 385, 360, 30); - frmEvalwriter.getContentPane().add(btnAideImportationInscriptionXLSX); + btnAideImportationInscriptionXLSX.setBounds(288, 52, 426, 30); btnAideImportationInscriptionXLSX.setForeground(Color.GRAY); + tabAides.add(btnAideImportationInscriptionXLSX); - JButton btnAideImportationInscriptionCSV = new JButton("Aide à l'importation des inscriptions depuis fichier CSV"); - btnAideImportationInscriptionCSV.setFont(new Font("Tahoma", Font.BOLD | Font.ITALIC, 12)); - btnAideImportationInscriptionCSV.setBounds(409, 762, 377, 30); - frmEvalwriter.getContentPane().add(btnAideImportationInscriptionCSV); - btnAideImportationInscriptionCSV.setForeground(Color.GRAY); +// JButton btnAideImportationInscriptionCSV = new JButton("Aide à l'importation des inscriptions depuis fichier CSV"); +// btnAideImportationInscriptionCSV.setFont(new Font("Tahoma", Font.BOLD | Font.ITALIC, 12)); +// btnAideImportationInscriptionCSV.setBounds(409, 762, 377, 30); +// frmEvalwriter.getContentPane().add(btnAideImportationInscriptionCSV); +// btnAideImportationInscriptionCSV.setForeground(Color.GRAY); JButton btnParametresClasseurInscription = new JButton("Paramètres classeur
des inscriptions"); btnParametresClasseurInscription.addActionListener(new ActionListener() { @@ -244,25 +296,24 @@ public class Window_demarre extends JFrame { Window_parametreImportationInscription.Affiche(); } }); + btnParametresClasseurInscription.setFont(new Font("Arial", Font.BOLD, 16)); btnParametresClasseurInscription.setIcon(new ImageIcon(Window_demarre.class.getResource("/resources/parametreImportationIncriptions.png"))); - btnParametresClasseurInscription.setBounds(10, 390, 360, 60); - frmEvalwriter.getContentPane().add(btnParametresClasseurInscription); + btnParametresClasseurInscription.setBounds(370, 10, 340, 80); + tabInscriptions.add(btnParametresClasseurInscription); + +// frmEvalwriter.getContentPane().add(btnParametresClasseurInscription); JButton btnRenommerActiverColonne = new JButton("Renommer et activer
des colonnes"); btnRenommerActiverColonne.setIcon(new ImageIcon(Window_demarre.class.getResource("/resources/newColumnsApplication.png"))); btnRenommerActiverColonne.setFont(new Font("Arial", Font.BOLD, 16)); - btnRenommerActiverColonne.setBounds(380, 320, 360, 60); + btnRenommerActiverColonne.setBounds(370, 10, 340, 80); btnRenommerActiverColonne.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { Window_renommerColonne.Affiche(); } }); - frmEvalwriter.getContentPane().add(btnRenommerActiverColonne); - - - - btnHelpDownload.setVisible(commandes.newVersion); + tabGestionnaire.add(btnRenommerActiverColonne); ListenerAction(); @@ -340,11 +391,11 @@ public class Window_demarre extends JFrame { }); // Bouton importer des inscriptions depuis un fichier CSV. - actImporterInscriptionDepuisCSV.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - importInscriptionCSV.importe(); - } - }); +// actImporterInscriptionDepuisCSV.addActionListener(new ActionListener() { +// public void actionPerformed(ActionEvent e) { +// importInscriptionCSV.importe(); +// } +// }); // Bouton Aide à l'importation des inscription depuis un classeur Ms Excel btnAideImportationInscriptionXLSX.addActionListener(new ActionListener() { diff --git a/src/Windows/Window_gestionnaire.java b/src/Windows/Window_gestionnaire.java index e39506f..f2888b9 100644 --- a/src/Windows/Window_gestionnaire.java +++ b/src/Windows/Window_gestionnaire.java @@ -66,6 +66,7 @@ import base.sauvegardeXMLBase.saveType; import outils.FileChooserXML; import outils.commandes; import outils.noeud; +import outils.supprimeCaracatresSpeciaux; public class Window_gestionnaire extends JFrame { @@ -1381,9 +1382,12 @@ public class Window_gestionnaire extends JFrame { noeud nStudent = nF.getChild(codeStudent); + // Les caractères < ou > ou " sont interdits car ils sont interprétés comme du code XML. + value = supprimeCaracatresSpeciaux.LesCaracteresCodeXML(value); boolean isOnlySpace = value.matches("\\s+"); + if(!isOnlySpace) { - try { + try { nStudent.setAttribut(key, value.trim() ); sauvegardeXMLBase.save(commandes.nBase, saveType.SANS_MESSAGE,""); }catch (Exception e1) { @@ -1394,9 +1398,8 @@ public class Window_gestionnaire extends JFrame { table.setValueAt(oldValue, row, column); } - // Après majFiltres il y a automatiquelent majTable. + // Après la procédure "majFiltres", il y a automatique la procédure "majTable". majFiltres(); - //majTable(); } }); diff --git a/src/base/NomDeColonneInscriptionTable.java b/src/base/NomDeColonneInscriptionTable.java index 9257947..d8e787f 100644 --- a/src/base/NomDeColonneInscriptionTable.java +++ b/src/base/NomDeColonneInscriptionTable.java @@ -94,15 +94,15 @@ public class NomDeColonneInscriptionTable { 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"; - commandes.nomColonneCodeEtudiant = supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(commandes.nomColonneExcel_CodeEtudiant);//"Individu_-_Code_Etudiant"; - commandes.nomColonneProfilEtudiant = supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(commandes.nomColonneExcel_ProfilEtudiant); //"Profil_etudiant_lib."; - commandes.nomColonneBacEtudiant = supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(commandes.nomColonneExcel_BacEtudiant);//"Bac_ou_equivalence_lib."; - commandes.nomColonnePortableEtudiant = supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(commandes.nomColonneExcel_PortableEtudiant);//"Individu_-_Tel._portable"; - commandes.nomColonneMailPersoEtudiant = supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(commandes.nomColonneExcel_MailPersoEtudiant);//"Individu_-_Email_personnel"; - commandes.nomColonneMailUnivEtudiant = supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(commandes.nomColonneExcel_MailUnivEtudiant);//"Individu_-_Email"; + commandes.nomColonneFormation = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(commandes.nomColonneExcel_Formation);//"IAE_-_Version_detape_lib._web"; + commandes.nomColonneNomEtudiant = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(commandes.nomColonneExcel_NomEtudiant);//"Individu_-_Nom"; + commandes.nomColonnePrenomEtudiant = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(commandes.nomColonneExcel_PrenomEtudiant);; //"Individu_-_Prenom"; + commandes.nomColonneCodeEtudiant = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(commandes.nomColonneExcel_CodeEtudiant);//"Individu_-_Code_Etudiant"; + commandes.nomColonneProfilEtudiant = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(commandes.nomColonneExcel_ProfilEtudiant); //"Profil_etudiant_lib."; + commandes.nomColonneBacEtudiant = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(commandes.nomColonneExcel_BacEtudiant);//"Bac_ou_equivalence_lib."; + commandes.nomColonnePortableEtudiant = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(commandes.nomColonneExcel_PortableEtudiant);//"Individu_-_Tel._portable"; + commandes.nomColonneMailPersoEtudiant = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(commandes.nomColonneExcel_MailPersoEtudiant);//"Individu_-_Email_personnel"; + commandes.nomColonneMailUnivEtudiant = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(commandes.nomColonneExcel_MailUnivEtudiant);//"Individu_-_Email"; commandes.nomColonne_Option_1 = "Option_1"; @@ -130,61 +130,61 @@ public class NomDeColonneInscriptionTable { if(nomColonne.containsKey("Excel_Formation")) { commandes.nomColonneExcel_Formation = nomColonne.get("Excel_Formation"); - commandes.nomColonneFormation = supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(commandes.nomColonneExcel_Formation); + commandes.nomColonneFormation = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(commandes.nomColonneExcel_Formation); } if(nomColonne.containsKey("Excel_Individu_-_Nom")) { commandes.nomColonneExcel_NomEtudiant = nomColonne.get("Excel_Individu_-_Nom"); - commandes.nomColonneNomEtudiant = supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(commandes.nomColonneExcel_NomEtudiant); + commandes.nomColonneNomEtudiant = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(commandes.nomColonneExcel_NomEtudiant); } if(nomColonne.containsKey("Excel_Individu_-_Prenom")) { commandes.nomColonneExcel_PrenomEtudiant = nomColonne.get("Excel_Individu_-_Prenom"); - commandes.nomColonnePrenomEtudiant = supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(commandes.nomColonneExcel_PrenomEtudiant); + commandes.nomColonnePrenomEtudiant = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(commandes.nomColonneExcel_PrenomEtudiant); } if(nomColonne.containsKey("Excel_Individu_-_Code_Etudiant")) { commandes.nomColonneExcel_CodeEtudiant = nomColonne.get("Excel_Individu_-_Code_Etudiant"); - commandes.nomColonneCodeEtudiant = supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(commandes.nomColonneExcel_CodeEtudiant); + commandes.nomColonneCodeEtudiant = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(commandes.nomColonneExcel_CodeEtudiant); } if(nomColonne.containsKey("Excel_Profil_etudiant_lib.")) { commandes.nomColonneExcel_ProfilEtudiant = nomColonne.get("Excel_Profil_etudiant_lib."); - commandes.nomColonneProfilEtudiant = supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(commandes.nomColonneExcel_ProfilEtudiant); + commandes.nomColonneProfilEtudiant = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(commandes.nomColonneExcel_ProfilEtudiant); } if(nomColonne.containsKey("Excel_Bac_ou_equivalence_lib.")) { commandes.nomColonneExcel_BacEtudiant = nomColonne.get("Excel_Bac_ou_equivalence_lib."); - commandes.nomColonneBacEtudiant = supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(commandes.nomColonneExcel_BacEtudiant); + commandes.nomColonneBacEtudiant = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(commandes.nomColonneExcel_BacEtudiant); } if(nomColonne.containsKey("Excel_Individu_-_Tel._portable")) { commandes.nomColonneExcel_PortableEtudiant = nomColonne.get("Excel_Individu_-_Tel._portable"); - commandes.nomColonnePortableEtudiant = supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(commandes.nomColonneExcel_PortableEtudiant); + commandes.nomColonnePortableEtudiant = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(commandes.nomColonneExcel_PortableEtudiant); } if(nomColonne.containsKey("Excel_Individu_-_Email_personnel")) { commandes.nomColonneExcel_MailPersoEtudiant = nomColonne.get("Excel_Individu_-_Email_personnel"); - commandes.nomColonneMailPersoEtudiant = supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(commandes.nomColonneExcel_MailPersoEtudiant); + commandes.nomColonneMailPersoEtudiant = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(commandes.nomColonneExcel_MailPersoEtudiant); } if(nomColonne.containsKey("Excel_Individu_-_Email")) { commandes.nomColonneExcel_MailUnivEtudiant = nomColonne.get("Excel_Individu_-_Email"); - commandes.nomColonneMailUnivEtudiant = supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(commandes.nomColonneExcel_MailUnivEtudiant); + commandes.nomColonneMailUnivEtudiant = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(commandes.nomColonneExcel_MailUnivEtudiant); } if(nomColonne.containsKey("Excel_Feuille_Inscription")) commandes.nomFeuilleExcel_Inscription = nomColonne.get("Excel_Feuille_Inscription"); if(nomColonne.containsKey("nomColonne_Option_1")) { - commandes.nomColonne_Option_1 = supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(nomColonne.get("nomColonne_Option_1")); + commandes.nomColonne_Option_1 = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(nomColonne.get("nomColonne_Option_1")); commandes.enabled_Colonne_Option_1 =Boolean.valueOf(nomColonne.get("Enabled_Colonne_Option_1")); } if(nomColonne.containsKey("nomColonne_Option_2")) { - commandes.nomColonne_Option_2 = supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(nomColonne.get("nomColonne_Option_2")); + commandes.nomColonne_Option_2 = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(nomColonne.get("nomColonne_Option_2")); commandes.enabled_Colonne_Option_2 =Boolean.valueOf(nomColonne.get("Enabled_Colonne_Option_2")); } if(nomColonne.containsKey("nomColonne_Option_3")) { - commandes.nomColonne_Option_3 = supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(nomColonne.get("nomColonne_Option_3")); + commandes.nomColonne_Option_3 = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(nomColonne.get("nomColonne_Option_3")); commandes.enabled_Colonne_Option_3 =Boolean.valueOf(nomColonne.get("Enabled_Colonne_Option_3")); } if(nomColonne.containsKey("nomColonne_Option_4")) { - commandes.nomColonne_Option_4 = supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(nomColonne.get("nomColonne_Option_4")); + commandes.nomColonne_Option_4 = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(nomColonne.get("nomColonne_Option_4")); commandes.enabled_Colonne_Option_4 =Boolean.valueOf(nomColonne.get("Enabled_Colonne_Option_4")); } if(nomColonne.containsKey("nomColonne_Option_5")) { - commandes.nomColonne_Option_5 = supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(nomColonne.get("nomColonne_Option_5")); + commandes.nomColonne_Option_5 = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(nomColonne.get("nomColonne_Option_5")); commandes.enabled_Colonne_Option_5 =Boolean.valueOf(nomColonne.get("Enabled_Colonne_Option_5")); } @@ -322,8 +322,8 @@ public class NomDeColonneInscriptionTable { // Remplissage de la listNomDesColonnes et vérification for (Map.Entry entry : nomColonne.entrySet()) { - if(!commandes.listNomDesColonnes.contains(supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(entry.getValue()))) { - commandes.listNomDesColonnes.add(supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(entry.getValue())); + if(!commandes.listNomDesColonnes.contains(supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(entry.getValue()))) { + commandes.listNomDesColonnes.add(supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(entry.getValue())); }else { message.append("

Le nom de la colonne " + entry.getKey() + " = "+ entry.getValue() + " est en double.

"); result =true; diff --git a/src/base/base.java b/src/base/base.java index ecc2c41..cfb91d0 100644 --- a/src/base/base.java +++ b/src/base/base.java @@ -55,8 +55,22 @@ public class base { nBase.setAttribut("Excel_Feuille_Inscription",commandes.nomFeuilleExcel_Inscription); + nBase.setAttribut("nomColonne_Option_1", "Option_1"); + nBase.setAttribut("Enabled_Colonne_Option_1", "false"); - String defaultValue = "2022-2023"; + nBase.setAttribut("nomColonne_Option_2", "Atelier-rentree_horaire"); + nBase.setAttribut("Enabled_Colonne_Option_2", "true"); + + nBase.setAttribut("nomColonne_Option_3", "Atelier_pre-rentree_enseignant"); + nBase.setAttribut("Enabled_Colonne_Option_3", "true"); + + nBase.setAttribut("nomColonne_Option_4", "Atelier_pre-rentree_salle"); + nBase.setAttribut("Enabled_Colonne_Option_4", "true"); + + nBase.setAttribut("nomColonne_Option_5", "Information"); + nBase.setAttribut("Enabled_Colonne_Option_5", "false"); + + String defaultValue = "2023-2024"; String userInput = JOptionPane.showInputDialog("Quelle est l'année universitaire ? ",defaultValue); String regex = "(\\d{4})-(\\d{4})"; @@ -72,7 +86,7 @@ public class base { if (secondNumber==(firstNumber+1)) { if(!userInput.isEmpty()) { - userInput = "Years_" + supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(userInput); + userInput = "Years_" + supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(userInput); nBase.addChild(new noeud(userInput)); nBase.setAttribut("defaut_Year", userInput); diff --git a/src/base/recupeBases.java b/src/base/recupeBases.java index 8290280..6c4fa1b 100644 --- a/src/base/recupeBases.java +++ b/src/base/recupeBases.java @@ -52,15 +52,11 @@ public class recupeBases { File file = new File(filePath); noeud nSauvegardeBase = null; - - - if (file.exists()) { //lecture du fichier base.xml String directoryName = Paths.get("").toAbsolutePath().toString()+ "/base/base_sauvegarde.xml"; String xmlString = lectureFileToString.lecture(directoryName); nSauvegardeBase = lectureXML.lectureStringToNoeud(xmlString); - } return nSauvegardeBase; diff --git a/src/gestion_version/VersionChecker.java b/src/gestion_version/VersionChecker.java index e60dafe..6f55fcd 100644 --- a/src/gestion_version/VersionChecker.java +++ b/src/gestion_version/VersionChecker.java @@ -100,6 +100,21 @@ public class VersionChecker { } + pattern = "messageVersion-(.*?)-messageVersion"; + regex = Pattern.compile(pattern); + matcher = regex.matcher(content); + + // message alerte sur le site de la forge de chapril + while (matcher.find()) { + // Récupérer le texte entre les balises messageAlerte + // -br- retour à la ligne + // -b- et -/b- en gras + // -u- et -/u- soiligné + commandes.messageVersion = matcher.group(1); + commandes.messageVersion = commandes.messageVersion.replaceAll("-br-", "
").replaceAll("-b-", "").replaceAll("-/b-", "").replaceAll("-u-", "").replaceAll("-/u-", "") + .replaceAll("-h1-", "

").replaceAll("-/h1-", "

").replaceAll("-h2-", "

").replaceAll("-/h2-", "

").replaceAll("-p-", "

").replaceAll("-/p-", "

"); + } + // Définir le motif de la regex pattern = "messageAlerte-(.*?)-messageAlerte"; @@ -113,11 +128,15 @@ public class VersionChecker { // -b- et -/b- en gras // -u- et -/u- soiligné commandes.messageAlerte = matcher.group(1); - commandes.messageAlerte = commandes.messageAlerte.replaceAll("-br-", "
").replaceAll("-b-", "").replaceAll("-/b-", "").replaceAll("-u-", "").replaceAll("-/u-", ""); + commandes.messageAlerte = commandes.messageAlerte.replaceAll("-br-", "
").replaceAll("-b-", "").replaceAll("-/b-", "").replaceAll("-u-", "").replaceAll("-/u-", "") + .replaceAll("-h1-", "

").replaceAll("-/h1-", "

").replaceAll("-h2-", "

").replaceAll("-/h2-", "

").replaceAll("-p-", "

").replaceAll("-/p-", "

"); } } catch (IOException e) { + JOptionPane.showMessageDialog(null, "

Pas de connexion internet.


" + + "Impossible de vérifier si une nouvelle version est disponible.
" + + "Impossible d'afficher le message d'information, s'il est disponible."); e.printStackTrace(); } } diff --git a/src/importations/importAllBaseToExcel.java b/src/importations/importAllBaseToExcel.java index 7d77b5d..461c148 100644 --- a/src/importations/importAllBaseToExcel.java +++ b/src/importations/importAllBaseToExcel.java @@ -69,7 +69,7 @@ public class importAllBaseToExcel { trouveColonneFormation = true; indexColonneFormation = cell.getColumnIndex(); } - if(cell.getStringCellValue().equals("Individu_-_Code_Etudiant")) { + if(cell.getStringCellValue().equals(commandes.nomColonneCodeEtudiant)) { trouveColonneCode = true; indexColonneCode = cell.getColumnIndex(); } @@ -88,10 +88,9 @@ public class importAllBaseToExcel { noeud nBF = null; noeud nStudent = null; - // Colonne formation doit être la première colonne if(row.getCell(indexColonneFormation)!=null) { if(row.getCell(indexColonneFormation).getCellType() == CellType.STRING) { - nBF = nYear.getChild(supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(row.getCell(indexColonneFormation).getStringCellValue())); + nBF = nYear.getChild(supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(row.getCell(indexColonneFormation).getStringCellValue())); } }else { continue; @@ -115,6 +114,7 @@ public class importAllBaseToExcel { if(nStudent!=null) { CellType cellType = cell.getCellType(); + if (cellType == CellType.STRING) { String cellValue = cell.getStringCellValue().trim(); if(sheet.getRow(0).getCell(indexCol)!=null) { @@ -122,6 +122,7 @@ public class importAllBaseToExcel { if(isString) { String value = nStudent.getAttributes(sheet.getRow(0).getCell(indexCol).getStringCellValue()); if(value!=null && !cellValue.isEmpty()) { + cellValue = supprimeCaracatresSpeciaux.LesCaracteresCodeXML(cellValue); boolean isOnlySpaces = value.matches("\\s+"); if(!isOnlySpaces)if(!cellValue.equals(value)) { nStudent.setAttribut(sheet.getRow(0).getCell(indexCol).getStringCellValue(), cellValue); @@ -153,8 +154,8 @@ public class importAllBaseToExcel { boolean isString = sheet.getRow(0).getCell(indexCol).getCellType() == CellType.STRING; if(isString) { String value = nStudent.getAttributes(sheet.getRow(0).getCell(indexCol).getStringCellValue()); - boolean isOnlySpaces = value.matches("\\s+"); if(value!=null && !cellValue.isEmpty()) { + boolean isOnlySpaces = value.matches("\\s+"); if(!isOnlySpaces)if(!cellValue.equals(value)) { nStudent.setAttribut(sheet.getRow(0).getCell(indexCol).getStringCellValue(), cellValue); compteur++; @@ -171,7 +172,8 @@ public class importAllBaseToExcel { if(isString) { String value = nStudent.getAttributes(sheet.getRow(0).getCell(indexCol).getStringCellValue()); if(value!=null && !cellValue.isEmpty()) { - boolean isOnlySpaces = value.matches("\\s+"); + cellValue = supprimeCaracatresSpeciaux.LesCaracteresCodeXML(cellValue); + boolean isOnlySpaces = value.matches("\\s+"); if(!isOnlySpaces)if(!cellValue.equals(value)) { nStudent.setAttribut(sheet.getRow(0).getCell(indexCol).getStringCellValue(), cellValue); compteur++; @@ -194,7 +196,7 @@ public class importAllBaseToExcel { } catch (IOException e) { e.printStackTrace(); - JOptionPane.showMessageDialog(null, e.toString(), "Erreur dans la class importAllBaseToExcel", JOptionPane.ERROR_MESSAGE); + JOptionPane.showMessageDialog(null, e.toString(), "Erreur dans la classe \"importAllBaseToExcel\"", JOptionPane.ERROR_MESSAGE); } sauvegardeXMLBase.saveModif(commandes.nBase, compteur); } diff --git a/src/outils/commandes.java b/src/outils/commandes.java index 36c5c46..5d08fd8 100644 --- a/src/outils/commandes.java +++ b/src/outils/commandes.java @@ -11,7 +11,7 @@ import java.util.List; public class commandes { public static noeud nBase = null; // La base de données sous forme de noeud. - public static String version = "1.0.5"; // La version actuelle + public static String version = "1.0.6"; // La version actuelle // Les colonnes obligatoires dû à l'inscription des étudaints. // nom des colonnes après traitement des caractères (Accès à la base XML) @@ -41,14 +41,12 @@ public class commandes { // liste des noms des colonnes pour éviter les colitions. public static List listNomDesColonnes = new ArrayList(); - - // Messages et sécurité public static Boolean newVersion = false; //Permet de vérifier l'existance d'un nouvelle version. public static Boolean helpme1 = false; //M'aider à compléter mon service annuel. public static Boolean blocageApplication = false; //Blocage total de l'application. public static String messageAlerte = ""; //Message alerte - + public static String messageVersion = ""; //Message version //noms des colonnes de l'application qui sont modifiables public static String nomColonne_Option_1 = "Option_1"; diff --git a/src/outils/noeud.java b/src/outils/noeud.java index 28323f0..a2db285 100644 --- a/src/outils/noeud.java +++ b/src/outils/noeud.java @@ -251,17 +251,22 @@ public class noeud implements Cloneable{ } /** - * Changement du nom d'un attribut. - * @param oldName - * @param newName + * Modification du nom d'un attribut.
+ * Si le string "oldName" est nul alors création de l'attribut "newName" avec une valeur vide. + * @param oldName : ancien nom de l'attribut. + * @param newName : nouveau nom de l'attribut. */ public void changeAttributName(String oldName, String newName) { - if(attributes.get(oldName)==null) { - return; + if(oldName!=null) { + if(attributes.get(oldName)==null) { + return; + } + String value = attributes.get(oldName); + attributes.remove(oldName); + attributes.put(newName, value); + }else { + attributes.put(newName, ""); } - String value = attributes.get(oldName); - attributes.remove(oldName); - attributes.put(newName, value); } diff --git a/src/outils/supprimeCaracatresSpeciaux.java b/src/outils/supprimeCaracatresSpeciaux.java index 6a0276b..ffe370d 100644 --- a/src/outils/supprimeCaracatresSpeciaux.java +++ b/src/outils/supprimeCaracatresSpeciaux.java @@ -4,7 +4,7 @@ import java.text.Normalizer; public class supprimeCaracatresSpeciaux { - public static String TousLesCaracatresSpeciaux(String str) { + public static String TousLesCaracteresSpeciaux(String str) { // Supprimer les accents String normalizedStr = Normalizer.normalize(str, Normalizer.Form.NFD); @@ -18,5 +18,10 @@ public class supprimeCaracatresSpeciaux { return replaceSpace; } + + + public static String LesCaracteresCodeXML(String str) { + return str.replaceAll("<", "").replaceAll(">", "").replaceAll("\"", ""); + } }