MAJ V4.43

Permet de renommer une évaluation ou le nom du fichier d'analyse dans la
base de donnée.
This commit is contained in:
pablo rodriguez 2023-03-21 20:07:38 +01:00
parent 2b21e9dd85
commit af3b7cdcf4
9 changed files with 119 additions and 30 deletions

Binary file not shown.

Binary file not shown.

File diff suppressed because one or more lines are too long

Binary file not shown.

View File

@ -131,7 +131,7 @@ public class commandes {
//** base de données des évaluations //** base de données des évaluations
public static String PathBaseEvaluations = Paths.get("").toAbsolutePath().toString(); //Chemin vers la base de données public static String PathBaseEvaluations = Paths.get("").toAbsolutePath().toString(); //Chemin vers la base de données
public static boolean PathBaseEvalationDefaut = true; //Flag si ce n'est pas le chemin par défaut vers la base de données public static boolean PathBaseEvaluationDefaut = true; //Flag si ce n'est pas le chemin par défaut vers la base de données
public static String NameBaseEvaluations="base_evaluations_analyseWriter.xml"; //Nom par défaut de la base de données public static String NameBaseEvaluations="base_evaluations_analyseWriter.xml"; //Nom par défaut de la base de données
public static void initialiseParametresSettingProprietes() { public static void initialiseParametresSettingProprietes() {

View File

@ -48,7 +48,7 @@ public class actOpenHistoriqueEvaluation extends AbstractAction{
String directoryName = ""; String directoryName = "";
File file = null; File file = null;
if(commandes.PathBaseEvalationDefaut) { if(commandes.PathBaseEvaluationDefaut) {
directoryName = Paths.get("").toAbsolutePath().toString(); directoryName = Paths.get("").toAbsolutePath().toString();
}else { }else {
directoryName = commandes.PathBaseEvaluations; directoryName = commandes.PathBaseEvaluations;

View File

@ -92,11 +92,11 @@ public class ChargePathBaseEvaluation extends JFileChooser {
if(nodeEvaluation.getNomElt().equals("evaluations")) { if(nodeEvaluation.getNomElt().equals("evaluations")) {
commandes.NameBaseEvaluations=nameSujet; commandes.NameBaseEvaluations=nameSujet;
commandes.PathBaseEvaluations=PathFilenameAnalysis; commandes.PathBaseEvaluations=PathFilenameAnalysis;
commandes.PathBaseEvalationDefaut=false; commandes.PathBaseEvaluationDefaut=false;
if(!create.isDispose) create.getTextNodeSelect().afficheChargementCheminVersLaBase(); if(!create.isDispose) create.getTextNodeSelect().afficheChargementCheminVersLaBase();
if(!evaluate.isDispose) evaluate.getTxtpnmessages().afficheChargementCheminVersLaBase(); if(!evaluate.isDispose) evaluate.getTxtpnmessages().afficheChargementCheminVersLaBase();
}else { }else {
commandes.PathBaseEvalationDefaut=false; commandes.PathBaseEvaluationDefaut=false;
JFrame frame = new JFrame(); JFrame frame = new JFrame();
JLabel texte = new JLabel("<html><p>Ce n'est pas une base de données des évaluations.</p></html>"); JLabel texte = new JLabel("<html><p>Ce n'est pas une base de données des évaluations.</p></html>");
JOptionPane.showMessageDialog(frame, texte); JOptionPane.showMessageDialog(frame, texte);

View File

@ -18,6 +18,8 @@ import java.io.UnsupportedEncodingException;
import java.nio.file.Paths; import java.nio.file.Paths;
import java.text.ParseException; import java.text.ParseException;
import java.util.Date; import java.util.Date;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import javax.swing.Box; import javax.swing.Box;
import javax.swing.ImageIcon; import javax.swing.ImageIcon;
@ -56,10 +58,12 @@ public class baseDonneesEvaluations extends JFrame { /**
String[][] data = new String[0][5]; String[][] data = new String[0][5];
String[] columnNames = {"Nom de l'évaluation","Date d'enregistrement","Titre de l'exercice","Propriété personnalisé Sujet","Nom du fichier d'analyse"}; String[] columnNames = {"Nom de l'évaluation","Date d'enregistrement","Titre de l'exercice","Propriété personnalisé Sujet","Nom du fichier d'analyse"};
JScrollPane scrollPane = new JScrollPane(); JScrollPane scrollPane = new JScrollPane();
private final JButton btnRenommeFichierAnalyse = new JButton("Renommer le fichier d'analyse");
private final JButton btnRenommerEvaluation = new JButton("Renommer l'évaluation");
private final Component horizontalGlue_2 = Box.createHorizontalGlue();
public baseDonneesEvaluations() { public baseDonneesEvaluations() {
super(); super();
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
@ -72,7 +76,7 @@ public baseDonneesEvaluations() {
setIconImage(img.getImage()); setIconImage(img.getImage());
setTitle(commandes.Titre + " - La base de données des évaluations"); setTitle(commandes.Titre + " - La base de données des évaluations");
setLayout(new BorderLayout(2, 2)); getContentPane().setLayout(new BorderLayout(2, 2));
int NombreDeLigne = commandes.evaluationsBase.getNodes().size(); int NombreDeLigne = commandes.evaluationsBase.getNodes().size();
@ -85,8 +89,7 @@ public baseDonneesEvaluations() {
node fichier = commandes.evaluationsBase.getNodes().get(i).retourneFirstEnfantsByName("fichier"); node fichier = commandes.evaluationsBase.getNodes().get(i).retourneFirstEnfantsByName("fichier");
data[i][2] = fichier.getAttributs().get("titre"); data[i][2] = fichier.getAttributs().get("titre");
data[i][3] = fichier.getAttributs().get("metaSujet"); data[i][3] = fichier.getAttributs().get("metaSujet");
data[i][4] = fichier.getAttributs().get("analysis_filename"); data[i][4] = fichier.getAttributs().get("filenameAnalyse");
} }
@ -97,37 +100,50 @@ public baseDonneesEvaluations() {
scrollPane = new JScrollPane(table); scrollPane = new JScrollPane(table);
//Add the scroll pane to this panel. //Add the scroll pane to this panel.
add(scrollPane,BorderLayout.CENTER); getContentPane().add(scrollPane,BorderLayout.CENTER);
//*Le bas de la fenêtre contenant les boutons //*Le bas de la fenêtre contenant les boutons
panelBas.setLayout(new FlowLayout(FlowLayout.RIGHT, 10, 10)); panelBas.setLayout(new FlowLayout(FlowLayout.RIGHT, 10, 10));
Component horizontalGlue = Box.createHorizontalGlue();
Component horizontalGlue_1 = Box.createHorizontalGlue();
btnRenommerEvaluation.setForeground(new Color(153, 50, 204));
btnRenommerEvaluation.setFont(new Font("Tahoma", Font.BOLD, 12));
panelBas.add(btnRenommerEvaluation);
panelBas.add(horizontalGlue_2);
btnRenommeFichierAnalyse.setForeground(new Color(255, 140, 0));
btnRenommeFichierAnalyse.setFont(new Font("Tahoma", Font.BOLD, 12));
panelBas.add(btnRenommeFichierAnalyse);
panelBas.add(horizontalGlue);
btnSupprimeEvaluation.setForeground(new Color(255, 0, 0)); btnSupprimeEvaluation.setForeground(new Color(255, 0, 0));
btnSupprimeEvaluation.setFont(new Font("Tahoma", Font.BOLD, 12)); btnSupprimeEvaluation.setFont(new Font("Tahoma", Font.BOLD, 12));
panelBas.add(btnSupprimeEvaluation); panelBas.add(btnSupprimeEvaluation);
Component horizontalGlue = Box.createHorizontalGlue();
panelBas.add(horizontalGlue);
Component horizontalGlue_1 = Box.createHorizontalGlue();
panelBas.add(horizontalGlue_1); panelBas.add(horizontalGlue_1);
btnSaveEvaluation.setForeground(new Color(0, 64, 128)); btnSaveEvaluation.setForeground(new Color(0, 64, 128));
btnSaveEvaluation.setFont(new Font("Tahoma", Font.BOLD, 12)); btnSaveEvaluation.setFont(new Font("Tahoma", Font.BOLD, 12));
panelBas.add(btnSaveEvaluation); panelBas.add(btnSaveEvaluation);
btnValide.setFont(new Font("Tahoma", Font.BOLD, 12)); btnValide.setFont(new Font("Tahoma", Font.BOLD, 16));
btnValide.setForeground(new Color(0, 128, 0)); btnValide.setForeground(new Color(0, 128, 0));
panelBas.add(btnValide); panelBas.add(btnValide);
add(panelBas, BorderLayout.SOUTH); getContentPane().add(panelBas, BorderLayout.SOUTH);
//*Le haut //*Le haut
String nombreEvluation = String.valueOf(commandes.evaluationsBase.getNodes().size()); String nombreEvluation = String.valueOf(commandes.evaluationsBase.getNodes().size());
lblInformationBaseEvluation.setText("<html>Date dernière modification : " + calcul.formatDateWriter.DateEnClairFR( calcul.formatDateWriter.DateLibreOffice(commandes.evaluationsBase.getAttributs().get("date"))) + " -- Nombre d'évaluation : " + nombreEvluation); lblInformationBaseEvluation.setText("<html>Date dernière modification : " + calcul.formatDateWriter.DateEnClairFR( calcul.formatDateWriter.DateLibreOffice(commandes.evaluationsBase.getAttributs().get("date"))) + " -- Nombre d'évaluation : " + nombreEvluation);
add(panelHaut, BorderLayout.NORTH); getContentPane().add(panelHaut, BorderLayout.NORTH);
lblInformationBaseEvluation.setFont(new Font("Tahoma", Font.BOLD, 14)); lblInformationBaseEvluation.setFont(new Font("Tahoma", Font.BOLD, 14));
panelHaut.add(lblInformationBaseEvluation); panelHaut.add(lblInformationBaseEvluation);
@ -168,6 +184,7 @@ public static baseDonneesEvaluations getInstance() {
return instance; return instance;
} }
private void ListenerAction() { private void ListenerAction() {
/** /**
@ -249,6 +266,7 @@ private void ListenerAction() {
public void actionPerformed(ActionEvent e) { public void actionPerformed(ActionEvent e) {
if(lsm!=null) { if(lsm!=null) {
if (!lsm.isSelectionEmpty()) { if (!lsm.isSelectionEmpty()) {
if(JOptionPane.showConfirmDialog(null,"Voulez-vous supprimer cette évaluation?", "Suppression", JOptionPane.YES_NO_OPTION,JOptionPane.WARNING_MESSAGE)==JOptionPane.YES_OPTION) {
indexSelect = lsm.getMinSelectionIndex(); indexSelect = lsm.getMinSelectionIndex();
commandes.evaluationsBase.getNodes().remove(indexSelect); commandes.evaluationsBase.getNodes().remove(indexSelect);
try { try {
@ -261,7 +279,82 @@ private void ListenerAction() {
} }
} }
} }
}
}
});
/**
* Renomme le fichier d'analyse
*/
btnRenommeFichierAnalyse.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if(lsm!=null)if (!lsm.isSelectionEmpty()) {
indexSelect = lsm.getMinSelectionIndex();
node evaluation = commandes.evaluationsBase.getNodes().get(indexSelect);
String nomFichierAnalyse = "";
if(evaluation.retourneFirstEnfantsByName("fichier").getAttributs().get("analysis_filename")!=null) {
nomFichierAnalyse = evaluation.retourneFirstEnfantsByName("fichier").getAttributs().get("analysis_filename");
}
JPanel panel = new JPanel();
JLabel Text = new JLabel();
Text.setText("<html><p>Uniquement dans la base de donnée.</p><p>Renommer le fichier d'analyseavec le nom : </p></html>");
panel.add(Text);
nomFichierAnalyse = JOptionPane.showInputDialog(null,panel, nomFichierAnalyse);
if(!nomFichierAnalyse.isBlank()) {
Pattern pt = Pattern.compile("\\.xml$");
Matcher match= pt.matcher(nomFichierAnalyse);
if(!match.find()) {
nomFichierAnalyse = nomFichierAnalyse + ".xml";
}
evaluation.retourneFirstEnfantsByName("fichier").getAttributs().put("analysis_filename", nomFichierAnalyse);
evaluation.retourneFirstEnfantsByName("fichier").getAttributs().put("filenameAnalyse", nomFichierAnalyse);
evaluation.getAttributs().put("analysis_filename", nomFichierAnalyse);
try {
ecritureBaseEvaluation(commandes.evaluationsBase);
isDispose=true;
dispose();
getInstance();
} catch (IOException e1) {
e1.printStackTrace();
}
}
}
}
});
/**
* REnommer une évaluation
*/
btnRenommerEvaluation.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if(lsm!=null)if (!lsm.isSelectionEmpty()) {
indexSelect = lsm.getMinSelectionIndex();
node evaluation = commandes.evaluationsBase.getNodes().get(indexSelect);
String nomEvaluation = "";
if(evaluation.getAttributs().get("name")!=null) {
nomEvaluation = evaluation.getAttributs().get("name");
}
nomEvaluation = JOptionPane.showInputDialog(null,"Renommer cette évaluation ?",nomEvaluation);
if(!nomEvaluation.isBlank()) {
evaluation.getAttributs().put("name",nomEvaluation);
try {
ecritureBaseEvaluation(commandes.evaluationsBase);
isDispose=true;
dispose();
getInstance();
} catch (IOException e1) {
e1.printStackTrace();
}
}
}
} }
}); });
@ -353,12 +446,7 @@ private void chargeEvaluationSelected(node evaluation) {
} }
// else {
// JFrame frame = new JFrame();
// JLabel texte = new JLabel("<html><p>Le fichier d'analyse de l'évaluation, " + commandes.nameSujet + ", <b>a été renommé ou supprimé</b>.</p><br>"
// + "<p>Le fichier d'analyse de l'évaluation <b><u>est récupéré</u></b> depuis la base de données des évaluations.</p></html>");
// JOptionPane.showMessageDialog(frame, texte);
// }
commandes.initialiseParametresSettingProprietes(); commandes.initialiseParametresSettingProprietes();
@ -480,7 +568,7 @@ private void ecritureBaseEvaluation(node evaluations) throws IOException {
// Run.ecritureNodeEnXML(evaluations, "base_evaluations_analyseWriter.xml", directory.getAbsolutePath(), Run.TypeFile.Evaluation); // Run.ecritureNodeEnXML(evaluations, "base_evaluations_analyseWriter.xml", directory.getAbsolutePath(), Run.TypeFile.Evaluation);
String directoryName = ""; String directoryName = "";
if(commandes.PathBaseEvalationDefaut) { if(commandes.PathBaseEvaluationDefaut) {
directoryName = Paths.get("").toAbsolutePath().toString(); directoryName = Paths.get("").toAbsolutePath().toString();
}else { }else {
directoryName = commandes.PathBaseEvaluations; directoryName = commandes.PathBaseEvaluations;