This commit is contained in:
pablo rodriguez 2022-07-10 11:42:47 +02:00
parent d83ae8af05
commit 7f1b800022
11 changed files with 176 additions and 206 deletions

View File

@ -1,11 +1,11 @@
https://www.youtube.com/watch?v=vmE38I6iVCs# analyseWriter https://www.youtube.com/watch?v=vmE38I6iVCs# analyseWriter
L'application analyse et note les fichiers de traitement de texte au format ODF des étudiants. Le format natif des suites de bureautique, LibreOffice, OpenOffice, Trio Office. L'application analyse et note les fichiers de traitement de texte au format ODF des étudiants. Le format natif des suites de bureautique, LibreOffice, OpenOffice et Trio Office.
Cette application permet dévaluer un très grand nombre de fichiers réalisés par des étudiants en suivant les informations contenu dans le fichier danalyse. Ce logiciel permet dévaluer un très grand nombre de fichiers réalisés par des étudiants en suivant les informations contenues dans le fichier danalyse.
Elle permet de réaliser des comptes-rendus (feedbacks) personnalisés pour chaque étudiant. Il permet de réaliser des comptes-rendus (feedbacks) personnalisés pour chaque étudiant.
Elle permet de faciliter l'importation des notes et des feedbacks des étudiants sur Moodle. Il permet de créer les fichiers des notes et des feedbacks des étudiants qui sont importables sur Moodle.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -167,8 +167,7 @@ public class commandes {
analyse_tolerance_bleu = 30; analyse_tolerance_bleu = 30;
analyse_size = 48000000; analyse_size = 48000000;
analyse_nameZip = "feedbackMoodle"; analyse_nameZip = "feedbackMoodle";
analyse_hash = "";
analysis_filename = "";
//** Variables pour l'interface du logiciel //** Variables pour l'interface du logiciel

View File

@ -6,6 +6,8 @@ import java.util.Enumeration;
import java.util.regex.Matcher; import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import javax.swing.JOptionPane;
import cXML.Run; import cXML.Run;
import cXML.node; import cXML.node;
import evaluer.evaluation; import evaluer.evaluation;
@ -28,131 +30,134 @@ public class verificationFichierAnalyse {
erreur=false; //réïnitialise la variable erreur. erreur=false; //réïnitialise la variable erreur.
if(commandes.sujet==null) { if(commandes.sujet==null) {
messageErreur.append("\n**-** Erreur, le fichier d'analyse est null.\n"); commandes.fichierAnalyseValide=false;
System.out.println(messageErreur.toString()); JOptionPane.showMessageDialog(null, "<html><h1 style=\"text-align:center;\">Ce fichier d'analyse est null.</h1>", "Erreur", JOptionPane.ERROR_MESSAGE );
erreur=true; }
clotureWithErrorInanalyzeFile();
if(commandes.fichierAnalyseValide) if(!commandes.sujet.getNomElt().equals("fichier")) {
commandes.fichierAnalyseValide=false;
JOptionPane.showMessageDialog(null, "<html><h1 style=\"text-align:center;\">Ce fichier n'est pas un fichier<br>d'analyseCalc</h1></html>", "Erreur", JOptionPane.ERROR_MESSAGE );
} }
//** Vérification des attributs du node fichier //** Vérification des attributs du node fichier
if(commandes.sujet.getAttributs().size()>0) { if(commandes.fichierAnalyseValide) if(commandes.sujet.getAttributs().size()>0) {
verificationNodeFichier(commandes.sujet.getAttributs()); if(commandes.fichierAnalyseValide)verificationNodeFichier(commandes.sujet.getAttributs());
}else { }else {
messageErreur.append("\n**-** Erreur, le node fichier n'a pas d'attribut.\n"); commandes.fichierAnalyseValide=false;
System.out.println(messageErreur.toString()); JOptionPane.showMessageDialog(null, "<html><h1 style=\"text-align:center;\">Le premier node du classeur n'a pas d'attribut.</h1>", "Erreur", JOptionPane.ERROR_MESSAGE );
erreur=true;
} }
//** Verification du hash et du nom du fichier d'analyse //** Verification du hash et du nom du fichier d'analyse
commandes.hash = String.valueOf(Run.HashNode(commandes.sujet,0)); if(commandes.fichierAnalyseValide) {
if(commandes.sujet.getAttributs().get("analysis_filename")!=null) { commandes.hash = String.valueOf(Run.HashNode(commandes.sujet,0));
if(!commandes.sujet.getAttributs().get("analysis_filename").equals(commandes.nameSujet)) { if(commandes.sujet.getAttributs().get("analysis_filename")!=null) {
commandes.MAJnameAnalysisFile=true; if(!commandes.sujet.getAttributs().get("analysis_filename").equals(commandes.nameSujet)) {
commandes.MAJnameAnalysisFile=true;
}
} }
} if(commandes.sujet.getAttributs().get("hash")==null) {
if(commandes.sujet.getAttributs().get("hash")==null) { commandes.MAJFichierAnalyse =true;
commandes.MAJFichierAnalyse =true; }else {
}else { if(!commandes.sujet.getAttributs().get("hash").equals(commandes.hash)) {
if(!commandes.sujet.getAttributs().get("hash").equals(commandes.hash)) { commandes.MAJFichierAnalyse=true;
commandes.MAJFichierAnalyse=true; }
} }
} if(commandes.MAJFichierAnalyse||commandes.MAJnameAnalysisFile) {
if(commandes.MAJFichierAnalyse||commandes.MAJnameAnalysisFile) { messagMiseAJourFichierAnalyse(commandes.hash);
messagMiseAJourFichierAnalyse(commandes.hash); }
}
//** Vérification des attributs du node style:paragraph et vérification style de paragraphe par défaut
//** Vérification des attributs du node style:paragraph et vérification style de paragraphe par défaut if(commandes.sujet.retourneEnfantsByNameExist("style:paragraph")) {
if(commandes.sujet.retourneEnfantsByNameExist("style:paragraph")) { verificationNodeEvaluate(commandes.sujet.retourneFirstEnfantsByName("style:paragraph").getAttributs(),"style:paragraph");
verificationNodeEvaluate(commandes.sujet.retourneFirstEnfantsByName("style:paragraph").getAttributs(),"style:paragraph"); if(commandes.sujet.retourneFirstEnfantsByName("style:paragraph").retourneEnfantsByNameExist("style:default-style")) {
if(commandes.sujet.retourneFirstEnfantsByName("style:paragraph").retourneEnfantsByNameExist("style:default-style")) { verifcationStyleParagraphDefaut(commandes.sujet.retourneFirstEnfantsByName("style:paragraph").retourneFirstEnfantsByName("style:default-style"));
verifcationStyleParagraphDefaut(commandes.sujet.retourneFirstEnfantsByName("style:paragraph").retourneFirstEnfantsByName("style:default-style")); }
}
//Vérification des attributs du node office:meta
if(commandes.sujet.retourneEnfantsByNameExist("office:meta")) {
verificationNodeEvaluate(commandes.sujet.retourneFirstEnfantsByName("office:meta").getAttributs(),"office:meta");
verifLongContenuNode(commandes.sujet.retourneFirstEnfantsByName("office:meta"));
}
//Vérification des attributs du node style:page
if(commandes.sujet.retourneEnfantsByNameExist("style:page")) {
verificationNodeEvaluate(commandes.sujet.retourneFirstEnfantsByName("style:page").getAttributs(),"style:page");
verifLongContenuNode(commandes.sujet.retourneFirstEnfantsByName("style:page"));
}
//Vérification des attributs du node sequences
if(commandes.sujet.retourneEnfantsByNameExist("sequences")) {
verificationNodeEvaluate(commandes.sujet.retourneFirstEnfantsByName("sequences").getAttributs(),"sequences");
verifLongContenuNode(commandes.sujet.retourneFirstEnfantsByName("sequences"));
}
//Vérification des attributs du node numerotationchapitre
if(commandes.sujet.retourneEnfantsByNameExist("numerotationchapitre")) {
verificationNodeEvaluate(commandes.sujet.retourneFirstEnfantsByName("numerotationchapitre").getAttributs(),"numerotationchapitre");
verifLongContenuNode(commandes.sujet.retourneFirstEnfantsByName("numerotationchapitre"));
} }
}
//Vérification des attributs du node office:meta
if(commandes.sujet.retourneEnfantsByNameExist("office:meta")) {
verificationNodeEvaluate(commandes.sujet.retourneFirstEnfantsByName("office:meta").getAttributs(),"office:meta");
verifLongContenuNode(commandes.sujet.retourneFirstEnfantsByName("office:meta"));
}
//Vérification des attributs du node style:page
if(commandes.sujet.retourneEnfantsByNameExist("style:page")) {
verificationNodeEvaluate(commandes.sujet.retourneFirstEnfantsByName("style:page").getAttributs(),"style:page");
verifLongContenuNode(commandes.sujet.retourneFirstEnfantsByName("style:page"));
}
//Vérification des attributs du node sequences
if(commandes.sujet.retourneEnfantsByNameExist("sequences")) {
verificationNodeEvaluate(commandes.sujet.retourneFirstEnfantsByName("sequences").getAttributs(),"sequences");
verifLongContenuNode(commandes.sujet.retourneFirstEnfantsByName("sequences"));
}
//Vérification des attributs du node numerotationchapitre
if(commandes.sujet.retourneEnfantsByNameExist("numerotationchapitre")) {
verificationNodeEvaluate(commandes.sujet.retourneFirstEnfantsByName("numerotationchapitre").getAttributs(),"numerotationchapitre");
verifLongContenuNode(commandes.sujet.retourneFirstEnfantsByName("numerotationchapitre"));
}
//Vérification des attributs du node frames //Vérification des attributs du node frames
if(commandes.sujet.retourneEnfantsByNameExist("frames")) { if(commandes.sujet.retourneEnfantsByNameExist("frames")) {
verificationNodeEvaluate(commandes.sujet.retourneFirstEnfantsByName("frames").getAttributs(),"frames"); verificationNodeEvaluate(commandes.sujet.retourneFirstEnfantsByName("frames").getAttributs(),"frames");
verifLongContenuNode(commandes.sujet.retourneFirstEnfantsByName("frames")); verifLongContenuNode(commandes.sujet.retourneFirstEnfantsByName("frames"));
}
//Vérification des attributs du node sections
if(commandes.sujet.retourneEnfantsByNameExist("sections")) {
verificationNodeEvaluate(commandes.sujet.retourneFirstEnfantsByName("sections").getAttributs(),"sections");
verifLongContenuNode(commandes.sujet.retourneFirstEnfantsByName("sections"));
}
//Vérification des attributs du node sections
if(commandes.sujet.retourneEnfantsByNameExist("tableaux")) {
verificationNodeEvaluate(commandes.sujet.retourneFirstEnfantsByName("tableaux").getAttributs(),"tableaux");
verifLongContenuNode(commandes.sujet.retourneFirstEnfantsByName("tableaux"));
}
//Vérification des attributs du node biblio
if(commandes.sujet.retourneEnfantsByNameExist("biblio")) {
verificationNodeEvaluate(commandes.sujet.retourneFirstEnfantsByName("biblio").getAttributs(),"biblio");
verifLongContenuNode(commandes.sujet.retourneFirstEnfantsByName("biblio"));
}
//Vérification des attributs du node tablematieres
if(commandes.sujet.retourneEnfantsByNameExist("tablematieres")) {
verificationNodeEvaluate(commandes.sujet.retourneFirstEnfantsByName("tablematieres").getAttributs(),"tablematieres");
verifLongContenuNode(commandes.sujet.retourneFirstEnfantsByName("tablematieres"));
}
//Vérification des attributs du node tableillustrations
if(commandes.sujet.retourneEnfantsByNameExist("tableillustrations")) {
verificationNodeEvaluate(commandes.sujet.retourneFirstEnfantsByName("tableillustrations").getAttributs(),"tableillustrations");
verifLongContenuNode(commandes.sujet.retourneFirstEnfantsByName("tableillustrations"));
}
//Vérification des attributs du node structurepage
if(commandes.sujet.retourneEnfantsByNameExist("structurepage")) {
verificationNodeEvaluate(commandes.sujet.retourneFirstEnfantsByName("structurepage").getAttributs(),"structurepage");
verifLongContenuNode(commandes.sujet.retourneFirstEnfantsByName("structurepage"));
}
//vérification du node structure
// if(commandes.sujet.retourneEnfantsByNameExist("structurepage")) {
// verifNodeAutoriserDansStructure(commandes.sujet.retourneFirstEnfantsByName("structurepage"));
// }
//vérification du node setting
if(commandes.sujet.retourneEnfantsByNameExist("setting")) {
verificationNodeSetting(commandes.sujet.retourneFirstEnfantsByName("setting"));
}
} }
//Vérification des attributs du node sections
if(commandes.sujet.retourneEnfantsByNameExist("sections")) {
verificationNodeEvaluate(commandes.sujet.retourneFirstEnfantsByName("sections").getAttributs(),"sections");
verifLongContenuNode(commandes.sujet.retourneFirstEnfantsByName("sections"));
}
//Vérification des attributs du node sections
if(commandes.sujet.retourneEnfantsByNameExist("tableaux")) {
verificationNodeEvaluate(commandes.sujet.retourneFirstEnfantsByName("tableaux").getAttributs(),"tableaux");
verifLongContenuNode(commandes.sujet.retourneFirstEnfantsByName("tableaux"));
}
//Vérification des attributs du node biblio
if(commandes.sujet.retourneEnfantsByNameExist("biblio")) {
verificationNodeEvaluate(commandes.sujet.retourneFirstEnfantsByName("biblio").getAttributs(),"biblio");
verifLongContenuNode(commandes.sujet.retourneFirstEnfantsByName("biblio"));
}
//Vérification des attributs du node tablematieres
if(commandes.sujet.retourneEnfantsByNameExist("tablematieres")) {
verificationNodeEvaluate(commandes.sujet.retourneFirstEnfantsByName("tablematieres").getAttributs(),"tablematieres");
verifLongContenuNode(commandes.sujet.retourneFirstEnfantsByName("tablematieres"));
}
//Vérification des attributs du node tableillustrations
if(commandes.sujet.retourneEnfantsByNameExist("tableillustrations")) {
verificationNodeEvaluate(commandes.sujet.retourneFirstEnfantsByName("tableillustrations").getAttributs(),"tableillustrations");
verifLongContenuNode(commandes.sujet.retourneFirstEnfantsByName("tableillustrations"));
}
//Vérification des attributs du node structurepage
if(commandes.sujet.retourneEnfantsByNameExist("structurepage")) {
verificationNodeEvaluate(commandes.sujet.retourneFirstEnfantsByName("structurepage").getAttributs(),"structurepage");
verifLongContenuNode(commandes.sujet.retourneFirstEnfantsByName("structurepage"));
}
//vérification du node structure
// if(commandes.sujet.retourneEnfantsByNameExist("structurepage")) {
// verifNodeAutoriserDansStructure(commandes.sujet.retourneFirstEnfantsByName("structurepage"));
// }
//vérification du node setting
if(commandes.sujet.retourneEnfantsByNameExist("setting")) {
verificationNodeSetting(commandes.sujet.retourneFirstEnfantsByName("setting"));
}
// Mise à jour de la variable fichierAnalyseValide // Mise à jour de la variable fichierAnalyseValide
if(!erreur) { if(erreur) {
commandes.fichierAnalyseValide = true;
}else {
commandes.fichierAnalyseValide = false; commandes.fichierAnalyseValide = false;
} }
@ -180,85 +185,63 @@ public class verificationFichierAnalyse {
boolean erreurValeurAttributcontrole_Initial_CreatorConvertibleEnLogique=false; boolean erreurValeurAttributcontrole_Initial_CreatorConvertibleEnLogique=false;
boolean erreurValeurAttributhistoriquePresentConvertibleEnLogique=false; boolean erreurValeurAttributhistoriquePresentConvertibleEnLogique=false;
if(!commandes.console) System.out.println("Début de la vérification du node <fichier>.");
// le node fichier doit avoir l'attribut evaluer=true // le node fichier doit avoir l'attribut evaluer=true
if(attribut.get("evaluer")==null) { if(attribut.get("evaluer")==null) {
System.out.println(); commandes.message.append("\n**************************************************");
System.out.println("**-** ERREUR dans le fichier d'analyse, dans le node <fichier>."); commandes.message.append("\nERREUR dans le fichier d'analyse, dans le node <fichier>.");
System.out.println("Le node \"fichier\" doit contenir evaluer=\"true\"."); commandes.message.append("\nL'attribut \"evaluer\" a été supprimé.");
System.out.println("L'attribut \"evaluer\" a été supprimé."); commandes.message.append("\n**************************************************");
System.out.println(); JOptionPane.showMessageDialog(null, "<html>Dans le node <fichier>, l'attribut \"<b>evaluer</b>\" a été supprimé."
commandes.message.append("\n**************************************************"); + "<br>Ce node doit contenir evaluer=\"true\"."
commandes.message.append("\nERREUR dans le fichier d'analyse, dans le node <fichier>."); + "<br>Sélectionner ce node est cliqué sur évaluer.</html>", "Avertissement", JOptionPane.WARNING_MESSAGE);
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; erreurManqueAttributEvaluerPremierNodeFichier = true;
erreur=true;
}else { }else {
if(!attribut.get("evaluer").equalsIgnoreCase("true")) { if(!attribut.get("evaluer").equals("true")) {
System.out.println();
System.out.println("**-** ERREUR dans le fichier d'analyse, dans le node <fichier>.");
System.out.println("Le node \"fichier\" doit contenir evaluer=\"true\".");
System.out.println();
commandes.message.append("\n**************************************************"); commandes.message.append("\n**************************************************");
commandes.message.append("\nERREUR dans le fichier d'analyse, dans le node <fichier>."); commandes.message.append("\nERREUR dans le fichier d'analyse, dans le node <fichier>.");
commandes.message.append("\nLe node \"fichier\" doit contenir evaluer=\"true\"."); commandes.message.append("\nL'attribut \"evaluer\" doit avoir la valeur \"true\".");
commandes.message.append("\n**************************************************"); commandes.message.append("\n**************************************************");
erreur=true; JOptionPane.showMessageDialog(null, "<html>Dans le node <fichier>, l'attribut \"<b>evaluer</b>\" n'est pas a \"<b>true</b>\"."
+ "<br>Ce node doit contenir <b>evaluer=\"true\"</b> pour pouvoir évaluer les nodes enfants."
+ "<br>Sélectionner ce node est cliqué sur évaluer.</html>", "Avertissement", JOptionPane.WARNING_MESSAGE);
} }
} }
// le node fichier doit contenir l'attribut metaSujet et une valeur non vide // le node fichier doit contenir l'attribut metaSujet et une valeur non vide
if(attribut.get("metaSujet")==null) { if(attribut.get("metaSujet")==null) {
System.out.println(); commandes.message.append("\n**************************************************");
System.out.println("**-** ERREUR dans le fichier d'analyse, dans le node <fichier>."); commandes.message.append("\nERREUR dans le fichier d'analyse, dans le node <fichier>.");
System.out.println("Le node \"fichier\" doit contenir l'attribut \"sujetMeta\"."); commandes.message.append("\nL'attribut \"metaSujet\" a été supprimé.");
System.out.println("L'attribut \"sujetMeta\" a été supprimé. Cet attribut doit contenir une valeur."); commandes.message.append("\n**************************************************");
System.out.println(); JOptionPane.showMessageDialog(null, "<html>Dans le node <fichier>, l'attribut \"<b>metaSujet</b>\" a été supprimé."
commandes.message.append("\n**************************************************"); + "<br>Ce node doit contenir l'attribut \"<b>metaSujet</b>\". Il permet d'identifier le sujet de l'exercice."
commandes.message.append("\nERREUR dans le fichier d'analyse, dans le node <fichier>."); + "<br>Sélectionner le node <fichier> est cliqué sur propriété du fichier pour ajouter un sujet.</html>", "Avertissement", JOptionPane.WARNING_MESSAGE);
commandes.message.append("\nLe node \"fichier\" doit contenir l'attribut \"sujetMeta\"."); erreurPasAttributMetaSujetAuPremierNodeFichier=true;
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() ) { if(attribut.get("metaSujet")!=null)if(attribut.get("metaSujet").isEmpty() ) {
System.out.println(); commandes.message.append("\n**************************************************");
System.out.println("**-** ERREUR dans le fichier d'analyse, dans le node <fichier>."); commandes.message.append("\nERREUR dans le fichier d'analyse, dans le node <fichier>.");
System.out.println("L'attribut \"sujetMeta\" doit contenir une valeur autre que vide."); commandes.message.append("\nL'attribut \"metaSujet\" n'a pas de valeur.");
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."); commandes.message.append("\n**************************************************");
System.out.println(); JOptionPane.showMessageDialog(null, "<html>Dans le node <fichier>, l'attribut \"metaSujet\" ne possède pas de valeur."
commandes.message.append("\n**************************************************"); + "<br>Ce node doit contenir l'attribut <b>metaSujet=\"Un sujet\"</b>. Il permet d'identifier le sujet de l'exercice."
commandes.message.append("\nERREUR dans le fichier d'analyse, dans le node <fichier>."); + "<br>Sélectionner le node <fichier> est cliqué sur propriété du fichier pour ajouter un sujet.</html>", "Avertissement", JOptionPane.WARNING_MESSAGE);
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; erreurValeurVideAttributMetaSujetAuPremierNodeFichier=true;
erreur=true;
} }
if(attribut.get("progression")!=null) { if(attribut.get("progression")!=null) {
String p = attribut.get("progression"); String p = attribut.get("progression");
try { try {
Double.valueOf(p); Double.valueOf(p);
} catch (Exception e) { } catch (Exception e) {
System.out.println();
System.out.println("**-** ERREUR dans le fichier d'analyse, dans le node <fichier>.");
System.out.println("L'attribut \"progression\" n'a pas une valeur numérique.");
System.out.println();
commandes.message.append("\n**************************************************"); commandes.message.append("\n**************************************************");
commandes.message.append("\nERREUR dans le fichier d'analyse, dans le node <fichier>."); commandes.message.append("\nERREUR dans le fichier d'analyse, dans le node <fichier>.");
commandes.message.append("\nL'attribut \"progression\" n'a pas une valeur numérique."); commandes.message.append("\nL'attribut \"progression\" n'a pas une valeur numérique entière ou décimale.");
commandes.message.append("\n**************************************************"); commandes.message.append("\n**************************************************");
erreur=true; JOptionPane.showMessageDialog(null, "<html>Dans le node <fichier>, l'attribut \"<b>progression</b>\" ne possède pas une valeur correcte."
+ "<br>La valeur de la \"<b>progression</b>\" doit être une valeur numérique entière ou décimale."
+ "<br>Sélectionner le node <fichier> est cliqué sur propriété du fichier pour modifier le coef. de progression.</html>", "Avertissement", JOptionPane.WARNING_MESSAGE);
erreurValeurAttributProgressionNonConvertibleEnDouble=true; erreurValeurAttributProgressionNonConvertibleEnDouble=true;
} }
} }
@ -269,48 +252,42 @@ public class verificationFichierAnalyse {
try { try {
Double.valueOf(p); Double.valueOf(p);
} catch (Exception e) { } catch (Exception e) {
System.out.println();
System.out.println("**-** ERREUR dans le fichier d'analyse, dans le node <fichier>.");
System.out.println("L'attribut \"noteFrom\" n'a pas une valeur numérique.");
System.out.println();
commandes.message.append("\n**************************************************"); commandes.message.append("\n**************************************************");
commandes.message.append("\nERREUR dans le fichier d'analyse, dans le node <fichier>."); commandes.message.append("\nERREUR dans le fichier d'analyse, dans le node <fichier>.");
commandes.message.append("\nL'attribut \"noteFrom\" n'a pas une valeur numérique."); commandes.message.append("\nL'attribut \"noteFrom\" n'a pas une valeur numérique.");
commandes.message.append("\n**************************************************"); commandes.message.append("\n**************************************************");
erreur=true; JOptionPane.showMessageDialog(null, "<html>Dans le node <fichier>, l'attribut \"<b>notefrom</b>\" ne possède pas une valeur correcte."
erreurValeurAttributNoteFromNonConvertibleEnDouble=true; + "<br>La valeur de la \"<b>notefrome</b>\" doit être une valeur numérique entière ou décimale."
+ "<br>Sélectionner le node <fichier> est cliqué sur les propriétés du fichier.</html>", "Avertissement", JOptionPane.WARNING_MESSAGE);
erreurValeurAttributNoteFromNonConvertibleEnDouble=true;
} }
} }
if(attribut.get("baremeABC")!=null) { if(attribut.get("baremeABC")!=null) {
String p = attribut.get("baremeABC"); String p = attribut.get("baremeABC");
if(!(p.equalsIgnoreCase("true")||p.equalsIgnoreCase("false"))) { if(!(p.equals("true")||p.equals("false"))) {
System.out.println();
System.out.println("**-** ERREUR dans le fichier d'analyse, dans le node <fichier>.");
System.out.println("L'attribut \"baremeABC\" n'a pas une valeur logique.");
System.out.println();
commandes.message.append("\n**************************************************"); commandes.message.append("\n**************************************************");
commandes.message.append("\nERREUR dans le fichier d'analyse, dans le node <fichier>."); commandes.message.append("\nERREUR dans le fichier d'analyse, dans le node <fichier>.");
commandes.message.append("\nL'attribut \"baremeABC\" n'a pas une valeur logique."); commandes.message.append("\nL'attribut \"baremeABC\" n'a pas une valeur logique.");
commandes.message.append("\n**************************************************"); commandes.message.append("\n**************************************************");
erreur=true; JOptionPane.showMessageDialog(null, "<html>Dans le node <fichier>, l'attribut \"<b>baremeABC</b>\" ne possède pas une valeur correcte."
+ "<br>La valeur de la \"<b>baremeABC</b>\" doit être une valeur logique \"<b>true</b>\" ou \"<b>false</b>\"."
+ "<br>Sélectionner le node <fichier> est cliqué sur les propriété du fichier.</html>", "Avertissement", JOptionPane.WARNING_MESSAGE);
erreurValeurAttributBaremeABCNonConvertibleEnLogique=true; erreurValeurAttributBaremeABCNonConvertibleEnLogique=true;
} }
} }
if(attribut.get("controleDateCreation")!=null) { if(attribut.get("controleDateCreation")!=null) {
String p = attribut.get("controleDateCreation"); String p = attribut.get("controleDateCreation");
if(!(p.equalsIgnoreCase("true")||p.equalsIgnoreCase("false"))) { if(!(p.equals("true")||p.equals("false"))) {
System.out.println();
System.out.println("**-** ERREUR dans le fichier d'analyse, dans le node <fichier>.");
System.out.println("L'attribut \"controleDateCreation\" n'a pas une valeur logique.");
System.out.println();
commandes.message.append("\n**************************************************"); commandes.message.append("\n**************************************************");
commandes.message.append("\nERREUR dans le fichier d'analyse, dans le node <fichier>."); commandes.message.append("\nERREUR dans le fichier d'analyse, dans le node <fichier>.");
commandes.message.append("\nL'attribut \"controleDateCreation\" n'a pas une valeur logique."); commandes.message.append("\nL'attribut \"controleDateCreation\" n'a pas une valeur logique.");
commandes.message.append("\n**************************************************"); commandes.message.append("\n**************************************************");
erreur=true; JOptionPane.showMessageDialog(null, "<html>Dans le node <fichier>, l'attribut \"<b>controleDateCreation</b>\" ne possède pas une valeur correcte."
+ "<br>La valeur de la \"<b>controleDateCreation</b>\" doit être une valeur logique \"<b>true</b>\" ou \"<b>false</b>\"."
+ "<br>Sélectionner le node <fichier> est cliqué sur les propriétés du fichier.</html>", "Avertissement", JOptionPane.WARNING_MESSAGE);
erreurValeurAttributcontroleDateCreationNonConvertibleEnLogique=true; erreurValeurAttributcontroleDateCreationNonConvertibleEnLogique=true;
} }
} }
@ -318,47 +295,41 @@ public class verificationFichierAnalyse {
if(attribut.get("presenceMetaSujet")!=null) { if(attribut.get("presenceMetaSujet")!=null) {
String p = attribut.get("presenceMetaSujet"); String p = attribut.get("presenceMetaSujet");
if(!(p.equalsIgnoreCase("true")||p.equalsIgnoreCase("false"))) { if(!(p.equalsIgnoreCase("true")||p.equalsIgnoreCase("false"))) {
System.out.println();
System.out.println("**-** ERREUR dans le fichier d'analyse, dans le node <fichier>.");
System.out.println("L'attribut \"presenceMetaSujet\" n'a pas une valeur logique.");
System.out.println();
commandes.message.append("\n**************************************************"); commandes.message.append("\n**************************************************");
commandes.message.append("\nERREUR dans le fichier d'analyse, dans le node <fichier>."); commandes.message.append("\nERREUR dans le fichier d'analyse, dans le node <fichier>.");
commandes.message.append("\nL'attribut \"presenceMetaSujet\" n'a pas une valeur logique."); commandes.message.append("\nL'attribut \"presenceMetaSujet\" n'a pas une valeur logique.");
commandes.message.append("\n**************************************************"); commandes.message.append("\n**************************************************");
erreur=true; JOptionPane.showMessageDialog(null, "<html>Dans le node <fichier>, l'attribut \"<b>presenceMetaSujet</b>\" ne possède pas une valeur correcte."
+ "<br>La valeur de la \"<b>presenceMetaSujet</b>\" doit être une valeur logique \"<b>true</b>\" ou \"<b>false</b>\"."
+ "<br>Sélectionner le node <fichier> est cliqué sur les propriétés du fichier.</html>", "Avertissement", JOptionPane.WARNING_MESSAGE);
erreurValeurAttributpresenceMetaSujetConvertibleEnLogique=true; erreurValeurAttributpresenceMetaSujetConvertibleEnLogique=true;
} }
} }
if(attribut.get("controle_Initial_Creator")!=null) { if(attribut.get("controle_Initial_Creator")!=null) {
String p = attribut.get("controle_Initial_Creator"); String p = attribut.get("controle_Initial_Creator");
if(!(p.equalsIgnoreCase("true")||p.equalsIgnoreCase("false"))) { if(!(p.equals("true")||p.equals("false"))) {
System.out.println();
System.out.println("**-** ERREUR dans le fichier d'analyse, dans le node <fichier>.");
System.out.println("L'attribut \"controle_Initial_Creator\" n'a pas une valeur logique.");
System.out.println();
commandes.message.append("\n**************************************************"); commandes.message.append("\n**************************************************");
commandes.message.append("\nERREUR dans le fichier d'analyse, dans le node <fichier>."); commandes.message.append("\nERREUR dans le fichier d'analyse, dans le node <fichier>.");
commandes.message.append("\nL'attribut \"controle_Initial_Creator\" n'a pas une valeur logique."); commandes.message.append("\nL'attribut \"controle_Initial_Creator\" n'a pas une valeur logique.");
commandes.message.append("\n**************************************************"); commandes.message.append("\n**************************************************");
erreur=true; JOptionPane.showMessageDialog(null, "<html>Dans le node <fichier>, l'attribut \"<b>controle_Initial_Creator</b>\" ne possède pas une valeur correcte."
+ "<br>La valeur de la \"<b>controle_Initial_Creator</b>\" doit être une valeur logique \"<b>true</b>\" ou \"<b>false</b>\"."
+ "<br>Sélectionner le node <fichier> est cliqué sur les propriétés du fichier.</html>", "Avertissement", JOptionPane.WARNING_MESSAGE);
erreurValeurAttributcontrole_Initial_CreatorConvertibleEnLogique=true; erreurValeurAttributcontrole_Initial_CreatorConvertibleEnLogique=true;
} }
} }
if(attribut.get("historiquePresent")!=null) { if(attribut.get("historiquePresent")!=null) {
String p = attribut.get("historiquePresent"); String p = attribut.get("historiquePresent");
if(!(p.equalsIgnoreCase("true")||p.equalsIgnoreCase("false"))) { if(!(p.equals("true")||p.equals("false"))) {
System.out.println();
System.out.println("**-** ERREUR dans le fichier d'analyse, dans le node <fichier>.");
System.out.println("L'attribut \"historiquePresent\" n'a pas une valeur logique.");
System.out.println();
commandes.message.append("\n**************************************************"); commandes.message.append("\n**************************************************");
commandes.message.append("\nERREUR dans le fichier d'analyse, dans le node <fichier>."); commandes.message.append("\nERREUR dans le fichier d'analyse, dans le node <fichier>.");
commandes.message.append("\nL'attribut \"historiquePresent\" n'a pas une valeur logique."); commandes.message.append("\nL'attribut \"historiquePresent\" n'a pas une valeur logique.");
commandes.message.append("\n**************************************************"); commandes.message.append("\n**************************************************");
erreur=true; JOptionPane.showMessageDialog(null, "<html>Dans le node <fichier>, l'attribut \"<b>historiquePresent</b>\" ne possède pas une valeur correcte."
+ "<br>La valeur de la \"<b>historiquePresent</b>\" doit être une valeur logique \"<b>true</b>\" ou \"<b>false</b>\"."
+ "<br>Sélectionner le node <fichier> est cliqué sur les propriétés du fichier.</html>", "Avertissement", JOptionPane.WARNING_MESSAGE);
erreurValeurAttributhistoriquePresentConvertibleEnLogique=true; erreurValeurAttributhistoriquePresentConvertibleEnLogique=true;
} }
} }

View File

@ -120,7 +120,7 @@ import java.awt.GridLayout;
public final class create extends JFrame { public final class create extends JFrame {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
// les élément de create // les éléments de create
private static JTree tree = new JTree(); private static JTree tree = new JTree();
private static DefaultMutableTreeNode selectNode; private static DefaultMutableTreeNode selectNode;
private static afficheText textNodeSelect = new afficheText(); private static afficheText textNodeSelect = new afficheText();

View File

@ -51,7 +51,7 @@ public class actNewFichierAnalyse extends AbstractAction{
System.out.println("getCurrentDirectory(): " + chooser.getCurrentDirectory()); System.out.println("getCurrentDirectory(): " + chooser.getCurrentDirectory());
System.out.println("getSelectedFile() : " + chooser.getSelectedFile().getAbsolutePath()); System.out.println("getSelectedFile() : " + chooser.getSelectedFile().getAbsolutePath());
commandes.initialiseParametresSettingProprietes();; commandes.initialiseParametresSettingProprietes();;
commandes.fichierAnalyseValide=true;
commandes.path = chooser.getCurrentDirectory().getAbsolutePath(); commandes.path = chooser.getCurrentDirectory().getAbsolutePath();
commandes.PathFilenameAnalysis = chooser.getCurrentDirectory().getAbsolutePath(); commandes.PathFilenameAnalysis = chooser.getCurrentDirectory().getAbsolutePath();
String cheminVersFichier = chooser.getSelectedFile().getAbsolutePath(); String cheminVersFichier = chooser.getSelectedFile().getAbsolutePath();
@ -72,12 +72,11 @@ public class actNewFichierAnalyse extends AbstractAction{
commandes.sujet.supprimeTousLesNodesEnfantWithThisName("text:tracked-changes"); commandes.sujet.supprimeTousLesNodesEnfantWithThisName("text:tracked-changes");
commandes.sujet.supprimeTousLesNodesEnfantWithThisName("text:change"); commandes.sujet.supprimeTousLesNodesEnfantWithThisName("text:change");
commandes.sujetSauvegarde = commandes.sujet.clone();
new verificationFichierAnalyse(); new verificationFichierAnalyse();
if(commandes.fichierAnalyseValide) { if(commandes.fichierAnalyseValide) {
commandes.sujetSauvegarde = commandes.sujet.clone();
fenetres.create.constructionTree(); fenetres.create.constructionTree();
fenetres.create.getTextNodeSelect().afficheChargementFichierAnalyse(); fenetres.create.getTextNodeSelect().afficheChargementFichierAnalyse();
}else { }else {

View File

@ -57,6 +57,7 @@ public class filechooserXML extends JFileChooser {
private void openFileXML(File file) { private void openFileXML(File file) {
commandes.fichierAnalyseValide=true;
commandes.path = file.getPath().substring(0,file.getPath().lastIndexOf("\\")); commandes.path = file.getPath().substring(0,file.getPath().lastIndexOf("\\"));
commandes.PathFilenameAnalysis = getCurrentDirectory().getPath(); commandes.PathFilenameAnalysis = getCurrentDirectory().getPath();
commandes.nameSujet = file.getName().toString(); commandes.nameSujet = file.getName().toString();