analyseCalc/analyseCalc/analyseCalc/analyseCalc/analyseCalc/src/calc/commandes.java

333 lines
15 KiB
Java

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.<br/>
* <br/>
* @throws InterruptedException
* @throws IOException
*/
public static void CLS() throws InterruptedException, IOException {
new ProcessBuilder("cmd", "/c", "cls").inheritIO().start().waitFor();
}
}