Compare commits

...

2 Commits

Author SHA1 Message Date
pablo rodriguez
3d54a6bde6 maj V4.5.1 2025-01-28 09:26:52 +01:00
pablo rodriguez
6c14374579 maj V4.5.1 2025-01-20 08:46:42 +01:00
9 changed files with 108 additions and 62 deletions

Binary file not shown.

Binary file not shown.

View File

@ -52,12 +52,18 @@ public class commandes {
/** Le node contenant la liste des étudiants **/
public static node listesEtudiants = null;
//** Le node CSV - liste des étudiants **/
public static node nodeCSV = null;
public static node nodeCSV = new node();
//** Imporatation par défaut d'un CSV liste d'étudiant
public static String defaut_separator = ";";
public static String defaut_encoding = "UTF-8";
public static String defaut_nameid = "id";
public static String defaut_nameemail = "adresse";
public static String defaut_nameStudent = "nom";
public static String defaut_firstnameStudent = "prenom";
//** L'arbre
public static JTree tree = new JTree();
//*****************************************
//** Version **
@ -257,6 +263,20 @@ public class commandes {
fichierStudentMoodle = false;
nameSVG="";
}
public static void initialiseNodeCSV() {
nodeCSV = new node();
nodeCSV.setNomElt("csv");
nodeCSV.getAttributs().put("separator",defaut_separator);
nodeCSV.getAttributs().put("encoding",defaut_encoding);
node import_csv = new node();
import_csv.setNomElt("import_moodle");
import_csv.getAttributs().put("id",defaut_nameid);
import_csv.getAttributs().put("firstname", defaut_firstnameStudent);
import_csv.getAttributs().put("email", defaut_nameemail);
import_csv.getAttributs().put("name", defaut_nameStudent);
nodeCSV.getNodes().add(import_csv);
}
/**

View File

@ -1888,43 +1888,43 @@ public class meptl {
}
// Le node csv contient les paramètres importations et la liste des étudiants.
commandes.initialiseNodeCSV();
node csv = null;
String separator = ";";
String encoding = "UTF-8";
String nameid = "id";
String nameemail = "email";
String nameStudent = "name";
String firstnameStudent = "firstname";
String separator = commandes.defaut_separator;
String encoding = commandes.defaut_encoding;
String nameid = commandes.defaut_nameid;
String nameemail = commandes.defaut_nameemail;
String nameStudent = commandes.defaut_nameStudent;
String firstnameStudent = commandes.defaut_firstnameStudent;
if(commandes.nodeCSV!=null) {
csv = commandes.sujet.retourneFirstEnfantsByName("csv");
if(csv==null) {
csv = commandes.nodeCSV;
separator = commandes.nodeCSV.getAttributs().get("separator");
encoding = commandes.nodeCSV.getAttributs().get("encoding");
nameid = commandes.nodeCSV.getAttributs().get("id");
nameemail = commandes.nodeCSV.getAttributs().get("email");
nameStudent = commandes.nodeCSV.getAttributs().get("name");
firstnameStudent = commandes.nodeCSV.getAttributs().get("firstname");
}else {
csv = commandes.sujet.retourneFirstEnfantsByName("csv");
commandes.nodeCSV.getAttributs().put("nameListStudent", nameListStudent);
csv.getAttributs().put("nameListStudent", nameListStudent);
csv.getAttributs().put("year", Year);
separator = csv.getAttributs().get("separator");
encoding = csv.getAttributs().get("encoding");
node import_csv = csv.retourneFirstEnfantsByName("import_moodle");
nameid = import_csv.getAttributs().get("id");
nameemail = import_csv.getAttributs().get("email");
nameStudent = import_csv.getAttributs().get("name");
firstnameStudent = import_csv.getAttributs().get("firstname");
csv.getNodes().remove(import_csv);
csv.getAttributs().put("name", nameStudent);
csv.getAttributs().put("firstname", firstnameStudent);
csv.getAttributs().put("email", nameemail);
csv.getAttributs().put("id", nameid);
csv.setNomElt("fileCSV");
csv.getContenu().clear();
csv.getAttributs().put("Year", Year);
}
node import_csv = csv.retourneFirstEnfantsByName("import_moodle");
nameid = import_csv.getAttributs().get("id");
nameemail = import_csv.getAttributs().get("email");
nameStudent = import_csv.getAttributs().get("name");
firstnameStudent = import_csv.getAttributs().get("firstname");
csv.getAttributs().put("Year", Year);
csv.getAttributs().put("nameListStudent", nameListStudent);
csv.getAttributs().put("separator", separator);
csv.getAttributs().put("encoding", encoding);
csv.getNodes().remove(import_csv);
csv.getAttributs().put("name", nameStudent);
csv.getAttributs().put("firstname", firstnameStudent);
csv.getAttributs().put("email", nameemail);
csv.getAttributs().put("id", nameid);
csv.setNomElt("fileCSV");
csv.getContenu().clear();
// Lecture du fichier CSV
String targetString = "";
try {
@ -1959,12 +1959,16 @@ public class meptl {
}
String[] line1 = target[0].split(separator);
for(int j = 0 ; j < line1.length; j++) {
line1[j] = line1[j].replaceAll("\"", "");
}
for(int i = 1 ; i < target.length ; i++) {
node nodeEtudiant = new node();
nodeEtudiant.setNomElt("student");
for(int j = 0 ; j < line1.length; j++) {
nodeEtudiant.getAttributs().put(line1[j], target[i].split(separator)[j]);
String value = String.valueOf(target[i].split(separator)[j]).replaceAll("\"", "");
nodeEtudiant.getAttributs().put(line1[j], value);
}
if(nodeEtudiant.getAttributs().get(nameemail)!=null

View File

@ -96,7 +96,7 @@ public class creerNouvelleEvaluation {
node nodremove = evaluation.retourneFirstEnfantsByName("fileCSV");
if(!nodremove.isVide()) evaluation.getNodes().remove(nodremove);
// ajoute les informations sur la liste d'étudiant
// Ajoute les informations sur la liste d'étudiant
// Dans le nodeCSV, il y a toutes les informations sur chaque étudiants
// Mais dans le node évaluation, on ne garde que les attribut du node fileCSV.
if(commandes.nodeCSV!=null) {

View File

@ -37,8 +37,10 @@ public class fusionStyleTextSpan {
if(H1==H2) {
for (String text : nodeNext.getContenu()) {
String current = nod.getContenu().get(nod.getContenu().size()-1);
nod.getContenu().set(nod.getContenu().size()-1, current + text);
if(nod.getContenu().size()>0) {
String current = nod.getContenu().get(nod.getContenu().size()-1);
nod.getContenu().set(nod.getContenu().size()-1, current + text);
}
}
nod.getParent().supprimeFirstNodeEnfant(nodeNext);
return true;

View File

@ -428,8 +428,7 @@ public class evaluationAttribut {
retour = evalTabStyleLeaderDefault(sujet,nodeStudent,retour,nameElt);
}
//evaluation de la présence ou de l'absence d'un style Parent
//uniquement si ce n'est pas au travers d'analyseStyle
if(k.equals("evalLegacyStyleParentPresent") && sujet.getNomElt().equals("style:style")) {
@ -533,6 +532,11 @@ public class evaluationAttribut {
nameLegacyStyleSujet="null";
}
// si l'analyse se fait au travers analyseStyle supprime les points du nom nameLegacyStyleSujet
if(nameLegacyStyleSujet!=null) if(nameLegacyStyleSujet.contains("")) {
nameLegacyStyleSujet = nameLegacyStyleSujet.substring(0, nameLegacyStyleSujet.indexOf(""));
}
String nameLegacyStyleStudent="";
if(nodeStudent!=null) {
nameLegacyStyleStudent = nodeStudent.getAttributs().get("text:style-name");

View File

@ -3,6 +3,7 @@ package analyseWriter.fenetres;
import java.awt.Color;
import java.awt.Font;
import java.nio.file.Files;
import java.time.LocalDate;
import javax.swing.ImageIcon;
import javax.swing.JFileChooser;
@ -46,6 +47,7 @@ public class CustomInputDialogListeEtudiant {
String firstname = "inconnu";
String id = "inconnu";
String nameListStudent = "";
if(commandes.fichierAnalyseValide) {
if(commandes.fourniCSV) {
node CSV = commandes.sujet.retourneFirstEnfantsByName("csv");
@ -93,7 +95,8 @@ public class CustomInputDialogListeEtudiant {
textField.setFont(new Font("Tahoma", Font.BOLD, 14));
textField.setHorizontalAlignment(SwingConstants.LEFT);
ImageIcon icon = new ImageIcon(create.class.getResource("/resources/fichierCSV.png"));
JTextField textFieldYear = new JTextField("2024");
int annee = LocalDate.now().getYear();
JTextField textFieldYear = new JTextField(String.valueOf(annee));
Object[] message = {
lblTitre,
@ -117,6 +120,8 @@ public class CustomInputDialogListeEtudiant {
icon,
options,
options[0]);
if (optionSelected == 0) { // Bouton "Importer la liste" sélectionné
JFileChooser chooser = new JFileChooser();
@ -129,8 +134,6 @@ public class CustomInputDialogListeEtudiant {
chooser.setAcceptAllFileFilterUsed(true);
if (chooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION) {
System.out.println("getCurrentDirectory(): " + chooser.getCurrentDirectory());
System.out.println("getSelectedFile() : " + chooser.getSelectedFile().getAbsolutePath());
commandes.nameCSV = chooser.getSelectedFile().getAbsolutePath();
meptl.chargementFichierCSV(nameListStudent, textFieldYear.getText());
@ -167,13 +170,16 @@ public class CustomInputDialogListeEtudiant {
String firstname = "inconnu";
String id = "inconnu";
String nameListStudent = "";
if(commandes.fichierAnalyseValide) {
if(commandes.fourniCSV) {
node CSV = commandes.sujet.retourneFirstEnfantsByName("csv");
separateur = CSV.getAttributs().get("separator");
encodage = CSV.getAttributs().get("encoding");
node importCSV = CSV.retourneFirstEnfantsByName("import_moodle");
if(CSV.isHasAttributs()) {
node csv = commandes.sujet.retourneFirstEnfantsByName("fileCSV");
if(csv==null) {
csv = commandes.nodeCSV;
}else {
separateur = csv.getAttributs().get("separator");
encodage = csv.getAttributs().get("encoding");
node importCSV = csv.retourneFirstEnfantsByName("import_moodle");
if(csv.isHasAttributs()) {
if(importCSV.getAttributs().get("email")!=null) {
email = importCSV.getAttributs().get("email");
}
@ -187,13 +193,14 @@ public class CustomInputDialogListeEtudiant {
id = importCSV.getAttributs().get("id");
}
}
}
if(commandes.evaluationChargeEnMemoire.retourneFirstEnfantsByName("fileCSV")!=null) {
if(commandes.evaluationChargeEnMemoire.retourneFirstEnfantsByName("fileCSV").getAttributs().get("nameListStudent")!=null) {
nameListStudent = commandes.evaluationChargeEnMemoire.retourneFirstEnfantsByName("fileCSV").getAttributs().get("nameListStudent");
if(commandes.evaluationChargeEnMemoire.retourneFirstEnfantsByName("fileCSV")!=null) {
if(commandes.evaluationChargeEnMemoire.retourneFirstEnfantsByName("fileCSV").getAttributs().get("nameListStudent")!=null) {
nameListStudent = commandes.evaluationChargeEnMemoire.retourneFirstEnfantsByName("fileCSV").getAttributs().get("nameListStudent");
}
}
}
}
}
JLabel lblTitre = new JLabel("<html><h2>Ajouter une liste d'étudiant à l'évaluation<h2></html>");
lblTitre.setForeground(new Color(50,50,200));
@ -214,7 +221,9 @@ public class CustomInputDialogListeEtudiant {
textField.setFont(new Font("Tahoma", Font.BOLD, 14));
textField.setHorizontalAlignment(SwingConstants.LEFT);
ImageIcon icon = new ImageIcon(create.class.getResource("/resources/fichierCSV.png"));
JTextField textFieldYear = new JTextField("2024");
String annee = String.valueOf(LocalDate.now().getYear());
JTextField textFieldYear = new JTextField(annee);
// JTextField textFieldYear = new JTextField("2025");
Object[] message = {
lblTitre,

View File

@ -120,9 +120,19 @@ public final class setting extends JFrame {
node nodCSV = commandes.sujet.retourneFirstEnfantsByName("csv");
if(nodCSV==null) {
JOptionPane.showMessageDialog(null, "Problème avec le fichier d'analyse.<br>Le node csv n'est pas dans le fichier.");
dispose();
return;
node csv = new node();
csv.setNomElt("csv");
csv.getAttributs().put("separator",commandes.defaut_separator);
csv.getAttributs().put("encoding",commandes.defaut_encoding);
node import_csv = new node();
import_csv.setNomElt("import_moodle");
import_csv.getAttributs().put("id",commandes.defaut_nameid);
import_csv.getAttributs().put("firstname", commandes.defaut_firstnameStudent);
import_csv.getAttributs().put("email", commandes.defaut_nameemail);
import_csv.getAttributs().put("name", commandes.defaut_nameStudent);
csv.getNodes().add(import_csv);
nodCSV = csv;
commandes.sujet.retourneFirstEnfantsByName("setting").getNodes().add(nodCSV);
}
JLabel lblNewLabel = new JLabel("<html>Les paramètres du fichier CSV permettent, d'écrire et d'importer les notes des étudiants dans le CMS moodle.<br>\r\nCes paramètres seront enregistrés dans le fichier d'analyse.</html>");
@ -170,9 +180,6 @@ public final class setting extends JFrame {
panelCSV.add(lblNewLabel_3);
node nodImportMoodle = nodCSV.retourneFirstEnfantsByName("import_moodle");
if(nodImportMoodle==null) {
JOptionPane.showMessageDialog(null, "Problème avec le fichier d'analyse.<br>le node import_moodle n'est pas dans le fichier d'analyse.");
}
textFieldNomEtudiant = new JTextField();
textFieldNomEtudiant.setFont(new Font("Tahoma", Font.BOLD, 12));