maj
This commit is contained in:
parent
ab1bec6abb
commit
f72f66af47
File diff suppressed because one or more lines are too long
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
1
nodStudent.xml
Normal file
1
nodStudent.xml
Normal file
File diff suppressed because one or more lines are too long
@ -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.<br>
|
||||
* @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"
|
||||
* Création des feuilles du classeur<br>
|
||||
* Si typeFichier = fichier_analyse : Création d'un fichier pour analyser les fichiers des étudiants.<br>
|
||||
* Si typeFichier = : Création d'un fichier étudiant à partir du classeur remis par l'étudiant.<br>
|
||||
* @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<node> 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<feuilles.size();i++) {
|
||||
Feuilles.put(i,new feuille(feuilles.get(i), nod , indexStudent));
|
||||
}
|
||||
@ -2614,12 +2615,12 @@ public class Classeur2 {
|
||||
} // feuille
|
||||
|
||||
|
||||
public node convertClasseurToNode(ecritureFileXML.typeFichier type) throws IOException {
|
||||
public node convertClasseurToNode(typeFichier type) throws IOException {
|
||||
|
||||
StringBuilder fichier = new StringBuilder();
|
||||
fichier.append("<classeur ");
|
||||
|
||||
if(type.equals(ecritureFileXML.typeFichier.fichier_analyse)) {
|
||||
if(type.equals(typeFichier.fichier_analyse)) {
|
||||
fichier.append("titre=\"" + calc.commandes.analyse_titre+ "\" ");
|
||||
fichier.append("progression=\"" + calc.commandes.analyse_progression + "\" ");
|
||||
fichier.append("bareme=\"" + calc.commandes.analyse_bareme + "\" ");
|
||||
@ -2648,12 +2649,12 @@ public class Classeur2 {
|
||||
}
|
||||
|
||||
fichier.append("metaSujetContent=\"" + metaSujetContent + "\" ");
|
||||
if(type.equals(ecritureFileXML.typeFichier.fichier_analyse)) {
|
||||
if(type.equals(typeFichier.fichier_analyse)) {
|
||||
fichier.append("analyse=\"" + analyse +"\" nbmodification=\"1000\" nbcopier=\"100\" verification=\"true\">");
|
||||
fichier.append("<communication link=\"\" linktitle=\"\" title=\"\"></communication>");
|
||||
}
|
||||
|
||||
if(type.equals(ecritureFileXML.typeFichier.fichier_etudiant)) {
|
||||
if(type.equals(typeFichier.fichier_etudiant)) {
|
||||
fichier.append(">");
|
||||
}
|
||||
|
||||
|
@ -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,55 +65,32 @@ 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();
|
||||
if(commandes.fichierAnalyseValide) {
|
||||
@ -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;
|
||||
|
||||
}
|
||||
|
@ -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.<br>
|
||||
*/
|
||||
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.<br>
|
||||
*/
|
||||
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.<br>
|
||||
* @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
|
||||
*/
|
||||
|
30
src/calcul/enumerations.java
Normal file
30
src/calcul/enumerations.java
Normal file
@ -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,
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
40
src/evaluer/crearNodeAna.java
Normal file
40
src/evaluer/crearNodeAna.java
Normal file
@ -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.<br>
|
||||
* Ce node permet de stocker l'analyse (évaluation) du fichier remis par l'étudiant.<br>
|
||||
*/
|
||||
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;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
59
src/evaluer/evaluer.java
Normal file
59
src/evaluer/evaluer.java
Normal file
@ -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;
|
||||
}
|
||||
|
||||
|
||||
}
|
16
src/evaluer/evaluerAttributEtContenu.java
Normal file
16
src/evaluer/evaluerAttributEtContenu.java
Normal file
@ -0,0 +1,16 @@
|
||||
package evaluer;
|
||||
|
||||
import xml.node;
|
||||
|
||||
public class evaluerAttributEtContenu {
|
||||
|
||||
public evaluerAttributEtContenu(node nodeSujet, node nodeEtudiant, node analyse) {
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
@ -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());
|
||||
}
|
||||
}
|
||||
//
|
||||
|
55
src/evaluer/evaluerNodesClasseurStudent.java
Normal file
55
src/evaluer/evaluerNodesClasseurStudent.java
Normal file
@ -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;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
@ -717,7 +717,7 @@ public final class proprieteFichierAnalyse extends JFrame {
|
||||
}
|
||||
|
||||
/**
|
||||
* Actualisation des zone de texte et des combos à l'ouverture de la fenêtre.</br>
|
||||
* Actualisation des zones de texte et des combos à l'ouverture de la fenêtre.</br>
|
||||
*/
|
||||
public void actualise() {
|
||||
if(commandes.sujet.getAttributs().get("titre")!=null){
|
||||
|
@ -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;
|
||||
|
@ -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,
|
||||
// }
|
||||
|
||||
|
||||
|
||||
|
@ -54,6 +54,12 @@ private boolean nodeClose = false;
|
||||
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 "";
|
||||
return this.nameNode;
|
||||
|
Loading…
x
Reference in New Issue
Block a user