MAJ V4.5.0

Amélioration de la méthode TraitementIntervalle.
Prise en charge des valerus négatives.

L'index des illustration maintenant recherche et analyse tous les nodes.
This commit is contained in:
pablo rodriguez 2024-03-24 14:48:24 +01:00
parent 62758c840c
commit e6e62e15f7
20 changed files with 58 additions and 88 deletions

View File

@ -12,6 +12,6 @@
<classpathentry kind="lib" path="C:/Users/pabr6/git/analyseWriter/MEPTL/miglayout15-swing.jar"/> <classpathentry kind="lib" path="C:/Users/pabr6/git/analyseWriter/MEPTL/miglayout15-swing.jar"/>
<classpathentry kind="lib" path="jgoodies-forms-1.8.0.jar" sourcepath="jgoodies-forms-1.8.0-sources.jar"/> <classpathentry kind="lib" path="jgoodies-forms-1.8.0.jar" sourcepath="jgoodies-forms-1.8.0-sources.jar"/>
<classpathentry kind="lib" path="C:/Users/pabr6/eclipse-workspace/Exportation documentation analyseWriter/plugins/documentation.analyseWriter_1.0.0.202212032022.jar"/> <classpathentry kind="lib" path="C:/Users/pabr6/eclipse-workspace/Exportation documentation analyseWriter/plugins/documentation.analyseWriter_1.0.0.202212032022.jar"/>
<classpathentry kind="lib" path="C:/Users/pabr6/eclipse-workspace/cXML.jar"/> <classpathentry kind="lib" path="C:/Users/pabr6/eclipse-workspace/cXML.jar" sourcepath="/cXML"/>
<classpathentry kind="output" path="bin"/> <classpathentry kind="output" path="bin"/>
</classpath> </classpath>

Binary file not shown.

File diff suppressed because one or more lines are too long

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -6,6 +6,8 @@ import java.util.Date;
import java.util.Dictionary; import java.util.Dictionary;
import java.util.Hashtable; import java.util.Hashtable;
import javax.swing.JEditorPane;
import cXML.Run; import cXML.Run;
import cXML.node; import cXML.node;
import calcul.formatDateWriter; import calcul.formatDateWriter;
@ -21,7 +23,7 @@ public class VerificationHistorique {
* @throws ParseException * @throws ParseException
* @throws CloneNotSupportedException * @throws CloneNotSupportedException
*/ */
public static node verificationHistorique(node verification, Run a) throws ParseException, CloneNotSupportedException { public static node verificationHistorique(node verification, Run a, JEditorPane txt) throws ParseException, CloneNotSupportedException {
node verif = new node(); node verif = new node();
@ -39,8 +41,9 @@ public class VerificationHistorique {
commandes.message.append("\n\n***** DEBUT VERIFICATION DES HISTORIQUES DES MODIFICATION ****\n"); commandes.message.append("\n\n***** DEBUT VERIFICATION DES HISTORIQUES DES MODIFICATION ****\n");
int nbFichier = LesFichiers.size();
for(int i = 0 ; i < LesFichiers.size() ; i++) { for(int i = 0 ; i < LesFichiers.size() ; i++) {
node nodStudent = new node(); node nodStudent = new node();
nodStudent.setNomElt("fichier"); nodStudent.setNomElt("fichier");
nodStudent.setAttributs(LesFichiers.get(i).getAttributs()); nodStudent.setAttributs(LesFichiers.get(i).getAttributs());
@ -57,7 +60,9 @@ public class VerificationHistorique {
int compteurnombreCorrespondancesSuivi = 0; int compteurnombreCorrespondancesSuivi = 0;
int compteurnombreCorrespondancesconsecutive = 0; int compteurnombreCorrespondancesconsecutive = 0;
System.out.println(LesFichiers.get(i).getAttributs().get("dossier") + " - number of modifications : " + nombreModifications); // Affichage
txt.setText("Analyse du fichier " + i + " / " + nbFichier +"\n"
+LesFichiers.get(i).getAttributs().get("dossier") + " - number of modifications : " + nombreModifications);
commandes.message.append("\n"+LesFichiers.get(i).getAttributs().get("dossier") + " - number of modifications : " + nombreModifications); commandes.message.append("\n"+LesFichiers.get(i).getAttributs().get("dossier") + " - number of modifications : " + nombreModifications);
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")

View File

@ -28,6 +28,7 @@ import cXML.node;
import calcul.formatDateWriter; import calcul.formatDateWriter;
import evaluer.analyseFichier; import evaluer.analyseFichier;
import evaluer.evaluation; import evaluer.evaluation;
import fenetres.evaluate;
import net.lingala.zip4j.exception.ZipException; import net.lingala.zip4j.exception.ZipException;
@ -343,10 +344,18 @@ public class meptl {
// renomme le node text:table-of-content-source en text:table-of-content-sourceTitreIndex // renomme le node text:table-of-content-source en text:table-of-content-sourceTitreIndex
ArrayList<node> A = a.retourneNames(nodbody, "text:table-of-content"); ArrayList<node> A = a.retourneNames(nodbody, "text:table-of-content");
for(int j = 0 ; j<A.size(); j++) { for(int j = 0 ; j<A.size(); j++) {
if(A.get(j).retourneFirstEnfantsByName("text:index-title-template").getContenu().size()>0) {
String titreIndex=A.get(j).retourneFirstEnfantsByName("text:index-title-template").getContenu().get(0).toLowerCase(); String titreIndex=A.get(j).retourneFirstEnfantsByName("text:index-title-template").getContenu().get(0).toLowerCase();
titreIndex = titreIndex.replace(" ", "_"); titreIndex = titreIndex.replace(" ", "_");
A.get(j).retourneFirstEnfantsByName("text:table-of-content-source").setNomElt("text:table-of-content-source"+titreIndex); A.get(j).retourneFirstEnfantsByName("text:table-of-content-source").setNomElt("text:table-of-content-source"+titreIndex);
nodtable.getNodes().add(A.get(j)); nodtable.getNodes().add(A.get(j));
}else {
String titreIndex = "null";
titreIndex = titreIndex.replace(" ", "_");
A.get(j).retourneFirstEnfantsByName("text:table-of-content-source").setNomElt("text:table-of-content-source"+titreIndex);
nodtable.getNodes().add(A.get(j));
}
} }
@ -1053,7 +1062,7 @@ public class meptl {
verification.getNodes().add(nodStudent); verification.getNodes().add(nodStudent);
} }
//a.ecritureNodeEnXML(verification, "VerificationHistorique","",false); //écriture du node de l'étudiant //a.ecritureNodeEnXML(verification, "VerificationHistorique","",false); //écriture du node de l'étudiant
verif = VerificationHistorique.verificationHistorique(verification, a); // vérification des correspondances entre les fichiers verif = VerificationHistorique.verificationHistorique(verification, a, evaluate.getTxtpnmessages()); // vérification des correspondances entre les fichiers
//******************************** //********************************
//** Ecriture du node verif.xml ** //** Ecriture du node verif.xml **

View File

@ -693,8 +693,9 @@ public class analyseLesNodesPrincipaux {
int pointTotalDebut = evaluation.getPointTotal(); int pointTotalDebut = evaluation.getPointTotal();
node table = new node(); node table = new node();
table.setNomElt("tableillustrations"); table.setNomElt("tableillustrations");
String TitreTable = evaluation.withoutCodeAndPoint(nodSujetTableI.getNodes().get(i).retourneFirstEnfantsByName("text:index-title").retourneLesContenusEnfants("")); String TitreTable = evaluation.withoutCodeAndPoint(nodSujetTableI.getNodes().get(i).retourneFirstEnfantsByName("text:index-title-template").retourneLesContenusEnfants(""));
node nodSujet = a.retourneFirstNodeParagrapheContain(a.retourneNames(nodSujetTableI, "text:index-body"), TitreTable); node nodSujet = a.retourneFirstNodeByFindContent(nodSujetTableI.getNodes(),TitreTable);
nodSujet = nodSujet.retourneParentByNameNode("text:illustration-index");
//***************************** //*****************************
//** Ajoute un saut de ligne ** //** Ajoute un saut de ligne **
@ -709,76 +710,20 @@ public class analyseLesNodesPrincipaux {
//******************************* //*******************************
//** Recherche le node Student ** //** Recherche le node Student **
//******************************* //*******************************
node nodStudent = a.retourneFirstNodeParagrapheContain(a.retourneNames(nodStudentTableI, "text:index-body"), TitreTable); node nodStudent = a.retourneFirstNodeByFindContent(nodStudentTableI.getNodes(),TitreTable);
if(nodStudent!=null) nodStudent = nodStudent.retourneParentByNameNode("text:illustration-index");
if(nodStudent==null) if(nodStudentTableI!=null) if(nodStudentTableI.getNodes().size()>0) nodStudent = nodStudentTableI.getNodes().get(0); if(nodStudent==null) if(nodStudentTableI!=null) if(nodStudentTableI.getNodes().size()>0) nodStudent = nodStudentTableI.getNodes().get(0);
//********************************************* //*********************************************
//** analyse les attributs des nodes <table> ** //** analyse les attributs des nodes <table> **
//********************************************* //*********************************************
table = evaluationAttribut.evalLesAttributEtContenuDuNode(nodStudent, nodSujet, table, "ana:tableillustration", nodSujet.getNomElt()); table = evaluationAttribut.evalLesAttributEtContenuDuNode(nodStudent, nodSujet, table, "ana:tableillustration", nodSujet.getNomElt());
//**************************************************************** //************************************
//** Parcours les nodes enfants du node <text:illustration-index> ** //** analyse tous les nodes enfants **
//**************************************************************** //************************************
for(int j =0 ; j < nodSujet.getNodes().size();j++) { table = analyseLesNodesEnfants.nodeNext(table, "ana:tableillustration", nodStudent, null, null, nodSujet, null, null, nodmenu,a);
if(nodStudent!=null) {
if(j<nodStudent.getNodes().size()) {
table = evaluationAttribut.evalLesAttributEtContenuDuNode(nodStudent.getNodes().get(j), nodSujet.getNodes().get(j), table, "ana:tableillustration", nodSujet.getNodes().get(j).getNomElt());
for(int k=0; k<nodSujet.getNodes().get(j).getNodes().size();k++) {
if(k<nodStudent.getNodes().get(j).getNodes().size()) {
table = evaluationAttribut.evalLesAttributEtContenuDuNode(nodStudent.getNodes().get(j).getNodes().get(k), nodSujet.getNodes().get(j).getNodes().get(k), table, "ana:tableillustration", nodSujet.getNodes().get(j).getNodes().get(k).getNomElt());
}else {
table = evaluationAttribut.evalLesAttributEtContenuDuNode(null, nodSujet.getNodes().get(j).getNodes().get(k), table, "ana:tableillustration", nodSujet.getNodes().get(j).getNodes().get(k).getNomElt());
}
}
}else {
table = evaluationAttribut.evalLesAttributEtContenuDuNode(null, nodSujet.getNodes().get(j), table, "ana:tableillustration", nodSujet.getNodes().get(j).getNomElt());
}
}else {
table = evaluationAttribut.evalLesAttributEtContenuDuNode(null, nodSujet.getNodes().get(j), table, "ana:tableillustration", nodSujet.getNodes().get(j).getNomElt());
for(int k=0; k<nodSujet.getNodes().get(j).getNodes().size();k++) {
table = evaluationAttribut.evalLesAttributEtContenuDuNode(null, nodSujet.getNodes().get(j).getNodes().get(k), table, "ana:tableillustration", nodSujet.getNodes().get(j).getNodes().get(k).getNomElt());
}
}
}
//*******************************
//** Recherche le node Student **
//*******************************
nodSujet = nodSujet.getParent().retourneFirstEnfantsByName("text:illustration-index-sourceIllustrations");
if(nodStudent!=null) {
nodStudent = nodStudent.getParent().retourneFirstEnfantsByName("text:illustration-index-sourceIllustrations");
//*********************************************
//** analyse les attributs des nodes <table> **
//*********************************************
table = evaluationAttribut.evalLesAttributEtContenuDuNode(nodStudent, nodSujet, table, "ana:tableillustration", nodSujet.getNomElt());
//**************************************************************************************
//** Parcours les nodes enfants du node <text:illustration-index-sourceIllustrations> **
//**************************************************************************************
for(int j =0 ; j < nodSujet.getNodes().size();j++) {
if(nodStudent!=null) {
if(j<nodStudent.getNodes().size()) {
table = evaluationAttribut.evalLesAttributEtContenuDuNode(nodStudent.getNodes().get(j), nodSujet.getNodes().get(j), table, "ana:tableillustration", nodSujet.getNodes().get(j).getNomElt());
for(int k=0; k<nodSujet.getNodes().get(j).getNodes().size();k++) {
if(k<nodStudent.getNodes().get(j).getNodes().size()) {
table = evaluationAttribut.evalLesAttributEtContenuDuNode(nodStudent.getNodes().get(j).getNodes().get(k), nodSujet.getNodes().get(j).getNodes().get(k), table, "ana:tableillustration", nodSujet.getNodes().get(j).getNodes().get(k).getNomElt());
}else {
table = evaluationAttribut.evalLesAttributEtContenuDuNode(null, nodSujet.getNodes().get(j).getNodes().get(k), table, "ana:tableillustration", nodSujet.getNodes().get(j).getNodes().get(k).getNomElt());
}
}
}else {
table = evaluationAttribut.evalLesAttributEtContenuDuNode(null, nodSujet.getNodes().get(j), table, "ana:tableillustration", nodSujet.getNodes().get(j).getNomElt());
}
}else {
table = evaluationAttribut.evalLesAttributEtContenuDuNode(null, nodSujet.getNodes().get(j), table, "ana:tableillustration", nodSujet.getNodes().get(j).getNomElt());
for(int k=0; k<nodSujet.getNodes().get(j).getNodes().size();k++) {
table = evaluationAttribut.evalLesAttributEtContenuDuNode(null, nodSujet.getNodes().get(j).getNodes().get(k), table, "ana:tableillustration", nodSujet.getNodes().get(j).getNodes().get(k).getNomElt());
}
}
}
}
//**************************************************************** //****************************************************************
//** Insère les attributs des points dans les node de l'analyse ** //** Insère les attributs des points dans les node de l'analyse **

View File

@ -215,7 +215,7 @@ public class evaluation {
Pattern p = Pattern.compile("^#[a-z0-9]{6} ([0-9]{1,}\\.[0-9]{1,}|[0-9]{1,})[a-z]{2}"); Pattern p = Pattern.compile("^#[a-z0-9]{6} ([0-9]{1,}\\.[0-9]{1,}|[0-9]{1,})[a-z]{2}");
Matcher m = p.matcher(Sujet.trim()); Matcher m = p.matcher(Sujet.trim());
if(m.find()) { if(m.find()) {
if(Traitementombrage(Sujet, A).equals("Correct : ")) { if(TraitementOmbrage(Sujet, A).equals("Correct : ")) {
IncrementPointClass(pointEnJeu); IncrementPointClass(pointEnJeu);
return "Correct : +" + pointString; return "Correct : +" + pointString;
}else { }else {
@ -381,14 +381,19 @@ public class evaluation {
} }
// rechercher un digite une ou plusieurs fois en fin. // Rechercher un digite une ou plusieurs fois en fin.
Pattern p = Pattern.compile("[^0-9\\.]"); // Pattern p = Pattern.compile("[^0-9\\.]"); //uniquement des valeur positive
Pattern p = Pattern.compile("[^-?0-9\\.]"); //Avec des valeurs négatives
// remplacement de toutes les occurrences par "" // remplacement de toutes les occurrences par ""
if(Text[0]!=null) Text[0]= p.matcher(Text[0]).replaceAll(""); if(Text[0]!=null) Text[0]= p.matcher(Text[0]).replaceAll("");
if(Text[1]!=null) Text[1] = p.matcher(Text[1]).replaceAll(""); if(Text[1]!=null) Text[1] = p.matcher(Text[1]).replaceAll("");
A = p.matcher(A).replaceAll(""); A = p.matcher(A).replaceAll("");
double b0=0.0; double b0=0.0;
double b1=0.0; double b1=0.0;
try{ try{
@ -554,7 +559,7 @@ public class evaluation {
* @param B * @param B
* @return * @return
*/ */
private static String Traitementombrage(String Sujet, String B) { private static String TraitementOmbrage(String Sujet, String B) {
if(Sujet.isEmpty()) return "Erreur : "; if(Sujet.isEmpty()) return "Erreur : ";
if(B==null) return "Erreur : "; if(B==null) return "Erreur : ";

View File

@ -106,7 +106,7 @@ public class evaluerLesFichiersEtudiants implements Runnable{
//** Ecriture du node verif.xml ** //** Ecriture du node verif.xml **
//******************************** //********************************
try { try {
verif = VerificationHistorique.verificationHistorique(verification, a); verif = VerificationHistorique.verificationHistorique(verification, a,txt);
Run.ecritureNodeEnXML(verif, "Verif",commandes.path, Run.TypeFile.Verif ); Run.ecritureNodeEnXML(verif, "Verif",commandes.path, Run.TypeFile.Verif );
} catch (IOException | ParseException | CloneNotSupportedException e) { } catch (IOException | ParseException | CloneNotSupportedException e) {
e.printStackTrace(); e.printStackTrace();

View File

@ -67,13 +67,12 @@ public class allContent extends JFrame {
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
setBounds(100, 100, 589, 366); setBounds(100, 100, 589, 366);
// setTitle("allContent");
ImageIcon img = new ImageIcon(getClass().getResource("/evalwriter.png") ); ImageIcon img = new ImageIcon(getClass().getResource("/evalwriter.png") );
int screenWidth = (int) java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds().getWidth(); int screenWidth = (int) java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds().getWidth();
int screenHeight = (int) java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds().getHeight(); int screenHeight = (int) java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds().getHeight();
setLocation(( (screenWidth) - getWidth()) / 2, (screenHeight - getHeight()) / 2); setLocation(( (screenWidth) - getWidth()) / 2, (screenHeight - getHeight()) / 2);
setTitle("allContent - " + commandes.Titre + " " + commandes.version + " " + commandes.branch); setTitle("Méthode allContent - " + commandes.Titre + " " + commandes.version + " " + commandes.branch);
setIconImage(img.getImage()); setIconImage(img.getImage());
@ -188,6 +187,11 @@ public class allContent extends JFrame {
} }
} }
} }
if(nod.getNomElt().equals("text:index-body")) {
for(int i = 0 ; i < nod.getNodes().size(); i++) {
placeAtrtibutAllContentDansLesNodesDeLaPage(nod,comboBoxValeur.getSelectedItem().toString(),point);
}
}
J.refreshAffichage(nod); J.refreshAffichage(nod);
} }
@ -218,11 +222,11 @@ public class allContent extends JFrame {
} }
private void placeAtrtibutAllContentDansLesNodesDeLaPage(node nodePage,String methode, Integer point) { private void placeAtrtibutAllContentDansLesNodesDeLaPage(node nod,String methode, Integer point) {
for(int i = 0 ; i < nodePage.getNodes().size(); i++) { for(int i = 0 ; i < nod.getNodes().size(); i++) {
if( listeDesNodesAllContent.isAllContent(nodePage.getNodes().get(i))){ if( listeDesNodesAllContent.isAllContent(nod.getNodes().get(i))){
nodePage.getNodes().get(i).getAttributs().put("allContent", methode+String.valueOf(point)); nod.getNodes().get(i).getAttributs().put("allContent", methode+String.valueOf(point));
nodePage.getNodes().get(i).evaluerAllChildTrue(); } nod.getNodes().get(i).evaluerAllChildTrue(); }
} }
} }

View File

@ -24,6 +24,7 @@ public class listeDesNodesAllContent {
case "page":return true; case "page":return true;
case "text:time":return true; case "text:time":return true;
case "structurepage":return true; case "structurepage":return true;
case "text:index-body":return true;
case "number:text":return false; case "number:text":return false;
case "text:page-count":return false; case "text:page-count":return false;

View File

@ -15,6 +15,7 @@ public static boolean isContientEnfant(node nod) {
case "text:list": return true; case "text:list": return true;
case "text:list-item": return true; case "text:list-item": return true;
case "text:note":return true; case "text:note":return true;
case "text:index-body":return true;
default: default:
return false; return false;