package calc; import java.io.IOException; import java.nio.file.attribute.AclEntry.Builder; import javax.swing.JTree; import nodeAC.nodeAC; /** * * @author pablo rodriguez * */ public class commandes { //** LenodeAC du fichier d'analyse public static nodeAC sujet = new nodeAC(); public static nodeAC sujetSauvegarde = new nodeAC(); public static JTree tree = new JTree(); public static nodeAC nodeACCSV = null; //**version public static String version ="V1.0.0"; // La version actuelle public static String branch = "Origin"; public static String Annee ="2022"; //*************************************************** //** 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 lesnodeACs é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 ennodeAC 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 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 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 //** setting valeur par défaut public static String culture = "FR"; public static int tolerance_characters = 5; public static double tolerance_text = 0.79; public static int number_match = 2; public static int mini_number_modification = 0; public static int nombres_modifications_simultané_maxi = 100; 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 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_controle_Initial_Creator=false; public static boolean analyse_baremeABC=false; public static double analyse_progression=1; public static double analyse_bareme=20; public static int analyse_tolerance_characters = 5; public static double analyse_tolerance_text = 0.79; 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 = ""; public static int analysis_nbr_feuilles = 0; public static String analysis_producteur = ""; //** Variables pour l'interface du logiciel public static String Titre = "analyseCalc"; public static String PathFilenameAnalysis=""; 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(); public static void initialiseCommandes() { //** LenodeAC du fichier d'analyse sujet = new nodeAC(); sujetSauvegarde = new nodeAC(); tree = new JTree(); nodeACCSV = null; //**version version ="V1.0.0"; // La version actuelle branch = "Origin"; Annee ="2022"; //*************************************************** //** Les commandes par défaut à travers la console ** //*************************************************** nameSujet = ""; //sujet par défaut analyse = false; //analyse des fichiers étudiants ecritCode = false; // -write : ecriture du code du sujet ecritSujet = false; // -sujet : ecriture 2 du code du sujet, uniquement lesnodeACs évalués ecritNodeAnalyse = false; ecritNoteCSV = false; // ecriture note.csv writefiles = false; // -writefiles permet d'écrire tous les fichiers XML après la lecture ennodeAC calculLeHashDuFichier = false; // -hash retourne le hash du fichier d'analyse sansFeeback = false; // pas de feedback étudiant verifHisto = false; // vérification des historiques correspond à la commande -verif verifHisto2 = false; // vérification des historiques lorsqu'il y a aussi analyse fourniCSV = false; // fourni le fichier CSV contenant la liste des étudiants badCommand = false ; //erreur dans les commandes noNote =false; // pas de note dans les feedbacks noLogo =false; // pas de logo dans les feedbacks newLogo=false; // un nouveau logo dans le feedback licence = false; // affiche la licence zipfeedback = false; // Les feedback dans une archive ZIP fichierStudentMoodle = false; // Les fichiers étudiants sont directement dans le dossier courant de l'application. fourniDossierDestination = false; //répertoire de destination des feedbacks et CSV; nameCSV = ""; //le nom du fichier contenant la liste des étudiants nameSVG =""; //le nom du nouveau logo contenuFichierSVG =""; // Le nouveau logo path =""; pathDestination =""; //Pour le mode console uniquement nomDeLaBranch = "Origin"; //Branche de développement Command =""; //récupère le texte de la commande dans la console //** setting valeur par défaut culture = "FR"; tolerance_characters = 5; tolerance_text = 0.79; number_match = 2; mini_number_modification = 0; nombres_modifications_simultané_maxi = 100; tolerance_rouge = 30; tolerance_vert = 30; tolerance_bleu = 30; //** Variables de mise à jour du fichier d'analyse MAJnameAnalysisFile =false; MAJFichierAnalyse = false; hash ="0"; //** 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_controle_Initial_Creator=false; analyse_baremeABC=false; analyse_progression=1; analyse_bareme=20; analyse_tolerance_characters = 5; analyse_tolerance_text = 0.79; 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"; analyse_hash = ""; analysis_filename = ""; analysis_nbr_feuilles = 0; analysis_producteur = ""; //** Variables pour l'interface du logiciel Titre = "analyseCalc"; PathFilenameAnalysis=""; fichierAnalyseValide = false; //mise à jour de la valeur dans MEPTL.verificationFichierAnalyse 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"); } /** * */ 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 clotureWithErrorFile(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(); } }