package baseEvaluations;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.nio.file.Paths;
import java.util.Date;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import MEPTL.commandes;
import MEPTL.meptl;
import MEPTL.verificationFichierAnalyse_node_commandesSujet;
import cXML.node;
import fenetres.ChargeFichierXML;
/**
* Charge le node évaluation avec le node sujet.
* @author pabr6
*
*/
public class chargeEvaluation {
/**
* Charge en mémoire le node évaluation avec le node sujet.
* Le node commandes.evaluationChargeEnMemoire en mémoire.
* Le node commandes.nameSujet en mémoire.
* @param index
*/
public static void chargeEnMémoireEvaluationSelected(Integer index) {
String directoryName = "";
File file = null;
node evaluation = new node();
if(commandes.PathBaseEvaluationDefaut) {
directoryName = Paths.get("").toAbsolutePath().toString();
}else {
directoryName = commandes.PathBaseEvaluations;
}
if(commandes.os.contains("Win")) {
file = new File(directoryName + "\\" + commandes.NameBaseEvaluations);
}else {
file = new File(directoryName + "/" + commandes.NameBaseEvaluations);
}
if(file!=null) {
BufferedReader br;
try {
br = new BufferedReader(
new InputStreamReader(
new FileInputStream(file.getAbsoluteFile()), "UTF-8"));
String line;
StringBuilder targetString = new StringBuilder();
while ((line = br.readLine()) != null) {
targetString.append(line);
}
evaluation = evaluation.chargeNodeEvaluationIndex(index,targetString.toString().replace("\t","").replace("\r", "").replace("\n", ""));
}catch (Exception e) {
JFrame frame = new JFrame("Erreur");
JLabel texte = new JLabel("
L'évaluation n'a pas été trouvé dans la base de données.
"); JOptionPane.showMessageDialog(frame, texte); } //* Charge le node sujet provisoirement commandes.evaluationChargeEnMemoire = evaluation; commandes.NameEvaluationCharger= evaluation.getAttributs().get("name"); commandes.path = evaluation.getAttributs().get("path"); //Dossier des fichiers des étudiants // Chargement du node sujet depuis la base commandes.nameSujet = evaluation.getAttributs().get("analysis_filename"); commandes.sujet = evaluation.retourneFirstEnfantsByName("fichier"); commandes.PathFilenameAnalysis = evaluation.getAttributs().get("PathFilenameAnalysis"); //** Les paramètres de l'évaluation commandes.versionEvaluation = evaluation.getAttributs().get("version"); commandes.fichierStudentMoodle = Boolean.valueOf(evaluation.getAttributs().get("fichierStudentMoodle")); commandes.sansFeeback = Boolean.valueOf(evaluation.getAttributs().get("sansFeeback")); commandes.noDetail = Boolean.valueOf(evaluation.getAttributs().get("noDetail")); commandes.noNote = Boolean.valueOf(evaluation.getAttributs().get("noNote")); commandes.noAfficheProgression = Boolean.valueOf(evaluation.getAttributs().get("noAfficheProgression")); commandes.zipfeedback = Boolean.valueOf(evaluation.getAttributs().get("zipfeedback")); commandes.verifHisto2 = Boolean.valueOf(evaluation.getAttributs().get("verifHisto2")); commandes.ecritNoteCSV = Boolean.valueOf(evaluation.getAttributs().get("ecritNoteCSV")); commandes.newLogo = Boolean.valueOf(evaluation.getAttributs().get("newLogo")); commandes.noLogo = Boolean.valueOf(evaluation.getAttributs().get("noLogo")); commandes.fourniCSV = Boolean.valueOf(evaluation.getAttributs().get("fourniCSV")); commandes.nameCSV = evaluation.getAttributs().get("nameCSV"); if(evaluation.getAttributs().get("analyse_nombres_modifications_simultané_maxi")!=null) { commandes.analyse_nombres_modifications_simultané_maxi = Integer.valueOf(evaluation.getAttributs().get("analyse_nombres_modifications_simultané_maxi")); } commandes.fourniCSV = Boolean.valueOf(evaluation.getAttributs().get("fourniCSV")); commandes.nameSVG = evaluation.getAttributs().get("nameSVG"); commandes.nodeCSV = evaluation.retourneFirstEnfantsByName("fileCSV"); commandes.contenuFichierSVG = evaluation.retourneFirstEnfantsByName("nodSVG").retourneLesContenusEnfants(""); commandes.fichierAnalyseValide = true; try { commandes.sujetSauvegarde = commandes.sujet.clone(); } catch (CloneNotSupportedException e) { e.printStackTrace(); } //Chargement des paramètres du fichier d'analyse meptl.chargementParametresFichierAnalyse(); //** Remise à zéro de la base dans la mémoire de l'application commandes.evaluationsBase = null; } } /** * Retourne le node évaluation sélectionné. * @param index * @return */ public static node retourneEvaluationSelected(Integer index) { String directoryName = ""; File file = null; node evaluation = new node(); if(commandes.PathBaseEvaluationDefaut) { directoryName = Paths.get("").toAbsolutePath().toString(); }else { directoryName = commandes.PathBaseEvaluations; } if(commandes.os.contains("Win")) { file = new File(directoryName + "\\" + commandes.NameBaseEvaluations); }else { file = new File(directoryName + "/" + commandes.NameBaseEvaluations); } if(file!=null) { BufferedReader br; try { br = new BufferedReader( new InputStreamReader( new FileInputStream(file.getAbsoluteFile()), "UTF-8")); String line; StringBuilder targetString = new StringBuilder(); while ((line = br.readLine()) != null) { targetString.append(line); } evaluation = evaluation.chargeNodeEvaluationIndex(index,targetString.toString().replace("\t","").replace("\r", "").replace("\n", "")); }catch (Exception e) { JFrame frame = new JFrame("Erreur"); JLabel texte = new JLabel("L'évaluation n'a pas été trouvé dans la base de données.
"); JOptionPane.showMessageDialog(frame, texte); } } return evaluation; } /** * Charge le fichier d'analyse de l'évaluation.