diff --git a/.classpath b/.classpath index b2cd8c0..d7506b6 100644 --- a/.classpath +++ b/.classpath @@ -5,5 +5,6 @@ + diff --git a/bin/.gitignore b/bin/.gitignore index cc3666c..edd0a35 100644 --- a/bin/.gitignore +++ b/bin/.gitignore @@ -1,3 +1,2 @@ -/resources/ -/app/ /MEPTL/ +/app/ diff --git a/bin/MEPTL/commandes.class b/bin/MEPTL/commandes.class index 04b77c7..3dfedcf 100644 Binary files a/bin/MEPTL/commandes.class and b/bin/MEPTL/commandes.class differ diff --git a/bin/MEPTL/meptl.class b/bin/MEPTL/meptl.class index 37a6127..07fde5d 100644 Binary files a/bin/MEPTL/meptl.class and b/bin/MEPTL/meptl.class differ diff --git a/bin/MEPTL/verificationFichierAnalyse.class b/bin/MEPTL/verificationFichierAnalyse.class index 099e564..7e7b3dd 100644 Binary files a/bin/MEPTL/verificationFichierAnalyse.class and b/bin/MEPTL/verificationFichierAnalyse.class differ diff --git a/bin/app/evaluate$1.class b/bin/app/evaluate$1.class index af6f3e6..8a4d392 100644 Binary files a/bin/app/evaluate$1.class and b/bin/app/evaluate$1.class differ diff --git a/bin/app/evaluate$2.class b/bin/app/evaluate$2.class index 7c77387..e1a57ab 100644 Binary files a/bin/app/evaluate$2.class and b/bin/app/evaluate$2.class differ diff --git a/bin/app/evaluate.class b/bin/app/evaluate.class index 28fcefa..a3a3180 100644 Binary files a/bin/app/evaluate.class and b/bin/app/evaluate.class differ diff --git a/bin/app/filechooserXML.class b/bin/app/filechooserXML.class index 42c6ed7..12ba786 100644 Binary files a/bin/app/filechooserXML.class and b/bin/app/filechooserXML.class differ diff --git a/bin/app/mainApp$1.class b/bin/app/mainApp$1.class index 2b5da31..23437ff 100644 Binary files a/bin/app/mainApp$1.class and b/bin/app/mainApp$1.class differ diff --git a/bin/app/mainApp$2.class b/bin/app/mainApp$2.class deleted file mode 100644 index 6d3e17b..0000000 Binary files a/bin/app/mainApp$2.class and /dev/null differ diff --git a/bin/app/mainApp.class b/bin/app/mainApp.class index 69b9326..a3e6674 100644 Binary files a/bin/app/mainApp.class and b/bin/app/mainApp.class differ diff --git a/bin/apropos.png b/bin/apropos.png index cb3efb2..ea4b14d 100644 Binary files a/bin/apropos.png and b/bin/apropos.png differ diff --git a/bin/apropos.svg b/bin/apropos.svg index 0f5cb99..9e02571 100644 --- a/bin/apropos.svg +++ b/bin/apropos.svg @@ -1,29 +1,29 @@ + viewBox="0 0 12.7 12.7" + height="48" + width="48" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:dc="http://purl.org/dc/elements/1.1/"> @@ -33,10 +33,10 @@ inkscape:collect="always" /> @@ -51,7 +51,7 @@ inkscape:window-maximized="1" inkscape:window-y="-8" inkscape:window-x="-8" - inkscape:window-height="1017" + inkscape:window-height="1009" inkscape:window-width="1920" inkscape:object-nodes="false" inkscape:bbox-nodes="true" @@ -63,15 +63,16 @@ inkscape:document-rotation="0" inkscape:current-layer="g1030" inkscape:document-units="mm" - inkscape:cy="18.019069" - inkscape:cx="16.217162" - inkscape:zoom="20.210745" + inkscape:cy="18.053125" + inkscape:cx="13.015043" + inkscape:zoom="7.1455774" inkscape:pageshadow="2" inkscape:pageopacity="0.0" borderopacity="1.0" bordercolor="#666666" pagecolor="#ffffff" - id="base" /> + id="base" + inkscape:pagecheckerboard="0" /> @@ -80,7 +81,6 @@ image/svg+xml - @@ -94,53 +94,60 @@ style="fill:#0000ff"> - + id="g933" + transform="matrix(1.3514497,0,0,1.3514946,14.981214,-29.986317)" + style="stroke-width:0.739934"> + - - - - - - + transform="matrix(0.92159474,0,0,0.92159474,0.29152559,10.550702)" + id="g1038" + style="stroke-width:0.739934"> + + + + + + + + + - diff --git a/bin/fichierAnalyse.png b/bin/fichierAnalyse.png index 1cbea18..6af63ab 100644 Binary files a/bin/fichierAnalyse.png and b/bin/fichierAnalyse.png differ diff --git a/bin/fichierCSV.png b/bin/fichierCSV.png new file mode 100644 index 0000000..de88a0a Binary files /dev/null and b/bin/fichierCSV.png differ diff --git a/bin/fichier_csv_student.svg b/bin/fichier_csv_student.svg new file mode 100644 index 0000000..a01a9a8 --- /dev/null +++ b/bin/fichier_csv_student.svg @@ -0,0 +1,269 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + CSV + + + + diff --git a/bin/resources/apropos.png b/bin/resources/apropos.png new file mode 100644 index 0000000..ea4b14d Binary files /dev/null and b/bin/resources/apropos.png differ diff --git a/bin/resources/fichierAnalyse.png b/bin/resources/fichierAnalyse.png new file mode 100644 index 0000000..6af63ab Binary files /dev/null and b/bin/resources/fichierAnalyse.png differ diff --git a/bin/resources/fichierCSV.png b/bin/resources/fichierCSV.png new file mode 100644 index 0000000..de88a0a Binary files /dev/null and b/bin/resources/fichierCSV.png differ diff --git a/bin/resources/fichierODF.png b/bin/resources/fichierODF.png new file mode 100644 index 0000000..d6b8dc5 Binary files /dev/null and b/bin/resources/fichierODF.png differ diff --git a/bin/resources/fichierSVG.png b/bin/resources/fichierSVG.png new file mode 100644 index 0000000..4ef12e6 Binary files /dev/null and b/bin/resources/fichierSVG.png differ diff --git a/bin/resources/open2.png b/bin/resources/open2.png new file mode 100644 index 0000000..a50d959 Binary files /dev/null and b/bin/resources/open2.png differ diff --git a/icons/apropos.png b/icons/apropos.png index cb3efb2..ea4b14d 100644 Binary files a/icons/apropos.png and b/icons/apropos.png differ diff --git a/icons/apropos.svg b/icons/apropos.svg index 0f5cb99..9e02571 100644 --- a/icons/apropos.svg +++ b/icons/apropos.svg @@ -1,29 +1,29 @@ + viewBox="0 0 12.7 12.7" + height="48" + width="48" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:dc="http://purl.org/dc/elements/1.1/"> @@ -33,10 +33,10 @@ inkscape:collect="always" /> @@ -51,7 +51,7 @@ inkscape:window-maximized="1" inkscape:window-y="-8" inkscape:window-x="-8" - inkscape:window-height="1017" + inkscape:window-height="1009" inkscape:window-width="1920" inkscape:object-nodes="false" inkscape:bbox-nodes="true" @@ -63,15 +63,16 @@ inkscape:document-rotation="0" inkscape:current-layer="g1030" inkscape:document-units="mm" - inkscape:cy="18.019069" - inkscape:cx="16.217162" - inkscape:zoom="20.210745" + inkscape:cy="18.053125" + inkscape:cx="13.015043" + inkscape:zoom="7.1455774" inkscape:pageshadow="2" inkscape:pageopacity="0.0" borderopacity="1.0" bordercolor="#666666" pagecolor="#ffffff" - id="base" /> + id="base" + inkscape:pagecheckerboard="0" /> @@ -80,7 +81,6 @@ image/svg+xml - @@ -94,53 +94,60 @@ style="fill:#0000ff"> - + id="g933" + transform="matrix(1.3514497,0,0,1.3514946,14.981214,-29.986317)" + style="stroke-width:0.739934"> + - - - - - - + transform="matrix(0.92159474,0,0,0.92159474,0.29152559,10.550702)" + id="g1038" + style="stroke-width:0.739934"> + + + + + + + + + - diff --git a/icons/fichierAnalyse.png b/icons/fichierAnalyse.png index 1cbea18..6af63ab 100644 Binary files a/icons/fichierAnalyse.png and b/icons/fichierAnalyse.png differ diff --git a/icons/fichierODF.png b/icons/fichierODF.png new file mode 100644 index 0000000..d6b8dc5 Binary files /dev/null and b/icons/fichierODF.png differ diff --git a/icons/fichierSVG.png b/icons/fichierSVG.png new file mode 100644 index 0000000..4ef12e6 Binary files /dev/null and b/icons/fichierSVG.png differ diff --git a/icons/fichier_analyseXML.svg b/icons/fichier_analyseXML.svg new file mode 100644 index 0000000..c4b880a --- /dev/null +++ b/icons/fichier_analyseXML.svg @@ -0,0 +1,269 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + XML + + + + + + + + diff --git a/icons/fichier_svg.svg b/icons/fichier_svg.svg new file mode 100644 index 0000000..9e71e2e --- /dev/null +++ b/icons/fichier_svg.svg @@ -0,0 +1,259 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + SVG + + + + diff --git a/miglayout-src.zip b/miglayout-src.zip new file mode 100644 index 0000000..9c51c32 Binary files /dev/null and b/miglayout-src.zip differ diff --git a/miglayout15-swing.jar b/miglayout15-swing.jar new file mode 100644 index 0000000..a6e93fb Binary files /dev/null and b/miglayout15-swing.jar differ diff --git a/src/MEPTL/commandes.java b/src/MEPTL/commandes.java index 7b5c869..3c7ca98 100644 --- a/src/MEPTL/commandes.java +++ b/src/MEPTL/commandes.java @@ -30,7 +30,7 @@ public class commandes { //*************************************************** //** Les commandes par défaut à travers la console ** //*************************************************** - static String nameSujet = ""; //sujet par défaut + 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 @@ -104,6 +104,7 @@ public class commandes { 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 @@ -704,7 +705,7 @@ public class commandes { if (nbespace<0) nbespace=1; System.out.println(); System.out.println("\t\t┌───────────────────────────────────────────────────────────┐"); - System.out.println("\t\t│ The file \""+ filename + "\" does not exist." + new String(new char[nbespace]).replace("\0", " ") +"│" ); + 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│ ( `.° ) │"); @@ -714,7 +715,7 @@ public class commandes { commandes.message.append("\n"); commandes.message.append("\n*************************"); - commandes.message.append("\nLe fichier \""+ filename + "\" n'existe pas."); + commandes.message.append("\nERREUR Le fichier \""+ filename + "\" n'existe pas."); commandes.message.append("\n*************************"); commandes.message.append("\n"); diff --git a/src/MEPTL/meptl.java b/src/MEPTL/meptl.java index b1fe4b5..9a6c4f3 100644 --- a/src/MEPTL/meptl.java +++ b/src/MEPTL/meptl.java @@ -180,7 +180,7 @@ public class meptl { //** -newlogo file.svg ** //*********************** if(commandes.newLogo && !commandes.nameSVG.isEmpty()) { - commandes.contenuFichierSVG= chargementFichierSVG(a,commandes.nameSVG); + commandes.contenuFichierSVG= chargementFichierSVG(); } //********************************************** @@ -416,44 +416,49 @@ public class meptl { menu.getNodes().add(newnode); } - - if(nod.getAttributs().get("addmenu").equals("false") && niv==1) { - System.out.println(); - System.out.println("** WARNING -- L'attribut \"addmenu\" n'est pas associé au node principal \"" + nod.getNomElt() + "\" dans le fichier d'analyse."); - System.out.println("** -- Changer la valeur de l'attribut \"addmenu\" à TRUE."); - System.out.println(); - erreur =true; + if(nod.getAttributs().get("evaluer")!=null) { + + if(nod.getAttributs().get("evaluer").equalsIgnoreCase("true")) { + if(nod.getAttributs().get("addmenu").equals("false") && niv==1) { + System.out.println(); + System.out.println("** ERREUR -- L'attribut \"addmenu\" n'est pas associé au node principal \"" + nod.getNomElt() + "\" dans le fichier d'analyse."); + System.out.println("** -- Changer la valeur de l'attribut \"addmenu\" à TRUE."); + System.out.println(); + erreur =true; + } + + if(nod.getAttributs().get("addmenu").equals("true") && nod.getAttributs().get("titre")==null && nod.getAttributs().get("titre1")==null && nod.getAttributs().get("titre2")==null && nod.getAttributs().get("titre3")==null) { + System.out.println(); + System.out.println("** WARNING -- L'attribut \"addmenu\" n'est pas associé à un titre dans le node \"" + nod.getNomElt() + "\", dans le fichier d'analyse."); + if(nod.getAttributs().get("titre")==null && nod.getAttributs().get("titre1")==null && nod.getAttributs().get("titre2")==null && nod.getAttributs().get("titre3")==null){ + System.out.println("** -- Ajouter l'attribut \"titre\" à ce node."); + } + if(nod.getAttributs().get("titre").isEmpty()){ + System.out.println("** -- Ajouter l'attribut \"titre\" une valeur."); + } + if(nod.getAttributs().get("titre1").isEmpty()){ + System.out.println("** -- Ajouter l'attribut \"titre1\" une valeur."); + } + if(nod.getAttributs().get("titre2").isEmpty()){ + System.out.println("** -- Ajouter l'attribut \"titre2\" une valeur."); + } + if(nod.getAttributs().get("titre3").isEmpty()){ + System.out.println("** -- Ajouter l'attribut \"titre2\" une valeur."); + } + System.out.println(); + erreur =true; + } + + //*************************** + //** bye bye analyseWriter ** + //*************************** + if(commandes.console) if(erreur) commandes.clotureApplicationAvecErreur(); + + } } - if(nod.getAttributs().get("addmenu").equals("true") && nod.getAttributs().get("titre")==null && nod.getAttributs().get("titre1")==null && nod.getAttributs().get("titre2")==null && nod.getAttributs().get("titre3")==null) { - System.out.println(); - System.out.println("** WARNING -- L'attribut \"addmenu\" n'est pas associé à un titre dans le node \"" + nod.getNomElt() + "\", dans le fichier d'analyse."); - if(nod.getAttributs().get("titre")==null && nod.getAttributs().get("titre1")==null && nod.getAttributs().get("titre2")==null && nod.getAttributs().get("titre3")==null){ - System.out.println("** -- Ajouter l'attribut \"titre\" à ce node."); - } - if(nod.getAttributs().get("titre").isEmpty()){ - System.out.println("** -- Ajouter l'attribut \"titre\" une valeur."); - } - if(nod.getAttributs().get("titre1").isEmpty()){ - System.out.println("** -- Ajouter l'attribut \"titre1\" une valeur."); - } - if(nod.getAttributs().get("titre2").isEmpty()){ - System.out.println("** -- Ajouter l'attribut \"titre2\" une valeur."); - } - if(nod.getAttributs().get("titre3").isEmpty()){ - System.out.println("** -- Ajouter l'attribut \"titre2\" une valeur."); - } - System.out.println(); - erreur =true; - } - - - - //*************************** - //** bye bye analyseWriter ** - //*************************** - if(erreur) commandes.clotureApplicationAvecErreur(); + } @@ -1100,12 +1105,12 @@ public class meptl { // Chargement du Initial_Creator if(commandes.sujet.getAttributs().get("Initial_Creator")!=null) { - commandes.analyse_auteur= commandes.sujet.getAttributs().get("Initial_Creator"); + commandes.analyse_Initial_Creator= commandes.sujet.getAttributs().get("Initial_Creator"); } // Chargement du filename if(commandes.sujet.getAttributs().get("filename")!=null) { - commandes.analyse_auteur= commandes.sujet.getAttributs().get("filename"); + commandes.filename= commandes.sujet.getAttributs().get("filename"); } // Chargement du date @@ -1118,6 +1123,11 @@ public class meptl { commandes.analyse_hash= commandes.sujet.getAttributs().get("hash"); } + //Charge le analysis_filename + if(commandes.sujet.getAttributs().get("analysis_filename")!=null) { + commandes.analysis_filename= commandes.sujet.getAttributs().get("analysis_filename"); + } + //***************************************************************** //** chargement de la culture qui se trouve dans le node setting ** @@ -1128,21 +1138,12 @@ public class meptl { } } - //******************************************** - //** Charge pour la taille de l'archive ZIP ** - //******************************************** + //******************************************************************* + //** Charge pour la taille et le nom de l'archive de l'archive ZIP ** + //******************************************************************* if(commandes.sujet.containElementByName("zip")) { node zip = commandes.sujet.retourneFirstEnfantsByName("zip"); if(zip.getAttributs().get("size")!=null) commandes.analyse_size = Long.valueOf(zip.getAttributs().get("size")); - if(zip.getAttributs().get("size")!=null) commandes.analyse_size = Long.valueOf(zip.getAttributs().get("size")); - } - - //************************************ - //** Charge du nom de l'archive ZIP ** - //************************************ - if(commandes.sujet.containElementByName("zip")) { - node zip = commandes.sujet.retourneFirstEnfantsByName("zip"); - if(zip.getAttributs().get("nameZip")!=null) commandes.analyse_nameZip = zip.getAttributs().get("nameZip"); if(zip.getAttributs().get("nameZip")!=null) commandes.analyse_nameZip = zip.getAttributs().get("nameZip"); } @@ -2098,7 +2099,7 @@ public class meptl { /** - * Retourne le nom du fichier de l'étudiant pour le Zip de Moodle.
+ * Retourne le nom du fichier de l'étudiant pour le Zip pour Moodle.
*
* @param filename * @param nodana @@ -2837,7 +2838,7 @@ public class meptl { fichier.close(); commandes.message.append("\n"); - commandes.message.append("*************************"); + commandes.message.append("*-***********************"); commandes.message.append("\n"); commandes.message.append("\nLe fichier au format CSV a été généré."); commandes.message.append("\n" + outputFilePath.toString()); @@ -2907,12 +2908,18 @@ public class meptl { * @return * @throws IOException */ - private static node chargementFichierCSV() { + public static node chargementFichierCSV() { String targetString = ""; String cheminVersLeFichierCSV = ""; + if(commandes.console) cheminVersLeFichierCSV = commandes.path + "/" + commandes.nameCSV; + if(!commandes.console) { + commandes.nameCSV = commandes.nameCSV.replace("\\", "/"); + cheminVersLeFichierCSV = commandes.nameCSV; + } + try { BufferedReader br = new BufferedReader( new InputStreamReader( @@ -2925,7 +2932,7 @@ public class meptl { br.close(); } catch (IOException e) { - commandes.clotureWithErrorFile(commandes.nameCSV); + commandes.clotureWithErrorFile(cheminVersLeFichierCSV); e.printStackTrace(); } @@ -2942,6 +2949,7 @@ public class meptl { } nodeCVS.getNodes().add(nodeEtudiant); } + //a.ecritureNodeEnXML(nodeCVS, "nodeCVS"); //écriture du node du node CSV return nodeCVS; } @@ -2952,12 +2960,15 @@ public class meptl { * @param nameSVG * @return */ - private static String chargementFichierSVG(Run a, String nameSVG) { + public static String chargementFichierSVG() { String targetString = ""; + String cheminVersFichier = commandes.nameSVG; + if(commandes.console) cheminVersFichier =commandes.path + "/" + commandes.nameSVG; + try { BufferedReader br = new BufferedReader( new InputStreamReader( - new FileInputStream(a.getPatch() + "/" + nameSVG), "UTF-8")); + new FileInputStream(cheminVersFichier), "UTF-8")); String line; while ((line = br.readLine()) != null) { @@ -2966,7 +2977,7 @@ public class meptl { br.close(); } catch (IOException e) { - commandes.clotureWithErrorFile(nameSVG); + commandes.clotureWithErrorFile(commandes.nameSVG); e.printStackTrace(); } return targetString; diff --git a/src/MEPTL/verificationFichierAnalyse.java b/src/MEPTL/verificationFichierAnalyse.java index c26b45b..32d19e9 100644 --- a/src/MEPTL/verificationFichierAnalyse.java +++ b/src/MEPTL/verificationFichierAnalyse.java @@ -24,7 +24,7 @@ public class verificationFichierAnalyse { public verificationFichierAnalyse() throws CloneNotSupportedException{ - if(!commandes.console) System.out.println("Début de la vérification."); + erreur=false; //réïnitialise la variable erreur. if(commandes.sujet==null) { messageErreur.append("\n**-** Erreur, le fichier d'analyse est null.\n"); @@ -186,42 +186,58 @@ public class verificationFichierAnalyse { // le node fichier doit avoir l'attribut evaluer=true if(attribut.get("evaluer")==null) { - messageErreur.append("\n**-** Erreur dans le fichier d'analyse, dans le node ."); - messageErreur.append("\nLe node \"fichier\" doit contenir evaluer=\"true\"."); - messageErreur.append("\nL'attribut \"evaluer\" a été supprimé."); - messageErreur.append("\n"); - System.out.println(messageErreur.toString()); + System.out.println(); + System.out.println("**-** ERREUR dans le fichier d'analyse, dans le node ."); + System.out.println("Le node \"fichier\" doit contenir evaluer=\"true\"."); + System.out.println("L'attribut \"evaluer\" a été supprimé."); + System.out.println(); + commandes.message.append("\n**************************************************"); + commandes.message.append("\nERREUR dans le fichier d'analyse, dans le node ."); + commandes.message.append("\nLe node \"fichier\" doit contenir evaluer=\"true\"."); + commandes.message.append("\nL'attribut \"evaluer\" a été supprimé."); + commandes.message.append("\n**************************************************"); erreurManqueAttributEvaluerPremierNodeFichier = true; erreur=true; }else { if(!attribut.get("evaluer").equalsIgnoreCase("true")) { - messageErreur.append("\n**-** Erreur dans le fichier d'analyse, dans le node ."); - messageErreur.append("\nLe node \"fichier\" doit contenir evaluer=\"true\"."); - messageErreur.append("\nLa valeur doit être true."); - messageErreur.append("\n"); - System.out.println(messageErreur.toString()); + System.out.println(); + System.out.println("**-** ERREUR dans le fichier d'analyse, dans le node ."); + System.out.println("Le node \"fichier\" doit contenir evaluer=\"true\"."); + System.out.println(); + commandes.message.append("\n**************************************************"); + commandes.message.append("\nERREUR dans le fichier d'analyse, dans le node ."); + commandes.message.append("\nLe node \"fichier\" doit contenir evaluer=\"true\"."); + commandes.message.append("\n**************************************************"); erreur=true; } } // le node fichier doit contenir l'attribut metaSujet et une valeur non vide if(attribut.get("metaSujet")==null) { - messageErreur.append("\n**-** Erreur dans le fichier d'analyse, dans le node ."); - messageErreur.append("\nLe node \"fichier\" doit contenir l'attribut \"sujetMeta\"."); - messageErreur.append("\nL'attribut \"sujetMeta\" a été supprimé."); - messageErreur.append("\nCet attribut doit contenir une valeur."); - messageErreur.append("\n"); - System.out.println(messageErreur); + System.out.println(); + System.out.println("**-** ERREUR dans le fichier d'analyse, dans le node ."); + System.out.println("Le node \"fichier\" doit contenir l'attribut \"sujetMeta\"."); + System.out.println("L'attribut \"sujetMeta\" a été supprimé. Cet attribut doit contenir une valeur."); + System.out.println(); + commandes.message.append("\n**************************************************"); + commandes.message.append("\nERREUR dans le fichier d'analyse, dans le node ."); + commandes.message.append("\nLe node \"fichier\" doit contenir l'attribut \"sujetMeta\"."); + commandes.message.append("\nL'attribut \"sujetMeta\" a été supprimé. Cet attribut doit contenir une valeur."); + commandes.message.append("\n**************************************************"); erreurPasAttributMetaSujetAuPremierNodeFichier=true; erreur=true; } if(attribut.get("metaSujet")!=null)if(attribut.get("metaSujet").isEmpty() ) { - messageErreur.append("\n**-** Erreur dans le fichier d'analyse, dans le node ."); - messageErreur.append("\nL'attribut \"sujetMeta\" doit contenir une valeur autre que vide."); - messageErreur.append("\nDans les propriétés personnalisées des fichiers ODF, vous pouvez ajouter la propriété \"Sujet\" et faire correspondre avec cette valeur."); - messageErreur.append("\nVoir la documentation d'analyseWriter."); - messageErreur.append("\n"); - System.out.println(messageErreur.toString()); + System.out.println(); + System.out.println("**-** ERREUR dans le fichier d'analyse, dans le node ."); + System.out.println("L'attribut \"sujetMeta\" doit contenir une valeur autre que vide."); + System.out.println("Dans les propriétés personnalisées des fichiers ODF, vous pouvez ajouter la propriété \"Sujet\" et faire correspondre avec cette valeur."); + System.out.println(); + commandes.message.append("\n**************************************************"); + commandes.message.append("\nERREUR dans le fichier d'analyse, dans le node ."); + commandes.message.append("\nL'attribut \"sujetMeta\" doit contenir une valeur autre que vide."); + commandes.message.append("\nDans les propriétés personnalisées des fichiers ODF, vous pouvez ajouter la propriété \"Sujet\" et faire correspondre avec cette valeur."); + commandes.message.append("\n**************************************************"); erreurValeurVideAttributMetaSujetAuPremierNodeFichier=true; erreur=true; } @@ -233,11 +249,14 @@ public class verificationFichierAnalyse { try { Double.valueOf(p); } catch (Exception e) { - messageErreur.append("\n**-** Erreur dans le fichier d'analyse, dans le node ."); - messageErreur.append("\nL'attribut \"progression\" n'a pas une valeur numérique."); - messageErreur.append("\nVoir la documentation d'analyseWriter."); - messageErreur.append("\n"); - System.out.println(messageErreur.toString()); + System.out.println(); + System.out.println("**-** ERREUR dans le fichier d'analyse, dans le node ."); + System.out.println("L'attribut \"progression\" n'a pas une valeur numérique."); + System.out.println(); + commandes.message.append("\n**************************************************"); + commandes.message.append("\nERREUR dans le fichier d'analyse, dans le node ."); + commandes.message.append("\nL'attribut \"progression\" n'a pas une valeur numérique."); + commandes.message.append("\n**************************************************"); erreur=true; erreurValeurAttributProgressionNonConvertibleEnDouble=true; } @@ -249,11 +268,14 @@ public class verificationFichierAnalyse { try { Double.valueOf(p); } catch (Exception e) { - messageErreur.append("\n**-** Erreur dans le fichier d'analyse, dans le node ."); - messageErreur.append("\nL'attribut \"noteFrom\" n'a pas une valeur numérique."); - messageErreur.append("\nVoir la documentation d'analyseWriter."); - messageErreur.append("\n"); - System.out.println(messageErreur.toString()); + System.out.println(); + System.out.println("**-** ERREUR dans le fichier d'analyse, dans le node ."); + System.out.println("L'attribut \"noteFrom\" n'a pas une valeur numérique."); + System.out.println(); + commandes.message.append("\n**************************************************"); + commandes.message.append("\nERREUR dans le fichier d'analyse, dans le node ."); + commandes.message.append("\nL'attribut \"noteFrom\" n'a pas une valeur numérique."); + commandes.message.append("\n**************************************************"); erreur=true; erreurValeurAttributNoteFromNonConvertibleEnDouble=true; } @@ -263,11 +285,14 @@ public class verificationFichierAnalyse { if(attribut.get("baremeABC")!=null) { String p = attribut.get("baremeABC"); if(!(p.equalsIgnoreCase("true")||p.equalsIgnoreCase("false"))) { - messageErreur.append("\n**-** Erreur dans le fichier d'analyse, dans le node ."); - messageErreur.append("\nL'attribut \"baremeABC\" n'a pas une valeur logique."); - messageErreur.append("\nVoir la documentation d'analyseWriter."); - messageErreur.append("\n"); - System.out.println(messageErreur.toString()); + System.out.println(); + System.out.println("**-** ERREUR dans le fichier d'analyse, dans le node ."); + System.out.println("L'attribut \"baremeABC\" n'a pas une valeur logique."); + System.out.println(); + commandes.message.append("\n**************************************************"); + commandes.message.append("\nERREUR dans le fichier d'analyse, dans le node ."); + commandes.message.append("\nL'attribut \"baremeABC\" n'a pas une valeur logique."); + commandes.message.append("\n**************************************************"); erreur=true; erreurValeurAttributBaremeABCNonConvertibleEnLogique=true; } @@ -276,11 +301,14 @@ public class verificationFichierAnalyse { if(attribut.get("controleDateCreation")!=null) { String p = attribut.get("controleDateCreation"); if(!(p.equalsIgnoreCase("true")||p.equalsIgnoreCase("false"))) { - messageErreur.append("\n**-** Erreur dans le fichier d'analyse, dans le node ."); - messageErreur.append("\nL'attribut \"controleDateCreation\" n'a pas une valeur logique."); - messageErreur.append("\nVoir la documentation d'analyseWriter."); - messageErreur.append("\n"); - System.out.println(messageErreur.toString()); + System.out.println(); + System.out.println("**-** ERREUR dans le fichier d'analyse, dans le node ."); + System.out.println("L'attribut \"controleDateCreation\" n'a pas une valeur logique."); + System.out.println(); + commandes.message.append("\n**************************************************"); + commandes.message.append("\nERREUR dans le fichier d'analyse, dans le node ."); + commandes.message.append("\nL'attribut \"controleDateCreation\" n'a pas une valeur logique."); + commandes.message.append("\n**************************************************"); erreur=true; erreurValeurAttributcontroleDateCreationNonConvertibleEnLogique=true; } @@ -289,11 +317,14 @@ public class verificationFichierAnalyse { if(attribut.get("presenceMetaSujet")!=null) { String p = attribut.get("presenceMetaSujet"); if(!(p.equalsIgnoreCase("true")||p.equalsIgnoreCase("false"))) { - messageErreur.append("\n**-** Erreur dans le fichier d'analyse, dans le node ."); - messageErreur.append("\nL'attribut \"presenceMetaSujet\" n'a pas une valeur logique."); - messageErreur.append("\nVoir la documentation d'analyseWriter."); - messageErreur.append("\n"); - System.out.println(messageErreur.toString()); + System.out.println(); + System.out.println("**-** ERREUR dans le fichier d'analyse, dans le node ."); + System.out.println("L'attribut \"presenceMetaSujet\" n'a pas une valeur logique."); + System.out.println(); + commandes.message.append("\n**************************************************"); + commandes.message.append("\nERREUR dans le fichier d'analyse, dans le node ."); + commandes.message.append("\nL'attribut \"presenceMetaSujet\" n'a pas une valeur logique."); + commandes.message.append("\n**************************************************"); erreur=true; erreurValeurAttributpresenceMetaSujetConvertibleEnLogique=true; } @@ -302,11 +333,14 @@ public class verificationFichierAnalyse { if(attribut.get("controle_Initial_Creator")!=null) { String p = attribut.get("controle_Initial_Creator"); if(!(p.equalsIgnoreCase("true")||p.equalsIgnoreCase("false"))) { - messageErreur.append("\n**-** Erreur dans le fichier d'analyse, dans le node ."); - messageErreur.append("\nL'attribut \"controle_Initial_Creator\" n'a pas une valeur logique."); - messageErreur.append("\nVoir la documentation d'analyseWriter."); - messageErreur.append("\n"); - System.out.println(messageErreur.toString()); + System.out.println(); + System.out.println("**-** ERREUR dans le fichier d'analyse, dans le node ."); + System.out.println("L'attribut \"controle_Initial_Creator\" n'a pas une valeur logique."); + System.out.println(); + commandes.message.append("\n**************************************************"); + commandes.message.append("\nERREUR dans le fichier d'analyse, dans le node ."); + commandes.message.append("\nL'attribut \"controle_Initial_Creator\" n'a pas une valeur logique."); + commandes.message.append("\n**************************************************"); erreur=true; erreurValeurAttributcontrole_Initial_CreatorConvertibleEnLogique=true; } @@ -315,11 +349,14 @@ public class verificationFichierAnalyse { if(attribut.get("historiquePresent")!=null) { String p = attribut.get("historiquePresent"); if(!(p.equalsIgnoreCase("true")||p.equalsIgnoreCase("false"))) { - messageErreur.append("\n**-** Erreur dans le fichier d'analyse, dans le node ."); - messageErreur.append("\nL'attribut \"historiquePresent\" n'a pas une valeur logique."); - messageErreur.append("\nVoir la documentation d'analyseWriter."); - messageErreur.append("\n"); - System.out.println(messageErreur.toString()); + System.out.println(); + System.out.println("**-** ERREUR dans le fichier d'analyse, dans le node ."); + System.out.println("L'attribut \"historiquePresent\" n'a pas une valeur logique."); + System.out.println(); + commandes.message.append("\n**************************************************"); + commandes.message.append("\nERREUR dans le fichier d'analyse, dans le node ."); + commandes.message.append("\nL'attribut \"historiquePresent\" n'a pas une valeur logique."); + commandes.message.append("\n**************************************************"); erreur=true; erreurValeurAttributhistoriquePresentConvertibleEnLogique=true; } @@ -361,18 +398,28 @@ public class verificationFichierAnalyse { if(attribut.get("addmenu")!=null) { if(!attribut.get("addmenu").equals("true")) { System.out.println(); - System.out.println("**-** Erreur dans le fichier d'analyse. Dans le node \""+ nameNode +"\"."); - System.out.println("Le node principal \"" + nameNode +"\" doit contenir l'attribut \"addmenu=true\"."); - System.out.println("Pour cette version, Il est necessaire de créer un lien de menu du node principal,(tableau de syntèse des feedback)."); + System.out.println("**-** ERREUR dans le fichier d'analyse, dans le node <"+ nameNode +">."); + System.out.println("Le node principal <" + nameNode +"> doit contenir l'attribut \"addmenu=true\"."); + System.out.println("Pour cette version, Il est necessaire de créer un lien de menu du node principal."); System.out.println(); + commandes.message.append("\n**************************************************"); + commandes.message.append("\nERREUR dans le fichier d'analyse, dans le node <"+ nameNode +">."); + commandes.message.append("\nLe node principal <" + nameNode +"> doit contenir l'attribut \"addmenu=true\"."); + commandes.message.append("\nPour cette version, Il est necessaire de créer un lien de menu du node principal."); + commandes.message.append("\n**************************************************"); erreur=true; } }else { System.out.println(); - System.out.println("**-** Erreur dans le fichier d'analyse. Dans le node \""+ nameNode +"\"."); - System.out.println("Le node principal \"" + nameNode +"\" doit contenir l'attribut \"addmenu=true\". Cet attribut a été supprimé."); - System.out.println("Pour cette version, Il est necessaire de créer un lien de menu du node principal,(tableau de syntèse des feedback)."); + System.out.println("**-** ERREUR dans le fichier d'analyse, dans le node <"+ nameNode +">."); + System.out.println("Le node principal <" + nameNode +"> doit contenir l'attribut \"addmenu=true\". Cet attribut a été supprimé."); + System.out.println("Pour cette version, Il est necessaire de créer un lien de menu du node principal."); System.out.println(); + commandes.message.append("\n**************************************************"); + commandes.message.append("\nERREUR dans le fichier d'analyse, dans le node <"+ nameNode +">."); + commandes.message.append("\nLe node principal <" + nameNode +"> doit contenir l'attribut \"addmenu=true\". Cet attribut a été supprimé."); + commandes.message.append("\nPour cette version, Il est necessaire de créer un lien de menu du node principal."); + commandes.message.append("\n**************************************************"); erreur=true; } } @@ -399,10 +446,15 @@ public class verificationFichierAnalyse { String k = key.nextElement(); if(structure.getAttributs().get(k).contains("‽")) { System.out.println(); - System.out.println("**-** Erreur dans le fichier d'analyse le node \"structurepage\"."); + System.out.println("**-** ERREUR dans le fichier d'analyse, dans le node ."); System.out.println("Le node " + nom + " ne peut pas contenir des attributs évalués."); - System.out.println("Le node " + nom + " peut contenir l'attribut \"evaluer=true\" ce qui permettra l'évaluation des nodes enfants mais aucun attribut de ce node sera évalué."); + System.out.println("Mais, le node " + nom + " peut contenir l'attribut \"evaluer=true\" ce qui permettra l'évaluation des nodes enfants mais aucun attribut de ce node sera évalué."); System.out.println(); + commandes.message.append("\n**************************************************"); + commandes.message.append("\nERREUR dans le fichier d'analyse, dans le node ."); + commandes.message.append("Le node " + nom + " ne peut pas contenir des attributs évalués."); + commandes.message.append("\nMais, le node " + nom + " peut contenir l'attribut \"evaluer=true\" ce qui permettra l'évaluation des nodes enfants mais aucun attribut de ce node sera évalué."); + commandes.message.append("\n**************************************************"); erreur= true; } } @@ -425,10 +477,15 @@ public class verificationFichierAnalyse { String k = key.nextElement(); if(structure.getNodes().get(i).getAttributs().get(k).contains("‽")) { System.out.println(); - System.out.println("**-** Erreur dans le fichier d'analyse le node \"structurepage\"."); + System.out.println("**-** ERREUR dans le fichier d'analyse, dans le node ."); System.out.println("Le node " + nom + " ne peut pas contenir des attributs évalués."); - System.out.println("Le node " + nom + " peut contenir l'attribut \"evaluer=true\" ce qui permettra l'évaluation des nodes enfants mais aucun attribut de ce node sera évalué."); + System.out.println("Mais, le node " + nom + " peut contenir l'attribut \"evaluer=true\" ce qui permettra l'évaluation des nodes enfants mais aucun attribut de ce node sera évalué."); System.out.println(); + commandes.message.append("\n**************************************************"); + commandes.message.append("\nERREUR dans le fichier d'analyse, dans le node ."); + commandes.message.append("Le node " + nom + " ne peut pas contenir des attributs évalués."); + commandes.message.append("\nMais, le node " + nom + " peut contenir l'attribut \"evaluer=true\" ce qui permettra l'évaluation des nodes enfants mais aucun attribut de ce node sera évalué."); + commandes.message.append("\n**************************************************"); erreur= true; } } @@ -447,9 +504,13 @@ public class verificationFichierAnalyse { if(setting.getAttributs().get("culture") != null) { if(!setting.getAttributs().get("culture").equals("FR")) { System.out.println(); - System.out.println("**-** Avertissement dans le fichier d'analyse le node \"setting\"."); - System.out.println("La culture ne peutr pas être différent de \"FR\"."); + System.out.println("**-** AVERTISSEMENT dans le fichier d'analyse, dans le node ."); + System.out.println("La culture ne peut pas être différent de \"FR\"."); System.out.println(); + commandes.message.append("\n**************************************************"); + commandes.message.append("\nAVERTISSEMENT dans le fichier d'analyse, dans le node ."); + commandes.message.append("\nLa culture ne peut pas être différent de \"FR\"."); + commandes.message.append("\n**************************************************"); } } @@ -459,9 +520,13 @@ public class verificationFichierAnalyse { if(!csv.getAttributs().get("encoding").equals("UTF-8") && !csv.getAttributs().get("encoding").equals("US-ASCII") && !csv.getAttributs().get("encoding").equals("ISO-8859-1") && !csv.getAttributs().get("encoding").equals("UTF-16BE") && !csv.getAttributs().get("encoding").equals("UTF-16LE") && !csv.getAttributs().get("encoding").equals("UTF-16")) { System.out.println(); - System.out.println("**-** WARNING in analysis file at node \"setting\"."); - System.out.println("The encoding cannot be "+ csv.getAttributs().get("encoding") +"in csv node."); + System.out.println("**-** AVERTISSEMENT dans le fichier d'analyse, dans le node ."); + System.out.println("L'encodage ne peut pas être "+ csv.getAttributs().get("encoding") ); System.out.println(); + commandes.message.append("\n**************************************************"); + commandes.message.append("\nAVERTISSEMENT dans le fichier d'analyse, dans le node ."); + commandes.message.append("\nL'encodage ne peut pas être "+ csv.getAttributs().get("encoding")); + commandes.message.append("\n**************************************************"); } } } @@ -473,23 +538,35 @@ public class verificationFichierAnalyse { try { size = Long.valueOf(zip.getAttributs().get("size")); }catch (Exception e) { - messageErreur.append("\n**-** Erreur dans le fichier d'analyse, dans le node ."); - messageErreur.append("\nLa taille du fichier doit être une valeur numérique."); - System.out.println(messageErreur.toString()); + System.out.println("**-** ERREUR dans le fichier d'analyse, dans le node ."); + System.out.println("\nLa taille du fichier doit être une valeur numérique (sans décimales)."); + System.out.println(); + commandes.message.append("\n**************************************************"); + commandes.message.append("\nERREUR dans le fichier d'analyse, dans le node ."); + commandes.message.append("\nLa taille du fichier doit être une valeur numérique (sans décimales)."); + commandes.message.append("\n**************************************************"); verifSujet.getAttributs().put("erreurTailleSize","true"); erreur=true; } if(size<1000000) { - messageErreur.append("\n**-** Erreur dans le fichier d'analyse, dans le node ."); - messageErreur.append("\nLa taille de l'archive ZIP est trop faible (supérieure à 1 000 000)."); - System.out.println(messageErreur.toString()); + System.out.println("**-** ERREUR dans le fichier d'analyse, dans le node ."); + System.out.println("La taille de l'archive ZIP est trop faible (supérieure à 1 000 000)."); + System.out.println(); + commandes.message.append("\n**************************************************"); + commandes.message.append("\nERREUR dans le fichier d'analyse, dans le node ."); + commandes.message.append("\nLa taille de l'archive ZIP est trop faible (supérieure à 1 000 000)."); + commandes.message.append("\n**************************************************"); verifSujet.getAttributs().put("erreurTailleSize","true"); erreur=true; } if(size>100000000) { - messageErreur.append("\n**-** Erreur dans le fichier d'analyse, dans le node ."); - messageErreur.append("\nLa taille de l'archive ZIP est trop grande (inférieur à 100 000 000)."); - System.out.println(messageErreur.toString()); + System.out.println("**-** ERREUR dans le fichier d'analyse, dans le node ."); + System.out.println("La taille de l'archive ZIP est trop grande (inférieur à 100 000 000)."); + System.out.println(); + commandes.message.append("\n**************************************************"); + commandes.message.append("\nERREUR dans le fichier d'analyse, dans le node ."); + commandes.message.append("\nLa taille de l'archive ZIP est trop grande (inférieur à 100 000 000)."); + commandes.message.append("\n**************************************************"); verifSujet.getAttributs().put("erreurTailleSize","true"); erreur=true; } @@ -500,9 +577,14 @@ public class verificationFichierAnalyse { Pattern pt = Pattern.compile("[^a-zA-Z0-9]"); // avec les chiffres "[^a-zA-Z0-9]" Matcher match= pt.matcher(name); if(match.find()) { - messageErreur.append("\n**-** Erreur dans le fichier d'analyse, dans le node ."); - messageErreur.append("\nLe nom de l'archive ne doit pas contenir de caractères spéciaux."); - System.out.println(messageErreur.toString()); + System.out.println(); + System.out.println("**-** ERREUR dans le fichier d'analyse, dans le node ."); + System.out.println("Le nom de l'archive \"nameZip\n ne doit pas contenir de caractères spéciaux."); + System.out.println(); + commandes.message.append("\n**************************************************"); + commandes.message.append("\nERREUR dans le fichier d'analyse, dans le node ."); + commandes.message.append("\nLe nom de l'archive \"nameZip\n ne doit pas contenir de caractères spéciaux."); + commandes.message.append("\n**************************************************"); verifSujet.getAttributs().put("erreurNameArchive","true"); erreur=true; } @@ -518,16 +600,24 @@ public class verificationFichierAnalyse { number_match = Integer.valueOf(plagiarism.getAttributs().get("number_match")); }catch (Exception e) { System.out.println(); - System.out.println("**-** Erreur dans le fichier d'analyse le node \"setting\"."); + System.out.println("**-** ERREUR dans le fichier d'analyse, dans le node ."); System.out.println("Le nombre de correspondance \"number_match\" doit être une valeur numérique."); System.out.println(); + commandes.message.append("\n**************************************************"); + commandes.message.append("\nERREUR dans le fichier d'analyse, dans le node ."); + commandes.message.append("\nLe nombre de correspondance \"number_match\" doit être une valeur numérique."); + commandes.message.append("\n**************************************************"); erreur=true; } if(number_match<0) { System.out.println(); - System.out.println("**-** Erreur dans le fichier d'analyse le node \"setting\"."); + System.out.println("**-** ERREUR dans le fichier d'analyse, dans le node ."); System.out.println("Le nombre de correspondance \"number_match\" doit être unevaleur positive."); System.out.println(); + commandes.message.append("\n**************************************************"); + commandes.message.append("\nERREUR dans le fichier d'analyse, dans le node ."); + commandes.message.append("\nLe nombre de correspondance \"number_match\" doit être unevaleur positive."); + commandes.message.append("\n**************************************************"); erreur=true; } @@ -538,16 +628,24 @@ public class verificationFichierAnalyse { mini_number_modification = Integer.valueOf(plagiarism.getAttributs().get("mini_number_modification")); }catch (Exception e) { System.out.println(); - System.out.println("**-** Erreur dans le fichier d'analyse le node \"setting\"."); + System.out.println("**-** ERREUR dans le fichier d'analyse, dans le node ."); System.out.println("Le nombre minimum de modification \"mini_number_modification\" doit être une valeur numérique."); System.out.println(); + commandes.message.append("\n**************************************************"); + commandes.message.append("\nERREUR dans le fichier d'analyse, dans le node ."); + commandes.message.append("\nLe nombre minimum de modification \"mini_number_modification\" doit être une valeur numérique."); + commandes.message.append("\n**************************************************"); erreur=true; } if(mini_number_modification<-1) { System.out.println(); - System.out.println("**-** Erreur dans le fichier d'analyse le node \"setting\"."); + System.out.println("**-** ERREUR dans le fichier d'analyse, dans le node ."); System.out.println("Le nombre minimum de modification \"mini_number_modification\" doit être une valeur positive."); System.out.println(); + commandes.message.append("\n**************************************************"); + commandes.message.append("\nERREUR dans le fichier d'analyse, dans le node ."); + commandes.message.append("\nLe nombre minimum de modification \"mini_number_modification\" doit être une valeur positive."); + commandes.message.append("\n**************************************************"); erreur=true; } @@ -558,16 +656,24 @@ public class verificationFichierAnalyse { nombres_modifications_simultané_maxi = Integer.valueOf(plagiarism.getAttributs().get("nombres_modifications_simultané_maxi")); }catch (Exception e) { System.out.println(); - System.out.println("**-** Erreur dans le fichier d'analyse le node \"setting\"."); + System.out.println("**-** ERREUR dans le fichier d'analyse, dans le node ."); System.out.println("Le nombre de modifications simultanées \"nombres_modifications_simultané_maxi\" doit être une valeur numérique."); System.out.println(); + commandes.message.append("\n**************************************************"); + commandes.message.append("\nERREUR dans le fichier d'analyse, dans le node ."); + commandes.message.append("\nLe nombre de modifications simultanées \"nombres_modifications_simultané_maxi\" doit être une valeur numérique."); + commandes.message.append("\n**************************************************"); erreur=true; } if(nombres_modifications_simultané_maxi<0) { System.out.println(); - System.out.println("**-** Erreur dans le fichier d'analyse le node \"setting\"."); + System.out.println("**-** ERREUR dans le fichier d'analyse, dans le node ."); System.out.println("Le nombre de modifications simultanées \"nombres_modifications_simultané_maxi\" doit être une valeur positive."); System.out.println(); + commandes.message.append("\n**************************************************"); + commandes.message.append("\nERREUR dans le fichier d'analyse, dans le node ."); + commandes.message.append("\nLe nombre de modifications simultanées \"nombres_modifications_simultané_maxi\" doit être une valeur positive."); + commandes.message.append("\n**************************************************"); erreur=true; } @@ -584,16 +690,24 @@ public class verificationFichierAnalyse { tolerance_characters = Integer.valueOf(similarity.getAttributs().get("tolerance_characters")); }catch (Exception e) { System.out.println(); - System.out.println("**-** Erreur dans le fichier d'analyse le node \"setting\"."); + System.out.println("**-** ERREUR dans le fichier d'analyse, dans le node ."); System.out.println("La tolérance de catactère \"tolerance_characters\" n'est pas un entier."); System.out.println(); + commandes.message.append("\n**************************************************"); + commandes.message.append("\nERREUR dans le fichier d'analyse, dans le node ."); + commandes.message.append("\nLa tolérance de catactère \"tolerance_characters\" n'est pas un entier."); + commandes.message.append("\n**************************************************"); erreur=true; } if(tolerance_characters<0) { System.out.println(); - System.out.println("**-** Erreur dans le fichier d'analyse le node \"setting\"."); + System.out.println("**-** ERREUR dans le fichier d'analyse, dans le node ."); System.out.println("La tolérance de catactère \"tolerance_characters\" doit être une valeur positive."); System.out.println(); + commandes.message.append("\n**************************************************"); + commandes.message.append("\nERREUR dans le fichier d'analyse, dans le node ."); + commandes.message.append("\nLa tolérance de catactère \"tolerance_characters\" doit être une valeur positive."); + commandes.message.append("\n**************************************************"); erreur=true; } } @@ -603,16 +717,24 @@ public class verificationFichierAnalyse { tolerance_text = Double.valueOf(similarity.getAttributs().get("tolerance_text")); }catch (Exception e) { System.out.println(); - System.out.println("**-** Erreur dans le fichier d'analyse le node \"setting\"."); + System.out.println("**-** ERREUR dans le fichier d'analyse, dans le node ."); System.out.println("La tolérance sur le texte (similitude) \"tolerance_text\" doit être un numérique compris entre 0.01 et 0.99."); System.out.println(); - erreur=true; + commandes.message.append("\n**************************************************"); + commandes.message.append("\nERREUR dans le fichier d'analyse, dans le node ."); + commandes.message.append("\nLa tolérance sur le texte (similitude) \"tolerance_text\" doit être un numérique compris entre 0.01 et 0.99."); + commandes.message.append("\n**************************************************"); + erreur=true; } if(tolerance_text<0 || tolerance_text>1) { System.out.println(); - System.out.println("**-** Erreur dans le fichier d'analyse le node \"setting\"."); + System.out.println("**-** ERREUR dans le fichier d'analyse, dans le node ."); System.out.println("La tolérance sur le texte (similitude) \"tolerance_text\" doit être un numérique compris entre 0.01 et 0.99."); System.out.println(); + commandes.message.append("\n**************************************************"); + commandes.message.append("\nERREUR dans le fichier d'analyse, dans le node ."); + commandes.message.append("\nLa tolérance sur le texte (similitude) \"tolerance_text\" doit être un numérique compris entre 0.01 et 0.99."); + commandes.message.append("\n**************************************************"); erreur=true; } @@ -633,11 +755,15 @@ public class verificationFichierAnalyse { if(styleParagraphDefault.getAttributs().get("evaluer")!=null) { if(styleParagraphDefault.getAttributs().get("evaluer").equals("true")) { System.out.println(); - System.out.println("**-** AVERTISSEMENT dans le fichier d'analyse, le node \"style:default-style\"."); + System.out.println("**-** AVERTISSEMENT dans le fichier d'analyse, dans le node ."); System.out.println("Le node \"style:default-style\" ne doit pas contenir l'attribut \"evaluer=true\"."); System.out.println("Les valeurs par défaut dans les styles de paragraphe (les nodes \"style:style\") ont été ajouté."); - System.out.println("Lisez dans la documentation, les caractéristique du node principal \"style:paragraph\"."); System.out.println(); + + commandes.message.append("\n**************************************************"); + commandes.message.append("\nAVERTISSEMENT dans le fichier d'analyse, dans le node ."); + commandes.message.append("\nLe node ne doit pas contenir l'attribut evaluer=\"true\"."); + commandes.message.append("\n**************************************************"); } } } @@ -657,6 +783,12 @@ public class verificationFichierAnalyse { System.out.println("Le contenu du node est : " + nod.getContenu()); System.out.println("Le contenu du node doit avoir plus de 3 caractères pour qu'il puisse être évalué."); System.out.println(); + + commandes.message.append("\n**************************************************"); + commandes.message.append("\nERREUR dans le fichier d'analyse, dans le node <" + nod.getNomElt() + ">."); + commandes.message.append("\nLe contenu du node est : " + nod.getContenu()); + commandes.message.append("\nLe contenu du node doit avoir plus de 3 caractères pour qu'il puisse être évalué."); + commandes.message.append("\n**************************************************"); erreur=true; } } @@ -671,10 +803,16 @@ public class verificationFichierAnalyse { if(match.find()) { if(nod.retourneLesContenusEnfants("").contains("‽")){ System.out.println(); - System.out.println("**-** ERREUR dans le fichier d'analyse, le node \"" + nod.getNomElt() + "\"."); + System.out.println("**-** ERREUR dans le fichier d'analyse, dans le node <" + nod.getNomElt() + ">."); System.out.println("Le node possède l'attribut allContent=\"" + nod.getAttributs().get("allContent")+"\""); System.out.println("Et un des nodes enfants possède un contenu évalué directement par l'évaluateur ‽"); System.out.println(); + + commandes.message.append("\n**************************************************"); + commandes.message.append("\nERREUR dans le fichier d'analyse, dans le node <" + nod.getNomElt() + ">."); + commandes.message.append("\nLe node possède l'attribut allContent=\"" + nod.getAttributs().get("allContent")+"\""); + commandes.message.append("\nEt un des nodes enfants possède un contenu évalué directement par l'évaluateur ‽"); + commandes.message.append("\n**************************************************"); erreur=true; } } @@ -730,14 +868,13 @@ public class verificationFichierAnalyse { nodeCalculHash.getAttributs().put("analysis_filename", commandes.nameSujet); commandes.message.append("\n"); - commandes.message.append("\n┌────────────────────────────────────────────────────────────────────┐"); - commandes.message.append("\n│ Le hash du code de l'évaluation ou le nom du fichier d'analyse │"); - commandes.message.append("\n│ a été mise à jour dans le fichier d'analyse. │"); - commandes.message.append("\n│ │"); - commandes.message.append("\n│ Le hash du code de l'évaluation est : " + commandes.hash + new String(new char[nbespace]).replace("\0", " ") +"│" ); - commandes.message.append("\n│ Le nom du fichier d'analyse est : " + commandes.nameSujet + new String(new char[nbespace2]).replace("\0", " ") +"│" ); - commandes.message.append("\n│ │"); - commandes.message.append("\n└────────────────────────────────────────────────────────────────────┘"); + commandes.message.append("\n*********************************************************************"); + commandes.message.append("\n Le hash du code de l'évaluation ou le nom du fichier d'analyse"); + commandes.message.append("\n a été mise à jour dans le fichier d'analyse."); + commandes.message.append("\n"); + commandes.message.append("\n Le hash du code de l'évaluation est : " + commandes.hash ); + commandes.message.append("\n Le nom du fichier d'analyse est : " + commandes.nameSujet); + commandes.message.append("\n*********************************************************************"); commandes.message.append("\n"); if(commandes.nameSujet.contains(".")) { @@ -750,10 +887,10 @@ public class verificationFichierAnalyse { System.out.println("\t\t│ Vérification du hash et du nom du fichier correct. │"); System.out.println("\t\t└─────────────────────────────────────────────────────┘"); System.out.println(); - commandes.message.append("\n┌─────────────────────────────────────────────────────┐"); - commandes.message.append("\n│ Vérification du hash et du nom du fichier correct. │"); - commandes.message.append("\n└─────────────────────────────────────────────────────┘"); - commandes.message.append("\n"); + commandes.message.append("\n**********************************************************"); + commandes.message.append("\n Vérification du hash et du nom du fichier correct."); + commandes.message.append("\n**********************************************************"); + } //** bye bye analyseWriter if(commandes.console) commandes.clotureApplication(); diff --git a/src/app/evaluate.java b/src/app/evaluate.java index 42fa089..09faadb 100644 --- a/src/app/evaluate.java +++ b/src/app/evaluate.java @@ -36,12 +36,17 @@ import javax.swing.SwingConstants; import javax.swing.Timer; import java.awt.GridLayout; +import java.awt.Image; + import javax.swing.JTextArea; import javax.swing.JScrollPane; import java.awt.Component; import javax.swing.Box; import javax.swing.JEditorPane; import javax.swing.JProgressBar; +import javax.swing.JSeparator; +import net.miginfocom.swing.MigLayout; +import java.awt.Label; public class evaluate extends JFrame { @@ -53,24 +58,31 @@ public class evaluate extends JFrame { private JLabel lblPath = new JLabel(); private JLabel lblFileAnalyse = new JLabel(); private JLabel lblFichierCSV = new JLabel(); + private JLabel lblFichierSVG = new JLabel(); private JCheckBox chckbxfichiersEtudaints = new JCheckBox(); private JCheckBox chckbxZipfeedback = new JCheckBox(); private JCheckBox chckbxnoFeedback = new JCheckBox(); private JCheckBox chckbxNoNote = new JCheckBox(); private JCheckBox chckCSVNotes = new JCheckBox(); + private JCheckBox chckbxNoLogo = new JCheckBox(); + JCheckBox chckbxNewLogo = new JCheckBox(); private JTextPane txtpnmessages = new JTextPane(); private JProgressBar progressBar = new JProgressBar(); private JButton btnSelectFileAnalyse = new JButton(); private JButton btnSelectFolder = new JButton(); private JButton btnEvaluerLesFichiers = new JButton(); private JButton btnFichierCSV = new JButton(); + private JButton btnAbout = new JButton(); + private JButton btnFichierSVG = new JButton(); /** * Create the frame. */ public evaluate() { - setIconImage(Toolkit.getDefaultToolkit().getImage(evaluate.class.getResource("/resources/evalwriter.ico"))); + ImageIcon img = new ImageIcon(getClass().getResource("/evalwriter.png") ); + this.setIconImage(img.getImage()); + this.setTitle(commandes.Titre); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setBounds(100, 100, 960, 677); @@ -81,62 +93,98 @@ public class evaluate extends JFrame { JToolBar toolBar = new JToolBar(); contentPane.add(toolBar, BorderLayout.NORTH); - - btnSelectFolder = new JButton("Selection dossier d'analyse"); - btnSelectFolder.setIcon(new ImageIcon(evaluate.class.getResource("/resources/open2.png"))); - btnSelectFolder.setSelectedIcon(new ImageIcon(evaluate.class.getResource("/resources/evalwriter.png"))); - btnSelectFolder.setToolTipText("Sélectionner le dossier d'analyse (CTRL+O)"); - toolBar.add(btnSelectFolder); - - btnEvaluerLesFichiers = new JButton("Evaluer les fichiers des étudiants"); - btnSelectFileAnalyse = new JButton("Selection fichier analyse"); + btnSelectFileAnalyse = new JButton(""); btnSelectFileAnalyse.setToolTipText("Sélection du fichier d'analyse"); btnSelectFileAnalyse.setIcon(new ImageIcon(evaluate.class.getResource("/resources/fichierAnalyse.png"))); toolBar.add(btnSelectFileAnalyse); - btnFichierCSV = new JButton("Sélection fichier CSV"); + btnSelectFolder = new JButton(""); + btnSelectFolder.setIcon(new ImageIcon(evaluate.class.getResource("/resources/open2.png"))); + btnSelectFolder.setSelectedIcon(new ImageIcon(evaluate.class.getResource("/resources/evalwriter.png"))); + btnSelectFolder.setToolTipText("Sélectionner le dossier contenant les fichiers des étudiants"); + toolBar.add(btnSelectFolder); + + toolBar.addSeparator(); + + btnEvaluerLesFichiers = new JButton(""); + btnEvaluerLesFichiers.setToolTipText("Evaluer les fichiers des étudiants"); + + btnFichierCSV = new JButton(""); + btnFichierCSV.setToolTipText("Sélectionner la liste des étudiants"); btnFichierCSV.setIcon(new ImageIcon(evaluate.class.getResource("/resources/fichierCSV.png"))); toolBar.add(btnFichierCSV); + btnFichierSVG = new JButton(""); + btnFichierSVG.setToolTipText("Sélectionner le fichier Logo"); + btnFichierSVG.setIcon(new ImageIcon(evaluate.class.getResource("/resources/fichierSVG.png"))); + toolBar.add(btnFichierSVG); + + toolBar.addSeparator(); + + JButton btnNewButton_1 = new JButton(""); + btnNewButton_1.setToolTipText("Créer un fichier d'analyse à partir d'un fichier ODF"); + btnNewButton_1.setIcon(new ImageIcon(evaluate.class.getResource("/resources/fichierODF.png"))); + toolBar.add(btnNewButton_1); + + toolBar.addSeparator(); + btnEvaluerLesFichiers.setIcon(new ImageIcon(evaluate.class.getResource("/resources/evaluate.png"))); toolBar.add(btnEvaluerLesFichiers); + toolBar.addSeparator(); + + btnAbout = new JButton(""); + btnAbout.setIcon(new ImageIcon(evaluate.class.getResource("/resources/apropos.png"))); + btnAbout.setToolTipText("Informations"); + toolBar.add(btnAbout); + JPanel panel = new JPanel(); contentPane.add(panel, BorderLayout.WEST); - panel.setLayout(new GridLayout(0, 1, 0, 0)); + panel.setLayout(new MigLayout("", "[309px]", "[71px][71px][][71px][][74.00][][]")); lblFileAnalyse = new JLabel("Fichier de l'analyse : "); lblFileAnalyse.setHorizontalAlignment(SwingConstants.LEFT); lblFileAnalyse.setFont(new Font("Tahoma", Font.BOLD, 14)); - panel.add(lblFileAnalyse); - lblPath.setHorizontalAlignment(SwingConstants.LEFT); - lblPath.setFont(new Font("Tahoma", Font.BOLD, 14)); - lblPath.setText("Dossier de l'analyse : " + commandes.path.substring(commandes.path.lastIndexOf("\\")+1,commandes.path.length()) + ""); - panel.add(lblPath); - - lblFichierCSV = new JLabel("Fichier CSV liste des étudiants :"); - lblFichierCSV.setFont(new Font("Tahoma", Font.BOLD, 14)); - panel.add(lblFichierCSV); + panel.add(lblFileAnalyse, "flowy,cell 0 0,alignx left,growy"); chckbxfichiersEtudaints = new JCheckBox("Les fichiers ne sont pas dans des dossiers nominatifs"); chckbxfichiersEtudaints.setFont(new Font("Tahoma", Font.PLAIN, 12)); chckbxfichiersEtudaints.setToolTipText("Cochez si les fichiers des étudiants ne sont pas dans des dossier nominatifs"); - panel.add(chckbxfichiersEtudaints); + panel.add(chckbxfichiersEtudaints, "flowy,cell 0 1,grow"); + + lblFichierCSV = new JLabel("Fichier CSV liste des étudiants :"); + lblFichierCSV.setFont(new Font("Tahoma", Font.BOLD, 14)); + panel.add(lblFichierCSV, "flowy,cell 0 3,grow"); + + lblFichierSVG = new JLabel("Fichier SVG :"); + lblFichierSVG.setFont(new Font("Tahoma", Font.BOLD, 14)); + panel.add(lblFichierSVG, "flowy,cell 0 5,growx"); + + chckCSVNotes = new JCheckBox("Créer un fichier CSV des notes"); + panel.add(chckCSVNotes, "cell 0 3,grow"); + lblPath.setHorizontalAlignment(SwingConstants.LEFT); + lblPath.setFont(new Font("Tahoma", Font.BOLD, 14)); + lblPath.setText("Dossier de l'analyse : " + commandes.path.substring(commandes.path.lastIndexOf("\\")+1,commandes.path.length()) + ""); + panel.add(lblPath, "cell 0 0,grow"); chckbxnoFeedback = new JCheckBox("Pas de feedback"); chckbxnoFeedback.setFont(new Font("Tahoma", Font.PLAIN, 12)); - panel.add(chckbxnoFeedback); + panel.add(chckbxnoFeedback, "cell 0 1,grow"); chckbxZipfeedback = new JCheckBox("Zip les feedbacks"); chckbxZipfeedback.setFont(new Font("Tahoma", Font.PLAIN, 12)); - panel.add(chckbxZipfeedback); + panel.add(chckbxZipfeedback, "cell 0 1,grow"); chckbxNoNote = new JCheckBox("Pas de note dans les feedbacks"); chckbxNoNote.setFont(new Font("Tahoma", Font.PLAIN, 12)); - panel.add(chckbxNoNote); + panel.add(chckbxNoNote, "cell 0 1,grow"); - chckCSVNotes = new JCheckBox("Créer un fichier CSV des notes"); - panel.add(chckCSVNotes); + chckbxNewLogo = new JCheckBox("Nouveau logo"); + chckbxNewLogo.setFont(new Font("Tahoma", Font.PLAIN, 11)); + panel.add(chckbxNewLogo, "cell 0 5"); + + chckbxNoLogo = new JCheckBox("Pas de logo"); + panel.add(chckbxNoLogo, "cell 0 5"); JPanel panel_1 = new JPanel(); @@ -151,7 +199,8 @@ public class evaluate extends JFrame { scrollPane.setColumnHeaderView(progressBar); txtpnmessages = new JTextPane(); - txtpnmessages.setText("Messages"); + txtpnmessages.setFont(new Font("Tahoma", Font.PLAIN, 12)); + txtpnmessages.setText("Charger un fichier d'analyse."); scrollPane.setViewportView(txtpnmessages); @@ -172,17 +221,22 @@ public class evaluate extends JFrame { chckbxnoFeedback.setEnabled(false); chckbxNoNote.setEnabled(false); chckCSVNotes.setEnabled(false); + chckbxNewLogo.setEnabled(false); + chckbxNoLogo.setEnabled(false); + }else { chckbxfichiersEtudaints.setEnabled(true); chckbxZipfeedback.setEnabled(true); chckbxnoFeedback.setEnabled(true); chckbxNoNote.setEnabled(true); chckCSVNotes.setEnabled(true); + chckbxNewLogo.setEnabled(true); + chckbxNoLogo.setEnabled(true); StringBuilder text = new StringBuilder(); text.append("\n***********************************************"); - text.append("\n** INFORMATIONS **"); + text.append("\n INFORMATIONS"); text.append("\n***********************************************"); text.append("\nLe titre de l'exercice est : " + commandes.analyse_titre); text.append("\n"); @@ -199,9 +253,17 @@ public class evaluate extends JFrame { text.append("\n\tLe barème est sur " + String.valueOf(commandes.analyse_notefrom)); text.append("\n\tLa progression est de " + String.valueOf(commandes.analyse_progression)); } - text.append("\n"); + text.append("\n______"); + text.append("\nLe nom du fichier : " + commandes.analysis_filename); text.append("\nLe hash de l'évaluation est : " + commandes.hash); - text.append("\n"); + text.append("\n______"); + text.append("\nHistoriques des modifications present : " + commandes.analyse_historiquePresent); + text.append("\n______"); + text.append("\nVerification de la presence metaSujet : " + commandes.analyse_presenceMetaSujet); + text.append("\n______"); + text.append("\nContrôle la date de céation : " + commandes.analyse_controleDateCreation); + text.append("\n______"); + text.append("\nContrôle l'auteur initial du fichier : " + commandes.analyse_controle_Initial_Creator); text.append("\n***********************************************"); progressBar.setVisible(false); @@ -210,8 +272,9 @@ public class evaluate extends JFrame { } lblPath.setText("Dossier de l'analyse : " + commandes.path.substring(commandes.path.lastIndexOf("\\")+1,commandes.path.length()) + ""); - lblFileAnalyse.setText("Fichier de l'analyse : " + commandes.filename + ""); - lblFichierCSV.setText("Fichier CSV liste des étudiants :" + commandes.nameCSV.substring(commandes.nameCSV.lastIndexOf("\\")+1,commandes.nameCSV.length()) + ""); + lblFileAnalyse.setText("Fichier de l'analyse : " + commandes.analysis_filename + ""); + lblFichierSVG.setText("Fichier SVG : " + commandes.nameSVG.substring(commandes.nameSVG.lastIndexOf("\\")+1,commandes.nameSVG.length()) + ""); + lblFichierCSV.setText("Fichier CSV : " + commandes.nameCSV + ""); } @@ -256,12 +319,22 @@ public class evaluate extends JFrame { // Analyse le contenu du dossier btnEvaluerLesFichiers.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { - try { - evaluerLesFichiersEtudiants(); - } catch (ParserConfigurationException | SAXException | IOException | CloneNotSupportedException e1) { - // TODO Auto-generated catch block - e1.printStackTrace(); + if(commandes.fichierAnalyseValide) { + try { + msgBox V = new msgBox("Je travaille dure.",false,false,"Attendez"); + Thread.sleep(500); + evaluerLesFichiersEtudiants(); + V.close(); + } catch (ParserConfigurationException | SAXException | IOException | CloneNotSupportedException e1) { + e1.printStackTrace(); + } catch (InterruptedException e1) { + // TODO Auto-generated catch block + e1.printStackTrace(); + } + }else { + new msgBox("Le fichier d'analyse n'est pas valide.",true,false,"Avertissement"); } + } }); @@ -288,17 +361,63 @@ public class evaluate extends JFrame { commandes.fourniCSV=false; System.out.println("No Selection "); } - + refreshLabel(); } }); + + // Bouton SVG + btnFichierSVG.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + + JFileChooser chooser = new JFileChooser(); + chooser.setDialogTitle("Choisir un fichier SVG"); + + chooser.setCurrentDirectory(new java.io.File(commandes.path)); + chooser.setFileSelectionMode(JFileChooser.FILES_ONLY); + FileNameExtensionFilter filter = new FileNameExtensionFilter("Format SVG", "svg"); + chooser.setFileFilter(filter); + chooser.setAcceptAllFileFilterUsed(true); + + if (chooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION) { + System.out.println("getCurrentDirectory(): " + chooser.getCurrentDirectory()); + System.out.println("getSelectedFile() : " + chooser.getSelectedFile().getAbsolutePath()); + commandes.nameSVG = chooser.getSelectedFile().getAbsolutePath(); + commandes.contenuFichierSVG= meptl.chargementFichierSVG(); + txtpnmessages.setText(commandes.contenuFichierSVG); + } else { + commandes.nameSVG = ""; + commandes.contenuFichierSVG=""; + System.out.println("No Selection "); + } + + refreshLabel(); + + + } + }); + + + // Bouton About + btnAbout.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + new about(); + } + }); + } - + /** + * Permet l'évaluation des fichiers des étudaints. + * @throws ParserConfigurationException + * @throws SAXException + * @throws IOException + * @throws CloneNotSupportedException + */ private void evaluerLesFichiersEtudiants() throws ParserConfigurationException, SAXException, IOException, CloneNotSupportedException { commandes.analyse=true; @@ -309,157 +428,14 @@ public class evaluate extends JFrame { if(chckbxnoFeedback.isSelected()) commandes.sansFeeback=true; if(chckbxNoNote.isSelected()) commandes.noNote=true; if(chckCSVNotes.isSelected()) commandes.ecritNoteCSV=true; + if(chckbxNewLogo.isSelected()) commandes.newLogo=true; + if(chckbxNoLogo.isSelected()) commandes.noLogo = true; meptl.analyseVerifieHistoriqueLesFichiersEtudiantsEtExportNoteCSV(); + txtpnmessages.setText(commandes.message.toString()); progressBar.setVisible(false); - - -// Run a = new Run(commandes.path,commandes.Profil, commandes.fichierStudentMoodle); -// -// //** Nouveau node qui permet de convertir le fichier contenant la liste des étudiants en node. -// node nodeCSV = null; -// -// //***************************************** -// //** Nombre de fichier writer à analyser ** -// //***************************************** -// int nbFichierWriter = a.getLectDossiers().getEC().getListeContentWriter().size(); -// -// -// -// //*************************************** -// //** -verif ou -use file.xml -verifcsv ** -// //*************************************** -// node verif = new node(); -// if(commandes.verifHisto || commandes.verifHisto2) { -// node verification = new node(); -// verification.setNomElt("verification"); -// verification.getAttributs().put("nombre_fichier", String.valueOf(a.getLectDossiers().getEC().getListeFichierodt().size())); -// for(int i = 0 ; i < nbFichierWriter ; i++) { -// node nod = Run.XMLContent(a.getLectDossiers().getEC().getListeContentWriter().get(i)); -// node nodStudent = meptl.LectureFichierEtudiantPourVerification(nod,a,i); -// verification.getNodes().add(nodStudent); -// } -// //a.ecritureNodeEnXML(verification, "VerificationHistorique","",false); //écriture du node de l'étudiant -// verif = meptl.verificationHistorique(verification, a); // vérification des correspondances entre les fichiers -// -// //******************************** -// //** Ecriture du node verif.xml ** -// //******************************** -// Run.ecritureNodeEnXML(verif, "Verif",commandes.pathDestination,commandes.fourniDossierDestination, "Verif"); //écriture du node de vérification -// if(!commandes.analyse) { -// //** bye bye analyseWriter -// commandes.clotureApplication(); -// } -// } -// -// -// -// System.getProperty("file.encoding","UTF-8"); -// -// //********************************************************* -// //** Node contenant l'ensemble des analyses des étudiants ** -// //********************************************************* -// node ensembleanalyse = new node(); -// ensembleanalyse.setNomElt("analyses"); -// -// -// StringBuilder textMessage = new StringBuilder(); -// -// //***************************************************** -// //** Parcours l'ensemble des fichiers des étudiants *** -// //***************************************************** -// for(int i = 0 ; i < nbFichierWriter ; i++) { -// -// //** Ne prends pas en compte le dossier destination créé par la commande -dest -// //** Si pas d'analyse alors le nom doit contenir le caractère $ dans le nom du dossier. -// if(commandes.fourniDossierDestination)if(a.getLectDossiers().getEC().getListeNomDossier().get(i).equals(commandes.pathDestination)) continue; -// -// //*********************************************************** -// //** Lecture et transformation en node du fichier étudiant ** -// //*********************************************************** -// node nod = Run.XMLContent(a.getLectDossiers().getEC().getListeContentWriter().get(i)); -// node nodStudent = meptl.LectureFichierEtudiantSousFormeDeNode(nod,a,i); -// //a.ecritureNodeEnXML(nodStudent, a.getLectDossiers().getEC().getListeNomDossier().get(i),"",false,""); //écriture du node de l'étudiant -// -// //********************************** -// //** Analyse des fichiers student ** -// //********************************** -// if(commandes.analyse||commandes.ecritNodeAnalyse) { -// -//// Run.ecritureNodeEnXML(nodStudent, "fichier student","",false,""); //écriture du node nodStudent de l'étudiant -// node ana = meptl.analyse(nodStudent, commandes.sujet, i, a); -// -// //************************************************** -// //** Ecriture des fichiers d'analyse des students ** -// //************************************************** -// if(commandes.ecritNodeAnalyse) { -// Run.ecritureNodeEnXML(ana, "nodana"+ana.retourneFirstEnfantsByName("ouverture").getAttributs().get("dossier"),"",false,""); //écriture du node analyse de l'étudiant -// } -// -// //**************************** -// //** Création des feedbacks ** -// //**************************** -// if(!commandes.sansFeeback&&!commandes.ecritNodeAnalyse) { -// if(!commandes.zipfeedback) { -// //feedback(ana, verif); //classique directement dans le répertoire -// feedbacks.feedback(ana,verif, false); -// } -// if(commandes.zipfeedback) { // Dans une archive pour Moodle -// try { -// a.AddStreamToZip(feedbacks.feedback(ana, verif, true), meptl.retourneLeNomDuFeedback(a.getLectDossiers().getEC().getListeNomFichierFeedBack().get(i),ana, verif),commandes.analyse_size,commandes.analyse_nameZip); -// } catch (ZipException e) { -// e.printStackTrace(); -// } catch (IOException e) { -// e.printStackTrace(); -// } -// } -// } -// -// //******************************************************************************** -// //** Ajoute au node ensembleanalyse lorsque -csv file.csv ou -verifcsv file.scv ** -// //******************************************************************************** -// if(commandes.ecritNoteCSV) ensembleanalyse.addNode(ana); -// -// //********************************************************* -// //** Message dans la console sur l'analyse de l'étudiant ** -// //********************************************************* -// textMessage.append(meptl.messageSystem(ana).toString()); -// textAreaMessage.setText(textMessage.toString()); -// -// } -// } - -// if(commandes.sujet!=null) { -// //***************************************************** -// //** Exportation au format CSV si -csv ou -verifcsv ** -// //***************************************************** -// if(commandes.ecritNoteCSV && !commandes.fourniCSV) { -// if(!commandes.verifHisto2) meptl.ecritureCSV(ensembleanalyse); -// if(commandes.verifHisto2) meptl.ecritureCSV(ensembleanalyse,verif,a,commandes.sujet.retourneFirstEnfantsByName("setting")); -// //a.ecritureNodeEnXML(ensembleanalyse, "ensembleAnalyse"); //écriture du node de l'étudiant -// } -// -// //*********************************************************************** -// //** Exportation au format CSV si -csv file.csv ou -verifcsv file.csv ** -// //*********************************************************************** -// if(commandes.ecritNoteCSV && commandes.fourniCSV) { -// meptl.ecritureCSV(ensembleanalyse,verif,a,nodeCSV, commandes.sujet.retourneFirstEnfantsByName("setting")); -// //a.ecritureNodeEnXML(ensembleanalyse, "ensembleAnalyse"); //écriture du node de l'étudiant -// } -// -// //************************************** -// //** Mise à jour du fichier d'analyse ** -// //************************************** -//// if(commandes.MAJFichierAnalyse||commandes.MAJnameAnalysisFile) { -//// verificationFichierAnalyse.MiseAJourFichierAnalyse(); -//// verificationFichierAnalyse.messagMiseAJourFichierAnalyseAprèsAnalyse(); -//// } -// } - - - - + } diff --git a/src/app/filechooserXML.java b/src/app/filechooserXML.java index 7dbba43..494d638 100644 --- a/src/app/filechooserXML.java +++ b/src/app/filechooserXML.java @@ -85,6 +85,7 @@ public class filechooserXML extends JFileChooser { private void openFileXML(File file) { commandes.path = file.getPath().substring(0,file.getPath().lastIndexOf("\\")); commandes.filename = file.getName().substring(0,file.getName().lastIndexOf(".")); + commandes.nameSujet = file.getName().toString(); BufferedReader br; try { diff --git a/src/app/mainApp.java b/src/app/mainApp.java index cd5c582..ba342c1 100644 --- a/src/app/mainApp.java +++ b/src/app/mainApp.java @@ -29,8 +29,6 @@ public class mainApp extends JFrame implements ActionListener{ JButton btnCreate; JButton actCharge; - JButton aPropos; - private JButton btnCrerUnFichier; /** * Launch the application. @@ -61,15 +59,16 @@ public class mainApp extends JFrame implements ActionListener{ */ private void initialize() { + + frmEvalwriter = new JFrame(); - frmEvalwriter.setIconImage(Toolkit.getDefaultToolkit().getImage(mainApp.class.getResource("/resources/evalwriter.ico"))); frmEvalwriter.setResizable(false); frmEvalwriter.setTitle("analyseWriter"); - frmEvalwriter.setBounds(100, 100, 555, 457); + frmEvalwriter.setBounds(100, 100, 555, 295); frmEvalwriter.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); frmEvalwriter.getContentPane().setLayout(null); ImageIcon img = new ImageIcon(getClass().getResource("/evalwriter.png") ); - setIconImage(img.getImage()); + frmEvalwriter.setIconImage(img.getImage()); btnCreate = new JButton("Modifier un fichier d'analyse"); btnCreate.setFont(new Font("Tahoma", Font.PLAIN, 14)); @@ -78,7 +77,7 @@ public class mainApp extends JFrame implements ActionListener{ btnCreate.setBounds(34, 163, 470, 50); frmEvalwriter.getContentPane().add(btnCreate); - actCharge = new JButton("Charge le fichier d'analyse pour évaluer les fichiers des étudiants"); + actCharge = new JButton("Evaluer les fichiers des étudiants - Créer un fichier d'analyse"); actCharge.setBackground(Color.PINK); actCharge.addActionListener(this); actCharge.setFont(new Font("Tahoma", Font.PLAIN, 14)); @@ -92,21 +91,6 @@ public class mainApp extends JFrame implements ActionListener{ lblNewLabel.setFont(new Font("Pacifico", Font.PLAIN, 26)); lblNewLabel.setBounds(34, 11, 470, 74); frmEvalwriter.getContentPane().add(lblNewLabel); - - aPropos = new JButton("A Propos"); - aPropos.addActionListener(this); - aPropos.setFont(new Font("Tahoma", Font.PLAIN, 14)); - aPropos.setBounds(34, 326, 161, 50); - frmEvalwriter.getContentPane().add(aPropos); - - btnCrerUnFichier = new JButton("Créer un fichier d'analyse à partir d'un fichier ODF"); - btnCrerUnFichier.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - } - }); - btnCrerUnFichier.setFont(new Font("Tahoma", Font.PLAIN, 14)); - btnCrerUnFichier.setBounds(34, 235, 470, 50); - frmEvalwriter.getContentPane().add(btnCrerUnFichier); } @@ -114,20 +98,15 @@ public class mainApp extends JFrame implements ActionListener{ public void actionPerformed(ActionEvent e) { if(e.getSource()==btnCreate) { // Creer = new create(); - frmEvalwriter.dispose(); +// frmEvalwriter.dispose(); } if(e.getSource()==actCharge) { if(!commandes.console) System.out.println( "Début chargement du fichier d'analyse." ); - new filechooserXML(); new evaluate(); frmEvalwriter.dispose(); } - if(e.getSource()==aPropos) { - new about(); - } - } } diff --git a/src/app/msgBox.java b/src/app/msgBox.java new file mode 100644 index 0000000..4f848e9 --- /dev/null +++ b/src/app/msgBox.java @@ -0,0 +1,66 @@ +package app; + +import java.awt.BorderLayout; +import java.awt.FlowLayout; + +import javax.swing.JButton; +import javax.swing.JDialog; +import javax.swing.JPanel; +import javax.swing.border.EmptyBorder; +import javax.swing.JLabel; +import java.awt.event.ActionListener; +import java.awt.event.ActionEvent; + +public class msgBox extends JDialog { + + private final JPanel contentPanel = new JPanel(); + + + /** + * Create the dialog. + */ + public msgBox(String message, Boolean AfficheOK, Boolean AfficheCancel, String Titre) { + setTitle(Titre); + JLabel lblMessage = new JLabel(message); + setBounds(100, 100, 437, 180); + getContentPane().setLayout(new BorderLayout()); + contentPanel.setLayout(new FlowLayout()); + contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5)); + getContentPane().add(contentPanel, BorderLayout.CENTER); + { + contentPanel.add(lblMessage); + } + { + JPanel buttonPane = new JPanel(); + buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT)); + getContentPane().add(buttonPane, BorderLayout.SOUTH); + { + JButton okButton = new JButton("OK"); + okButton.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + dispose(); + } + }); + okButton.setActionCommand("OK"); + okButton.setVisible(AfficheOK); + buttonPane.add(okButton); + getRootPane().setDefaultButton(okButton); + } + { + JButton cancelButton = new JButton("Cancel"); + cancelButton.setActionCommand("Cancel"); + buttonPane.add(cancelButton); + cancelButton.setVisible(AfficheCancel); + } + } + + setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE); + setVisible(true); + } + + + public void close() { + dispose(); + } + +} diff --git a/src/resources/apropos.png b/src/resources/apropos.png new file mode 100644 index 0000000..ea4b14d Binary files /dev/null and b/src/resources/apropos.png differ diff --git a/src/resources/fichierAnalyse.png b/src/resources/fichierAnalyse.png index 1cbea18..6af63ab 100644 Binary files a/src/resources/fichierAnalyse.png and b/src/resources/fichierAnalyse.png differ diff --git a/src/resources/fichierODF.png b/src/resources/fichierODF.png new file mode 100644 index 0000000..d6b8dc5 Binary files /dev/null and b/src/resources/fichierODF.png differ diff --git a/src/resources/fichierSVG.png b/src/resources/fichierSVG.png new file mode 100644 index 0000000..4ef12e6 Binary files /dev/null and b/src/resources/fichierSVG.png differ