MAJ & optimisation du code
This commit is contained in:
parent
b36433ce05
commit
273b97bb4a
Binary file not shown.
1
bin/.gitignore
vendored
1
bin/.gitignore
vendored
@ -1 +0,0 @@
|
||||
/MEPTL/
|
Binary file not shown.
BIN
bin/MEPTL/analyseLesNodesEnfants.class
Normal file
BIN
bin/MEPTL/analyseLesNodesEnfants.class
Normal file
Binary file not shown.
BIN
bin/MEPTL/analyseLesNodesPrincipaux.class
Normal file
BIN
bin/MEPTL/analyseLesNodesPrincipaux.class
Normal file
Binary file not shown.
Binary file not shown.
BIN
bin/MEPTL/feedbacks.class
Normal file
BIN
bin/MEPTL/feedbacks.class
Normal file
Binary file not shown.
Binary file not shown.
BIN
bin/MEPTL/rechercherUnNodeStudent.class
Normal file
BIN
bin/MEPTL/rechercherUnNodeStudent.class
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,15 +1,14 @@
|
||||
package MEPTL;
|
||||
|
||||
import java.text.DateFormat;
|
||||
import java.text.DecimalFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
|
||||
|
||||
import cXML.node;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author pablo rodriguez - 2000
|
||||
* @author pablo rodriguez
|
||||
*
|
||||
*/
|
||||
public class HTML {
|
||||
@ -221,14 +220,10 @@ public class HTML {
|
||||
public static String Table(node nod) {
|
||||
|
||||
String code = HTML.SautLigne();
|
||||
if(nod.getAttributs().get("titre")!=null) if(!nod.getAttributs().get("titre").isEmpty()) {
|
||||
code = code + HTML.H1(nod.getAttributs().get("titre"),nod.getAttributs().get("id"))+ HTML.SautLigne() ;
|
||||
}else {
|
||||
code = code + HTML.H1("",nod.getAttributs().get("id"))+ HTML.SautLigne() ;
|
||||
}
|
||||
code = addSautEtTitres(code,nod);
|
||||
|
||||
//ajoute le commentaire
|
||||
if(!nod.getContenu().isEmpty()) if(nod.getNodes().size()==1) code = code + HTML.Paragraph_classp6(nod.getContenu().get(0)) + HTML.SautLigne();
|
||||
if(!nod.getContenu().isEmpty()) if(nod.getNodes().size()>0) code = code + HTML.Paragraph_classp6(nod.getContenu().get(0)) + HTML.SautLigne();
|
||||
|
||||
code = code + HTML.TableEntete(); //ajoute l'entête
|
||||
|
||||
@ -249,24 +244,15 @@ public class HTML {
|
||||
code = code + HTML.Table(Tst, Key, valueStudent, valueSujet, niveau);
|
||||
}else {
|
||||
|
||||
if(nod.getNodes().get(k).getAttributs().get("titre")!=null) if(!nod.getNodes().get(k).getAttributs().get("titre").isEmpty()){
|
||||
code = code + HTML.SautLigne() + HTML.H2(nod.getNodes().get(k).getAttributs().get("titre"))
|
||||
+ HTML.SautLigne();
|
||||
}else {
|
||||
code = code + HTML.SautLigne();
|
||||
}
|
||||
code = addSautEtTitres(code,nod.getNodes().get(k));
|
||||
|
||||
|
||||
if(nod.getNodes().get(k).getAttributs().get("saut")!=null) if(nod.getNodes().get(k).getAttributs().get("saut").equals("true")) {
|
||||
code = code + HTML.SautLigne();
|
||||
}
|
||||
|
||||
if(!nod.getContenu().isEmpty()) code = code + HTML.Paragraph_classp6(nod.getContenu().get(0)) + HTML.SautLigne();
|
||||
|
||||
for(int l = 0 ; l < nod.getNodes().get(k).getNodes().size() ; l++) {
|
||||
if(!nod.getNodes().get(k).getNodes().get(l).getNomElt().equals("saut")){
|
||||
String Tst = nod.getNodes().get(k).getNodes().get(l).getAttributs().get("resultat");
|
||||
// String Key = outils.Traduction(nod.getNodes().get(k).getNodes().get(l).getAttributs().get("elt") + " " + outils.withoutCodeAndPoint(nod.getNodes().get(k).getNodes().get(l).getAttributs().get("attribut")));
|
||||
|
||||
String Key2 = outils.traduction.get(nod.getNodes().get(k).getNodes().get(l).getAttributs().get("elt") + " " + outils.withoutCodeAndPoint(nod.getNodes().get(k).getNodes().get(l).getAttributs().get("attribut")));
|
||||
if(Key2==null) Key2 = nod.getNodes().get(k).getNodes().get(l).getAttributs().get("elt") + " " + outils.withoutCodeAndPoint(nod.getNodes().get(k).getNodes().get(l).getAttributs().get("attribut"));
|
||||
String valueStudent = nod.getNodes().get(k).getNodes().get(l).getAttributs().get("valueStudent");
|
||||
@ -275,9 +261,7 @@ public class HTML {
|
||||
|
||||
code = code + HTML.Table(Tst, Key2, valueStudent, valueSujet, niveau);
|
||||
}else {
|
||||
if(nod.getNodes().get(k).getNodes().get(l).getAttributs().get("titre")!=null) code = code + HTML.SautLigneOnduleBleu(nod.getNodes().get(k).getNodes().get(l).getAttributs().get("titre"));
|
||||
if(nod.getNodes().get(k).getNodes().get(l).getAttributs().get("titre1")!=null) code = code + HTML.SautLigneOnduleBleu(nod.getNodes().get(k).getNodes().get(l).getAttributs().get("titre1"));
|
||||
if(nod.getNodes().get(k).getNodes().get(l).getAttributs().get("titre2")!=null) code = code + HTML.SautP8(nod.getNodes().get(k).getNodes().get(l).getAttributs().get("titre2"));
|
||||
code = addSautEtTitres(code,nod.getNodes().get(k).getNodes().get(l));
|
||||
}
|
||||
|
||||
}
|
||||
@ -292,6 +276,27 @@ public class HTML {
|
||||
}
|
||||
|
||||
|
||||
private static String addSautEtTitres(String code, node nodeAna) {
|
||||
if(nodeAna.getNomElt().equals("saut")) {
|
||||
code = code + HTML.SautLigne();
|
||||
}
|
||||
if(nodeAna.getAttributs().get("titre")!=null) if(!nodeAna.getAttributs().get("titre").isEmpty()){
|
||||
if(nodeAna.getAttributs().get("id")!=null) code = code + HTML.SautLigne()+ HTML.H1(nodeAna.getAttributs().get("titre"),nodeAna.getAttributs().get("id")) + HTML.SautLigne(); ;
|
||||
if(nodeAna.getAttributs().get("id")==null) code = code + HTML.SautLigne()+ HTML.H1(nodeAna.getAttributs().get("titre")) + HTML.SautLigne(); ;
|
||||
}
|
||||
if(nodeAna.getAttributs().get("titre1")!=null) if(!nodeAna.getAttributs().get("titre1").isEmpty()){
|
||||
code = code + HTML.SautLigne() + HTML.H2(nodeAna.getAttributs().get("titre1")) + HTML.SautLigne(); ;
|
||||
}
|
||||
if(nodeAna.getAttributs().get("titre2")!=null) if(!nodeAna.getAttributs().get("titre2").isEmpty()){
|
||||
code = code + HTML.SautLigne() + HTML.SautLigneOnduleBleu(nodeAna.getAttributs().get("titre2")) + HTML.SautLigne(); ;
|
||||
}
|
||||
if(nodeAna.getAttributs().get("titre3")!=null) if(!nodeAna.getAttributs().get("titre3").isEmpty()){
|
||||
code = code + HTML.SautLigne() + HTML.SautP8(nodeAna.getAttributs().get("titre3")) + HTML.SautLigne(); ;
|
||||
}
|
||||
return code;
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Table correct pour application des styles
|
||||
public static String TableApplStyle(String NomStyle,ArrayList<String> T, ArrayList<String> S, boolean erreur) {
|
||||
@ -411,7 +416,10 @@ public class HTML {
|
||||
"";
|
||||
}
|
||||
|
||||
// image de la progression
|
||||
/**
|
||||
* Image SVG de la progression
|
||||
* @return
|
||||
*/
|
||||
public static String imgProgression() {
|
||||
return "<svg\r\n" +
|
||||
" xmlns:dc=\"http://purl.org/dc/elements/1.1/\"\r\n" +
|
||||
@ -2495,6 +2503,10 @@ public class HTML {
|
||||
"</svg>";
|
||||
}
|
||||
|
||||
/**
|
||||
* Image SVG de la note A.
|
||||
* @return
|
||||
*/
|
||||
public static String NoteA( ) {
|
||||
return "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\r\n"
|
||||
+ "<!-- Created with Inkscape (http://www.inkscape.org/) -->\r\n"
|
||||
@ -2838,6 +2850,10 @@ public class HTML {
|
||||
+ "</svg>\r\n";
|
||||
}
|
||||
|
||||
/**
|
||||
* Image SVG de la note B
|
||||
* @return
|
||||
*/
|
||||
public static String NoteB() {
|
||||
return "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\r\n"
|
||||
+ "<!-- Created with Inkscape (http://www.inkscape.org/) -->\r\n"
|
||||
@ -3164,6 +3180,10 @@ public class HTML {
|
||||
+ "</svg>\r\n";
|
||||
}
|
||||
|
||||
/**
|
||||
* Image SVG de la note C
|
||||
* @return
|
||||
*/
|
||||
public static String NoteC() {
|
||||
return "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\r\n"
|
||||
+ "<!-- Created with Inkscape (http://www.inkscape.org/) -->\r\n"
|
||||
@ -5406,6 +5426,10 @@ public class HTML {
|
||||
+ "</svg>\r\n";
|
||||
}
|
||||
|
||||
/**
|
||||
* Image SVG de la note D
|
||||
* @return
|
||||
*/
|
||||
public static String NoteD() {
|
||||
return "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\r\n"
|
||||
+ "<!-- Created with Inkscape (http://www.inkscape.org/) -->\r\n"
|
||||
@ -5520,6 +5544,10 @@ public class HTML {
|
||||
+ "";
|
||||
}
|
||||
|
||||
/**
|
||||
* Image SVG de la note E
|
||||
* @return
|
||||
*/
|
||||
public static String NoteE() {
|
||||
return "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\r\n"
|
||||
+ "<!-- Created with Inkscape (http://www.inkscape.org/) -->\r\n"
|
||||
@ -5610,7 +5638,10 @@ public class HTML {
|
||||
+ "";
|
||||
}
|
||||
|
||||
// image du bouton interrogation
|
||||
/**
|
||||
* Image SVG Interoorgation
|
||||
* @return
|
||||
*/
|
||||
public static String imgInterogation() {
|
||||
return "<svg\r\n"
|
||||
+ " width=\"5.2916665mm\"\r\n"
|
||||
@ -5689,91 +5720,72 @@ public class HTML {
|
||||
* Retourne l'entête et les styles CSS du formulaire
|
||||
* @return
|
||||
*/
|
||||
public static String getHTMLenteteEtCssFormulaireHTML() {
|
||||
Date aujourdhui = new Date();
|
||||
DateFormat mediumDateFormat = DateFormat.getDateTimeInstance(DateFormat.MEDIUM,DateFormat.MEDIUM);
|
||||
|
||||
return "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">\r"
|
||||
+ "<html>\r"
|
||||
+ "<head>\r"
|
||||
+ "<meta http-equiv=\"content-type\" content=\"text/html; charset=UTF-8\"/>\r"
|
||||
+ "<title>Analyse mise en page d'un texte long</title>\r"
|
||||
|
||||
+ "<meta name=\"generator\" content=\"AnalyseWriter V1.0\"/>"
|
||||
+ "<meta name=\"author\" content=\"Pablo Rodriguez\"/>"
|
||||
+ "<meta name=\"created\" content=\""+ mediumDateFormat.format(aujourdhui) +"\"/>"
|
||||
+ "<meta name=\"changedby\" content=\"Pablo Rodriguez\"/>"
|
||||
+ "<meta name=\"changed\" content=\"" + mediumDateFormat.format(aujourdhui) + "\"/>"
|
||||
|
||||
+"<style type=\"text/css\">"
|
||||
public static String getStyleCSS() {
|
||||
// Date aujourdhui = new Date();
|
||||
// DateFormat mediumDateFormat = DateFormat.getDateTimeInstance(DateFormat.MEDIUM,DateFormat.MEDIUM);
|
||||
return "\r<style type=\"text/css\">\r"
|
||||
+ "p.pablo { margin-bottom: 0.25cm; line-height: 100%; background: transparent; margin-left: 1cm; }"
|
||||
+ ".header {background-color: #f1f1f1;padding: 30px;text-align:center;}"
|
||||
+ "h1 { margin-bottom: 0.25cm; background: transparent;}"
|
||||
+ "h2 {color: blue;font-size:22pt;margin-bottom: 0cm; margin-top: 0cm; line-height: 110%; background: transparent; margin-left: 20pt; margin-right: 10px; text-decoration: underline overline;}"
|
||||
+ "h3 {font-size:18pt;margin-bottom: 0cm; margin-top: 0cm; line-height: 110%; background: transparent; margin-left: 20pt;}"
|
||||
+ "header.h1.western { font-family: \"Arial\"; font-size: 18pt; font-weight: bold; backgroung: #adff2f;}"
|
||||
+ ".header p {color:blue; font-size:30px;}"
|
||||
+ ".triche {background: #AA0000;padding-top: 5px;padding-right: 5px;padding-bottom: 5px;padding-left: 5px;width=80%;margin-top:18px; box-shadow: 5px 10px 18px #800000;}"
|
||||
+ ".triche p {color:white; font-size:16px;margin-left:10px;margin-bottom:6px;margin-top:6px}"
|
||||
+ ".header h4 {text-align:left;font-family: \"Arial\"; font-size: 12pt; font-weight: bold; line-height: 110%;}"
|
||||
+ "h4.western { font-family: \"Arial\"; font-size: 14pt; font-style: italic; font-weight: bold; line-height: 40%}"
|
||||
+ "a:link { color: #000080; so-language: zxx; text-decoration: underline }"
|
||||
+ "a:visited { color: #800000; so-language: zxx; text-decoration: underline }"
|
||||
+ "a:link { color: #000099; so-language: zxx; text-decoration: underline; margin-left: 10px; }"
|
||||
+ "a:visited { color: #99000; so-language: zxx; text-decoration: underline; margin-left: 10px; }"
|
||||
+ "hr { display: block; margin-top: 0.5em; margin-bottom: 8em; margin-left: 2em; margin-right: 2em; border-style: inset; border-width: 4px;}"
|
||||
+ "spanpablo { float: right; width: 8em; font-size: 250%; font-family: algerian, courier; line-height: 80%; margin-right: 1%; color: red; text-align: center}"
|
||||
+ "p.p1{margin-bottom: 0cm; margin-top: 0cm; line-height: 100%; background: transparent; margin-left: 0cm; white-space: pre;}"
|
||||
+ "p.p8{font-size:14pt;margin-bottom: 0cm; margin-top: 0cm; line-height: 110%; background: transparent; margin-left: 8pt; margin-right: 10px;}"
|
||||
+ "p.p9{font-size:16pt;margin-bottom: 12px;text-align: left; margin-top: 0cm; line-height: 110%; background: transparent; margin-left: 40pt; margin-right: 0cm;text-decoration: underline overline wavy blue;text-shadow: 0px 1px #101010;}"
|
||||
+ "p.p10{font-size:12pt;margin-bottom: 12px;text-align: left; margin-top: 0cm; line-height: 110%; background: transparent; margin-left: 30pt; margin-right: 0cm;text-decoration: underline overline wavy red;}"
|
||||
+ ".commentaire{margin-left: 0px; margin-bottom: 24px; margin-top: 24px;font-size:1.4rem}"
|
||||
+ "p.p2{margin-left: 0px; margin-bottom: 0cm; margin-top: 4px; line-height: 115%}"
|
||||
+ "p.p3{margin-left: 20px; line-height: 100%; border: 1px solid black; background-color: lightcyan; margin-right: 10px; }"
|
||||
+ "p.p4{margin-left: 0px; margin-bottom: 0cm; margin-top: 4px; margin-right: 4px; line-height: 115%; background: darkblue; color:white; font-size: 20px; white-space: pre;}"
|
||||
+ "p.p5{margin-left: 80px; margin-bottom: 0cm; margin-top: 4px; margin-right: 80px; line-height: 115%; background: red; color:white; font-size: 20px;}"
|
||||
+ "p.p6{margin-left: 0px; margin-bottom: 0cm; margin-top: 4px; margin-right: 4px; line-height: 115%; background: beige; color:darkcyan; font-size: 20px; white-space: pre;}"
|
||||
+ "p.p6{margin-left: 80px; margin-bottom: 0cm; margin-top: 4px; margin-right: 80px; line-height: 115%; background: beige; color:darkcyan; font-size: 20px;}"
|
||||
+ "p.p7{margin-left: 80px; margin-bottom: 0cm; margin-top: 4px; margin-right: 80px; line-height: 115%; background: #7FFF00; font-size: 20px;}"
|
||||
+ "#navbar {overflow: hidden;background-color: #333;width:100%;box-shadow: 5px 10px 8px #888888;}"
|
||||
+ "#navbar a {float: left;display: block;color: #f2f2f2;text-align: center;padding: 14px 16px;text-decoration: none;font-size: 17px;}"
|
||||
+ "#navbar a:hover {background-color: #ddd;color: black;}"
|
||||
+ "#navbar a.active {background-color: #4CAF50;color: white;}"
|
||||
+ "#navbar a.active2 {background-color: #FF8050;color: white;}"
|
||||
+ "#navbar a.active {background-color: #4CAF50;color: white;margin-left:0px;}"
|
||||
+ "#navbar a.active2 {background-color: #FF8050;color: white;margin-left:0px;}"
|
||||
+ "#navbar a.active3 {background-color: #5080FF;color: white;margin-left:0px;}"
|
||||
+ "div.sticky {position: fixed;top: 0;width: 100%;}"
|
||||
+ ".sticky + .content {padding-top: 60px;}"
|
||||
+ "#navbar2 {overflow: hidden; background-color: #333;}"
|
||||
+ "#navbar2 a {float: left; font-size: 18px; color: white; text-align: center; padding: 16px 18px; text-decoration: none;}"
|
||||
+ ".dropdown {position: relative; display: inline-block;}"
|
||||
+ ".dropbtn:hover, .dropbtn:focus { background-color: #3e8e41;}"
|
||||
+ ".dropdown-content {display: none; position: absolute; background-color: #f9f9f9; min-width: 160px; box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);}"
|
||||
+ ".dropdown-content a {color: black; padding: 12px 16px; text-decoration: none; display: block;}"
|
||||
+ ".dropdown-content a:hover {background-color: #f1f1f1}"
|
||||
+".show {display:block;}"
|
||||
+ "#myDropdown {background-color: #508050;color: black;}"
|
||||
+ ".menu-box{display: none;}"
|
||||
+ ".menuopen{display: block;}"
|
||||
+ ".tooltip {position: relative;display: inline-block;border-bottom: 1px dotted black;}"
|
||||
+ ".tooltip .tooltiptext {visibility: hidden;background-color: black;color: #fff;text-align: center;border-radius: 6px;padding: 5px 0;position: absolute;z-index: 1;margin-left: -30px; width: 120px;top: 100%;left: 10%;}"
|
||||
+ ".tooltip .tooltiptext {visibility: hidden;background-color: black;color: #fff;text-align: center;border-radius: 6px;padding: 5px 0;position: absolute;z-index: 1;margin-left: -30px; width: 260px;top: 100%;left: 10%;}"
|
||||
+ ".tooltip .tooltiptext::after {content: \" \";position: absolute;bottom: 100%;left: 50%;margin-left: -5px;border-width: 5px;border-style: solid;border-color: transparent transparent black transparent;}"
|
||||
+ ".tooltip:hover .tooltiptext {visibility: visible;}"
|
||||
+ ".tooltip1 {position: relative;display: inline-block;border-bottom: 1px dotted black;}"
|
||||
+ ".tooltip1 .tooltiptext1 {visibility: hidden;background-color: #0000CC;color: #fff;text-align: left;border-radius: 4px;padding: 10px;position: absolute;z-index: 1;margin-left: -40px; width: 280px;top: 100%;left: 10%;}"
|
||||
+ ".tooltip1 .tooltiptext1::after {content: \" \";position: absolute;bottom: 100%;left: 50%;margin-left: -5px;border-width: 5px;border-style: solid;border-color: transparent transparent #0000CC transparent;}"
|
||||
+ ".tooltip1:hover .tooltiptext1 {visibility: visible;}"
|
||||
+ ".tooltip2 {position: relative;display: inline-block;border-bottom: 1px dotted black;}"
|
||||
+ ".tooltip2 .tooltiptext2 {visibility: hidden;background-color: black;color: #fff;text-align: center;border-radius: 6px;padding: 5px 0;position: absolute;z-index: 1;margin-top: -15px; width: 240px;left: 110%;}"
|
||||
+ ".tooltip2 .tooltiptext2::after {content: \" \";position: absolute;top: 50%;right: 100%;margin-top: -5px;border-width: 5px;border-style: solid;border-color: transparent black transparent transparent;}"
|
||||
+ ".tooltip2 .tooltiptext2 {visibility: hidden;background-color: black;color: #fff;text-align: left;border-radius: 8px;padding: 8px;position: absolute;z-index: 1;margin-left: -40px; width: 340px;top: 100%;left: 10%;}"
|
||||
+ ".tooltip2 .tooltiptext2::after {content: \" \";position: absolute;bottom: 100%;left: 50%;margin-left: -5px;border-width: 5px;border-style: solid;border-color: transparent transparent black transparent;}"
|
||||
+ ".tooltip2:hover .tooltiptext2 {visibility: visible;}"
|
||||
+ "</style>"
|
||||
|
||||
+"</head>\r";
|
||||
+ ".footer {position: fixed;left: 0;bottom: 0;width: 100%;background-color: white;color: black;text-align: center;}"
|
||||
+"\r</style>\r";
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Retourne l'ouverture de la balise body
|
||||
* @return
|
||||
*/
|
||||
public static String getHTMLdebutBody(double note, String noteFrom, String NumSujet, String dossier, double proportioncorrect, String progression) {
|
||||
DecimalFormat df1 = new DecimalFormat("##.##");
|
||||
Date aujourdhui = new Date();
|
||||
DateFormat mediumDateFormat = DateFormat.getDateTimeInstance(DateFormat.MEDIUM,DateFormat.MEDIUM);
|
||||
|
||||
return "<body lang=\"fr-FR\" link=\"#000080\" vlink=\"#800000\" dir=\"ltr\">\r"
|
||||
+"<div class=\"header\">"
|
||||
+"<h1 id=\"#top\" class=\"western\" align=\"center\" style=\"margin-left: 1cm; margin-right: 1cm; border: 2.00pt solid #ffffff; padding: 0.4cm 0.1cm; background: #505050\">\r\n" +
|
||||
"<font color=\"#ffffff\" size=\"6\" style=\"font-size: 26pt\">Feedback - Analyse LibreOffice Writer<br/>"+HTML.imgLogos()+"</font></h1>\r"
|
||||
+"<p><spanpablo>" + df1.format(note) + " / " + noteFrom +"<br/><span style=\"color:blue; font-size:30px\">Sujet "+ NumSujet +"</span></spanpablo></p>\r"
|
||||
+"<h4>Date d'analyse : <font color=\"#0000ff\">"+ mediumDateFormat.format(aujourdhui) + "</font><br/>"
|
||||
+"<div class=\"tooltip2\">Dossier étudiant : <font color=\"#0000ff\"><b>"+ dossier + "</b></font><span class=\"tooltiptext2\">Dossier téléchargé depuis la plateforme Moodle.</span></div><br/>"
|
||||
+"Analyse MEPTL : sujet "+ NumSujet + "<br/>\r"
|
||||
+"Méthode : <div class=\"tooltip\"><font color=\"#0000ff\">Progression " + progression + "</font><span class=\"tooltiptext\">Explication<br/>"+ HTML.imgProgression() +"</span></div> - Proportion correcte du fichier analysé : " + Math.floor(proportioncorrect*10000)/100 + "%<br/>"
|
||||
+"<br/><font color=\"#808080\" style=\"font-size: 9pt\"><i>Auteur : P. Rodriguez - Licence GPL v3.0 - Avril 2020</i></font></h4>"
|
||||
+"</div>";
|
||||
}
|
||||
|
||||
/**
|
||||
* Retourne la fermeture de la balise body et html
|
||||
* @return
|
||||
*/
|
||||
public static String getHTMLfinBodyHTML() {
|
||||
return "</body>\r</html>";
|
||||
}
|
||||
|
||||
/**
|
||||
* Retourne le code HTML du menu
|
||||
@ -5784,7 +5796,7 @@ public class HTML {
|
||||
|
||||
String codeHTMLMenu= "<div id=\"navbar\" onclick=\"toggleMenu()\"><a class=\"active\" href=\"#top\">Note</a>";
|
||||
for(int i =0 ; i < items.size(); i++) {
|
||||
codeHTMLMenu = codeHTMLMenu + "<a class=\"active3\" href=\"#"+ items.get(i).getAttributs().get("id") + "\">" + items.get(i).getAttributs().get("titre") + "</a>";
|
||||
codeHTMLMenu = codeHTMLMenu + "<a class=\"active3\" href=\""+ items.get(i).getAttributs().get("id") + "\">" + items.get(i).getAttributs().get("titre") + "</a>";
|
||||
}
|
||||
codeHTMLMenu = codeHTMLMenu + "</div>";
|
||||
|
||||
|
@ -28,10 +28,16 @@ public class analyseLesNodesEnfants {
|
||||
nodEnfantSujet = nodSujet.getNodes().get(j);
|
||||
String nameNode = nodEnfantSujet.getNomElt();
|
||||
|
||||
|
||||
//*****************************
|
||||
//** Ajoute un saut de ligne **
|
||||
//*****************************
|
||||
PourAnalyse = meptl.addSaut(nodEnfantSujet, PourAnalyse);
|
||||
|
||||
//********************************
|
||||
//** Ajoute des sauts et titres **
|
||||
//********************************
|
||||
PourAnalyse = meptl.addNodeSautTitre(nodEnfantSujet, PourAnalyse); // ajoute des saut de page s'il y a des sauts avec des titres
|
||||
PourAnalyse = meptl.addNodeSautTitre(nodEnfantSujet, PourAnalyse);
|
||||
|
||||
//***************************************************
|
||||
//** Recherche le node correspondant de l'étudiant **
|
||||
@ -55,7 +61,7 @@ public class analyseLesNodesEnfants {
|
||||
//**************************************************************
|
||||
//** Analyse attribut et contenu du node enfant de l'étudiant **
|
||||
//**************************************************************
|
||||
PourAnalyse = meptl.analyseLesAttributEtContenuDuNode(nodStudentCorrespondantAuNodSujet, nodEnfantSujet, PourAnalyse, nomDuNodePourAnalyse,nameNode);
|
||||
PourAnalyse = meptl.evalLesAttributEtContenuDuNode(nodStudentCorrespondantAuNodSujet, nodEnfantSujet, PourAnalyse, nomDuNodePourAnalyse,nameNode);
|
||||
|
||||
//*******************************
|
||||
//** méthode analyseStyle=true **
|
||||
@ -114,10 +120,21 @@ public class analyseLesNodesEnfants {
|
||||
//ajoute les valeurs par défaut.
|
||||
if(StyleParagraphStudent!=null) StyleParagraphStudent = meptl.ajouteValeurParDefautAuStyleParagraph(nodStudentParagraphs , StyleParagraphStudent);
|
||||
|
||||
//*****************************
|
||||
//** Ajoute un saut de ligne **
|
||||
//*****************************
|
||||
PourAnalyse = meptl.addSaut(StyleParagraphSujet, PourAnalyse);
|
||||
|
||||
//********************************
|
||||
//** Ajoute des sauts et titres **
|
||||
//********************************
|
||||
PourAnalyse = meptl.addNodeSautTitre(StyleParagraphSujet, PourAnalyse);
|
||||
|
||||
|
||||
//**************************************************************
|
||||
//** Analyse attribut et contenu du node enfant de l'étudiant **
|
||||
//**************************************************************
|
||||
PourAnalyse = meptl.analyseLesAttributAnalyseStyle(StyleParagraphStudent, StyleParagraphSujet, PourAnalyse, nomDuNodePourAnalyse,"style:style");
|
||||
PourAnalyse = meptl.evalLesAttributAnalyseStyle(StyleParagraphStudent, StyleParagraphSujet, PourAnalyse, nomDuNodePourAnalyse,"style:style");
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -47,35 +47,41 @@ public class analyseLesNodesPrincipaux {
|
||||
biblio.setNomElt("biblio");
|
||||
biblio.getAttributs().put("namebiblio", nomDeLaBiblio);
|
||||
|
||||
if(nodSujetBibio.getAttributs().get("titre")!=null) {
|
||||
biblio.getAttributs().put("titre", nodSujetBibio.getAttributs().get("titre"));
|
||||
}
|
||||
//*****************************
|
||||
//** Ajoute un saut de ligne **
|
||||
//*****************************
|
||||
biblio = meptl.addSaut(nodSujetBibio,biblio);
|
||||
|
||||
//*********************
|
||||
//** Ajoute un titre **
|
||||
//*********************
|
||||
biblio = meptl.addNodeSautTitre(nodSujetBibio,biblio);
|
||||
|
||||
|
||||
String TitreTable = outils.withoutCodeAndPoint(nodSujetBibio.retourneFirstEnfantsByName("text:index-title").retourneLesContenusEnfants(""));
|
||||
|
||||
node nodSujet = a.retourneFirstNodeParagrapheContain(a.retourneNames(nodSujetBiblio, "text:index-body"), TitreTable);
|
||||
node nodStudent = a.retourneFirstNodeParagrapheContain(a.retourneNames(nodStudentBiblio, "text:index-body"), TitreTable);
|
||||
|
||||
biblio = meptl.analyseLesAttributEtContenuDuNode(nodStudent, nodSujet, biblio, "ana:biblio", nodSujet.getNomElt());
|
||||
biblio = meptl.evalLesAttributEtContenuDuNode(nodStudent, nodSujet, biblio, "ana:biblio", nodSujet.getNomElt());
|
||||
|
||||
for(int j =0 ; j < nodSujet.getNodes().size();j++) {
|
||||
if(nodStudent!=null) {
|
||||
if(j<nodStudent.getNodes().size()) {
|
||||
biblio = meptl.analyseLesAttributEtContenuDuNode(nodStudent.getNodes().get(j), nodSujet.getNodes().get(j), biblio, "ana:biblio", nodSujet.getNodes().get(j).getNomElt());
|
||||
biblio = meptl.evalLesAttributEtContenuDuNode(nodStudent.getNodes().get(j), nodSujet.getNodes().get(j), biblio, "ana:biblio", 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()) {
|
||||
biblio = meptl.analyseLesAttributEtContenuDuNode(nodStudent.getNodes().get(j).getNodes().get(k), nodSujet.getNodes().get(j).getNodes().get(k), biblio, "ana:biblio", nodSujet.getNodes().get(j).getNodes().get(k).getNomElt());
|
||||
biblio = meptl.evalLesAttributEtContenuDuNode(nodStudent.getNodes().get(j).getNodes().get(k), nodSujet.getNodes().get(j).getNodes().get(k), biblio, "ana:biblio", nodSujet.getNodes().get(j).getNodes().get(k).getNomElt());
|
||||
}else {
|
||||
biblio = meptl.analyseLesAttributEtContenuDuNode(null, nodSujet.getNodes().get(j).getNodes().get(k), biblio, "ana:biblio", nodSujet.getNodes().get(j).getNodes().get(k).getNomElt());
|
||||
biblio = meptl.evalLesAttributEtContenuDuNode(null, nodSujet.getNodes().get(j).getNodes().get(k), biblio, "ana:biblio", nodSujet.getNodes().get(j).getNodes().get(k).getNomElt());
|
||||
}
|
||||
}
|
||||
}else {
|
||||
biblio = meptl.analyseLesAttributEtContenuDuNode(null, nodSujet.getNodes().get(j), biblio, "ana:biblio", nodSujet.getNodes().get(j).getNomElt());
|
||||
biblio = meptl.evalLesAttributEtContenuDuNode(null, nodSujet.getNodes().get(j), biblio, "ana:biblio", nodSujet.getNodes().get(j).getNomElt());
|
||||
}
|
||||
}else {
|
||||
biblio = meptl.analyseLesAttributEtContenuDuNode(null, nodSujet.getNodes().get(j), biblio, "ana:biblio", nodSujet.getNodes().get(j).getNomElt());
|
||||
biblio = meptl.evalLesAttributEtContenuDuNode(null, nodSujet.getNodes().get(j), biblio, "ana:biblio", nodSujet.getNodes().get(j).getNomElt());
|
||||
for(int k=0; k<nodSujet.getNodes().get(j).getNodes().size();k++) {
|
||||
biblio = meptl.analyseLesAttributEtContenuDuNode(null, nodSujet.getNodes().get(j).getNodes().get(k), biblio, "ana:biblio", nodSujet.getNodes().get(j).getNodes().get(k).getNomElt());
|
||||
biblio = meptl.evalLesAttributEtContenuDuNode(null, nodSujet.getNodes().get(j).getNodes().get(k), biblio, "ana:biblio", nodSujet.getNodes().get(j).getNodes().get(k).getNomElt());
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -128,6 +134,7 @@ public class analyseLesNodesPrincipaux {
|
||||
//*******************************************************************
|
||||
for(int i = 0 ; i < nodSujetNumerotation.getNodes().size(); i++) {
|
||||
if(nodSujetNumerotation.getNodes().get(i).getNomElt().equals("text:outline-level-style")) {
|
||||
node numerotationSujet = nodSujetNumerotation.getNodes().get(i);
|
||||
int pointDebut = outils.getPointsClass();
|
||||
int pointTotalDebut = outils.getPointTotal();
|
||||
String levelnumrotation = outils.withoutCodeAndPoint(nodSujetNumerotation.getNodes().get(i).getAttributs().get("text:level"));
|
||||
@ -136,13 +143,26 @@ public class analyseLesNodesPrincipaux {
|
||||
numerotation.getAttributs().put("level", levelnumrotation);
|
||||
if(nodSujetNumerotation.getNodes().get(i).getAttributs().get("titre")!=null) numerotation.getAttributs().put("titre", nodSujetNumerotation.getNodes().get(i).getAttributs().get("titre"));
|
||||
|
||||
//*****************************
|
||||
//** Ajoute un saut de ligne **
|
||||
//*****************************
|
||||
numerotation = meptl.addSaut(numerotationSujet,numerotation);
|
||||
|
||||
//*********************
|
||||
//** Ajoute un titre **
|
||||
//*********************
|
||||
numerotation = meptl.addNodeSautTitre(numerotationSujet,numerotation);
|
||||
|
||||
//*******************************
|
||||
//** Recherche le node Student **
|
||||
//*******************************
|
||||
node numerotationStudent = a.retourneFirstNodeByNameAttributValue(nodStudentNumerotation, "text:outline-level-style", "text:level", levelnumrotation);
|
||||
node numerotationSujet = nodSujetNumerotation.getNodes().get(i);
|
||||
|
||||
|
||||
//********************************************
|
||||
//** analyse les attributs des nodes <page> **
|
||||
//********************************************
|
||||
numerotation = meptl.analyseLesAttributEtContenuDuNode(numerotationStudent, numerotationSujet, numerotation, "ana:numerotation",numerotationSujet.getNomElt());
|
||||
numerotation = meptl.evalLesAttributEtContenuDuNode(numerotationStudent, numerotationSujet, numerotation, "ana:numerotation",numerotationSujet.getNomElt());
|
||||
|
||||
//************************************
|
||||
//** analyse tous les nodes enfants **
|
||||
@ -209,6 +229,11 @@ public class analyseLesNodesPrincipaux {
|
||||
frame.setNomElt("frame");
|
||||
frame.getAttributs().put("nameframe", nomDuFrame);
|
||||
|
||||
//*****************************
|
||||
//** Ajoute un saut de ligne **
|
||||
//*****************************
|
||||
frame = meptl.addSaut(frameSujet,frame);
|
||||
|
||||
//*********************
|
||||
//** Ajoute un titre **
|
||||
//*********************
|
||||
@ -222,7 +247,7 @@ public class analyseLesNodesPrincipaux {
|
||||
//********************************************
|
||||
//** analyse les attributs des nodes <page> **
|
||||
//********************************************
|
||||
frame = meptl.analyseLesAttributEtContenuDuNode(frameStudent, frameSujet, frame, "ana:frame",frameSujet.getNomElt());
|
||||
frame = meptl.evalLesAttributEtContenuDuNode(frameStudent, frameSujet, frame, "ana:frame",frameSujet.getNomElt());
|
||||
|
||||
//************************************
|
||||
//** analyse tous les nodes enfants **
|
||||
@ -282,6 +307,11 @@ public class analyseLesNodesPrincipaux {
|
||||
node nodSujet = sujet.get(i);
|
||||
String namenode = nodSujet.getNomElt();
|
||||
|
||||
//*****************************
|
||||
//** Ajoute un saut de ligne **
|
||||
//*****************************
|
||||
nodmeta = meptl.addSaut(nodSujet,nodmeta);
|
||||
|
||||
//*********************
|
||||
//** Ajoute un titre **
|
||||
//*********************
|
||||
@ -299,7 +329,7 @@ public class analyseLesNodesPrincipaux {
|
||||
//** Recherche le node Student **
|
||||
//*******************************
|
||||
node nodStudent = a.retourneFirstNodeByNameAttributContainsValueNetTexte(nodStudentMeta, namenode,k,outils.withoutCodeAndPointPourRechercheContenuExact(valueOfAttribut));
|
||||
nodmeta = meptl.analyseLesAttributEtContenuDuNode(nodStudent, nodSujet, nodmeta, "ana:meta", namenode);
|
||||
nodmeta = meptl.evalLesAttributEtContenuDuNode(nodStudent, nodSujet, nodmeta, "ana:meta", namenode);
|
||||
}
|
||||
}
|
||||
}else {
|
||||
@ -310,12 +340,12 @@ public class analyseLesNodesPrincipaux {
|
||||
|
||||
if(NStudent!=null) {
|
||||
if(!NStudent.isEmpty()) {
|
||||
nodmeta = meptl.analyseLesAttributEtContenuDuNode(NStudent.get(0), sujet.get(i), nodmeta, "ana:meta", namenode);
|
||||
nodmeta = meptl.evalLesAttributEtContenuDuNode(NStudent.get(0), sujet.get(i), nodmeta, "ana:meta", namenode);
|
||||
}else {
|
||||
nodmeta = meptl.analyseLesAttributEtContenuDuNode(null, sujet.get(i), nodmeta, "ana:meta", namenode);
|
||||
nodmeta = meptl.evalLesAttributEtContenuDuNode(null, sujet.get(i), nodmeta, "ana:meta", namenode);
|
||||
}
|
||||
}else {
|
||||
nodmeta = meptl.analyseLesAttributEtContenuDuNode(null, sujet.get(i), nodmeta, "ana:meta", namenode);
|
||||
nodmeta = meptl.evalLesAttributEtContenuDuNode(null, sujet.get(i), nodmeta, "ana:meta", namenode);
|
||||
}
|
||||
|
||||
}
|
||||
@ -361,7 +391,7 @@ public class analyseLesNodesPrincipaux {
|
||||
//*******************************************************
|
||||
//** Parcours les nodes enfants du node <text:section> **
|
||||
//*******************************************************
|
||||
for(int i = 0 ; i < nodSujetSections.getNodes().size(); i++) { //niveau 1
|
||||
for(int i = 0 ; i < nodSujetSections.getNodes().size(); i++) {
|
||||
if(nodSujetSections.getNodes().get(i).getNomElt().equals("text:section")) {
|
||||
node sectionSujet = nodSujetSections.getNodes().get(i);
|
||||
int pointDebut = outils.getPointsClass();
|
||||
@ -372,6 +402,11 @@ public class analyseLesNodesPrincipaux {
|
||||
section.setNomElt("section");
|
||||
section.getAttributs().put("namesection", nomDeLaSection);
|
||||
|
||||
//*****************************
|
||||
//** Ajoute un saut de ligne **
|
||||
//*****************************
|
||||
section = meptl.addSaut(sectionSujet,section);
|
||||
|
||||
//*********************
|
||||
//** Ajoute un titre **
|
||||
//*********************
|
||||
@ -385,7 +420,7 @@ public class analyseLesNodesPrincipaux {
|
||||
//***********************************************
|
||||
//** analyse les attributs des nodes <section> **
|
||||
//***********************************************
|
||||
section = meptl.analyseLesAttributEtContenuDuNode(sectionStudent, sectionSujet, section, "ana:section",sectionSujet.getNomElt());
|
||||
section = meptl.evalLesAttributEtContenuDuNode(sectionStudent, sectionSujet, section, "ana:section",sectionSujet.getNomElt());
|
||||
|
||||
//************************************
|
||||
//** analyse tous les nodes enfants **
|
||||
@ -493,7 +528,7 @@ public class analyseLesNodesPrincipaux {
|
||||
node nodseq = new node();
|
||||
nodseq.setNomElt("sequences");
|
||||
nodseq.setAttributs(nodSujetSequence.getAttributs());
|
||||
nodseq.setContenu(nodSujetSequence.getContenu()); //ajoute le commantire
|
||||
nodseq.setContenu(nodSujetSequence.getContenu()); //ajoute le commentaire
|
||||
|
||||
//***************************************
|
||||
//** Ajoute l'identifiant pour le menu **
|
||||
@ -520,6 +555,11 @@ public class analyseLesNodesPrincipaux {
|
||||
seq.setNomElt("sequence");
|
||||
seq.getAttributs().put("name", nomSequence);
|
||||
|
||||
//*****************************
|
||||
//** Ajoute un saut de ligne **
|
||||
//*****************************
|
||||
seq = meptl.addSaut(seqSujet,seq);
|
||||
|
||||
//*********************
|
||||
//** Ajoute un titre **
|
||||
//*********************
|
||||
@ -538,7 +578,7 @@ public class analyseLesNodesPrincipaux {
|
||||
//***********************************************
|
||||
//** analyse les attributs des nodes <section> **
|
||||
//***********************************************
|
||||
seq = meptl.analyseLesAttributEtContenuDuNode(seqStudent, seqSujet, seq, "ana:seq",seqSujet.getNomElt());
|
||||
seq = meptl.evalLesAttributEtContenuDuNode(seqStudent, seqSujet, seq, "ana:seq",seqSujet.getNomElt());
|
||||
|
||||
//****************************************************************
|
||||
//** Insère les attributs des points dans les node de l'analyse **
|
||||
@ -588,7 +628,7 @@ public class analyseLesNodesPrincipaux {
|
||||
//******************************************************
|
||||
//** Parcours les nodes enfants du node <table:table> **
|
||||
//******************************************************
|
||||
for(int i = 0 ; i < nodSujetTableaux.getNodes().size(); i++) { //niveau 1
|
||||
for(int i = 0 ; i < nodSujetTableaux.getNodes().size(); i++) {
|
||||
if(nodSujetTableaux.getNodes().get(i).getNomElt().equals("table:table")) {
|
||||
int pointDebut = outils.getPointsClass();
|
||||
int pointTotalDebut = outils.getPointTotal();
|
||||
@ -599,6 +639,11 @@ public class analyseLesNodesPrincipaux {
|
||||
tableau.setNomElt("tableau");
|
||||
tableau.getAttributs().put("nametableau", nomDeLaTable);
|
||||
|
||||
//*****************************
|
||||
//** Ajoute un saut de ligne **
|
||||
//*****************************
|
||||
tableau = meptl.addSaut(tableSujet,tableau);
|
||||
|
||||
//*********************
|
||||
//** Ajoute un titre **
|
||||
//*********************
|
||||
@ -612,7 +657,7 @@ public class analyseLesNodesPrincipaux {
|
||||
//***************************************************
|
||||
//** analyse les attributs des nodes <table:table> **
|
||||
//***************************************************
|
||||
tableau = meptl.analyseLesAttributEtContenuDuNode(tableauStudent, tableSujet, tableau, "ana:tableau",tableSujet.getNomElt());
|
||||
tableau = meptl.evalLesAttributEtContenuDuNode(tableauStudent, tableSujet, tableau, "ana:tableau",tableSujet.getNomElt());
|
||||
|
||||
//************************************
|
||||
//** analyse tous les nodes enfants **
|
||||
@ -713,72 +758,88 @@ public class analyseLesNodesPrincipaux {
|
||||
nodTablesMs.setAttributs(nodSujetTableI.getAttributs());//ajoute tous les attributs du sujet
|
||||
nodTablesMs.setContenu(nodSujetTableI.getContenu());//ajoute le commentaire du sujet
|
||||
|
||||
//ajoute l'identifiant pour le menu
|
||||
//***************************************
|
||||
//** Ajoute l'identifiant pour le menu **
|
||||
//***************************************
|
||||
if(a.retourneFirstNodeByNameAttributValue(nodmenu, "item", "name", "tableillustrations")!=null) {
|
||||
nodTablesMs.getAttributs().put("id", a.retourneFirstNodeByNameAttributValue(nodmenu, "item", "name", "tableillustrations").getAttributs().get("id"));
|
||||
}
|
||||
|
||||
//initialise les points
|
||||
//***************************
|
||||
//** initialise les points **
|
||||
//***************************
|
||||
outils.initiliseLesPoints();
|
||||
|
||||
|
||||
for(int i = 0 ; i < nodSujetTableI.getNodes().size(); i++) {
|
||||
if(nodSujetTableI.getNodes().get(i).getNomElt().equals("text:illustration-index")) {
|
||||
int pointDebut = outils.getPointsClass();
|
||||
int pointTotalDebut = outils.getPointTotal();
|
||||
node table = new node();
|
||||
table.setNomElt("tableillustrations");
|
||||
String TitreTable = outils.withoutCodeAndPoint(nodSujetTableI.getNodes().get(i).retourneFirstEnfantsByName("text:index-title").retourneLesContenusEnfants(""));
|
||||
node nodSujet = a.retourneFirstNodeParagrapheContain(a.retourneNames(nodSujetTableI, "text:index-body"), TitreTable);
|
||||
|
||||
//*****************************
|
||||
//** Ajoute un saut de ligne **
|
||||
//*****************************
|
||||
table = meptl.addSaut(nodSujet,table);
|
||||
|
||||
//*********************
|
||||
//** Ajoute un titre **
|
||||
//*********************
|
||||
if(nodSujetTableI.getNodes().get(i).getAttributs().get("titre")!=null) {
|
||||
String titre = nodSujetTableI.getNodes().get(i).getAttributs().get("titre");
|
||||
if(!titre.isEmpty()) table.getAttributs().put("titre", titre);
|
||||
}
|
||||
table = meptl.addNodeSautTitre(nodSujet,table);
|
||||
|
||||
|
||||
int pointDebut = outils.getPointsClass();
|
||||
int pointTotalDebut = outils.getPointTotal();
|
||||
String TitreTable = outils.withoutCodeAndPoint(nodSujetTableI.getNodes().get(i).retourneFirstEnfantsByName("text:index-title").retourneLesContenusEnfants(""));
|
||||
|
||||
node nodSujet = a.retourneFirstNodeParagrapheContain(a.retourneNames(nodSujetTableI, "text:index-body"), TitreTable);
|
||||
//*******************************
|
||||
//** Recherche le node Student **
|
||||
//*******************************
|
||||
node nodStudent = a.retourneFirstNodeParagrapheContain(a.retourneNames(nodStudentTableI, "text:index-body"), TitreTable);
|
||||
|
||||
table = meptl.analyseLesAttributEtContenuDuNode(nodStudent, nodSujet, table, "ana:tableillustration", nodSujet.getNomElt());
|
||||
//*********************************************
|
||||
//** analyse les attributs des nodes <table> **
|
||||
//*********************************************
|
||||
table = meptl.evalLesAttributEtContenuDuNode(nodStudent, nodSujet, table, "ana:tableillustration", nodSujet.getNomElt());
|
||||
|
||||
//****************************************************************
|
||||
//** Parcours les nodes enfants du node <text:illustration-index> **
|
||||
//****************************************************************
|
||||
for(int j =0 ; j < nodSujet.getNodes().size();j++) {
|
||||
if(nodStudent!=null) {
|
||||
if(j<nodStudent.getNodes().size()) {
|
||||
table = meptl.analyseLesAttributEtContenuDuNode(nodStudent.getNodes().get(j), nodSujet.getNodes().get(j), table, "ana:tableillustration", nodSujet.getNodes().get(j).getNomElt());
|
||||
table = meptl.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 = meptl.analyseLesAttributEtContenuDuNode(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());
|
||||
table = meptl.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 = meptl.analyseLesAttributEtContenuDuNode(null, nodSujet.getNodes().get(j).getNodes().get(k), table, "ana:tableillustration", nodSujet.getNodes().get(j).getNodes().get(k).getNomElt());
|
||||
table = meptl.evalLesAttributEtContenuDuNode(null, nodSujet.getNodes().get(j).getNodes().get(k), table, "ana:tableillustration", nodSujet.getNodes().get(j).getNodes().get(k).getNomElt());
|
||||
}
|
||||
}
|
||||
}else {
|
||||
table = meptl.analyseLesAttributEtContenuDuNode(null, nodSujet.getNodes().get(j), table, "ana:tableillustration", nodSujet.getNodes().get(j).getNomElt());
|
||||
table = meptl.evalLesAttributEtContenuDuNode(null, nodSujet.getNodes().get(j), table, "ana:tableillustration", nodSujet.getNodes().get(j).getNomElt());
|
||||
}
|
||||
}else {
|
||||
table = meptl.analyseLesAttributEtContenuDuNode(null, nodSujet.getNodes().get(j), table, "ana:tableillustration", nodSujet.getNodes().get(j).getNomElt());
|
||||
table = meptl.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 = meptl.analyseLesAttributEtContenuDuNode(null, nodSujet.getNodes().get(j).getNodes().get(k), table, "ana:tableillustration", nodSujet.getNodes().get(j).getNodes().get(k).getNomElt());
|
||||
table = meptl.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 **
|
||||
//****************************************************************
|
||||
table.getAttributs().put("point", String.valueOf(outils.getPointsClass()-pointDebut));
|
||||
table.getAttributs().put("pointTotal", String.valueOf(outils.getPointTotal()-pointTotalDebut));
|
||||
nodTablesMs.getNodes().add(table);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
//****************************************************************
|
||||
//** Insère les attributs des points dans les node de l'analyse **
|
||||
//****************************************************************
|
||||
nodTablesMs.getAttributs().put("pointgagner",String.valueOf(outils.getPointsClass()));
|
||||
nodTablesMs.getAttributs().put("pointtotal",String.valueOf(outils.getPointTotal()));
|
||||
nodTablesMs.getAttributs().put("proportioncorrect",String.valueOf(outils.getProportionCorrect()));
|
||||
nodTablesMs.setClose(true);
|
||||
|
||||
return nodTablesMs;
|
||||
}
|
||||
|
||||
@ -796,12 +857,16 @@ public class analyseLesNodesPrincipaux {
|
||||
nodTablesMs.setAttributs(nodSujetTableM.getAttributs());//ajoute tous les attributs du sujet
|
||||
nodTablesMs.setContenu(nodSujetTableM.getContenu());//ajoute le commentaire du sujet
|
||||
|
||||
//ajoute l'identifiant pour le menu
|
||||
//***************************************
|
||||
//** Ajoute l'identifiant pour le menu **
|
||||
//***************************************
|
||||
if(a.retourneFirstNodeByNameAttributValue(nodmenu, "item", "name", "tablematieres")!=null) {
|
||||
nodTablesMs.getAttributs().put("id", a.retourneFirstNodeByNameAttributValue(nodmenu, "item", "name", "tablematieres").getAttributs().get("id"));
|
||||
}
|
||||
|
||||
//initialise les points
|
||||
//***************************
|
||||
//** initialise les points **
|
||||
//***************************
|
||||
outils.initiliseLesPoints();
|
||||
|
||||
|
||||
@ -809,59 +874,74 @@ public class analyseLesNodesPrincipaux {
|
||||
if(nodSujetTableM.getNodes().get(i).getNomElt().equals("text:table-of-content")) {
|
||||
node table = new node();
|
||||
table.setNomElt("tablematiere");
|
||||
|
||||
//*********************
|
||||
//** Ajoute un titre **
|
||||
//*********************
|
||||
if(nodSujetTableM.getNodes().get(i).getAttributs().get("titre")!=null) {
|
||||
String titre = nodSujetTableM.getNodes().get(i).getAttributs().get("titre");
|
||||
if(!titre.isEmpty()) table.getAttributs().put("titre", titre);
|
||||
}
|
||||
|
||||
|
||||
int pointDebut = outils.getPointsClass();
|
||||
int pointTotalDebut = outils.getPointTotal();
|
||||
String TitreTable = outils.withoutCodeAndPoint(nodSujetTableM.getNodes().get(i).retourneFirstEnfantsByName("text:index-title").retourneLesContenusEnfants(""));
|
||||
|
||||
node nodSujet = a.retourneFirstNodeParagrapheContain(a.retourneNames(nodSujetTableM, "text:index-body"), TitreTable);
|
||||
|
||||
//*****************************
|
||||
//** Ajoute un saut de ligne **
|
||||
//*****************************
|
||||
table = meptl.addSaut(nodSujet,table);
|
||||
|
||||
//*********************
|
||||
//** Ajoute un titre **
|
||||
//*********************
|
||||
table = meptl.addNodeSautTitre(nodSujet,table);
|
||||
|
||||
//*******************************
|
||||
//** Recherche le node Student **
|
||||
//*******************************
|
||||
node nodStudent = a.retourneFirstNodeParagrapheContain(a.retourneNames(nodStudentTableM, "text:index-body"), TitreTable);
|
||||
|
||||
table = meptl.analyseLesAttributEtContenuDuNode(nodStudent, nodSujet, table, "ana:tablematiere", nodSujet.getNomElt());
|
||||
//*********************************************
|
||||
//** analyse les attributs des nodes <table> **
|
||||
//*********************************************
|
||||
table = meptl.evalLesAttributEtContenuDuNode(nodStudent, nodSujet, table, "ana:tablematiere", nodSujet.getNomElt());
|
||||
|
||||
//****************************************************************
|
||||
//** Parcours les nodes enfants du node <text:table-of-content> **
|
||||
//****************************************************************
|
||||
for(int j =0 ; j < nodSujet.getNodes().size();j++) {
|
||||
if(nodStudent!=null) {
|
||||
if(j<nodStudent.getNodes().size()) {
|
||||
table = meptl.analyseLesAttributEtContenuDuNode(nodStudent.getNodes().get(j), nodSujet.getNodes().get(j), table, "ana:tablematiere", nodSujet.getNodes().get(j).getNomElt());
|
||||
table = meptl.evalLesAttributEtContenuDuNode(nodStudent.getNodes().get(j), nodSujet.getNodes().get(j), table, "ana:tablematiere", 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 = meptl.analyseLesAttributEtContenuDuNode(nodStudent.getNodes().get(j).getNodes().get(k), nodSujet.getNodes().get(j).getNodes().get(k), table, "ana:tablematiere", nodSujet.getNodes().get(j).getNodes().get(k).getNomElt());
|
||||
table = meptl.evalLesAttributEtContenuDuNode(nodStudent.getNodes().get(j).getNodes().get(k), nodSujet.getNodes().get(j).getNodes().get(k), table, "ana:tablematiere", nodSujet.getNodes().get(j).getNodes().get(k).getNomElt());
|
||||
}else {
|
||||
table = meptl.analyseLesAttributEtContenuDuNode(null, nodSujet.getNodes().get(j).getNodes().get(k), table, "ana:tablematiere", nodSujet.getNodes().get(j).getNodes().get(k).getNomElt());
|
||||
table = meptl.evalLesAttributEtContenuDuNode(null, nodSujet.getNodes().get(j).getNodes().get(k), table, "ana:tablematiere", nodSujet.getNodes().get(j).getNodes().get(k).getNomElt());
|
||||
}
|
||||
}
|
||||
}else {
|
||||
table = meptl.analyseLesAttributEtContenuDuNode(null, nodSujet.getNodes().get(j), table, "ana:tablematiere", nodSujet.getNodes().get(j).getNomElt());
|
||||
table = meptl.evalLesAttributEtContenuDuNode(null, nodSujet.getNodes().get(j), table, "ana:tablematiere", nodSujet.getNodes().get(j).getNomElt());
|
||||
}
|
||||
}else {
|
||||
table = meptl.analyseLesAttributEtContenuDuNode(null, nodSujet.getNodes().get(j), table, "ana:tablematiere", nodSujet.getNodes().get(j).getNomElt());
|
||||
table = meptl.evalLesAttributEtContenuDuNode(null, nodSujet.getNodes().get(j), table, "ana:tablematiere", nodSujet.getNodes().get(j).getNomElt());
|
||||
for(int k=0; k<nodSujet.getNodes().get(j).getNodes().size();k++) {
|
||||
table = meptl.analyseLesAttributEtContenuDuNode(null, nodSujet.getNodes().get(j).getNodes().get(k), table, "ana:tablematiere", nodSujet.getNodes().get(j).getNodes().get(k).getNomElt());
|
||||
table = meptl.evalLesAttributEtContenuDuNode(null, nodSujet.getNodes().get(j).getNodes().get(k), table, "ana:tablematiere", nodSujet.getNodes().get(j).getNodes().get(k).getNomElt());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//****************************************************************
|
||||
//** Insère les attributs des points dans les node de l'analyse **
|
||||
//****************************************************************
|
||||
table.getAttributs().put("point", String.valueOf(outils.getPointsClass()-pointDebut));
|
||||
table.getAttributs().put("pointTotal", String.valueOf(outils.getPointTotal()-pointTotalDebut));
|
||||
nodTablesMs.getNodes().add(table);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
//****************************************************************
|
||||
//** Insère les attributs des points dans les node de l'analyse **
|
||||
//****************************************************************
|
||||
nodTablesMs.getAttributs().put("pointgagner",String.valueOf(outils.getPointsClass()));
|
||||
nodTablesMs.getAttributs().put("pointtotal",String.valueOf(outils.getPointTotal()));
|
||||
nodTablesMs.getAttributs().put("proportioncorrect",String.valueOf(outils.getProportionCorrect()));
|
||||
nodTablesMs.setClose(true);
|
||||
|
||||
return nodTablesMs;
|
||||
}
|
||||
|
||||
@ -904,6 +984,11 @@ public class analyseLesNodesPrincipaux {
|
||||
page.setNomElt("page");
|
||||
page.getAttributs().put("name", nomDeLaPage);
|
||||
|
||||
//*****************************
|
||||
//** Ajoute un saut de ligne **
|
||||
//*****************************
|
||||
page = meptl.addSaut(pageSujet,page);
|
||||
|
||||
//*********************
|
||||
//** Ajoute un titre **
|
||||
//*********************
|
||||
@ -917,7 +1002,7 @@ public class analyseLesNodesPrincipaux {
|
||||
//********************************************
|
||||
//** analyse les attributs des nodes <page> **
|
||||
//********************************************
|
||||
page = meptl.analyseLesAttributEtContenuDuNode(pageStudent, pageSujet, page, "ana:page",pageSujet.getNomElt());
|
||||
page = meptl.evalLesAttributEtContenuDuNode(pageStudent, pageSujet, page, "ana:page",pageSujet.getNomElt());
|
||||
|
||||
//**********************************************
|
||||
//** Analyse de tous les autres nodes enfants **
|
||||
@ -980,87 +1065,106 @@ public class analyseLesNodesPrincipaux {
|
||||
paragraph.setNomElt("paragraph");
|
||||
paragraph.getAttributs().put("name", nomDuParagraph);
|
||||
|
||||
//*****************************
|
||||
//** Ajoute un saut de ligne **
|
||||
//*****************************
|
||||
paragraph = meptl.addSaut(paragraphSujet,paragraph);
|
||||
|
||||
//*********************
|
||||
//** Ajoute un titre **
|
||||
//*********************
|
||||
if(paragraphSujet.getAttributs().get("titre")!=null) {
|
||||
paragraph.getAttributs().put("titre", nodSujetParagraph.getNodes().get(i).getAttributs().get("titre"));
|
||||
}
|
||||
paragraph = meptl.addNodeSautTitre(paragraphSujet,paragraph);
|
||||
|
||||
//*******************************
|
||||
//** Recherche le node Student **
|
||||
//*******************************
|
||||
node paragraphStudent = a.retourneFirstNodeByNameAttributValue(nodStudentParagraph, "style:style", "style:name", nomDuParagraph);
|
||||
|
||||
// ajoute les valeurs par héritage
|
||||
//**************************************************************
|
||||
//** Ajoute les valeurs par héritage au node paragraphStudent **
|
||||
//**************************************************************
|
||||
if(paragraphStudent!=null) paragraphStudent = meptl.ajouteValeurLesValeursDuStyleParagraphParent(nodStudentParagraph, paragraphStudent);
|
||||
|
||||
// ajoute les valeurs par défauts
|
||||
//************************************************************
|
||||
//** Ajoute les valeurs par défaut au node paragraphStudent **
|
||||
//************************************************************
|
||||
if(paragraphStudent!=null) paragraphStudent = meptl.ajouteValeurParDefautAuStyleParagraph(nodStudentParagraph, paragraphStudent);
|
||||
|
||||
// analyse les attributs du node
|
||||
paragraph = meptl.analyseLesAttributEtContenuDuNode(paragraphStudent, paragraphSujet, paragraph, "ana:paragraph",paragraphSujet.getNomElt());
|
||||
//*************************************************
|
||||
//** analyse les attributs des nodes <paragraph> **
|
||||
//*************************************************
|
||||
paragraph = meptl.evalLesAttributEtContenuDuNode(paragraphStudent, paragraphSujet, paragraph, "ana:paragraph",paragraphSujet.getNomElt());
|
||||
|
||||
// les enfants du premier niveau du node
|
||||
for(int j = 0 ; j < paragraphSujet.getNodes().size();j++ ) {
|
||||
|
||||
node nodSujet = paragraphSujet.getNodes().get(j);
|
||||
String nameNode = nodSujet.getNomElt();
|
||||
node nodStudent = null;
|
||||
if(paragraphStudent!=null) {
|
||||
if(paragraphStudent.retourneFirstEnfantsByName(nameNode).getNomElt().equals(nameNode)) {
|
||||
nodStudent = paragraphStudent.retourneFirstEnfantsByName(nameNode);
|
||||
}
|
||||
}
|
||||
|
||||
//insère un saut si titre pas vide et saut=true
|
||||
paragraph = meptl.addNodeSautTitre(nodSujet, paragraph);
|
||||
|
||||
// analyse attribut et contenu des enfants du premier niveau
|
||||
paragraph = meptl.analyseLesAttributEtContenuDuNode(nodStudent, nodSujet, paragraph, "ana:paragraph",nodSujet.getNomElt());
|
||||
//************************************
|
||||
//** analyse tous les nodes enfants **
|
||||
//************************************
|
||||
paragraph = analyseLesNodesEnfants.nodeNext(paragraph, "ana:paragraph", paragraphStudent, null, null, paragraphSujet, null, null, a);
|
||||
|
||||
|
||||
for(int k = 0 ; k < nodSujet.getNodes().size();k++) {
|
||||
node nod2Sujet = nodSujet.getNodes().get(k);
|
||||
String nameNode2 = nod2Sujet.getNomElt();
|
||||
node nod2Student = null;
|
||||
if(nodStudent!=null) if(nodStudent.retourneFirstEnfantsByName(nameNode2).getNomElt().equals(nameNode2)) {
|
||||
nod2Student = paragraphStudent.retourneFirstEnfantsByName(nameNode2);
|
||||
}
|
||||
|
||||
//insère un saut si titre pas vide et saut=true
|
||||
paragraph = meptl.addNodeSautTitre(nod2Sujet, paragraph);
|
||||
|
||||
// analyse attribut et contenu des enfants du second niveau
|
||||
paragraph = meptl.analyseLesAttributEtContenuDuNode(nod2Student, nod2Sujet, paragraph, "ana:paragraph",nod2Sujet.getNomElt() );
|
||||
|
||||
for(int l = 0 ; l < nod2Sujet.getNodes().size();l++) {
|
||||
node nod3Sujet = nod2Sujet.getNodes().get(l);
|
||||
String nameNode3 = nod3Sujet.getNomElt();
|
||||
node nod3Student = null;
|
||||
if(nod2Student!=null) if(nod2Student.retourneFirstEnfantsByName(nameNode3).getNomElt().equals(nameNode3)) {
|
||||
nod3Student = paragraphStudent.retourneFirstEnfantsByName(nameNode3);
|
||||
}
|
||||
|
||||
//insère un saut si titre pas vide et saut=true
|
||||
paragraph = meptl.addNodeSautTitre(nod3Sujet, paragraph);
|
||||
|
||||
// analyse attribut et contenu des enfants du troisième niveau
|
||||
paragraph = meptl.analyseLesAttributEtContenuDuNode(nod3Student, nod3Sujet, paragraph, "ana:paragraph", nod3Sujet.getNomElt());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
// // les enfants du premier niveau du node
|
||||
// for(int j = 0 ; j < paragraphSujet.getNodes().size();j++ ) {
|
||||
//
|
||||
// node nodSujet = paragraphSujet.getNodes().get(j);
|
||||
// String nameNode = nodSujet.getNomElt();
|
||||
// node nodStudent = null;
|
||||
// if(paragraphStudent!=null) {
|
||||
// if(paragraphStudent.retourneFirstEnfantsByName(nameNode).getNomElt().equals(nameNode)) {
|
||||
// nodStudent = paragraphStudent.retourneFirstEnfantsByName(nameNode);
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// //insère un saut si titre pas vide et saut=true
|
||||
// paragraph = meptl.addNodeSautTitre(nodSujet, paragraph);
|
||||
//
|
||||
// // analyse attribut et contenu des enfants du premier niveau
|
||||
// paragraph = meptl.evalLesAttributEtContenuDuNode(nodStudent, nodSujet, paragraph, "ana:paragraph",nodSujet.getNomElt());
|
||||
//
|
||||
//
|
||||
// for(int k = 0 ; k < nodSujet.getNodes().size();k++) {
|
||||
// node nod2Sujet = nodSujet.getNodes().get(k);
|
||||
// String nameNode2 = nod2Sujet.getNomElt();
|
||||
// node nod2Student = null;
|
||||
// if(nodStudent!=null) if(nodStudent.retourneFirstEnfantsByName(nameNode2).getNomElt().equals(nameNode2)) {
|
||||
// nod2Student = paragraphStudent.retourneFirstEnfantsByName(nameNode2);
|
||||
// }
|
||||
//
|
||||
// //insère un saut si titre pas vide et saut=true
|
||||
// paragraph = meptl.addNodeSautTitre(nod2Sujet, paragraph);
|
||||
//
|
||||
// // analyse attribut et contenu des enfants du second niveau
|
||||
// paragraph = meptl.evalLesAttributEtContenuDuNode(nod2Student, nod2Sujet, paragraph, "ana:paragraph",nod2Sujet.getNomElt() );
|
||||
//
|
||||
// for(int l = 0 ; l < nod2Sujet.getNodes().size();l++) {
|
||||
// node nod3Sujet = nod2Sujet.getNodes().get(l);
|
||||
// String nameNode3 = nod3Sujet.getNomElt();
|
||||
// node nod3Student = null;
|
||||
// if(nod2Student!=null) if(nod2Student.retourneFirstEnfantsByName(nameNode3).getNomElt().equals(nameNode3)) {
|
||||
// nod3Student = paragraphStudent.retourneFirstEnfantsByName(nameNode3);
|
||||
// }
|
||||
//
|
||||
// //insère un saut si titre pas vide et saut=true
|
||||
// paragraph = meptl.addNodeSautTitre(nod3Sujet, paragraph);
|
||||
//
|
||||
// // analyse attribut et contenu des enfants du troisième niveau
|
||||
// paragraph = meptl.evalLesAttributEtContenuDuNode(nod3Student, nod3Sujet, paragraph, "ana:paragraph", nod3Sujet.getNomElt());
|
||||
// }
|
||||
//
|
||||
// }
|
||||
//
|
||||
// }
|
||||
|
||||
//****************************************************************
|
||||
//** Insère les attributs des points dans les node de l'analyse **
|
||||
//****************************************************************
|
||||
paragraph.getAttributs().put("point", String.valueOf(outils.getPointsClass()-pointDebut));
|
||||
paragraph.getAttributs().put("pointTotal", String.valueOf(outils.getPointTotal()-pointTotalDebut));
|
||||
nodparagraphs.getNodes().add(paragraph);
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
//****************************************************************
|
||||
//** Insère les attributs des points dans les node de l'analyse **
|
||||
//****************************************************************
|
||||
nodparagraphs.getAttributs().put("pointgagner",String.valueOf(outils.getPointsClass()));
|
||||
nodparagraphs.getAttributs().put("pointtotal",String.valueOf(outils.getPointTotal()));
|
||||
nodparagraphs.getAttributs().put("proportioncorrect",String.valueOf(outils.getProportionCorrect()));
|
||||
@ -1072,7 +1176,7 @@ public class analyseLesNodesPrincipaux {
|
||||
* Cette méthode permet d'analyse la structure du document.</br>
|
||||
* La structure de l'étudiant est comparé avec la structure du sujet.</br>
|
||||
* Le node d'analyse est retourné.</br>
|
||||
* Le nom du node analysé pour cette partie est <page> puis <ana:page>.</br>
|
||||
* Le nom du node analysé pour cette partie est page puis ana:page.</br>
|
||||
* <br>
|
||||
* @param nodStudentS : node de la structure de l'étudiant.
|
||||
* @param nodSujetS : node de la structure du sujet.
|
||||
@ -1117,6 +1221,11 @@ public class analyseLesNodesPrincipaux {
|
||||
page.getAttributs().put("namepage", nomDeLaPage);
|
||||
page.getAttributs().put("numeroabsolue", numeroabsolue);
|
||||
|
||||
//*****************************
|
||||
//** Ajoute un saut de ligne **
|
||||
//*****************************
|
||||
page = meptl.addSaut(pageSujet,page);
|
||||
|
||||
//*********************
|
||||
//** Ajoute un titre **
|
||||
//*********************
|
||||
@ -1130,7 +1239,7 @@ public class analyseLesNodesPrincipaux {
|
||||
//********************************************
|
||||
//** analyse les attributs des nodes <page> **
|
||||
//********************************************
|
||||
page = meptl.analyseLesAttributEtContenuDuNode(pageStudent, pageSujet, page, "ana:page",pageSujet.getNomElt());
|
||||
page = meptl.evalLesAttributEtContenuDuNode(pageStudent, pageSujet, page, "ana:page",pageSujet.getNomElt());
|
||||
|
||||
//************************************
|
||||
//** analyse tous les nodes enfants **
|
||||
|
@ -24,6 +24,7 @@ public class commandes {
|
||||
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
|
||||
public static boolean ecritNodeAnalyse = false;
|
||||
public static boolean ecritNoteCSV = false; // ecriture note.csv
|
||||
public static boolean writefiles = false; // -writefiles permet d'écrire tous les fichiers XML après la lecture en node
|
||||
public static boolean calculLeHashDuFichier = false; // -hash retourne le hash du fichier d'analyse
|
||||
@ -82,18 +83,21 @@ public class commandes {
|
||||
if(args.length==0) {badCommand=true; System.out.println("Il doit y avoir une commande.");System.out.println("Vous pouvez saisir les commandes -aide ou -help pour obtenir la liste des commandes.");}
|
||||
for(int i = 0 ; i < args.length ; i++) {
|
||||
if(args[i].equals("-use")) if((i+1)<args.length) { if(!args[i+1].contains(".xml")) {badCommand=true; System.out.println("La commande -use doit être suivi du nom du fichier.");}}else {badCommand=true; System.out.println("La commande -use doit être suivi du nom du fichier.");}
|
||||
|
||||
if(args[i].contains(".xml")) {
|
||||
Matcher m = Pattern.compile("{1,}.xml$").matcher(args[i]);
|
||||
if(m.find()) {nameSujet = args[i];}else {badCommand=true;System.out.println("Il y a un problème avec l'extension du fichier d'analyse.\nL'extension doit être \".xml\".");};
|
||||
if(i-1>=0){
|
||||
if(args[i-1].equals("-use")) analyse=true;
|
||||
if(args[i-1].equals("-hash")) calculLeHashDuFichier=true;
|
||||
if(!analyse&&!calculLeHashDuFichier) {
|
||||
if(args[i-1].equals("-a")) ecritNodeAnalyse=true;
|
||||
if(!analyse&&!calculLeHashDuFichier&&!ecritNodeAnalyse) {
|
||||
badCommand=true;
|
||||
System.out.println("Les commandes -use ou -hash doit être suivi du nom du fichier d'analyse.");
|
||||
System.out.println("Les commandes -use ou -hash ou -a doit être suivi du nom du fichier d'analyse.");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(args[i].contains(".csv")) {
|
||||
Matcher m = Pattern.compile("{1,}.csv$").matcher(args[i]);
|
||||
if(m.find()) {fourniCSV=true; nameCSV = args[i];}else {badCommand=true;System.out.println("Il y a un problème avec l'extension du fichier CSV.\nL'extension doit être \".csv\".");}
|
||||
@ -156,6 +160,10 @@ public class commandes {
|
||||
if(args.length>2) {System.out.println("\n\n***\nLa commande -hash suivi du nom du fichier d'analyse doit être la seule commande.\n***");clotureWithError();}
|
||||
calculLeHashDuFichier=true;
|
||||
}
|
||||
if(args[i].equals("-a")) {
|
||||
if(args.length>2) {System.out.println("\n\n***\nLa commande -a suivi du nom du fichier d'analyse doit être la seule commande.\n***");clotureWithError();}
|
||||
ecritNodeAnalyse=true;
|
||||
}
|
||||
if(args[i].equals("-sujet")) {
|
||||
if(!(analyse&&args.length==3&&Command.contains("-use"))) {badCommand=true; System.out.println("Vous devez saisir la commande -use suivi du fichier d'analyse et après vous pouvez saisir la commande -sujet.");}
|
||||
ecritSujet=true;
|
||||
@ -209,7 +217,7 @@ public class commandes {
|
||||
&&!args[i].contains(".csv")&&!args[i].contains(".svg")&&!args[i].contains(".xml")&&!args[i].contains("-nofeedback")&&!args[i].contains("-help")&&!args[i].equals("-aide")
|
||||
&&!args[i].equals("-about")&&!args[i].equals("-nonote") &&!args[i].equals("-dest")&&!args[i].equals("-sujet")&&!args[i].equals("-nologo")
|
||||
&&!args[i].equals("-licence")&&!args[i].equals("-zipfeedback")&&!args[i].equals("-newLogo")&&!args[i].equals("-f")&&!m.find()&&!args[i].equals("-writefiles")
|
||||
&&!args[i].equals("-hash")&&!m.find()) {
|
||||
&&!args[i].equals("-hash")&&!m.find() &&!args[i].equals("-a")&&!m.find()) {
|
||||
badCommand=true; System.out.println("La commande " + args[i] + " est inconnu.");System.out.println("Vous pouvez taper \"java -jar analyseWriter.jar -aide\" pour obtenir la liste des commandes.");
|
||||
}
|
||||
}
|
||||
|
@ -80,83 +80,22 @@ public class feedbacks {
|
||||
|
||||
// auteur du sujet
|
||||
String auteurSujet = nodana.retourneFirstEnfantsByName("ouverture").getAttributs().get("auteur");
|
||||
if(auteurSujet==null) auteurSujet="";
|
||||
|
||||
|
||||
//création du feedback
|
||||
fichier.append("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">\r"
|
||||
+ "<html>\r"
|
||||
+ "<head>\r"
|
||||
+ "<meta http-equiv=\"content-type\" content=\"text/html; charset=UTF-8\"/>\r"
|
||||
+ "<title>Analyse LibreOffice Calc</title>\r");
|
||||
+ "<title>Fichier généré par AnalyseWriter - Développeur : Pablo Rodriguez</title>\r");
|
||||
|
||||
fichier.append("<meta name=\"generator\" content=\"AnalyseMEPTL V1.0\"/>"
|
||||
+ "<meta name=\"author\" content=\"Pablo Rodriguez\"/>"
|
||||
+ "<meta name=\"created\" content=\""+ nodana.retourneFirstEnfantsByName("ouverture").getAttributs().get("date") +"\"/>");
|
||||
fichier.append("\r<meta name=\"generator\" content=\"AnalyseWriter "+commandes.version+"\"/>"
|
||||
+ "\r<meta name=\"author\" content=\""+auteurSujet+"\"/>"
|
||||
+ "\r<meta name=\"created\" content=\""+ nodana.retourneFirstEnfantsByName("ouverture").getAttributs().get("date") +"\"/>");
|
||||
|
||||
|
||||
fichier.append("<style type=\"text/css\">"
|
||||
+ "p.pablo { margin-bottom: 0.25cm; line-height: 100%; background: transparent; margin-left: 1cm; }"
|
||||
+ ".header {background-color: #f1f1f1;padding: 30px;text-align:center;}"
|
||||
+ "h1 { margin-bottom: 0.25cm; background: transparent;}"
|
||||
+ "h2 {color: blue;font-size:22pt;margin-bottom: 0cm; margin-top: 0cm; line-height: 110%; background: transparent; margin-left: 20pt; margin-right: 10px; text-decoration: underline overline;}"
|
||||
+ "h3 {font-size:18pt;margin-bottom: 0cm; margin-top: 0cm; line-height: 110%; background: transparent; margin-left: 20pt;}"
|
||||
+ "header.h1.western { font-family: \"Arial\"; font-size: 18pt; font-weight: bold; backgroung: #adff2f;}"
|
||||
+ ".header p {color:blue; font-size:30px;}"
|
||||
+ ".triche {background: #AA0000;padding-top: 5px;padding-right: 5px;padding-bottom: 5px;padding-left: 5px;width=80%;margin-top:18px; box-shadow: 5px 10px 18px #800000;}"
|
||||
+ ".triche p {color:white; font-size:16px;margin-left:10px;margin-bottom:6px;margin-top:6px}"
|
||||
+ ".header h4 {text-align:left;font-family: \"Arial\"; font-size: 12pt; font-weight: bold; line-height: 110%;}"
|
||||
+ "h4.western { font-family: \"Arial\"; font-size: 14pt; font-style: italic; font-weight: bold; line-height: 40%}"
|
||||
+ "a:link { color: #000099; so-language: zxx; text-decoration: underline; margin-left: 10px; }"
|
||||
+ "a:visited { color: #99000; so-language: zxx; text-decoration: underline; margin-left: 10px; }"
|
||||
+ "hr { display: block; margin-top: 0.5em; margin-bottom: 8em; margin-left: 2em; margin-right: 2em; border-style: inset; border-width: 4px;}"
|
||||
+ "spanpablo { float: right; width: 8em; font-size: 250%; font-family: algerian, courier; line-height: 80%; margin-right: 1%; color: red; text-align: center}"
|
||||
+ "p.p1{margin-bottom: 0cm; margin-top: 0cm; line-height: 100%; background: transparent; margin-left: 0cm; white-space: pre;}"
|
||||
+ "p.p8{font-size:14pt;margin-bottom: 0cm; margin-top: 0cm; line-height: 110%; background: transparent; margin-left: 8pt; margin-right: 10px;}"
|
||||
+ "p.p9{font-size:16pt;margin-bottom: 12px;text-align: left; margin-top: 0cm; line-height: 110%; background: transparent; margin-left: 40pt; margin-right: 0cm;text-decoration: underline overline wavy blue;text-shadow: 0px 1px #101010;}"
|
||||
+ "p.p10{font-size:12pt;margin-bottom: 12px;text-align: left; margin-top: 0cm; line-height: 110%; background: transparent; margin-left: 30pt; margin-right: 0cm;text-decoration: underline overline wavy red;}"
|
||||
+ ".commentaire{margin-left: 0px; margin-bottom: 24px; margin-top: 24px;font-size:1.4rem}"
|
||||
+ "p.p2{margin-left: 0px; margin-bottom: 0cm; margin-top: 4px; line-height: 115%}"
|
||||
+ "p.p3{margin-left: 20px; line-height: 100%; border: 1px solid black; background-color: lightcyan; margin-right: 10px; }"
|
||||
+ "p.p4{margin-left: 0px; margin-bottom: 0cm; margin-top: 4px; margin-right: 4px; line-height: 115%; background: darkblue; color:white; font-size: 20px; white-space: pre;}"
|
||||
+ "p.p5{margin-left: 80px; margin-bottom: 0cm; margin-top: 4px; margin-right: 80px; line-height: 115%; background: red; color:white; font-size: 20px;}"
|
||||
+ "p.p6{margin-left: 80px; margin-bottom: 0cm; margin-top: 4px; margin-right: 80px; line-height: 115%; background: beige; color:darkcyan; font-size: 20px;}"
|
||||
+ "p.p7{margin-left: 80px; margin-bottom: 0cm; margin-top: 4px; margin-right: 80px; line-height: 115%; background: #7FFF00; font-size: 20px;}"
|
||||
+ "#navbar {overflow: hidden;background-color: #333;width:100%;box-shadow: 5px 10px 8px #888888;}"
|
||||
+ "#navbar a {float: left;display: block;color: #f2f2f2;text-align: center;padding: 14px 16px;text-decoration: none;font-size: 17px;}"
|
||||
+ "#navbar a:hover {background-color: #ddd;color: black;}"
|
||||
+ "#navbar a.active {background-color: #4CAF50;color: white;margin-left:0px;}"
|
||||
+ "#navbar a.active2 {background-color: #FF8050;color: white;margin-left:0px;}"
|
||||
+ "#navbar a.active3 {background-color: #5080FF;color: white;margin-left:0px;}"
|
||||
+ "div.sticky {position: fixed;top: 0;width: 100%;}"
|
||||
+ ".sticky + .content {padding-top: 60px;}"
|
||||
+ "#navbar2 {overflow: hidden; background-color: #333;}"
|
||||
+ "#navbar2 a {float: left; font-size: 18px; color: white; text-align: center; padding: 16px 18px; text-decoration: none;}"
|
||||
+ ".dropdown {position: relative; display: inline-block;}"
|
||||
+ ".dropbtn:hover, .dropbtn:focus { background-color: #3e8e41;}"
|
||||
+ ".dropdown-content {display: none; position: absolute; background-color: #f9f9f9; min-width: 160px; box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);}"
|
||||
+ ".dropdown-content a {color: black; padding: 12px 16px; text-decoration: none; display: block;}"
|
||||
+ ".dropdown-content a:hover {background-color: #f1f1f1}"
|
||||
+".show {display:block;}"
|
||||
+ "#myDropdown {background-color: #508050;color: black;}"
|
||||
+ ".menu-box{display: none;}"
|
||||
+ ".menuopen{display: block;}"
|
||||
+ ".tooltip {position: relative;display: inline-block;border-bottom: 1px dotted black;}"
|
||||
+ ".tooltip .tooltiptext {visibility: hidden;background-color: black;color: #fff;text-align: center;border-radius: 6px;padding: 5px 0;position: absolute;z-index: 1;margin-left: -30px; width: 260px;top: 100%;left: 10%;}"
|
||||
+ ".tooltip .tooltiptext::after {content: \" \";position: absolute;bottom: 100%;left: 50%;margin-left: -5px;border-width: 5px;border-style: solid;border-color: transparent transparent black transparent;}"
|
||||
+ ".tooltip:hover .tooltiptext {visibility: visible;}"
|
||||
+ ".tooltip1 {position: relative;display: inline-block;border-bottom: 1px dotted black;}"
|
||||
+ ".tooltip1 .tooltiptext1 {visibility: hidden;background-color: #0000CC;color: #fff;text-align: left;border-radius: 4px;padding: 10px;position: absolute;z-index: 1;margin-left: -40px; width: 280px;top: 100%;left: 10%;}"
|
||||
+ ".tooltip1 .tooltiptext1::after {content: \" \";position: absolute;bottom: 100%;left: 50%;margin-left: -5px;border-width: 5px;border-style: solid;border-color: transparent transparent #0000CC transparent;}"
|
||||
+ ".tooltip1:hover .tooltiptext1 {visibility: visible;}"
|
||||
+ ".tooltip2 {position: relative;display: inline-block;border-bottom: 1px dotted black;}"
|
||||
+ ".tooltip2 .tooltiptext2 {visibility: hidden;background-color: black;color: #fff;text-align: left;border-radius: 8px;padding: 8px;position: absolute;z-index: 1;margin-left: -40px; width: 340px;top: 100%;left: 10%;}"
|
||||
+ ".tooltip2 .tooltiptext2::after {content: \" \";position: absolute;bottom: 100%;left: 50%;margin-left: -5px;border-width: 5px;border-style: solid;border-color: transparent transparent black transparent;}"
|
||||
+ ".tooltip2:hover .tooltiptext2 {visibility: visible;}"
|
||||
+ ".footer {position: fixed;left: 0;bottom: 0;width: 100%;background-color: white;color: black;text-align: center;}"
|
||||
+"</style>");
|
||||
fichier.append(HTML.getStyleCSS());
|
||||
|
||||
fichier.append("</head>\r");
|
||||
fichier.append("\r</head>\r");
|
||||
fichier.append("<body lang=\"fr-FR\" link=\"#000080\" vlink=\"#800000\" dir=\"ltr\">\r");
|
||||
|
||||
fichier.append("<div class=\"header\">");
|
||||
@ -347,8 +286,10 @@ public class feedbacks {
|
||||
|
||||
fichier.append(HTML.TableEnteteTableurSynthese());
|
||||
String IdError = ""; // permet de récupérer les id des menu ou la proportioncorrect est NaN. (à cause de l'attribut analyseStyle=true)
|
||||
|
||||
for(int k = 0 ; k < nodana.getNodes().size();k++) {
|
||||
if(nodana.getNodes().get(k).getAttributs().get("addmenu")!=null) if(nodana.getNodes().get(k).getAttributs().get("addmenu").equals("true")) {
|
||||
if(nodana.getNodes().get(k).getAttributs().get("addmenu")!=null) {
|
||||
if(nodana.getNodes().get(k).getAttributs().get("addmenu").equals("true")) {
|
||||
if(!nodana.getNodes().get(k).getAttributs().get("proportioncorrect").equals("NaN")) {
|
||||
fichier.append(HTML.TablePointsSyntheseStyle(nodana.getNodes().get(k).getAttributs().get("titre"),Double.valueOf(nodana.getNodes().get(k).getAttributs().get("proportioncorrect")),nodana.getNodes().get(k).getAttributs().get("pointtotal") + " pt",nodana.getNodes().get(k).getAttributs().get("pointgagner") + " pt", nodana.getNodes().get(k).getAttributs().get("poids"),nodana.getNodes().get(k).getAttributs().get("id")));
|
||||
}else {
|
||||
@ -356,6 +297,7 @@ public class feedbacks {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//Metadonnées
|
||||
|
@ -143,7 +143,7 @@ public class meptl {
|
||||
//***********************************************************************************
|
||||
//** PREPARATION du node Sujet pour analyse -use file.xml ou -use file.xml -sujet **
|
||||
//***********************************************************************************
|
||||
if(commandes.analyse) {
|
||||
if(commandes.analyse||commandes.ecritNodeAnalyse) {
|
||||
nodeSujet = chargementsujet(commandes.nameSujet, true);
|
||||
|
||||
if(nodeSujet==null) {
|
||||
@ -281,17 +281,23 @@ public class meptl {
|
||||
//**********************************
|
||||
//** Analyse des fichiers student **
|
||||
//**********************************
|
||||
if(commandes.analyse) {
|
||||
node init = InitialisationAvantAnalyse(nodeSujet);
|
||||
if(commandes.analyse||commandes.ecritNodeAnalyse) {
|
||||
node init =verificationFichierAnalyse.InitialisationAvantAnalyse(nodeSujet);
|
||||
if(!Boolean.valueOf(init.getAttributs().get("erreur"))) {
|
||||
// a.ecritureNodeEnXML(nodStudent, "fichier student",patch,false,""); //écriture du node analyse de l'étudiant
|
||||
// a.ecritureNodeEnXML(nodStudent, "fichier student",patch,false,""); //écriture du node nodStudent de l'étudiant
|
||||
node ana = analyse(nodStudent, nodeSujet, i, a);
|
||||
// a.ecritureNodeEnXML(ana, "nodana"+ana.retourneFirstEnfantsByName("ouverture").getAttributs().get("dossier"),"",false,""); //écriture du node analyse de l'étudiant
|
||||
|
||||
//**************************************************
|
||||
//** 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) {
|
||||
if(!commandes.sansFeeback&&!commandes.ecritNodeAnalyse) {
|
||||
if(!commandes.zipfeedback) {
|
||||
//feedback(ana, verif); //classique directement dans le répertoire
|
||||
feedbacks.feedback(ana,verif, false);
|
||||
@ -951,83 +957,6 @@ public class meptl {
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Vérification du node sujet (premier node <b>fichier</b> et des paramètres.<br>
|
||||
* <br>
|
||||
* @param nodSujet
|
||||
* @return
|
||||
*/
|
||||
private static node InitialisationAvantAnalyse(node nodSujet) {
|
||||
node initSujet = new node();
|
||||
initSujet.setNomElt("init");
|
||||
|
||||
boolean erreur=false;
|
||||
boolean erreurNomPremierNodeFichier=false;
|
||||
boolean erreurManqueAttributEvaluerPremierNodeFichier=false;
|
||||
boolean erreurValeurAttributEvaluerPremierNodeFichier=false;
|
||||
boolean erreurPasNodesEnfantsAuPremierNodeFichier=false;
|
||||
boolean erreurPasAttributMetaSujetAuPremierNodeFichier=false;
|
||||
boolean erreurValeurVideAttributMetaSujetAuPremierNodeFichier=false;
|
||||
boolean erreurValeurAttributProgressionNonConvertibleEnDouble=false;
|
||||
boolean erreurValeurAttributNoteFromNonConvertibleEnDouble=false;
|
||||
|
||||
if(!nodSujet.getNomElt().equals("fichier")) {
|
||||
erreur=true;
|
||||
erreurNomPremierNodeFichier = true;
|
||||
}
|
||||
if(nodSujet.getAttributs().get("evaluer")==null) {
|
||||
erreur=true;
|
||||
erreurManqueAttributEvaluerPremierNodeFichier = true;
|
||||
}
|
||||
if(!nodSujet.getAttributs().get("evaluer").equals("true")) {
|
||||
erreur=true;
|
||||
erreurValeurAttributEvaluerPremierNodeFichier=true;
|
||||
}
|
||||
if(nodSujet.getNodes().size()==0) {
|
||||
erreur=true;
|
||||
erreurPasNodesEnfantsAuPremierNodeFichier=true;
|
||||
}
|
||||
if(nodSujet.getAttributs().get("metaSujet")==null) {
|
||||
erreur=true;
|
||||
erreurPasAttributMetaSujetAuPremierNodeFichier=true;
|
||||
}
|
||||
if(nodSujet.getAttributs().get("metaSujet")!=null) {
|
||||
if(nodSujet.getAttributs().get("metaSujet").isEmpty()) {
|
||||
erreur=true;
|
||||
erreurValeurVideAttributMetaSujetAuPremierNodeFichier=true;
|
||||
}
|
||||
}
|
||||
if(nodSujet.getAttributs().get("progression")!=null) {
|
||||
String p = nodSujet.getAttributs().get("progression");
|
||||
try {
|
||||
Double.valueOf(p);
|
||||
} catch (Exception e) {
|
||||
erreur=true;
|
||||
erreurValeurAttributProgressionNonConvertibleEnDouble=true;
|
||||
}
|
||||
}
|
||||
if(nodSujet.getAttributs().get("notefrom")!=null) {
|
||||
String p = nodSujet.getAttributs().get("notefrom");
|
||||
try {
|
||||
Double.valueOf(p);
|
||||
} catch (Exception e) {
|
||||
erreur=true;
|
||||
erreurValeurAttributNoteFromNonConvertibleEnDouble=true;
|
||||
}
|
||||
}
|
||||
|
||||
initSujet.getAttributs().put("erreur",String.valueOf(erreur));
|
||||
initSujet.getAttributs().put("erreurNomPremierNodeFichier",String.valueOf(erreurNomPremierNodeFichier));
|
||||
initSujet.getAttributs().put("erreurManqueAttributEvaluerPremierNodeFichier",String.valueOf(erreurManqueAttributEvaluerPremierNodeFichier));
|
||||
initSujet.getAttributs().put("erreurValeurAttributEvaluerPremierNodeFichier",String.valueOf(erreurValeurAttributEvaluerPremierNodeFichier));
|
||||
initSujet.getAttributs().put("erreurPasNodesEnfantsAuPremierNodeFichier",String.valueOf(erreurPasNodesEnfantsAuPremierNodeFichier));
|
||||
initSujet.getAttributs().put("erreurPasAttributMetaSujetAuPremierNodeFichier",String.valueOf(erreurPasAttributMetaSujetAuPremierNodeFichier));
|
||||
initSujet.getAttributs().put("erreurValeurVideAttributMetaSujetAuPremierNodeFichier",String.valueOf(erreurValeurVideAttributMetaSujetAuPremierNodeFichier));
|
||||
initSujet.getAttributs().put("erreurValeurAttributProgressionNonConvertibleEnDouble",String.valueOf(erreurValeurAttributProgressionNonConvertibleEnDouble));
|
||||
initSujet.getAttributs().put("erreurValeurAttributNoteFromNonConvertibleEnDouble",String.valueOf(erreurValeurAttributNoteFromNonConvertibleEnDouble));
|
||||
|
||||
return initSujet;
|
||||
}
|
||||
|
||||
/**
|
||||
* Début de l'analyse par comparaison du node étudiant avec le node sujet.
|
||||
@ -1524,7 +1453,7 @@ public class meptl {
|
||||
* @param nameElt : le nom de l'élément (node) analysé.
|
||||
* @return le node <b>retour</b> avec tous les nodes enfants <b>nameItem</b> contenant les différentes analyse.
|
||||
*/
|
||||
public static node analyseLesAttributEtContenuDuNode(node nodeStudent, node sujet, node retour, String nameItem, String nameElt) {
|
||||
public static node evalLesAttributEtContenuDuNode(node nodeStudent, node sujet, node retour, String nameItem, String nameElt) {
|
||||
Enumeration<String> key = sujet.getAttributs().keys();
|
||||
while(key.hasMoreElements()) {
|
||||
String k = key.nextElement();
|
||||
@ -1564,9 +1493,9 @@ public class meptl {
|
||||
|
||||
if(k.equals("evalNameInitialCreator") && sujet.getNomElt().equals("meta:initial-creator")) {
|
||||
if(nodeStudent!=null) {
|
||||
retour = analyseNameInitialCreator(retour,nodeStudent, nodeStudent.getContenu().get(0), sujet.getAttributs().get("evalNameInitialCreator"),"Créateur");
|
||||
retour = evalNameInitialCreator(retour,nodeStudent, nodeStudent.getContenu().get(0), sujet.getAttributs().get("evalNameInitialCreator"),"Créateur");
|
||||
}else {
|
||||
retour = analyseNameInitialCreator(retour,null, "Créateur inconnu", sujet.getAttributs().get("evalNameInitialCreator"),"Créateur");
|
||||
retour = evalNameInitialCreator(retour,null, "Créateur inconnu", sujet.getAttributs().get("evalNameInitialCreator"),"Créateur");
|
||||
}
|
||||
}
|
||||
|
||||
@ -1660,7 +1589,7 @@ public class meptl {
|
||||
* @param nameElt : le nom de l'élément (node) analysé.
|
||||
* @return le node <b>retour</b> avec tous les nodes enfants <b>nameItem</b> contenant les différentes analyse.
|
||||
*/
|
||||
public static node analyseLesAttributAnalyseStyle(node nodeStyleParagraphStudent, node nodeStyleParagraphSujet, node retour, String nameItem, String nameElt) {
|
||||
public static node evalLesAttributAnalyseStyle(node nodeStyleParagraphStudent, node nodeStyleParagraphSujet, node retour, String nameItem, String nameElt) {
|
||||
|
||||
Enumeration<String> key = nodeStyleParagraphSujet.getAttributs().keys();
|
||||
while(key.hasMoreElements()) {
|
||||
@ -1868,7 +1797,7 @@ public class meptl {
|
||||
/**
|
||||
* Ajoute dans le node nodanalyse.</br>
|
||||
* Le node saut et son attribut titre</br>
|
||||
* Et place un titre1, ou titre2, ou titre3</br>
|
||||
* Et place un titre, ou titre1, ou titre2, ou titre3</br>
|
||||
* <br>
|
||||
* @param nod
|
||||
* @return
|
||||
@ -1881,6 +1810,13 @@ public class meptl {
|
||||
N.setClose(true);
|
||||
nodanalyse.getNodes().add(N);
|
||||
}
|
||||
if(nodSujet.getAttributs().get("titre1")!=null) {
|
||||
node N = new node();
|
||||
N.setNomElt("saut");
|
||||
N.getAttributs().put("titre1", nodSujet.getAttributs().get("titre1"));
|
||||
N.setClose(true);
|
||||
nodanalyse.getNodes().add(N);
|
||||
}
|
||||
if(nodSujet.getAttributs().get("titre2")!=null) {
|
||||
node N = new node();
|
||||
N.setNomElt("saut");
|
||||
@ -1899,6 +1835,26 @@ public class meptl {
|
||||
return nodanalyse;
|
||||
}
|
||||
|
||||
/**
|
||||
* Ajoute un saut de ligne.</br>
|
||||
* @param nodSujet
|
||||
* @param nodanalyse
|
||||
* @return
|
||||
*/
|
||||
public static node addSaut(node nodSujet, node nodanalyse) {
|
||||
if(nodSujet.getAttributs().get("saut")!=null) {
|
||||
if(nodSujet.getAttributs().get("saut").equalsIgnoreCase("true")) {
|
||||
node N = new node();
|
||||
N.setNomElt("saut");
|
||||
//N.getAttributs().put("titre", "");
|
||||
N.setClose(true);
|
||||
nodanalyse.getNodes().add(N);
|
||||
}
|
||||
}
|
||||
|
||||
return nodanalyse;
|
||||
}
|
||||
|
||||
/**
|
||||
* Vérirication des historiques
|
||||
* @param verification
|
||||
@ -2696,7 +2652,7 @@ public class meptl {
|
||||
* @param nameElt
|
||||
* @return
|
||||
*/
|
||||
private static node analyseNameInitialCreator(node retour, node nodStudent, String nameCreator, String point, String nameElt) {
|
||||
private static node evalNameInitialCreator(node retour, node nodStudent, String nameCreator, String point, String nameElt) {
|
||||
node item = null;
|
||||
if(nodStudent!=null) {
|
||||
item = retourneNoteAvecResultatsAnalyse(nameCreator,"name", nodStudent.getAttributs().get("initial-creator"),nameCreator + "↑‽" +point, nameElt );
|
||||
|
@ -57,6 +57,13 @@ public class rechercherUnNodeStudent {
|
||||
nodStudent = findDrawFrame(nameNode, nodSujet, nod0Student, nod1Student, nod2Student, a);
|
||||
}
|
||||
|
||||
//*************************************************
|
||||
//** Recherche le nodes text:date par text:fixed **
|
||||
//*************************************************
|
||||
if(nameNode.equals("text:date")) {
|
||||
nodStudent = findTextDate(nameNode, nodSujet, nod0Student, nod1Student, nod2Student, a);
|
||||
}
|
||||
|
||||
//***********************************************
|
||||
//** Recherche le nodes text:xxx par text:name **
|
||||
//***********************************************
|
||||
@ -85,6 +92,7 @@ public class rechercherUnNodeStudent {
|
||||
nodStudent = findByContentWithTolerance(nameNode, nodSujet, nod0Student, nod1Student, nod2Student, a);
|
||||
}
|
||||
|
||||
|
||||
//*******************************************************
|
||||
//** Recherche le node par l'index mais si pas demandé **
|
||||
//*******************************************************
|
||||
@ -92,6 +100,12 @@ public class rechercherUnNodeStudent {
|
||||
nodStudent = findByIndexEvenIsFalse(nameNode, nodSujet, nod0Student, nod1Student, nod2Student, a);
|
||||
}
|
||||
|
||||
//****************************************************************
|
||||
//** Recherche le node text:conditional-text par text:condition **
|
||||
//****************************************************************
|
||||
if(nameNode.equals("text:conditional-text") ) {
|
||||
nodStudent = findTextConditional(nameNode, nodSujet, nod0Student, nod1Student, nod2Student, a);
|
||||
}
|
||||
|
||||
//***************************************************************
|
||||
//** Recherche le node table:table-column par table:style-name **
|
||||
@ -107,7 +121,6 @@ public class rechercherUnNodeStudent {
|
||||
nodStudent = findByContentZero(nameNode, nodSujet, nod0Student, nod1Student, nod2Student, a);
|
||||
}
|
||||
|
||||
|
||||
//*****************************************************************
|
||||
//** Recherche Le node text:p par les différents contenu du node **
|
||||
//** text:title - text:subject - text:initial-creator - text:tab **
|
||||
@ -185,56 +198,124 @@ public class rechercherUnNodeStudent {
|
||||
|
||||
node nodStudent =null;
|
||||
|
||||
//si le node "text:p" contient un "text:user-defined" alors le recherche par le "text:name" de ce node "text:user-defined"
|
||||
if(nodSujet.containElementByName("text:user-defined")) {
|
||||
if(!nodSujet.getNodes().isEmpty()) return null;
|
||||
|
||||
String nameNodeSujet = nodSujet.getNomElt();
|
||||
|
||||
if(nodSujet.getNodes().size()>0) {
|
||||
for(int i = 0; i < nodSujet.getNodes().size() ; i++) {
|
||||
if(nodSujet.getNodes().get(i)!=null) {
|
||||
node nodEnfantSujet = nodSujet.getNodes().get(i);
|
||||
String nameNodeEnfantSujet = nodEnfantSujet.getNomElt();
|
||||
|
||||
if(nameNodeEnfantSujet.equals("text:user-defined")) {
|
||||
String valueAttribut = outils.withoutCodeAndPoint(nodSujet.retourneFirstEnfantsByName("text:user-defined").getAttributs().get("text:name"));
|
||||
if(nod2Student!=null) if(nodStudent==null) nodStudent = nod2Student.retourneFirstNodeByNameContainsNodeByNameAndAttributValue("text:p","text:user-defined", "text:name", valueAttribut);
|
||||
if(nod1Student!=null) if(nodStudent==null) nodStudent = nod1Student.retourneFirstNodeByNameContainsNodeByNameAndAttributValue("text:p","text:user-defined", "text:name", valueAttribut);
|
||||
if(nod0Student!=null) if(nodStudent==null) nodStudent = nod0Student.retourneFirstNodeByNameContainsNodeByNameAndAttributValue("text:p","text:user-defined", "text:name", valueAttribut);
|
||||
if(nod2Student!=null) if(nodStudent==null) nodStudent = nod2Student.retourneFirstNodeByNameContainsNodeByNameAndAttributValue(nameNodeSujet,"text:user-defined", "text:name", valueAttribut);
|
||||
if(nod1Student!=null) if(nodStudent==null) nodStudent = nod1Student.retourneFirstNodeByNameContainsNodeByNameAndAttributValue(nameNodeSujet,"text:user-defined", "text:name", valueAttribut);
|
||||
if(nod0Student!=null) if(nodStudent==null) nodStudent = nod0Student.retourneFirstNodeByNameContainsNodeByNameAndAttributValue(nameNodeSujet,"text:user-defined", "text:name", valueAttribut);
|
||||
}
|
||||
//si le node "text:p" contient un "text:conditional-text" alors le recherche par le "text:condition" de ce node "text:conditional-text"
|
||||
if(nodSujet.containElementByName("text:conditional-text")) {
|
||||
|
||||
if(nameNodeEnfantSujet.equals("text:conditional-text")) {
|
||||
String valueAttribut = outils.withoutCodeAndPoint(nodSujet.retourneFirstEnfantsByName("text:conditional-text").getAttributs().get("text:condition"));
|
||||
if(nod2Student!=null) if(nodStudent==null) nodStudent = nod2Student.retourneFirstNodeByNameContainsNodeByNameAndAttributValue("text:p","text:conditional-text", "text:condition", valueAttribut);
|
||||
if(nod1Student!=null) if(nodStudent==null) nodStudent = nod1Student.retourneFirstNodeByNameContainsNodeByNameAndAttributValue("text:p","text:conditional-text", "text:condition", valueAttribut);
|
||||
if(nod0Student!=null) if(nodStudent==null) nodStudent = nod0Student.retourneFirstNodeByNameContainsNodeByNameAndAttributValue("text:p","text:conditional-text", "text:condition", valueAttribut);
|
||||
if(nod2Student!=null) if(nodStudent==null) nodStudent = nod2Student.retourneFirstNodeByNameContainsNodeByNameAndAttributValue(nameNodeSujet,"text:conditional-text", "text:condition", valueAttribut);
|
||||
if(nod1Student!=null) if(nodStudent==null) nodStudent = nod1Student.retourneFirstNodeByNameContainsNodeByNameAndAttributValue(nameNodeSujet,"text:conditional-text", "text:condition", valueAttribut);
|
||||
if(nod0Student!=null) if(nodStudent==null) nodStudent = nod0Student.retourneFirstNodeByNameContainsNodeByNameAndAttributValue(nameNodeSujet,"text:conditional-text", "text:condition", valueAttribut);
|
||||
}
|
||||
//si le node "text:p" contient un "text:database-display" alors le recherche par le "text:column-name" de ce node "text:database-display"
|
||||
if(nodSujet.containElementByName("text:database-display")) {
|
||||
|
||||
if(nameNodeEnfantSujet.equals("text:database-display")) {
|
||||
String valueAttribut = outils.withoutCodeAndPoint(nodSujet.retourneFirstEnfantsByName("text:database-display").getAttributs().get("text:column-name"));
|
||||
if(nod2Student!=null) if(nodStudent==null) nodStudent = nod2Student.retourneFirstNodeByNameContainsNodeByNameAndAttributValue("text:p","text:database-display", "text:column-name", valueAttribut);
|
||||
if(nod1Student!=null) if(nodStudent==null) nodStudent = nod1Student.retourneFirstNodeByNameContainsNodeByNameAndAttributValue("text:p","text:database-display", "text:column-name", valueAttribut);
|
||||
if(nod0Student!=null) if(nodStudent==null) nodStudent = nod0Student.retourneFirstNodeByNameContainsNodeByNameAndAttributValue("text:p","text:database-display", "text:column-name", valueAttribut);
|
||||
if(nod2Student!=null) if(nodStudent==null) nodStudent = nod2Student.retourneFirstNodeByNameContainsNodeByNameAndAttributValue(nameNodeSujet,"text:database-display", "text:column-name", valueAttribut);
|
||||
if(nod1Student!=null) if(nodStudent==null) nodStudent = nod1Student.retourneFirstNodeByNameContainsNodeByNameAndAttributValue(nameNodeSujet,"text:database-display", "text:column-name", valueAttribut);
|
||||
if(nod0Student!=null) if(nodStudent==null) nodStudent = nod0Student.retourneFirstNodeByNameContainsNodeByNameAndAttributValue(nameNodeSujet,"text:database-display", "text:column-name", valueAttribut);
|
||||
}
|
||||
//si le node "text:p" contient un "text:date" alors le recherche par le "text:fixed" de ce node "text:date"
|
||||
if(nodSujet.containElementByName("text:date")) {
|
||||
|
||||
if(nameNodeEnfantSujet.equals("text:date")) {
|
||||
String valueAttribut = outils.withoutCodeAndPoint(nodSujet.retourneFirstEnfantsByName("text:date").getAttributs().get("text:fixed"));
|
||||
if(nod2Student!=null) if(nodStudent==null) nodStudent = nod2Student.retourneFirstNodeByNameContainsNodeByNameAndAttributValue("text:p","text:date", "text:fixed", valueAttribut);
|
||||
if(nod1Student!=null) if(nodStudent==null) nodStudent = nod1Student.retourneFirstNodeByNameContainsNodeByNameAndAttributValue("text:p","text:date", "text:fixed", valueAttribut);
|
||||
if(nod0Student!=null) if(nodStudent==null) nodStudent = nod0Student.retourneFirstNodeByNameContainsNodeByNameAndAttributValue("text:p","text:date", "text:fixed", valueAttribut);
|
||||
if(nod2Student!=null) if(nodStudent==null) nodStudent = nod2Student.retourneFirstNodeByNameContainsNodeByNameAndAttributValue(nameNodeSujet,"text:date", "text:fixed", valueAttribut);
|
||||
if(nod1Student!=null) if(nodStudent==null) nodStudent = nod1Student.retourneFirstNodeByNameContainsNodeByNameAndAttributValue(nameNodeSujet,"text:date", "text:fixed", valueAttribut);
|
||||
if(nod0Student!=null) if(nodStudent==null) nodStudent = nod0Student.retourneFirstNodeByNameContainsNodeByNameAndAttributValue(nameNodeSujet,"text:date", "text:fixed", valueAttribut);
|
||||
}
|
||||
if(nodSujet.containElementByName("text:subject")) {
|
||||
if(nod2Student!=null) if(nodStudent==null) nodStudent = nod2Student.retourneFirstEnfantsByNameNode1ContainNameNode2("text:p","text:subject");
|
||||
if(nod1Student!=null) if(nodStudent==null) nodStudent = nod1Student.retourneFirstEnfantsByNameNode1ContainNameNode2("text:p","text:subject");
|
||||
if(nod0Student!=null) if(nodStudent==null) nodStudent = nod0Student.retourneFirstEnfantsByNameNode1ContainNameNode2("text:p","text:subject");
|
||||
|
||||
if(nameNodeEnfantSujet.equals("text:subject")) {
|
||||
if(nod2Student!=null) if(nodStudent==null) nodStudent = nod2Student.retourneFirstEnfantsByNameNode1ContainNameNode2(nameNodeSujet,"text:subject");
|
||||
if(nod1Student!=null) if(nodStudent==null) nodStudent = nod1Student.retourneFirstEnfantsByNameNode1ContainNameNode2(nameNodeSujet,"text:subject");
|
||||
if(nod0Student!=null) if(nodStudent==null) nodStudent = nod0Student.retourneFirstEnfantsByNameNode1ContainNameNode2(nameNodeSujet,"text:subject");
|
||||
}
|
||||
if(nodSujet.containElementByName("text:title")) {
|
||||
if(nod2Student!=null) if(nodStudent==null) nodStudent = nod2Student.retourneFirstEnfantsByNameNode1ContainNameNode2("text:p","text:title");
|
||||
if(nod1Student!=null) if(nodStudent==null) nodStudent = nod1Student.retourneFirstEnfantsByNameNode1ContainNameNode2("text:p","text:title");
|
||||
if(nod0Student!=null) if(nodStudent==null) nodStudent = nod0Student.retourneFirstEnfantsByNameNode1ContainNameNode2("text:p","text:title");
|
||||
|
||||
if(nameNodeEnfantSujet.equals("text:title")) {
|
||||
if(nod2Student!=null) if(nodStudent==null) nodStudent = nod2Student.retourneFirstEnfantsByNameNode1ContainNameNode2(nameNodeSujet,"text:title");
|
||||
if(nod1Student!=null) if(nodStudent==null) nodStudent = nod1Student.retourneFirstEnfantsByNameNode1ContainNameNode2(nameNodeSujet,"text:title");
|
||||
if(nod0Student!=null) if(nodStudent==null) nodStudent = nod0Student.retourneFirstEnfantsByNameNode1ContainNameNode2(nameNodeSujet,"text:title");
|
||||
}
|
||||
if(nodSujet.containElementByName("text:initial-creator")) {
|
||||
if(nod2Student!=null) if(nodStudent==null) nodStudent = nod2Student.retourneFirstEnfantsByNameNode1ContainNameNode2("text:p","text:initial-creator");
|
||||
if(nod1Student!=null) if(nodStudent==null) nodStudent = nod1Student.retourneFirstEnfantsByNameNode1ContainNameNode2("text:p","text:initial-creator");
|
||||
if(nod0Student!=null) if(nodStudent==null) nodStudent = nod0Student.retourneFirstEnfantsByNameNode1ContainNameNode2("text:p","text:initial-creator");
|
||||
|
||||
if(nameNodeEnfantSujet.equals("text:initial-creator")) {
|
||||
if(nod2Student!=null) if(nodStudent==null) nodStudent = nod2Student.retourneFirstEnfantsByNameNode1ContainNameNode2(nameNodeSujet,"text:initial-creator");
|
||||
if(nod1Student!=null) if(nodStudent==null) nodStudent = nod1Student.retourneFirstEnfantsByNameNode1ContainNameNode2(nameNodeSujet,"text:initial-creator");
|
||||
if(nod0Student!=null) if(nodStudent==null) nodStudent = nod0Student.retourneFirstEnfantsByNameNode1ContainNameNode2(nameNodeSujet,"text:initial-creator");
|
||||
}
|
||||
if(nodSujet.containElementByName("text:creator")) {
|
||||
if(nod2Student!=null) if(nodStudent==null) nodStudent = nod2Student.retourneFirstEnfantsByNameNode1ContainNameNode2("text:p","text:creator");
|
||||
if(nod1Student!=null) if(nodStudent==null) nodStudent = nod1Student.retourneFirstEnfantsByNameNode1ContainNameNode2("text:p","text:creator");
|
||||
if(nod0Student!=null) if(nodStudent==null) nodStudent = nod0Student.retourneFirstEnfantsByNameNode1ContainNameNode2("text:p","text:creator");
|
||||
|
||||
if(nameNodeEnfantSujet.equals("text:creator")) {
|
||||
if(nod2Student!=null) if(nodStudent==null) nodStudent = nod2Student.retourneFirstEnfantsByNameNode1ContainNameNode2(nameNodeSujet,"text:creator");
|
||||
if(nod1Student!=null) if(nodStudent==null) nodStudent = nod1Student.retourneFirstEnfantsByNameNode1ContainNameNode2(nameNodeSujet,"text:creator");
|
||||
if(nod0Student!=null) if(nodStudent==null) nodStudent = nod0Student.retourneFirstEnfantsByNameNode1ContainNameNode2(nameNodeSujet,"text:creator");
|
||||
}
|
||||
|
||||
|
||||
if(nodStudent!=null) return nodStudent;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// //si le node "text:p" contient un "text:user-defined" alors le recherche par le "text:name" de ce node "text:user-defined"
|
||||
// if(nodSujet.containElementByName("text:user-defined")) {
|
||||
// String valueAttribut = outils.withoutCodeAndPoint(nodSujet.retourneFirstEnfantsByName("text:user-defined").getAttributs().get("text:name"));
|
||||
// if(nod2Student!=null) if(nodStudent==null) nodStudent = nod2Student.retourneFirstNodeByNameContainsNodeByNameAndAttributValue("text:p","text:user-defined", "text:name", valueAttribut);
|
||||
// if(nod1Student!=null) if(nodStudent==null) nodStudent = nod1Student.retourneFirstNodeByNameContainsNodeByNameAndAttributValue("text:p","text:user-defined", "text:name", valueAttribut);
|
||||
// if(nod0Student!=null) if(nodStudent==null) nodStudent = nod0Student.retourneFirstNodeByNameContainsNodeByNameAndAttributValue("text:p","text:user-defined", "text:name", valueAttribut);
|
||||
// }
|
||||
// //si le node "text:p" contient un "text:conditional-text" alors le recherche par le "text:condition" de ce node "text:conditional-text"
|
||||
// if(nodSujet.containElementByName("text:conditional-text")) {
|
||||
// String valueAttribut = outils.withoutCodeAndPoint(nodSujet.retourneFirstEnfantsByName("text:conditional-text").getAttributs().get("text:condition"));
|
||||
// if(nod2Student!=null) if(nodStudent==null) nodStudent = nod2Student.retourneFirstNodeByNameContainsNodeByNameAndAttributValue("text:p","text:conditional-text", "text:condition", valueAttribut);
|
||||
// if(nod1Student!=null) if(nodStudent==null) nodStudent = nod1Student.retourneFirstNodeByNameContainsNodeByNameAndAttributValue("text:p","text:conditional-text", "text:condition", valueAttribut);
|
||||
// if(nod0Student!=null) if(nodStudent==null) nodStudent = nod0Student.retourneFirstNodeByNameContainsNodeByNameAndAttributValue("text:p","text:conditional-text", "text:condition", valueAttribut);
|
||||
// }
|
||||
// //si le node "text:p" contient un "text:database-display" alors le recherche par le "text:column-name" de ce node "text:database-display"
|
||||
// if(nodSujet.containElementByName("text:database-display")) {
|
||||
// String valueAttribut = outils.withoutCodeAndPoint(nodSujet.retourneFirstEnfantsByName("text:database-display").getAttributs().get("text:column-name"));
|
||||
// if(nod2Student!=null) if(nodStudent==null) nodStudent = nod2Student.retourneFirstNodeByNameContainsNodeByNameAndAttributValue("text:p","text:database-display", "text:column-name", valueAttribut);
|
||||
// if(nod1Student!=null) if(nodStudent==null) nodStudent = nod1Student.retourneFirstNodeByNameContainsNodeByNameAndAttributValue("text:p","text:database-display", "text:column-name", valueAttribut);
|
||||
// if(nod0Student!=null) if(nodStudent==null) nodStudent = nod0Student.retourneFirstNodeByNameContainsNodeByNameAndAttributValue("text:p","text:database-display", "text:column-name", valueAttribut);
|
||||
// }
|
||||
// //si le node "text:p" contient un "text:date" alors le recherche par le "text:fixed" de ce node "text:date"
|
||||
// if(nodSujet.containElementByName("text:date")) {
|
||||
// String valueAttribut = outils.withoutCodeAndPoint(nodSujet.retourneFirstEnfantsByName("text:date").getAttributs().get("text:fixed"));
|
||||
// if(nod2Student!=null) if(nodStudent==null) nodStudent = nod2Student.retourneFirstNodeByNameContainsNodeByNameAndAttributValue("text:p","text:date", "text:fixed", valueAttribut);
|
||||
// if(nod1Student!=null) if(nodStudent==null) nodStudent = nod1Student.retourneFirstNodeByNameContainsNodeByNameAndAttributValue("text:p","text:date", "text:fixed", valueAttribut);
|
||||
// if(nod0Student!=null) if(nodStudent==null) nodStudent = nod0Student.retourneFirstNodeByNameContainsNodeByNameAndAttributValue("text:p","text:date", "text:fixed", valueAttribut);
|
||||
// }
|
||||
// if(nodSujet.containElementByName("text:subject")) {
|
||||
// if(nod2Student!=null) if(nodStudent==null) nodStudent = nod2Student.retourneFirstEnfantsByNameNode1ContainNameNode2("text:p","text:subject");
|
||||
// if(nod1Student!=null) if(nodStudent==null) nodStudent = nod1Student.retourneFirstEnfantsByNameNode1ContainNameNode2("text:p","text:subject");
|
||||
// if(nod0Student!=null) if(nodStudent==null) nodStudent = nod0Student.retourneFirstEnfantsByNameNode1ContainNameNode2("text:p","text:subject");
|
||||
// }
|
||||
// if(nodSujet.containElementByName("text:title")) {
|
||||
// if(nod2Student!=null) if(nodStudent==null) nodStudent = nod2Student.retourneFirstEnfantsByNameNode1ContainNameNode2("text:p","text:title");
|
||||
// if(nod1Student!=null) if(nodStudent==null) nodStudent = nod1Student.retourneFirstEnfantsByNameNode1ContainNameNode2("text:p","text:title");
|
||||
// if(nod0Student!=null) if(nodStudent==null) nodStudent = nod0Student.retourneFirstEnfantsByNameNode1ContainNameNode2("text:p","text:title");
|
||||
// }
|
||||
// if(nodSujet.containElementByName("text:initial-creator")) {
|
||||
// if(nod2Student!=null) if(nodStudent==null) nodStudent = nod2Student.retourneFirstEnfantsByNameNode1ContainNameNode2("text:p","text:initial-creator");
|
||||
// if(nod1Student!=null) if(nodStudent==null) nodStudent = nod1Student.retourneFirstEnfantsByNameNode1ContainNameNode2("text:p","text:initial-creator");
|
||||
// if(nod0Student!=null) if(nodStudent==null) nodStudent = nod0Student.retourneFirstEnfantsByNameNode1ContainNameNode2("text:p","text:initial-creator");
|
||||
// }
|
||||
// if(nodSujet.containElementByName("text:creator")) {
|
||||
// if(nod2Student!=null) if(nodStudent==null) nodStudent = nod2Student.retourneFirstEnfantsByNameNode1ContainNameNode2("text:p","text:creator");
|
||||
// if(nod1Student!=null) if(nodStudent==null) nodStudent = nod1Student.retourneFirstEnfantsByNameNode1ContainNameNode2("text:p","text:creator");
|
||||
// if(nod0Student!=null) if(nodStudent==null) nodStudent = nod0Student.retourneFirstEnfantsByNameNode1ContainNameNode2("text:p","text:creator");
|
||||
// }
|
||||
|
||||
|
||||
//** Recherche par contenu
|
||||
if(!nodSujet.getContenu().isEmpty()) {
|
||||
String valueAttribut = outils.withoutCodeAndPointPourRechercheContenuExact(nodSujet.getContenu().get(0));
|
||||
@ -243,7 +324,7 @@ public class rechercherUnNodeStudent {
|
||||
if(nod0Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByFindContentExact(nod0Student.getNodes(), valueAttribut, nodSujet.getNomElt());
|
||||
}
|
||||
|
||||
//** Recherche le node par index uniquement. Si trouve pa retourne un null.
|
||||
//** Recherche le node par index uniquement même si pas demandé. Si trouve pas retourne un null.
|
||||
if(nodSujet.getAttributs().get("index")!=null){
|
||||
String valueAttribut = nodSujet.getAttributs().get("index");
|
||||
if(nod2Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByNameAttributValue(nod2Student.getNodes(), nodSujet.getNomElt(),"index",valueAttribut);
|
||||
@ -285,6 +366,26 @@ public class rechercherUnNodeStudent {
|
||||
return nodStudent;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param nameNode
|
||||
* @param nodSujet
|
||||
* @param nod0Student
|
||||
* @param nod1Student
|
||||
* @param nod2Student
|
||||
* @param a
|
||||
* @return
|
||||
*/
|
||||
private static node findTextConditional(String nameNode, node nodSujet,node nod0Student, node nod1Student, node nod2Student, Run a) {
|
||||
node nodStudent = null;
|
||||
String valueAttribut = outils.withoutCodeAndPoint(nodSujet.getAttributs().get("text:condition"));
|
||||
if(nod2Student!=null) nodStudent = a.retourneFirstNodeByNameAttributValue(nod2Student, nameNode, "text:condition", valueAttribut);
|
||||
if(nod1Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByNameAttributValue(nod1Student, nameNode, "text:condition", valueAttribut);
|
||||
if(nod0Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByNameAttributValue(nod0Student, nameNode, "text:condition", valueAttribut);
|
||||
|
||||
return nodStudent;
|
||||
}
|
||||
|
||||
/**
|
||||
* Recherche Le node text:section par l'attribut text:name;</br>
|
||||
* @param nameNode
|
||||
@ -304,6 +405,26 @@ public class rechercherUnNodeStudent {
|
||||
return nodStudent;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param nameNode
|
||||
* @param nodSujet
|
||||
* @param nod0Student
|
||||
* @param nod1Student
|
||||
* @param nod2Student
|
||||
* @param a
|
||||
* @return
|
||||
*/
|
||||
private static node findTextDate(String nameNode, node nodSujet,node nod0Student, node nod1Student, node nod2Student, Run a) {
|
||||
node nodStudent = null;
|
||||
String valueAttribut = outils.withoutCodeAndPoint(nodSujet.getAttributs().get("text:fixed"));
|
||||
if(nod2Student!=null) nodStudent = a.retourneFirstNodeByNameAttributValue(nod2Student, nameNode, "text:fixed", valueAttribut);
|
||||
if(nod1Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByNameAttributValue(nod1Student, nameNode, "text:fixed", valueAttribut);
|
||||
if(nod0Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByNameAttributValue(nod0Student, nameNode, "text:fixed", valueAttribut);
|
||||
|
||||
return nodStudent;
|
||||
}
|
||||
|
||||
/**
|
||||
* Recherche le node par son nom. Retourne le premier node qui correspond au nom du node.</br>
|
||||
* @param nameNode
|
||||
@ -335,9 +456,10 @@ public class rechercherUnNodeStudent {
|
||||
*/
|
||||
private static node findDataBase(String nameNode, node nodSujet,node nod0Student, node nod1Student, node nod2Student, Run a) {
|
||||
node nodStudent = null;
|
||||
if(nod2Student!=null) nodStudent = a.retourneFirstNodeByNameAttributValue(nod2Student, nameNode, "text:column-name", outils.withoutCodeAndPoint(nodSujet.getAttributs().get("text:column-name")));
|
||||
if(nod1Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByNameAttributValue(nod1Student, nameNode, "text:column-name", outils.withoutCodeAndPoint(nodSujet.getAttributs().get("text:column-name")));
|
||||
if(nod0Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByNameAttributValue(nod0Student, nameNode, "text:column-name", outils.withoutCodeAndPoint(nodSujet.getAttributs().get("text:column-name")));
|
||||
String valueAttribut = outils.withoutCodeAndPoint(nodSujet.getAttributs().get("text:column-name"));
|
||||
if(nod2Student!=null) nodStudent = a.retourneFirstNodeByNameAttributValue(nod2Student, nameNode, "text:column-name", valueAttribut);
|
||||
if(nod1Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByNameAttributValue(nod1Student, nameNode, "text:column-name", valueAttribut);
|
||||
if(nod0Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByNameAttributValue(nod0Student, nameNode, "text:column-name", valueAttribut);
|
||||
|
||||
return nodStudent;
|
||||
}
|
||||
|
@ -199,6 +199,89 @@ public class verificationFichierAnalyse {
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Vérification du node sujet (premier node <b>fichier</b> et des paramètres.<br>
|
||||
* <br>
|
||||
* @param nodSujet
|
||||
* @return
|
||||
*/
|
||||
public static node InitialisationAvantAnalyse(node nodSujet) {
|
||||
node initSujet = new node();
|
||||
initSujet.setNomElt("init");
|
||||
|
||||
boolean erreur=false;
|
||||
boolean erreurNomPremierNodeFichier=false;
|
||||
boolean erreurManqueAttributEvaluerPremierNodeFichier=false;
|
||||
boolean erreurValeurAttributEvaluerPremierNodeFichier=false;
|
||||
boolean erreurPasNodesEnfantsAuPremierNodeFichier=false;
|
||||
boolean erreurPasAttributMetaSujetAuPremierNodeFichier=false;
|
||||
boolean erreurValeurVideAttributMetaSujetAuPremierNodeFichier=false;
|
||||
boolean erreurValeurAttributProgressionNonConvertibleEnDouble=false;
|
||||
boolean erreurValeurAttributNoteFromNonConvertibleEnDouble=false;
|
||||
|
||||
if(!nodSujet.getNomElt().equals("fichier")) {
|
||||
erreur=true;
|
||||
erreurNomPremierNodeFichier = true;
|
||||
}
|
||||
if(nodSujet.getAttributs().get("evaluer")==null) {
|
||||
erreur=true;
|
||||
erreurManqueAttributEvaluerPremierNodeFichier = true;
|
||||
}
|
||||
if(nodSujet.getAttributs().get("evaluer")!=null) {
|
||||
if(!nodSujet.getAttributs().get("evaluer").equals("true")) {
|
||||
erreur=true;
|
||||
erreurValeurAttributEvaluerPremierNodeFichier=true;
|
||||
}
|
||||
}
|
||||
if(nodSujet.getNodes().isEmpty()) {
|
||||
erreur=true;
|
||||
erreurPasNodesEnfantsAuPremierNodeFichier=true;
|
||||
}
|
||||
if(nodSujet.getAttributs().get("metaSujet")==null) {
|
||||
erreur=true;
|
||||
erreurPasAttributMetaSujetAuPremierNodeFichier=true;
|
||||
}
|
||||
if(nodSujet.getAttributs().get("metaSujet")!=null) {
|
||||
if(nodSujet.getAttributs().get("metaSujet").isEmpty()) {
|
||||
erreur=true;
|
||||
erreurValeurVideAttributMetaSujetAuPremierNodeFichier=true;
|
||||
}
|
||||
}
|
||||
if(nodSujet.getAttributs().get("progression")!=null) {
|
||||
String p = nodSujet.getAttributs().get("progression");
|
||||
try {
|
||||
Double.valueOf(p);
|
||||
} catch (Exception e) {
|
||||
erreur=true;
|
||||
erreurValeurAttributProgressionNonConvertibleEnDouble=true;
|
||||
}
|
||||
}
|
||||
if(nodSujet.getAttributs().get("notefrom")!=null) {
|
||||
String p = nodSujet.getAttributs().get("notefrom");
|
||||
try {
|
||||
Double.valueOf(p);
|
||||
} catch (Exception e) {
|
||||
erreur=true;
|
||||
erreurValeurAttributNoteFromNonConvertibleEnDouble=true;
|
||||
}
|
||||
}
|
||||
|
||||
initSujet.getAttributs().put("erreur",String.valueOf(erreur));
|
||||
initSujet.getAttributs().put("erreurNomPremierNodeFichier",String.valueOf(erreurNomPremierNodeFichier));
|
||||
initSujet.getAttributs().put("erreurManqueAttributEvaluerPremierNodeFichier",String.valueOf(erreurManqueAttributEvaluerPremierNodeFichier));
|
||||
initSujet.getAttributs().put("erreurValeurAttributEvaluerPremierNodeFichier",String.valueOf(erreurValeurAttributEvaluerPremierNodeFichier));
|
||||
initSujet.getAttributs().put("erreurPasNodesEnfantsAuPremierNodeFichier",String.valueOf(erreurPasNodesEnfantsAuPremierNodeFichier));
|
||||
initSujet.getAttributs().put("erreurPasAttributMetaSujetAuPremierNodeFichier",String.valueOf(erreurPasAttributMetaSujetAuPremierNodeFichier));
|
||||
initSujet.getAttributs().put("erreurValeurVideAttributMetaSujetAuPremierNodeFichier",String.valueOf(erreurValeurVideAttributMetaSujetAuPremierNodeFichier));
|
||||
initSujet.getAttributs().put("erreurValeurAttributProgressionNonConvertibleEnDouble",String.valueOf(erreurValeurAttributProgressionNonConvertibleEnDouble));
|
||||
initSujet.getAttributs().put("erreurValeurAttributNoteFromNonConvertibleEnDouble",String.valueOf(erreurValeurAttributNoteFromNonConvertibleEnDouble));
|
||||
|
||||
return initSujet;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Vérification de la présence de l'attribut addmenu=true lorsque l'attribut evaluer=true.<br>
|
||||
* Uniquement pour les nodes principaux.<br>
|
||||
|
Loading…
Reference in New Issue
Block a user