diff --git a/base_evaluations_analyseCalc.xml b/base_evaluations_analyseCalc.xml
index eebd5f3..d1fd3cf 100644
--- a/base_evaluations_analyseCalc.xml
+++ b/base_evaluations_analyseCalc.xml
@@ -1 +1 @@
-
EJ €- €???Page 1(???)???, 00/00/000000:00:00Page 1/ 99
\ No newline at end of file
+
EJ €- €???Page 1(???)???, 00/00/000000:00:00Page 1/ 99
EJ €- €???Page 1(???)???, 00/00/000000:00:00Page 1/ 99
\ No newline at end of file
diff --git a/bin/AnalyseCalc/Classeur2$feuille$colonne.class b/bin/AnalyseCalc/Classeur2$feuille$colonne.class
index 1eb2e1d..0ee0507 100644
Binary files a/bin/AnalyseCalc/Classeur2$feuille$colonne.class and b/bin/AnalyseCalc/Classeur2$feuille$colonne.class differ
diff --git a/bin/AnalyseCalc/Classeur2$feuille$graphic.class b/bin/AnalyseCalc/Classeur2$feuille$graphic.class
index b1b872b..4095841 100644
Binary files a/bin/AnalyseCalc/Classeur2$feuille$graphic.class and b/bin/AnalyseCalc/Classeur2$feuille$graphic.class differ
diff --git a/bin/AnalyseCalc/Classeur2$feuille$ligne$cellule$validation.class b/bin/AnalyseCalc/Classeur2$feuille$ligne$cellule$validation.class
index 40d10ae..35f4ef2 100644
Binary files a/bin/AnalyseCalc/Classeur2$feuille$ligne$cellule$validation.class and b/bin/AnalyseCalc/Classeur2$feuille$ligne$cellule$validation.class differ
diff --git a/bin/AnalyseCalc/Classeur2$feuille$ligne$cellule.class b/bin/AnalyseCalc/Classeur2$feuille$ligne$cellule.class
index d8a811c..4e699e7 100644
Binary files a/bin/AnalyseCalc/Classeur2$feuille$ligne$cellule.class and b/bin/AnalyseCalc/Classeur2$feuille$ligne$cellule.class differ
diff --git a/bin/AnalyseCalc/Classeur2$feuille$ligne.class b/bin/AnalyseCalc/Classeur2$feuille$ligne.class
index ba1c870..b3e3842 100644
Binary files a/bin/AnalyseCalc/Classeur2$feuille$ligne.class and b/bin/AnalyseCalc/Classeur2$feuille$ligne.class differ
diff --git a/bin/AnalyseCalc/Classeur2$feuille.class b/bin/AnalyseCalc/Classeur2$feuille.class
index c39ef16..dda6ada 100644
Binary files a/bin/AnalyseCalc/Classeur2$feuille.class and b/bin/AnalyseCalc/Classeur2$feuille.class differ
diff --git a/bin/AnalyseCalc/Classeur2$historique.class b/bin/AnalyseCalc/Classeur2$historique.class
index 98fc390..c76090a 100644
Binary files a/bin/AnalyseCalc/Classeur2$historique.class and b/bin/AnalyseCalc/Classeur2$historique.class differ
diff --git a/bin/AnalyseCalc/Classeur2$modification.class b/bin/AnalyseCalc/Classeur2$modification.class
index 8bfb0ac..e12d5b5 100644
Binary files a/bin/AnalyseCalc/Classeur2$modification.class and b/bin/AnalyseCalc/Classeur2$modification.class differ
diff --git a/bin/AnalyseCalc/Classeur2.class b/bin/AnalyseCalc/Classeur2.class
index 93eea67..bfeb6b5 100644
Binary files a/bin/AnalyseCalc/Classeur2.class and b/bin/AnalyseCalc/Classeur2.class differ
diff --git a/bin/actions/actNewFichierAnalyse.class b/bin/actions/actNewFichierAnalyse.class
index b718ba7..69e2a87 100644
Binary files a/bin/actions/actNewFichierAnalyse.class and b/bin/actions/actNewFichierAnalyse.class differ
diff --git a/bin/calc/commandes.class b/bin/calc/commandes.class
index 735e9d7..08f1ece 100644
Binary files a/bin/calc/commandes.class and b/bin/calc/commandes.class differ
diff --git a/nodStudent.xml b/nodStudent.xml
new file mode 100644
index 0000000..c5cdae9
--- /dev/null
+++ b/nodStudent.xml
@@ -0,0 +1 @@
+ EJ €- €???Page 1(???)???, 00/00/000000:00:00Page 1/ 99
\ No newline at end of file
diff --git a/src/AnalyseCalc/Classeur2.java b/src/AnalyseCalc/Classeur2.java
index a29ce80..ec9a118 100644
--- a/src/AnalyseCalc/Classeur2.java
+++ b/src/AnalyseCalc/Classeur2.java
@@ -16,14 +16,14 @@ import AnalyseCalc.Classeur2.feuille.graphic;
import AnalyseCalc.Classeur2.feuille.ligne;
import AnalyseCalc.Classeur2.feuille.ligne.cellule;
import calc.commandes;
+import calcul.enumerations;
+import calcul.enumerations.typeFichier;
import xml.EnsembleFichiers;
-import xml.ecritureFileXML;
-import xml.ecritureFileXML.typeFichier;
import xml.node;
import xml.transformeXLMtoNode;
/**
- * Cette class permet de lire les feuilles de calcul de libreOffice Calc
+ * Cette class permet de lire les feuilles de calcul de libreOffice Calc.
* @author Pablo
*
*/
@@ -55,30 +55,34 @@ public class Classeur2 {
/**
- * Création des feuilles du classeur
- * @param nod : node permettant de rechercher les feuilles "table:table"
- * @throws CloneNotSupportedException
- * @throws IOException
+ * Création des feuilles du classeur
+ * Si typeFichier = fichier_analyse : Création d'un fichier pour analyser les fichiers des étudiants.
+ * Si typeFichier = : Création d'un fichier étudiant à partir du classeur remis par l'étudiant.
+ * @param nod : node permettant de rechercher les feuilles "table:table".
+ * @param indexStudent : index du fichier dans le répertoire contenant l'ensemble des dossiers ou fichiers remis par les étudiants.
+ * @param typeClasseurACreer : type de fichier à créer (analyse ou student).
+ * @throws CloneNotSupportedException
+ * @throws IOException
*/
- public Classeur2(node nod, Integer indexStudent, typeFichier type) throws CloneNotSupportedException, IOException {
+ public Classeur2(node nod, Integer indexStudent, typeFichier typeClasseurACreer) throws CloneNotSupportedException, IOException {
- if(type.equals(ecritureFileXML.typeFichier.fichier_analyse)) {
- if(nod.getAttributs().get("bareme")!=null)calc.commandes.analyse_bareme = Double.valueOf(nod.getAttributs().get("bareme"));
- if(nod.getAttributs().get("version")!=null)calc.commandes.version = nod.getAttributs().get("version");
- if(nod.getAttributs().get("controleDateCreation")!=null)calc.commandes.analyse_controleDateCreation = Boolean.valueOf(nod.getAttributs().get("controleDateCreation"));
- if(nod.getAttributs().get("presenceMetaSujet")!=null)calc.commandes.analyse_presenceMetaSujet = Boolean.valueOf(nod.getAttributs().get("presenceMetaSujet"));
- if(nod.getAttributs().get("dateModification")!=null)calc.commandes.analyse_date = nod.getAttributs().get("dateModification");
- if(nod.getAttributs().get("NbreFeuille")!=null) calc.commandes.analysis_nbr_feuilles = Integer.valueOf(nod.getAttributs().get("NbreFeuille"));
- if(nod.getAttributs().get("auteur")!=null) calc.commandes.analyse_auteur = nod.getAttributs().get("auteur");
- if(nod.getAttributs().get("baremeABC")!=null) calc.commandes.analyse_baremeABC = Boolean.valueOf(nod.getAttributs().get("baremeABC"));
- if(nod.getAttributs().get("controle_Initial_Creator")!=null) calc.commandes.analyse_controle_Initial_Creator = Boolean.valueOf(nod.getAttributs().get("controle_Initial_Creator"));
- if(nod.getAttributs().get("historiquePresent")!=null) calc.commandes.setting_historiquePresent = Boolean.valueOf(nod.getAttributs().get("historiquePresent"));
- if(nod.getAttributs().get("titre")!=null) calc.commandes.analyse_titre = nod.getAttributs().get("titre");
- if(nod.getAttributs().get("filename")!=null) calc.commandes.analysis_filename = nod.getAttributs().get("filename");
- if(nod.getAttributs().get("producteur")!=null) calc.commandes.analysis_producteur= nod.getAttributs().get("producteur");
- if(nod.getAttributs().get("hash")!=null) calc.commandes.hash = nod.getAttributs().get("hash");
-
- }
+// if(typeClasseurACreer.equals(typeFichier.fichier_analyse)) {
+// nod.getAttributs().put("bareme",String.valueOf(calc.commandes.analyse_bareme)) ; //= Double.valueOf(nod.getAttributs().get("bareme"));
+// nod.getAttributs().put("version",String.valueOf(calc.commandes.version)); //= nod.getAttributs().get("version");
+// nod.getAttributs().put("controleDateCreation",String.valueOf(calc.commandes.analyse_controleDateCreation)); // = Boolean.valueOf(nod.getAttributs().get("controleDateCreation"));
+// nod.getAttributs().put("presenceMetaSujet", String.valueOf(calc.commandes.analyse_presenceMetaSujet)); // = Boolean.valueOf(nod.getAttributs().get("presenceMetaSujet"));
+// nod.getAttributs().put("dateModification",String.valueOf(calc.commandes.analyse_date)); // = nod.getAttributs().get("dateModification");
+// nod.getAttributs().put("NbreFeuille",String.valueOf(calc.commandes.analysis_nbr_feuilles)); // = Integer.valueOf(nod.getAttributs().get("NbreFeuille"));
+// nod.getAttributs().put("auteur",String.valueOf(calc.commandes.analyse_auteur));// = nod.getAttributs().get("auteur");
+// nod.getAttributs().put("baremeABC",String.valueOf(calc.commandes.analyse_baremeABC));// = Boolean.valueOf(nod.getAttributs().get("baremeABC"));
+// nod.getAttributs().put("controle_Initial_Creator",String.valueOf(calc.commandes.analyse_controle_Initial_Creator));// = Boolean.valueOf(nod.getAttributs().get("controle_Initial_Creator"));
+// nod.getAttributs().put("historiquePresent",String.valueOf(calc.commandes.setting_historiquePresent));// = Boolean.valueOf(nod.getAttributs().get("historiquePresent"));
+// nod.getAttributs().put("titre", String.valueOf(calc.commandes.analyse_titre));// = nod.getAttributs().get("titre");
+// nod.getAttributs().put("filename", String.valueOf(calc.commandes.analysis_filename));// = nod.getAttributs().get("filename");
+// nod.getAttributs().put("producteur", String.valueOf(calc.commandes.analysis_producteur));//= nod.getAttributs().get("producteur");
+// nod.getAttributs().put("hash", String.valueOf(calc.commandes.hash));// = nod.getAttributs().get("hash");
+// }
+
//Les meta-données pour tous les classeurs analyse et students
node nMeta = nod.retourneFirstEnfant("office:meta");
@@ -87,49 +91,46 @@ public class Classeur2 {
node n = nMeta.retourneFirstEnfant("meta:creation-date");
if(n!=null) {
dateCreation = n.getContenu().get(0);
- if(type.equals(ecritureFileXML.typeFichier.fichier_analyse)) {
+ if(typeClasseurACreer.equals(typeFichier.fichier_analyse)) {
calc.commandes.analyse_creationDate = dateCreation;
}
}
n = nMeta.retourneFirstEnfant("dc:date");
if(n!=null) {
dateModification = n.getContenu().get(0);
- if(type.equals(ecritureFileXML.typeFichier.fichier_analyse)) {
+ if(typeClasseurACreer.equals(typeFichier.fichier_analyse)) {
calc.commandes.analyse_date = dateModification;
}
}
n = nMeta.retourneFirstEnfant("meta:initial-creator");
if(n!=null) {
Initial_Creator = n.getContenu().get(0);
- if(type.equals(ecritureFileXML.typeFichier.fichier_analyse)) {
+ if(typeClasseurACreer.equals(typeFichier.fichier_analyse)) {
calc.commandes.analyse_Initial_Creator = Initial_Creator;
}
}
n = nMeta.retourneFirstEnfant("dc:creator");
if(n!=null) {
auteur=n.getContenu().get(0);
- if(type.equals(ecritureFileXML.typeFichier.fichier_analyse)) {
+ if(typeClasseurACreer.equals(typeFichier.fichier_analyse)) {
calc.commandes.analyse_auteur = auteur;
}
}
n = nMeta.retourneFirstEnfant("meta:generator");
if(n!=null) {
producteur=n.getContenu().get(0);
- if(type.equals(ecritureFileXML.typeFichier.fichier_analyse)) {
+ if(typeClasseurACreer.equals(typeFichier.fichier_analyse)) {
calc.commandes.analysis_producteur = producteur;
}
}
}
-
-
-
-
+
node n = nod.retourneFirstEnfant("meta:user-defined");
if(n!=null) {
if(n.getAttributs().get("meta:name").equalsIgnoreCase("sujet")) {
metaSujet = n.getAttributs().get("meta:name");
- if(type.equals(ecritureFileXML.typeFichier.fichier_analyse)) {
+ if(typeClasseurACreer.equals(typeFichier.fichier_analyse)) {
calc.commandes.analyse_metaSujet=metaSujet;
}
metaSujetContent = n.getContenuAvecTousLesContenusDesEnfants();
@@ -140,7 +141,7 @@ public class Classeur2 {
//feuilles. A partir des feuilles -> en partie lignes, cellules
ArrayList feuilles = nod.retourneAllEnfants("table:table");
NbreFeuille = feuilles.size();
- if(type.equals(ecritureFileXML.typeFichier.fichier_analyse)) commandes.analysis_nbr_feuilles = NbreFeuille;
+ if(typeClasseurACreer.equals(typeFichier.fichier_analyse)) commandes.analysis_nbr_feuilles = NbreFeuille;
for(int i = 0 ; i");
fichier.append("");
}
- if(type.equals(ecritureFileXML.typeFichier.fichier_etudiant)) {
+ if(type.equals(typeFichier.fichier_etudiant)) {
fichier.append(">");
}
diff --git a/src/actions/actNewFichierAnalyse.java b/src/actions/actNewFichierAnalyse.java
index 4fcea3a..a5e174f 100644
--- a/src/actions/actNewFichierAnalyse.java
+++ b/src/actions/actNewFichierAnalyse.java
@@ -18,10 +18,11 @@ import org.xml.sax.SAXException;
import AnalyseCalc.Classeur2;
import calc.commandes;
+import calcul.enumerations;
+import calcul.enumerations.LocationFile;
import fenetres.evaluate;
import xml.EnsembleFichiers;
import xml.LecturesDossiers;
-import xml.ecritureFileXML;
import xml.node;
import xml.transformeXLMtoNode;
@@ -54,8 +55,7 @@ public class actNewFichierAnalyse extends AbstractAction{
System.out.println("getCurrentDirectory(): " + chooser.getCurrentDirectory());
System.out.println("getSelectedFile() : " + chooser.getSelectedFile().getAbsolutePath());
- // réinitialise les commandes
- commandes.initialiseParametresSettingsProprietes();;
+
commandes.fichierAnalyseValide=true;
commandes.path = chooser.getCurrentDirectory().getAbsolutePath();
commandes.PathFilenameAnalysis = chooser.getCurrentDirectory().getAbsolutePath();
@@ -65,54 +65,31 @@ public class actNewFichierAnalyse extends AbstractAction{
try {
- new LecturesDossiers(ecritureFileXML.LocationFile.CreerFichierAnalyse, cheminVersFichier);
+ new LecturesDossiers(LocationFile.PourUnSeulFichier, cheminVersFichier);
new transformeXLMtoNode(EnsembleFichiers.getListeContentTableur().get(0), false, null);
node nod = transformeXLMtoNode.getNodeRoot();
-
- Classeur2 ClasseurAnalyse;
-
+
try {
- ClasseurAnalyse = new Classeur2(nod,0,ecritureFileXML.typeFichier.fichier_analyse);
- node nodAnalyse = ClasseurAnalyse.convertClasseurToNode(ecritureFileXML.typeFichier.fichier_etudiant);
+ Classeur2 ClasseurAnalyse;
+ commandes.initialiseParametresEvaluation();
+ commandes.initialiseParametresSettingsProprietes();
+ ClasseurAnalyse = new Classeur2(nod,0,enumerations.typeFichier.fichier_analyse);
+ node nodAnalyse = ClasseurAnalyse.convertClasseurToNode(enumerations.typeFichier.fichier_analyse);
node styleAuto = nod.retourneFirstEnfant("office:document-content").retourneFirstEnfant("office:automatic-styles");
styleAuto.addAllEnfants(nod.retourneAllEnfants("office:document-styles"));
styleAuto.retourneFirstEnfant("office:document-styles").removeAllAttributs();
nodAnalyse.retourneFirstEnfant("classeur").addEnfant(styleAuto);
-
- nodAnalyse.saveNodeEnXMLinNewFile("nodStudent.xml", commandes.pathApp);
-
+
commandes.sujet = nodAnalyse.retourneFirstEnfant("classeur");
+
} catch (CloneNotSupportedException | IOException e1) {
e1.printStackTrace();
}
-
-
-// Classeur2 ClasseurAnalyse = new Classeur2(commandes.sujet,0,ecritureFileXML.typeFichier.fichier_analyse);
-// commandes.sujet = ClasseurAnalyse.convertClasseurToNode(ecritureFileXML.typeFichier.fichier_analyse);
-
-// node styleAuto = commandes.sujet.retourneFirstEnfant("office:document-content");
-// if(styleAuto!=null) {
-// styleAuto = styleAuto.retourneFirstEnfant("office:automatic-styles");
-// styleAuto.addAllEnfants(commandes.sujet.retourneAllEnfants("office:document-styles"));
-// styleAuto.retourneFirstEnfant("office:document-styles").removeAllAttributs();
-// }else {
-// styleAuto = transformeXLMtoNode.getNodeRoot().retourneFirstEnfant("office:document-styles");
-// if(styleAuto!=null)styleAuto.retourneFirstEnfant("office:document-styles").removeAllAttributs();
-// }
-// if(styleAuto!=null) commandes.sujet.addEnfant(styleAuto);
-
-
-// commandes.sujet = commandes.sujet.getEnfant(0);
commandes.sujet.getAttributs().put("analysis_filename",commandes.nameSujet);
-
-// commandes.sujet.removeAllEnfantWithThisName("office:document-content");
-// commandes.sujet.removeAllEnfantWithThisName("office:document-meta");
-
- commandes.sujet.saveNodeEnXMLinNewFile("sujet1.xml", commandes.pathApp);
// new verificationFichierAnalyse();
@@ -125,9 +102,7 @@ public class actNewFichierAnalyse extends AbstractAction{
commandes.IndexEvaluationCharger=-1; //Car ce n'est pas une évaluation
commandes.NameEvaluationCharger = "";
commandes.analysis_filename = commandes.sujet.getAttributs().get("analysis_filename");
-
- commandes.initialiseParametresEvaluation();
- commandes.initialiseParametresSettingsProprietes();
+ commandes.chargementParametresDepuisNodeSujet();
fenetres.create.getTree().setVisible(true);
fenetres.create.constructionTree();
@@ -149,7 +124,7 @@ public class actNewFichierAnalyse extends AbstractAction{
fenetres.create.getTextNodeSelect().refreshAffichage(null);
}
-
+ commandes.sujet.saveNodeEnXMLinNewFile("sujet.xml", commandes.pathApp);
commandes.ecritCode = true;
}
diff --git a/src/calc/commandes.java b/src/calc/commandes.java
index 14c38d2..f027c2f 100644
--- a/src/calc/commandes.java
+++ b/src/calc/commandes.java
@@ -69,7 +69,7 @@ public class commandes {
//** Les commandes par défaut à travers la console **
//***************************************************
public static String nameSujet = ""; //sujet par défaut
- public static boolean analyse = false; //analyse des fichiers étudiants
+ public static boolean analyse = false; //analyse les fichiers étudiants. Si vrai alors évalue les fichiers des étudiants.
public static boolean ecritCode = false; // -write : ecriture du code du sujet
public static boolean ecritSujet = false; // -sujet : ecriture 2 du code du sujet, uniquement lesnodeACs évalués
public static boolean ecritNodeAnalyse = false;
@@ -102,10 +102,6 @@ public class commandes {
//** setting valeur par défaut
public static String culture = "FR";
-
-
-
-
//** Variables de mise à jour du fichier d'analyse
public static boolean MAJnameAnalysisFile =false;
public static boolean MAJFichierAnalyse = false;
@@ -175,7 +171,9 @@ public class commandes {
public static int analyse_index_Fichier_Student = 0;
public static StringBuilder message = new StringBuilder();
-
+ /**
+ * Initialisation des paramètres pour l'application.
+ */
public static void initialiseParametresSettingsProprietes() {
//** setting valeur par défaut
@@ -236,6 +234,9 @@ public class commandes {
message = new StringBuilder();
}
+ /**
+ * Initilalisation des paramètres pour l'évaluation des classeurs des étudiants.
+ */
public static void initialiseParametresEvaluation() {
fourniCSV=false;
ecritCode = false;
@@ -259,6 +260,28 @@ public class commandes {
nameSVG="";
}
+ /**
+ * Chargment dans le fihier d'analyse venant d'être créer des paramètres pour les évaluations.
+ * @param nodFichierAnalyseJusteCreer
+ */
+ public static void chargementParametresDepuisNodeSujet() {
+ commandes.analyse_bareme = Double.valueOf(sujet.getAttributs().get("bareme"));
+ commandes.analyse_version = sujet.getAttributs().get("version");
+ commandes.analyse_controleDateCreation = Boolean.valueOf(sujet.getAttributs().get("controleDateCreation"));
+ commandes.analyse_presenceMetaSujet = Boolean.valueOf(sujet.getAttributs().get("presenceMetaSujet"));; //
+ commandes.analyse_date = sujet.getAttributs().get("dateModification");
+ commandes.analysis_nbr_feuilles = Integer.valueOf(sujet.getAttributs().get("NbreFeuille"));
+ commandes.analyse_auteur = sujet.getAttributs().get("auteur");
+ commandes.analyse_baremeABC = Boolean.valueOf(sujet.getAttributs().get("baremeABC"));
+ commandes.analyse_controle_Initial_Creator = Boolean.valueOf(sujet.getAttributs().get("controle_Initial_Creator"));
+ commandes.setting_historiquePresent = Boolean.valueOf(sujet.getAttributs().get("historiquePresent"));
+ commandes.analyse_titre = sujet.getAttributs().get("titre");
+ commandes.analysis_filename = sujet.getAttributs().get("filename");
+ commandes.analysis_producteur = sujet.getAttributs().get("producteur");
+ commandes.hash = sujet.getAttributs().get("hash");
+ }
+
+
/**
* Clôture avec une erreur de commande
*/
diff --git a/src/calcul/enumerations.java b/src/calcul/enumerations.java
new file mode 100644
index 0000000..d8fd24e
--- /dev/null
+++ b/src/calcul/enumerations.java
@@ -0,0 +1,30 @@
+package calcul;
+
+public class enumerations {
+
+ /**
+ *
+ * @author pabr6
+ *
+ */
+ public enum LocationFile {
+ DansDossier,
+ UniquementFichier,
+ PourUnSeulFichier,
+ }
+
+ /**
+ *
+ * @author pabr6
+ *
+ */
+ public enum typeFichier {
+ fichier_analyse,
+ verification_etudiant,
+ fichier_etudiant,
+ }
+
+
+
+
+}
diff --git a/src/evaluer/crearNodeAna.java b/src/evaluer/crearNodeAna.java
new file mode 100644
index 0000000..bb927e2
--- /dev/null
+++ b/src/evaluer/crearNodeAna.java
@@ -0,0 +1,40 @@
+package evaluer;
+
+import java.text.ParseException;
+import java.util.Date;
+import xml.node;
+
+/**
+ *
+ * @author pabr6
+ *
+ */
+public class crearNodeAna {
+
+ node ana = new node("analyse");
+
+ /**
+ * Création du node analyse.
+ * Ce node permet de stocker l'analyse (évaluation) du fichier remis par l'étudiant.
+ */
+ public crearNodeAna(String nomEtudiant , int indexStudent) {
+ ana.getAttributs().put("nomEtudiant", nomEtudiant);
+ ana.getAttributs().put("indexFichier", String.valueOf(indexStudent));
+ try {
+ ana.getAttributs().put("dateEvaluation", calcul.formatDateWriter.DateLibreOffice(new Date()));
+ } catch (ParseException e) {
+ e.printStackTrace();
+ }
+ }
+
+ public node getAna() {
+ return ana;
+ }
+
+ public void setAna(node ana) {
+ this.ana = ana;
+ }
+
+
+
+}
diff --git a/src/evaluer/evaluer.java b/src/evaluer/evaluer.java
new file mode 100644
index 0000000..1678c87
--- /dev/null
+++ b/src/evaluer/evaluer.java
@@ -0,0 +1,59 @@
+package evaluer;
+
+import javax.swing.JEditorPane;
+
+import xml.EnsembleFichiers;
+import xml.node;
+
+
+
+public class evaluer {
+
+ public evaluer() {
+
+ }
+
+ public static node analyse(node nodStudent, node nodSujet, Integer indexStudent,JEditorPane txt, String texteAfficher) {
+
+ node ana = new node("evaluation");
+
+ // informations
+ node nodouverture = new node();
+ nodouverture.setNameNode("informations");
+ nodouverture.getAttributs().put("dossier",EnsembleFichiers.getListeNomDossier().get(indexStudent));
+ if(nodSujet.getAttributs().get("analysis_filename")!=null) nodouverture.getAttributs().put("filenameAnalyse", nodSujet.getAttributs().get("analysis_filename"));
+ if(nodStudent.getAttributs().get("producteur")!=null) nodouverture.getAttributs().put("producteur", nodStudent.getAttributs().get("producteur"));
+ if(nodStudent.getAttributs().get("dureeEdition")!=null) nodouverture.getAttributs().put("dureeEdition", nodStudent.getAttributs().get("dureeEdition"));
+ if(nodStudent.getAttributs().get("dateModification")!=null) nodouverture.getAttributs().put("dateModification", nodStudent.getAttributs().get("dateModification"));
+ if(nodSujet.getAttributs().get("historiquePresent")!=null) nodouverture.getAttributs().put("historiquePresent", nodSujet.getAttributs().get("historiquePresent"));
+ if(nodSujet.getAttributs().get("controleDateCreation")!=null) nodouverture.getAttributs().put("controleDateCreation", nodSujet.getAttributs().get("controleDateCreation"));
+ if(nodSujet.getAttributs().get("presenceMetaSujet")!=null) nodouverture.getAttributs().put("presenceMetaSujet", nodSujet.getAttributs().get("presenceMetaSujet"));
+ if(nodSujet.getAttributs().get("baremeABC")!=null) nodouverture.getAttributs().put("baremeABC", nodSujet.getAttributs().get("baremeABC"));
+ nodouverture.setNodeClose(true);
+ ana.addEnfant(nodouverture);
+
+ texteAfficher = texteAfficher + "\n" + nodouverture.getAttributs().get("dossier");
+ txt.setText(texteAfficher);
+
+ node note = new node("notation");
+ note.getAttributs().put("note", "0");
+ note.getAttributs().put("pointsWin", "0");
+ note.getAttributs().put("pointsTotal", "0");
+ note.getAttributs().put("commentaire", "");
+ note.getAttributs().put("proportioncorrect", "0");
+ note.getAttributs().put("baremeABC", "false");
+ if(nodSujet.getAttributs().get("baremeABC")!=null) note.getAttributs().put("baremeABC", nodSujet.getAttributs().get("baremeABC"));
+ note.setNodeClose(true);
+ ana.addEnfant(note);
+
+ node compare = new node("compare");
+ compare.setNodeClose(true);
+ ana.addEnfant(compare);
+
+
+
+ return ana;
+ }
+
+
+}
diff --git a/src/evaluer/evaluerAttributEtContenu.java b/src/evaluer/evaluerAttributEtContenu.java
new file mode 100644
index 0000000..3ddacde
--- /dev/null
+++ b/src/evaluer/evaluerAttributEtContenu.java
@@ -0,0 +1,16 @@
+package evaluer;
+
+import xml.node;
+
+public class evaluerAttributEtContenu {
+
+ public evaluerAttributEtContenu(node nodeSujet, node nodeEtudiant, node analyse) {
+
+
+
+
+ }
+
+
+
+}
diff --git a/src/evaluer/evaluerLesFichiersEtudiants.java b/src/evaluer/evaluerLesFichiersEtudiants.java
index 7cf6441..3eb16a5 100644
--- a/src/evaluer/evaluerLesFichiersEtudiants.java
+++ b/src/evaluer/evaluerLesFichiersEtudiants.java
@@ -2,6 +2,7 @@ package evaluer;
import java.io.IOException;
import java.text.ParseException;
+import java.util.zip.ZipException;
import javax.swing.JEditorPane;
import javax.xml.parsers.ParserConfigurationException;
@@ -12,6 +13,8 @@ import AnalyseCalc.Classeur2;
import calc.Student;
import calc.commandes;
import calcul.calculIntervalleBaremeABCDE;
+import calcul.enumerations;
+import calcul.enumerations.typeFichier;
import fenetres.baliseStyle;
import xml.EnsembleFichiers;
import xml.LecturesDossiers;
@@ -65,7 +68,7 @@ public class evaluerLesFichiersEtudiants implements Runnable{
if(commandes.fichierStudentMoodle) {
try {
- new LecturesDossiers(ecritureFileXML.LocationFile.UniquementFichier, commandes.path);
+ new LecturesDossiers(enumerations.LocationFile.UniquementFichier, commandes.path);
} catch (ParserConfigurationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
@@ -78,7 +81,7 @@ public class evaluerLesFichiersEtudiants implements Runnable{
}
}else {
try {
- new LecturesDossiers(ecritureFileXML.LocationFile.DansDossier, commandes.path);
+ new LecturesDossiers(enumerations.LocationFile.DansDossier, commandes.path);
} catch (ParserConfigurationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
@@ -175,17 +178,25 @@ public class evaluerLesFichiersEtudiants implements Runnable{
Classeur2 ClasseurStudent;
try {
- ClasseurStudent = new Classeur2(nod,i,ecritureFileXML.typeFichier.fichier_etudiant);
- node nodStudent = ClasseurStudent.convertClasseurToNode(ecritureFileXML.typeFichier.fichier_etudiant);
+ ClasseurStudent = new Classeur2(nod,i,typeFichier.fichier_etudiant);
+ node nodStudent = ClasseurStudent.convertClasseurToNode(typeFichier.fichier_etudiant);
node styleAuto = nod.retourneFirstEnfant("office:document-content").retourneFirstEnfant("office:automatic-styles");
styleAuto.addAllEnfants(nod.retourneAllEnfants("office:document-styles"));
styleAuto.retourneFirstEnfant("office:document-styles").removeAllAttributs();
nodStudent.retourneFirstEnfant("classeur").addEnfant(styleAuto);
-
nodStudent = nodStudent.retourneFirstEnfant("classeur");
+ String nomEtudiant = EnsembleFichiers.getListeNomDossier().get(i);
+ nodStudent.getAttributs().put("nomEtudiant", nomEtudiant);
+
+ nodStudent.saveNodeEnXMLinNewFile("nodStudent.xml", commandes.pathApp);
+
+ if(commandes.analyse) {
+ node ana = new crearNodeAna(nomEtudiant, i).getAna();
+ new evaluerNodesClasseurStudent(ana, nodStudent);
+ ana.saveNodeEnXMLinNewFile("ana.xml", commandes.pathApp);
+ }
-// nodStudent.saveNodeEnXMLinNewFile("nodStudent.xml", commandes.pathApp);
} catch (CloneNotSupportedException | IOException e) {
@@ -197,8 +208,11 @@ public class evaluerLesFichiersEtudiants implements Runnable{
//**********************************
if(commandes.analyse||commandes.ecritNodeAnalyse) {
+
+
+
// Run.ecritureNodeEnXML(nodStudent, "fichier student","",false,""); //écriture du node nodStudent de l'étudiant
- node ana = analyseFichier.analyse(nodStudent, commandes.sujet, i, a, txt,texteAfficher);
+// node ana = analyseFichier.analyse(nodStudent, commandes.sujet, i, a, txt,texteAfficher);
// try {
// Run.ecritureNodeEnXML(ana, "analyse", commandes.path, Run.TypeFile.Verif);
// } catch (IOException e1) {
@@ -209,11 +223,14 @@ public class evaluerLesFichiersEtudiants implements Runnable{
//** Ecriture des fichiers d'analyse des students **
//**************************************************
if(commandes.ecritNodeAnalyse) {
- try {
- Run.ecritureNodeEnXML(ana, "nodana"+ana.retourneFirstEnfantsByName("ouverture").getAttributs().get("dossier"),commandes.path,Run.TypeFile.Analyse);
- } catch (IOException e) {
- e.printStackTrace();
- }
+
+
+
+// try {
+//// Run.ecritureNodeEnXML(ana, "nodana"+ana.retourneFirstEnfantsByName("ouverture").getAttributs().get("dossier"),commandes.path,Run.TypeFile.Analyse);
+// } catch (IOException e) {
+// e.printStackTrace();
+// }
}
//****************************
@@ -222,44 +239,44 @@ public class evaluerLesFichiersEtudiants implements Runnable{
if(!commandes.sansFeeback&&!commandes.ecritNodeAnalyse) {
if(!commandes.zipfeedback) {
//feedback(ana, verif); //classique directement dans le répertoire
- try {
- feedbacks.feedback(ana,verif, false,false);
- } catch (IOException e) {
- e.printStackTrace();
- } catch (ParseException e) {
- e.printStackTrace();
- }
+// try {
+//// feedbacks.feedback(ana,verif, false,false);
+// } catch (IOException e) {
+// e.printStackTrace();
+// } catch (ParseException e) {
+// e.printStackTrace();
+// }
}
if(commandes.zipfeedback) { // Dans une archive pour Moodle
- try {
-// a.AddStreamToZip(feedbacks.feedback(ana, verif, true,false), meptl.retourneLeNomDuFeedback(a.getLectDossiers().getEC().getListeNomFichierFeedBack().get(i),ana, verif),commandes.analyse_size,commandes.analyse_nameZip);
- // Modification imposé par Moodle 4
- if(commandes.fichierStudentMoodle) {
- a.AddStreamToZip(feedbacks.feedback(ana, verif, true,false), meptl.retourneLeNomDuFeedbackMoodle4(a.getLectDossiers().getEC().getListeFichierodt().get(i),ana, verif),commandes.analyse_size,commandes.analyse_nameZip);
- }else {
- String nomFichiermoodle4 = a.getLectDossiers().getEC().getListeNomFichierFeedBack().get(i)+"_"+a.getLectDossiers().getEC().getListeFichierodt().get(i);
- a.AddStreamToZip(feedbacks.feedback(ana, verif, true,false), meptl.retourneLeNomDuFeedbackMoodle4(nomFichiermoodle4,ana, verif),commandes.analyse_size,commandes.analyse_nameZip);
- }
-
- } catch (ZipException e) {
- e.printStackTrace();
- } catch (IOException e) {
- e.printStackTrace();
- } catch (ParseException e) {
- e.printStackTrace();
- }
+// try {
+//// a.AddStreamToZip(feedbacks.feedback(ana, verif, true,false), meptl.retourneLeNomDuFeedback(a.getLectDossiers().getEC().getListeNomFichierFeedBack().get(i),ana, verif),commandes.analyse_size,commandes.analyse_nameZip);
+// // Modification imposé par Moodle 4
+// if(commandes.fichierStudentMoodle) {
+//// a.AddStreamToZip(feedbacks.feedback(ana, verif, true,false), meptl.retourneLeNomDuFeedbackMoodle4(a.getLectDossiers().getEC().getListeFichierodt().get(i),ana, verif),commandes.analyse_size,commandes.analyse_nameZip);
+// }else {
+//// String nomFichiermoodle4 = a.getLectDossiers().getEC().getListeNomFichierFeedBack().get(i)+"_"+a.getLectDossiers().getEC().getListeFichierodt().get(i);
+//// a.AddStreamToZip(feedbacks.feedback(ana, verif, true,false), meptl.retourneLeNomDuFeedbackMoodle4(nomFichiermoodle4,ana, verif),commandes.analyse_size,commandes.analyse_nameZip);
+// }
+//
+// } catch (ZipException e) {
+// e.printStackTrace();
+// } catch (IOException e) {
+// e.printStackTrace();
+// } catch (ParseException e) {
+// e.printStackTrace();
+// }
}
}
//********************************************************************************
//** Ajoute au node ensembleanalyse lorsque -csv file.csv ou -verifcsv file.scv **
//********************************************************************************
- if(commandes.ecritNoteCSV) ensembleanalyse.addNode(ana);
+// if(commandes.ecritNoteCSV) ensembleanalyse.addNode(ana);
//*********************************************************
//** Message dans la console sur l'analyse de l'étudiant **
//*********************************************************
- commandes.message.append(meptl.messageSystem(ana).toString());
+// commandes.message.append(meptl.messageSystem(ana).toString());
}
}
//
diff --git a/src/evaluer/evaluerNodesClasseurStudent.java b/src/evaluer/evaluerNodesClasseurStudent.java
new file mode 100644
index 0000000..5d7ced7
--- /dev/null
+++ b/src/evaluer/evaluerNodesClasseurStudent.java
@@ -0,0 +1,55 @@
+package evaluer;
+
+import calc.commandes;
+import xml.node;
+
+public class evaluerNodesClasseurStudent {
+
+ private node analyse = new node();
+ private node nodeEtudiant = new node();
+
+ public evaluerNodesClasseurStudent(node ana, node nodStudent) {
+ nodeEtudiant = nodStudent;
+ analyse = ana;
+ evaluerLesFeuilles();
+ analyse.getAttributs().put("test", "reussi");
+ }
+
+ /**
+ * Evaluer les feuilles les unes après les autres.
+ */
+ private void evaluerLesFeuilles() {
+ for (node feuilleSujet : commandes.sujet.retourneAllEnfants("feuille")) {
+ if(feuilleSujet.isEvaluer()) {
+ node evaluerFeuille = new node("feuille");
+ evaluerFeuille.getAttributs().put("nomFeuille", feuilleSujet.getAttributs().get("nomFeuille"));
+ analyse.addEnfant(evaluerFeuille);
+ evaluerLesColonnes(feuilleSujet, evaluerFeuille);
+ }
+ }
+ }
+
+ /**
+ * Evaluer les colonnes les unes après les autres.
+ * @param feuilleSujet
+ * @param evaluerFeuille
+ */
+ private void evaluerLesColonnes(node feuilleSujet, node evaluerFeuille) {
+ for (node colonne : feuilleSujet.retourneAllEnfants("colonne")) {
+ if(colonne.isEvaluer()) {
+ new evaluerAttributEtContenu(colonne,nodeEtudiant,analyse);
+ }
+ }
+ }
+
+ public node getAnalyse() {
+ return analyse;
+ }
+
+ public node getNodeEtudaint() {
+ return nodeEtudiant;
+ }
+
+
+
+}
diff --git a/src/fenetres/proprieteFichierAnalyse.java b/src/fenetres/proprieteFichierAnalyse.java
index f9b7d04..9340896 100644
--- a/src/fenetres/proprieteFichierAnalyse.java
+++ b/src/fenetres/proprieteFichierAnalyse.java
@@ -717,7 +717,7 @@ public final class proprieteFichierAnalyse extends JFrame {
}
/**
- * Actualisation des zone de texte et des combos à l'ouverture de la fenêtre.
+ * Actualisation des zones de texte et des combos à l'ouverture de la fenêtre.
*/
public void actualise() {
if(commandes.sujet.getAttributs().get("titre")!=null){
diff --git a/src/xml/LecturesDossiers.java b/src/xml/LecturesDossiers.java
index b0e003b..91343d2 100644
--- a/src/xml/LecturesDossiers.java
+++ b/src/xml/LecturesDossiers.java
@@ -15,6 +15,7 @@ import javax.xml.parsers.ParserConfigurationException;
import org.xml.sax.SAXException;
+import calcul.enumerations.LocationFile;
import net.lingala.zip4j.core.ZipFile;
import net.lingala.zip4j.model.FileHeader;
@@ -27,7 +28,7 @@ public class LecturesDossiers {
private static EnsembleFichiers EC = new EnsembleFichiers();
- public LecturesDossiers( ecritureFileXML.LocationFile location, String patch) throws ParserConfigurationException, SAXException, IOException {
+ public LecturesDossiers( LocationFile location, String patch) throws ParserConfigurationException, SAXException, IOException {
String NomDossier = null;
String leNomDuRepertoire = patch;
String ContentT = null;
@@ -38,7 +39,7 @@ public class LecturesDossiers {
File rep = new File(leNomDuRepertoire);
- if(location==ecritureFileXML.LocationFile.DansDossier) {
+ if(location==LocationFile.DansDossier) {
System.out.println();
if(rep.isDirectory()) {
@@ -100,7 +101,7 @@ public class LecturesDossiers {
}
- if(location == ecritureFileXML.LocationFile.UniquementFichier) {
+ if(location == LocationFile.UniquementFichier) {
System.out.println();
File[] fichiers = rep.listFiles();
@@ -146,7 +147,7 @@ public class LecturesDossiers {
}
}
- if(location == ecritureFileXML.LocationFile.CreerFichierAnalyse) {
+ if(location == LocationFile.PourUnSeulFichier) {
System.out.println();
if(!rep.isFile()) return;
diff --git a/src/xml/ecritureFileXML.java b/src/xml/ecritureFileXML.java
index 98531a7..ccdb937 100644
--- a/src/xml/ecritureFileXML.java
+++ b/src/xml/ecritureFileXML.java
@@ -13,17 +13,20 @@ import java.nio.file.Paths;
public class ecritureFileXML {
- public enum LocationFile {
- DansDossier,
- UniquementFichier,
- CreerFichierAnalyse
- }
-
- public enum typeFichier {
- fichier_analyse,
- verification_etudiant,
- fichier_etudiant,
- }
+// public enum LocationFile {
+// DansDossier,
+// UniquementFichier,
+// /**
+// * Permet de créer un fichier d'analyse
+// */
+// CreerFichierAnalyse
+// }
+//
+// public enum typeFichier {
+// fichier_analyse,
+// verification_etudiant,
+// fichier_etudiant,
+// }
diff --git a/src/xml/node.java b/src/xml/node.java
index 818cfb0..95448b7 100644
--- a/src/xml/node.java
+++ b/src/xml/node.java
@@ -53,6 +53,12 @@ private boolean nodeClose = false;
public void setNodeClose(boolean nodeClose) {
this.nodeClose = nodeClose;
}
+
+ public boolean isEvaluer() {
+ if(!this.attributs.containsKey("evaluer")) return false;
+ if(!Boolean.valueOf(this.getAttributs().get("evaluer"))) return false;
+ return true;
+ }
public String getNameNode() {
if(this.equals(null)) return "";
diff --git a/sujet.xml b/sujet.xml
index 6dfe4fe..f9ace53 100644
--- a/sujet.xml
+++ b/sujet.xml
@@ -1 +1 @@
-AnnéeConsommation énergétique globale (exajoules)Emissions mondiales de CO₂ (milliards de tonnes)Émissions CO₂ (élevée/faible)Catégorie de consommation énergétique1980250 EJ20,3faibleFaible1981255 EJ20,5faibleFaible1982260 EJ20,7faibleFaible1983265 EJ20,8faibleFaible1984270 EJ21,1faibleFaible1985275 EJ21,3faibleFaible1986280 EJ21,6faibleFaible1987290 EJ22,1faibleFaible1988300 EJ22,8faibleMoyenne1989310 EJ23,4faibleMoyenne1990320 EJ23,9faibleMoyenne1991330 EJ24,2faibleMoyenne1992340 EJ24,5faibleMoyenne1993350 EJ24,9faibleMoyenne1994360 EJ25,4faibleMoyenne1995370 EJ25,9faibleMoyenne1996380 EJ26,3faibleMoyenne1997390 EJ26,8faibleMoyenne1998400 EJ27,5faibleMoyenne1999410 EJ28faibleMoyenne2000420 EJ28,7faibleMoyenne2001430 EJ29faibleMoyenne2002440 EJ29,5faibleMoyenne2003450 EJ30,2élevéeMoyenne2004460 EJ30,8élevéeMoyenne2005470 EJ31,5élevéeMoyenne2006480 EJ32,2élevéeMoyenne2007490 EJ33élevéeMoyenne2008500 EJ33,8élevéeMoyenne2009510 EJ33,5élevéeElevée2010520 EJ34,5élevéeElevée2011530 EJ35,2élevéeElevée2012540 EJ35,8élevéeElevée2013550 EJ36,3élevéeElevée2014560 EJ36,8élevéeElevée2015570 EJ37,5élevéeElevée2016580 EJ38,2élevéeElevée2017590 EJ38,8élevéeElevée2018600 EJ39,4élevéeElevée2019610 EJ40,1élevéeElevée2020620 EJ39élevéeElevée2021630 EJ40,8élevéeElevée2022640 EJ41,5élevéeElevée EJ €- €???Page 1(???)???, 00/00/000000:00:00Page 1/ 99Pablo Rodriguez2024-11-30T10:28:19.6860000007PT23H53M11S2024-12-01T10:34:42.097000000Pablo RodriguezLibreOffice/24.2.5.2$Windows_X86_64 LibreOffice_project/bffef4ea93e59bebbeaf7f431bb02b1a39ee8a59
\ No newline at end of file
+
EJ €- €???Page 1(???)???, 00/00/000000:00:00Page 1/ 99
\ No newline at end of file