package MEPTL; import java.io.IOException; import java.nio.file.Paths; import java.util.Date; import javax.swing.JTree; import cXML.node; /** * * @author pablo rodriguez * */ public class commandes { //** Si la valeur est false alors c'est une application avec inteface graphique. public static boolean console = true; //** Le node du fichier d'analyse public static node sujet = new node(); public static node sujetSauvegarde = new node(); //** Le node base de données des évaluations public static node evaluationsBase = null; public static node evaluationChargeEnMemoire = null; //** L'arbre public static JTree tree = new JTree(); //** Le node CSV - liste des étudiants public static node nodeCSV = null; //** Version public static String version ="V4.4.7"; // La version actuelle public static String branch = "Origin"; public static String Annee ="2023"; //*************************************************** //** 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 ecritCode = false; // -write : ecriture du code du sujet public static boolean ecritSujet = false; // -sujet : ecriture 2 du code du sujet, uniquement les nodes évalués public static boolean ecritNodeAnalyse = false; public static boolean ecritNoteCSV = false; // ecriture note.csv public static boolean writefiles = false; // -writefiles permet d'écrire tous les fichiers XML après la lecture en node public static boolean calculLeHashDuFichier = false; // -hash retourne le hash du fichier d'analyse public static boolean sansFeeback = false; // pas de feedback étudiant public static boolean verifHisto = false; // vérification des historiques correspond à la commande -verif public static boolean verifHisto2 = false; // vérification des historiques lorsqu'il y a aussi analyse public static boolean fourniCSV = false; // fourni le fichier CSV contenant la liste des étudiants public static boolean badCommand = false ; //erreur dans les commandes public static boolean noNote =false; // pas de note dans les feedbacks public static boolean noDetail = false; // pas de détail dans les feedbacks public static boolean noLogo =false; // pas de logo dans les feedbacks public static boolean newLogo=false; // un nouveau logo dans le feedback public static boolean licence = false; // affiche la licence public static boolean zipfeedback = false; // Les feedback dans une archive ZIP public static boolean fichierStudentMoodle = false; // Les fichiers étudiants sont directement dans le dossier courant de l'application. public static cXML.Run.UserStatus Profil = cXML.Run.UserStatus.TEACHER ; //Le profil TEACHER permet de lire dans les dossiers contenus dans le répertoire courant de l'application. Le profil STUDENT permet de lire au niveau du répertoire courant de l'application. public static boolean fourniDossierDestination = false; //répertoire de destination des feedbacks et CSV; public static String nameCSV = ""; //le nom du fichier contenant la liste des étudiants public static String nameSVG =""; //le nom du nouveau logo public static String contenuFichierSVG =""; // Le nouveau logo public static String path =""; public static String pathDestination =""; //Pour le mode console uniquement public static String nomDeLaBranch = "Origin"; //Branche de développement public static String Command =""; //récupère le texte de la commande dans la console public static String os = System.getProperty("os.name"); //** setting valeur par défaut public static String culture = "FR"; public static int tolerance_characters = 5; public static double tolerance_text = 0.8; public static int number_match = 2; public static int mini_number_modification = 0; public static int nombres_modifications_simultané_maxi = 5; public static int tolerance_rouge = 30; public static int tolerance_vert = 30; public static int tolerance_bleu = 30; //** Variables de mise à jour du fichier d'analyse public static boolean MAJnameAnalysisFile =false; public static boolean MAJFichierAnalyse = false; public static String hash ="0"; //** Variables du fichier d'analyse public static String analyse_culture = "FR"; public static String analyse_metaSujet=""; public static String analyse_auteur=""; public static String analyse_Initial_Creator=""; public static String analyse_version=""; public static String analyse_creationDate=""; public static Date analyse_modificationDateMini = null; public static String analyse_titre=""; public static String analyse_link_sujet=""; public static String analyse_link_help=""; public static String analyse_date=""; public static boolean analyse_historiquePresent=false; public static boolean analyse_presenceMetaSujet=false; public static boolean analyse_controleDateCreation=false; public static boolean analyse_controleDateModificationMini=false; public static boolean analyse_controle_Initial_Creator=false; public static boolean analyse_baremeABC=false; public static double analyse_progression=1; public static double analyse_notefrom=20; public static int analyse_tolerance_characters = 5; public static double analyse_tolerance_text = 0.8; public static int analyse_number_match = 2; public static int analyse_mini_number_modification = 0; public static int analyse_nombres_modifications_simultané_maxi = 100; public static int analyse_tolerance_rouge = 30; public static int analyse_tolerance_vert = 30; public static int analyse_tolerance_bleu = 30; public static long analyse_size = 48000000; public static String analyse_nameZip = "feedbackMoodle"; public static String analyse_hash = ""; public static String analysis_filename = ""; //** Variables pour l'interface du logiciel public static String Titre = "analyseWriter"; public static String PathFilenameAnalysis=""; //Chemin vers le fichier d'analyse public static boolean fichierAnalyseValide = false; //mise à jour de la valeur dans MEPTL.verificationFichierAnalyse public static int analyse_Nbre_Fichier_Student = 0; public static int analyse_index_Fichier_Student = 0; public static StringBuilder message = new StringBuilder(); //** base de données des évaluations public static String PathBaseEvaluations = Paths.get("").toAbsolutePath().toString(); //Chemin vers la base de données public static boolean PathBaseEvaluationDefaut = true; //Flag si ce n'est pas le chemin par défaut vers la base de données public static String NameBaseEvaluations="base_evaluations_analyseWriter.xml"; //Nom par défaut de la base de données public static String NameEvaluationCharger = ""; public static int IndexEvaluationCharger = -1; public static void initialiseParametresSettingProprietes() { //** setting valeur par défaut culture = "FR"; tolerance_characters = 5; tolerance_text = 0.8; number_match = 2; mini_number_modification = 0; nombres_modifications_simultané_maxi = 100; tolerance_rouge = 30; tolerance_vert = 30; tolerance_bleu = 30; //** Variables du fichier d'analyse analyse_culture = "FR"; analyse_metaSujet=""; analyse_auteur=""; analyse_Initial_Creator=""; analyse_version=""; analyse_creationDate=""; analyse_titre=""; analyse_link_sujet=""; analyse_link_help=""; analyse_date=""; analyse_historiquePresent=false; analyse_presenceMetaSujet=false; analyse_controleDateCreation=false; analyse_controleDateModificationMini=false; analyse_controle_Initial_Creator=false; analyse_baremeABC=false; analyse_progression=1; analyse_notefrom=20; analyse_tolerance_characters = 5; analyse_tolerance_text = 0.8; analyse_number_match = 2; analyse_mini_number_modification = 0; analyse_nombres_modifications_simultané_maxi = 100; analyse_tolerance_rouge = 30; analyse_tolerance_vert = 30; analyse_tolerance_bleu = 30; analyse_size = 48000000; analyse_nameZip = "feedbackMoodle"; //** Variables pour l'interface du logiciel analyse_Nbre_Fichier_Student = 0; analyse_index_Fichier_Student = 0; message = new StringBuilder(); } /** * Clôture avec une erreur de commande */ public static void clotureWithError() { System.out.println(); System.out.println("\t\t┌─────────────────────────────────────────────┐"); System.out.println("\t\t│ Vous avez commis une erreur dans votre │"); System.out.println("\t\t│ commande. │"); System.out.println("\t\t│ │"); System.out.println("\t\t│ Lisez les informations ci-dessus et │"); System.out.println("\t\t│ recommencez. │"); 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(); System.exit(0); } /** * Bye Bye the application */ public static void clotureApplication() { System.out.println(); System.out.println("\t\t┌────────────────────────────────────────────────────┐"); System.out.println("\t\t│ (')_(') │"); System.out.println("\t\t│ ( `.° ) Bravo, vous avez travaillé très dur! │"); System.out.println("\t\t│ (\")__(\") ... Bye Bye analyseWriter. │"); System.out.println("\t\t└────────────────────────────────────────────────────┘"); System.out.println(); commandes.message.append("\n (')_(')"); commandes.message.append("\n ( `.° ) Bravo, vous avez travaillé très dur!"); commandes.message.append("\n (\")__(\") ... Bye Bye analyseWriter."); commandes.message.append("\n"); if(commandes.console) System.exit(0); } /** * */ public static void clotureApplicationAvecErreur() { System.out.println(); System.out.println("\t\t┌────────────────────────────────────────────────────┐"); System.out.println("\t\t│ (')_(') │"); System.out.println("\t\t│ ( ;.; ) Une erreur c'est produite. │"); System.out.println("\t\t│ (\")__(\") ... Bye Bye analyseWriter. │"); System.out.println("\t\t└────────────────────────────────────────────────────┘"); System.out.println(); System.exit(0); } public static void clotureWithHelp() { System.out.println(); System.out.println("\t\t┌─────────────────────────────────────────────────────┐"); System.out.println("\t\t│ Au-dessus, vous avez la liste des commandes. │"); System.out.println("\t\t│ Mais vous avez aussi la documentation sur le │"); System.out.println("\t\t│ le serveur de github ou chapril. │"); 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(); System.exit(0); System.exit(0); } public static void ErrorFile(String filename) { int nbespace = 30-filename.length(); if (nbespace<0) nbespace=1; System.out.println(); System.out.println("\t\t┌───────────────────────────────────────────────────────────┐"); System.out.println("\t\t│ Le fichier \""+ filename + "\" n'existe pas." + new String(new char[nbespace]).replace("\0", " ") +"│" ); System.out.println("\t\t│ │"); System.out.println("\t\t│ (')_(') │"); System.out.println("\t\t│ ( `.° ) │"); System.out.println("\t\t│ (\")__(\") .. see you soon, analyseWriter. │"); System.out.println("\t\t└───────────────────────────────────────────────────────────┘"); System.out.println(); commandes.message.append("\n"); commandes.message.append("\n*************************"); commandes.message.append("\nERREUR Le fichier \""+ filename + "\" n'existe pas."); commandes.message.append("\n*************************"); commandes.message.append("\n"); } /** * Nettoyage de la console.
*
* @throws InterruptedException * @throws IOException */ public static void CLS() throws InterruptedException, IOException { new ProcessBuilder("cmd", "/c", "cls").inheritIO().start().waitFor(); } }