package MEPTL; import java.io.IOException; import java.util.Dictionary; import java.util.Enumeration; import java.util.regex.Matcher; import java.util.regex.Pattern; import javax.swing.JOptionPane; import cXML.Run; import cXML.node; import evaluer.evaluation; /** * * @author pablo rodriguez * * Vérification du fichier d'analyse. * */ public class verificationFichierAnalyse_node_commandesSujet { public static boolean erreur = false; public static StringBuilder messageErreur = new StringBuilder(); static node verifSujet = new node(); public verificationFichierAnalyse_node_commandesSujet() throws CloneNotSupportedException{ erreur=false; //réïnitialise la variable erreur. if(commandes.sujet==null) { commandes.fichierAnalyseValide=false; JOptionPane.showMessageDialog(null, "
a été mise à jour dans le fichier d'analyse.
"); commandes.message.append("Le hash du code de l'évaluation est : " + commandes.hash +"
"); commandes.message.append("Le nom du fichier d'analyse est : " + commandes.analysis_filename + "
"); commandes.message.append("**********************************************************
"); commandes.message.append("Ecriture du fichier avec le nouveau hash.
"); commandes.message.append("**********************************************************
"); }else { commandes.message.append("**********************************************************
"); commandes.message.append("Vérification du hash et du nom du fichier correct.
"); commandes.message.append("**********************************************************
"); } //** bye bye analyseWriter if(commandes.console) commandes.clotureApplication(); } /** * * @param nomFichier * @throws CloneNotSupportedException * @throws IOException */ public static void MiseAJourHashNomFichierAnalyse(String nomFichier) throws CloneNotSupportedException, IOException { if(!nomFichier.contains(".xml")) nomFichier= nomFichier+".xml"; commandes.hash = String.valueOf(Run.HashNode(commandes.sujet,0)); commandes.sujet.getAttributs().put("hash",String.valueOf(commandes.hash)); commandes.analysis_filename = nomFichier; commandes.sujet.getAttributs().put("analysis_filename",nomFichier); } /** * Permet l'écriture du fichier sujet.xml sans les nodes non évaluer. * @throws CloneNotSupportedException * @throws IOException */ static public void ecrisLeFichierSujetXML() throws CloneNotSupportedException, IOException { node nodeSujet = meptl.chargementFichierAnalyse(commandes.nameSujet, true); nodeSujet.getAttributs().put("hash", String.valueOf(Run.HashNode(nodeSujet, 0))); nodeSujet.getAttributs().put("analysis_filename", "sujet.xml"); Run.ecritureNodeEnXML(nodeSujet, "sujet",commandes.path,Run.TypeFile.Sujet); // ecriture du node sujet. Uniquement les nodes évalués. commandes.message.append("Un nouveau fichier d'analyse a été créé dans le dossier courant.
"); System.out.println("\t\t┌─────────────────────────────────────────────────────────────────────┐"); System.out.println("\t\t│ Un nouveau fichier \"sujet.xml\" a été créé dans le dossier courant. │"); System.out.println("\t\t└─────────────────────────────────────────────────────────────────────┘"); System.out.println(); //** bye bye analyseWriter commandes.clotureApplication(); } static private void messagMiseAJourFichierAnalyse(String hash) { int nbespace = "───────────────────────────┐".length()-hash.length(); if (nbespace<0) nbespace=1; int nbespace2 = "───────────────────────────────┐".length()-commandes.nameSujet.length(); if (nbespace2<0) nbespace2=1; System.out.println("\t\t┌────────────────────────────────────────────────────────────────────┐"); System.out.println("\t\t│ A la fin de l'évaluation. │"); System.out.println("\t\t│ Il y aura une mise à jour du fichier d'analyse. │"); System.out.println("\t\t│ │"); System.out.println("\t\t│ Le hash du code de l'évaluation est : " + hash + new String(new char[nbespace]).replace("\0", " ") +"│" ); System.out.println("\t\t│ Le nom du fichier d'analyse est : " + commandes.nameSujet + new String(new char[nbespace2]).replace("\0", " ") +"│" ); System.out.println("\t\t│ │"); System.out.println("\t\t└────────────────────────────────────────────────────────────────────┘"); System.out.println(); } static public void messagMiseAJourFichierAnalyseAprèsAnalyse() { int nbespace = "───────────────────────────┐".length()-commandes.hash.length(); if (nbespace<0) nbespace=1; int nbespace2 = "───────────────────────────────┐".length()-commandes.hash.length(); if (nbespace2<0) nbespace2=1; System.out.println("\t\t┌────────────────────────────────────────────────────────────────────┐"); System.out.println("\t\t│ Mise à jour du fichier d'analyse │"); System.out.println("\t\t│ │"); System.out.println("\t\t│ Le hash du code de l'évaluation est : " + commandes.hash + new String(new char[nbespace]).replace("\0", " ") +"│" ); System.out.println("\t\t│ Le nom du fichier d'analyse est : " + commandes.nameSujet + new String(new char[nbespace2]).replace("\0", " ") +"│" ); System.out.println("\t\t│ │"); System.out.println("\t\t└────────────────────────────────────────────────────────────────────┘"); System.out.println(); } /** * Clôture lorsqu'il y a une erreur dans le fichier d'analyse */ public static void clotureWithErrorInanalyzeFile() { System.out.println(); System.out.println("\t\t┌───────────────────────────────────────────────────────────┐"); System.out.println("\t\t│ Vous avez commis une erreur dans le fichier d'analyse. │"); System.out.println("\t\t│ │"); System.out.println("\t\t│ Vous devez rechercher l'erreur dans le fichier │"); System.out.println("\t\t│ d'analyse. Lisez les informations au-dessus. │"); System.out.println("\t\t│ │"); System.out.println("\t\t│ (')_(') │"); System.out.println("\t\t│ ( `.° ) │"); System.out.println("\t\t│ (\")__(\") .. à bientôt, analyseWriter. │"); System.out.println("\t\t└───────────────────────────────────────────────────────────┘"); System.out.println(); if(commandes.console) System.exit(0); } }