MAJ (4.3.1 : Ajoute mgsBox pour les erreurs dans les tab-stop.

Correction des problème d'affichage lorsque erreur dans le feedback)
This commit is contained in:
pablo rodriguez 2022-11-27 20:45:41 +01:00
parent 3b2537054a
commit 76926779b4
9 changed files with 71 additions and 21 deletions

View File

@ -14,6 +14,6 @@
<classpathentry kind="lib" path="C:/Users/pabr6/eclipse-workspace/zip4j-1.2.7.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="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"/>
</classpath>

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -5,6 +5,8 @@ import java.util.ArrayList;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import javax.swing.JOptionPane;
import cXML.Run;
import cXML.node;
import evaluer.evaluation;
@ -149,6 +151,14 @@ public class rechercherUnNodeStudent {
if(nameNode.equals("style:tab-stop")) {
nodStudent = findBystylePosition(nameNode, nodSujet, nod0Student, nod1Student, nod2Student, a);
}
//***********************************
//** Recherche le node par son nom **
//***********************************
if(nameNode.equals("text:editing-cycles")) {
nodStudent = findByNameNode(nameNode, nodSujet, nod0Student, nod1Student, nod2Student, a);
return nodStudent;
}
//***********************************************
//** Recherche le node par son nom **
@ -546,6 +556,10 @@ public class rechercherUnNodeStudent {
return nodStudent;
}
/**
* Recherche le node style:tab-stop par style:position.</br>
* Un tolérance de 0.05 est appliquée sur la valeur de la position.</br>
@ -563,33 +577,69 @@ public class rechercherUnNodeStudent {
double tolerance = 0.05;
String valueAttribut = evaluation.withoutCodeAndPoint(nodSujet.getAttributs().get("style:position"));
if(!valueAttribut.contains("")) {
Pattern p3 = Pattern.compile("^[0-9]{0,}\\.[0-9]{0,}|^[0-9]{0,}");
Matcher m3 = p3.matcher(valueAttribut);
if(m3.find()) {
valueAttribut = (valueAttribut.substring(m3.start(), m3.end()));
if(!valueAttribut.contains("¦")&&!valueAttribut.contains("|")&&!valueAttribut.contains("")&&!valueAttribut.contains("")
&&!valueAttribut.contains("")&&!valueAttribut.contains("×")&&!valueAttribut.contains("")&&!valueAttribut.contains("¢")) {
if(!valueAttribut.contains("")) {
Pattern p3 = Pattern.compile("^[0-9]{0,}\\.[0-9]{0,}|^[0-9]{0,}");
Matcher m3 = p3.matcher(valueAttribut);
if(m3.find()) {
valueAttribut = (valueAttribut.substring(m3.start(), m3.end()));
}else {
System.out.println("Tolérance par défaut du tab-stop");
System.out.println("La valeur du tab-stop du sujet est =" + valueAttribut);
System.out.println("Problème de pattern");
System.out.println("no match avec la valeur du tab-stop du sujet.");
JOptionPane.showMessageDialog(null, "Le fichier d'analyse possède une erreur dans la valeur du tab-stop."
+"\r\nLa valeur est " + valueAttribut+
"\r\nProblème de pattern.","Erreur",JOptionPane.ERROR_MESSAGE);
}
}else {
System.out.println("no match");
tolerance = (evaluation.TraitementIntervaleRetourneValeurMaximale(valueAttribut) - evaluation.TraitementIntervaleRetourneValeurMinimale(valueAttribut))/2;
valueAttribut = String.valueOf(evaluation.TraitementIntervaleRetourneValeurMaximale(valueAttribut) - tolerance);
}
}else {
tolerance = (evaluation.TraitementIntervaleRetourneValeurMaximale(valueAttribut) - evaluation.TraitementIntervaleRetourneValeurMinimale(valueAttribut))/2;
System.out.println("tolérance du tab-stop="+ tolerance);
valueAttribut = String.valueOf(evaluation.TraitementIntervaleRetourneValeurMaximale(valueAttribut) - tolerance);
System.out.println("Valeur du tab-stop=" + valueAttribut);
System.out.println("Erreur avec la valeur du tab-stop du sujet.");
System.out.println("Valeur du tab-stop du sujet ="+valueAttribut);
JOptionPane.showMessageDialog(null, "Le fichier d'analyse possède une erreur dans la valeur du tab-stop."
+"\r\nLa valeur est " + valueAttribut,"Erreur",JOptionPane.ERROR_MESSAGE);
}
double ValeurSujet = 0.0;
try {
ValeurSujet = Double.valueOf(valueAttribut);
}catch (Exception e) {
System.out.println("La valeur du tab-stop du sujet est =" + valueAttribut);
System.out.println("Problème de cast en type double");
System.out.println("Valeur tab-stop="+ValeurSujet);
JOptionPane.showMessageDialog(null, "Le fichier d'analyse possède une erreur dans la valeur du tab-stop."
+"\r\nLa valeur est " + valueAttribut+
"\r\nImpossible de convertir la valeur en type Double.", "Erreur",JOptionPane.ERROR_MESSAGE);
}
System.out.println(valueAttribut);
double Valeur = Double.valueOf(valueAttribut);
System.out.println("Valeur sujet tab-stop="+Valeur);
if(nod2Student!=null) {
ArrayList<node> A = nod2Student.retourneTousLesNodesDeCeNiveauQuiOnAttribut(nameNode, "");
for(int i = 0 ; i < A.size() ; i++) {
String valueAttributStudent = A.get(i).getAttributs().get("style:position");
valueAttributStudent=valueAttributStudent.replace("cm", "").replace("in", "");
double Valeur2 = Double.valueOf(valueAttributStudent);
System.out.println("Valeur student tab-stop="+Valeur2);
if((Valeur2>Valeur-2*tolerance)&&(Valeur2<Valeur+2*tolerance)) return A.get(i);
Pattern p3 = Pattern.compile("^[0-9]{0,}\\.[0-9]{0,}|^[0-9]{0,}");
Matcher m3 = p3.matcher(valueAttributStudent);
double ValeurStudent = 0.0;
if(m3.find()) {
valueAttributStudent = (valueAttributStudent.substring(m3.start(), m3.end()));
}else {
System.out.println("La valeur du tab-stop du student est =" + valueAttributStudent);
System.out.println("Problème de pattern");
System.out.println("no match avec la valeur du tab-stop du student.");
JOptionPane.showMessageDialog(null, "Le fichier de l'étudiant possède une erreur dans la valeur du tab-stop."
+"\r\nLa valeur est " + valueAttribut+
"\r\nProblème de pattern.","Erreur",JOptionPane.ERROR_MESSAGE);
}
ValeurStudent = Double.valueOf(valueAttributStudent);
if((ValeurStudent>ValeurSujet-tolerance)&&(ValeurStudent<ValeurSujet+tolerance)) return A.get(i);
}
}

View File

@ -893,6 +893,7 @@ public class evaluation {
}
public static void IncrementPointTotal(Integer pt) {
pointEnJeu = pt;
pointTotal=pointTotal+ pt;
}

View File

@ -340,8 +340,7 @@ public class evaluationAttribut {
}
return retour;
}
/**
* Evalue le nom du node
@ -359,7 +358,7 @@ public class evaluationAttribut {
item = retourneNoteAvecResultatsAnalyse(nameNode,"name", nodStudent.getNomElt(),nameNode + "" +point, nameElt );
}else {
evaluation.IncrementPointTotal(Integer.valueOf(point));
item = new node(nameNode, "Erreur", "Nom du node" , "null", nameNode, 2, evaluation.getPointEnJeu(),nameElt);
item = new node(nameNode, "Erreur : -"+evaluation.getPointEnJeu()+" pt", "Nom du node" , "null", nameNode, 2, evaluation.getPointEnJeu(),nameElt);
}
retour.getNodes().add(item);
return retour;