Maj optimisation du code V3.6.0

This commit is contained in:
pablo rodriguez 2022-05-10 21:02:22 +02:00
parent 273b97bb4a
commit 1e08449d0a
14 changed files with 470 additions and 203 deletions

Binary file not shown.

1
bin/.gitignore vendored Normal file
View File

@ -0,0 +1 @@
/MEPTL/

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -15,7 +15,7 @@ public class HTML {
// Titre principaux des analyses avec identifiant pour lien
public static String H1(String txt, String id) {
txt = "<br id=\"" + id +"\"><br><br><br><br><br><h1 class=\"western\" align=\"center\" style=\"margin-left: 3cm; margin-right: 3cm; margin-bottom: 0cm; border: 2.00pt solid #FF0000; padding: 0.3cm 0.1cm; line-height: 100%\">\r\n" +
txt = sautLigneAvantTitre(id) + "<h1 class=\"western\" align=\"center\" style=\"margin-left: 3cm; margin-right: 3cm; margin-bottom: 0cm; border: 2.00pt solid #FF0000; padding: 0.3cm 0.1cm; line-height: 100%\">\r\n" +
"<font size=\"5\" style=\"font-size: 20pt\"><b>"+ txt +"</b></font></h1><br>\r";
return txt;
}
@ -27,6 +27,7 @@ public class HTML {
return txt;
}
// Titre 2
public static String H2(String txt) {
txt="<H2>"+ txt +"</H2>";
@ -35,7 +36,7 @@ public class HTML {
// Titre 2
public static String H2(String txt, String id) {
txt="<H2 id=\"" + id + "\">"+ txt +"</H2>";
txt=sautLigneAvantTitre(id) +"<H2>"+ txt +"</H2>";
return txt;
}
@ -74,7 +75,7 @@ public class HTML {
* @return
*/
public static String Paragraph_classp1(String txt, String id) {
return("<p id=\"" + id + "\" class=\"p1\">" + txt + "</p>");
return sautLigneAvantTitre(id) +"<p class=\"p1\">" + txt + "</p>";
}
// paragraphe avec la class p5 fond ROUGE pour erreur
@ -92,12 +93,22 @@ public class HTML {
return("<p class=\"p7\">" + txt + "</p>");
}
//Saut de page puis tritre
public static String SautLigneOnduleBleu(String titre) {
return "<br><p class=\"p9\">" + titre+"</p>\r";
//Saut de page puis titre
public static String SautLigneOnduleBleu(String titre, String id) {
return sautLigneAvantTitre(id) +"<p class=\"p9\">" + titre+"</p>\r";
}
//Saut de page puis tritre
//Saut de page puis titre
public static String SautLigneOnduleBleu(String titre) {
return "<p class=\"p9\">" + titre+"</p>\r";
}
//Saut de page puis titre
public static String SautP8(String titre, String id) {
return sautLigneAvantTitre(id) + "<p class=\"p8\">" + titre+"</p>\r";
}
//Saut de page puis titre
public static String SautP8(String titre) {
return "<br><p class=\"p8\">" + titre+"</p>\r";
}
@ -110,6 +121,10 @@ public class HTML {
return "<br>\r";
}
public static String sautLigneAvantTitre(String id) {
return "<br><br><br><br id=\"" + id.replace("#", "") + "\"><br><br><br><br><br>";
}
/**
* Un saut de ligne puis un trait horizontal sans style
* @return
@ -138,19 +153,22 @@ public class HTML {
}
// Table pour la synthèse au début du FeedBack : Style de paragraphe, Style de page
public static String TablePointsSyntheseStyle(String nomstyle,double prop, String pointstotal, String pointsgagnes, String coef, String id ) {
public static String TablePointsSyntheseStyle(String titre,double prop, String pointstotal, String pointsgagnes, String coef, String id ) {
String propRed = Integer.toHexString(255 - (int) Math.round(Math.pow(prop,3)*255));
String propGreen = Integer.toHexString((int) Math.round(Math.pow(prop,3)*255));
if(propRed.length()==1) propRed= "0"+propRed;
if(propGreen.length()==1) propGreen= "0"+propGreen;
String color="#" + propRed + propGreen + "40";
DecimalFormat df = new DecimalFormat("###.##");
return "<table width=\"80%\" align=\"center\" cellpadding=\"4\" cellspacing=\"0\" style=\"page-break-after: avoid\">\r\n" +
if(prop>=0) return "<table width=\"80%\" align=\"center\" cellpadding=\"4\" cellspacing=\"0\" style=\"page-break-after: avoid\">\r\n" +
"<col width=\"30%\"/><col width=\"20%\"/><col width=\"20%\"/><col width=\"20%\"/><col width=\"10%\"/>"
+ "<tr valign=\"top\">"
+ "<td width=\"20%\" style=\"border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0.1cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm\"><p>" +
"<a href=\"#" + id + "\"><font size=\"4\">" + nomstyle +"</font></p></td>"
"<a href=\"" + id + "\"><font size=\"4\">" + titre +"</font></p></td>"
+ "<td width=\"20%\" align=\"center\" style=\"border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0.1cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm\"><p>" +
"<b><span size\"6\" style=\"color: "+ color +"\">█ </span>" + df.format(prop*100) +"%</b></p></td>"
+ "<td width=\"20%\" align=\"center\" style=\"border: 1px solid #000000; padding: 0.1cm\"><p>"+
@ -161,6 +179,19 @@ public class HTML {
coef + "</p></td>"
+ "</tr>\r\n" +
"</table>";
return "<table width=\"80%\" align=\"center\" cellpadding=\"4\" cellspacing=\"0\" style=\"page-break-after: avoid\">\r\n" +
"<col width=\"30%\"/><col width=\"20%\"/><col width=\"20%\"/><col width=\"20%\"/><col width=\"10%\"/>"
+ "<tr valign=\"top\">"
+ "<td width=\"20%\" style=\"border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0.1cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm\"><p>" +
"<a href=\"" + id + "\"><font size=\"4\">" + titre +"</font></p></td>"
+ "<td width=\"20%\" align=\"center\" style=\"border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0.1cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm\"><p>" +
"<b><span size\"6\" style=\"color:#FFFFFF\">█ </span></b></p></td>"
+ "<td width=\"20%\" align=\"center\" style=\"border: 1px solid #000000; padding: 0.1cm\"><p></p></td>"
+ "<td width=\"20%\" align=\"center\" style=\"border: 1px solid #000000; padding: 0.1cm\"><p></p></td>"
+ "<td width=\"20%\" align=\"center\" style=\"border: 1px solid #000000; padding: 0.1cm\"><p></p></td>"
+ "</tr>\r\n" +
"</table>";
}
// Entête des tables pour les styles de paragraphe, styles de page, etc...
@ -281,17 +312,24 @@ public class HTML {
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("proportioncorrect")!=null)if(!nodeAna.getAttributs().get("proportioncorrect").equals("NaN"))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("proportioncorrect")==null)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("proportioncorrect")!=null)if(!nodeAna.getAttributs().get("proportioncorrect").equals("NaN"))if(nodeAna.getAttributs().get("id")!=null) code = code + HTML.SautLigne()+ HTML.H2(nodeAna.getAttributs().get("titre1"),nodeAna.getAttributs().get("id")) + HTML.SautLigne(); ;
if(nodeAna.getAttributs().get("proportioncorrect")==null)if(nodeAna.getAttributs().get("id")!=null) code = code + HTML.SautLigne()+ HTML.H2(nodeAna.getAttributs().get("titre1"),nodeAna.getAttributs().get("id")) + HTML.SautLigne(); ;
if(nodeAna.getAttributs().get("id")==null) 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("proportioncorrect")!=null)if(!nodeAna.getAttributs().get("proportioncorrect").equals("NaN"))if(nodeAna.getAttributs().get("id")!=null) code = code + HTML.SautLigne()+ HTML.SautLigneOnduleBleu(nodeAna.getAttributs().get("titre2"),nodeAna.getAttributs().get("id")) + HTML.SautLigne(); ;
if(nodeAna.getAttributs().get("proportioncorrect")==null)if(nodeAna.getAttributs().get("id")!=null) code = code + HTML.SautLigne()+ HTML.SautLigneOnduleBleu(nodeAna.getAttributs().get("titre2"),nodeAna.getAttributs().get("id")) + HTML.SautLigne(); ;
if(nodeAna.getAttributs().get("id")==null) 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(); ;
if(nodeAna.getAttributs().get("proportioncorrect")!=null)if(!nodeAna.getAttributs().get("proportioncorrect").equals("NaN"))if(nodeAna.getAttributs().get("id")!=null) code = code + HTML.SautLigne()+ HTML.SautP8(nodeAna.getAttributs().get("titre3"),nodeAna.getAttributs().get("id")) + HTML.SautLigne(); ;
if(nodeAna.getAttributs().get("proportioncorrect")==null)if(nodeAna.getAttributs().get("id")!=null) code = code + HTML.SautLigne()+ HTML.SautP8(nodeAna.getAttributs().get("titre3"),nodeAna.getAttributs().get("id")) + HTML.SautLigne(); ;
if(nodeAna.getAttributs().get("id")==null) code = code + HTML.SautLigne() + HTML.SautP8(nodeAna.getAttributs().get("titre3")) + HTML.SautLigne(); ;
}
return code;
}

View File

@ -19,7 +19,7 @@ public class analyseLesNodesEnfants {
* @param a : Objet de cXML.Run
* @return le node pour analyse PourAnalyse
*/
static public node nodeNext(node PourAnalyse, String nomDuNodePourAnalyse, node nod2Student, node nod1Student, node nodStudent, node nodSujet, node nodSujetParagraphs, node nodStudentParagraphes, Run a) {
static public node nodeNext(node PourAnalyse, String nomDuNodePourAnalyse, node nod2Student, node nod1Student, node nodStudent, node nodSujet, node nodSujetParagraphs, node nodStudentParagraphes, node nodmenu,Run a) {
node nodEnfantSujet = null;
node nodStudentCorrespondantAuNodSujet = null;
@ -37,7 +37,7 @@ public class analyseLesNodesEnfants {
//********************************
//** Ajoute des sauts et titres **
//********************************
PourAnalyse = meptl.addNodeSautTitre(nodEnfantSujet, PourAnalyse);
PourAnalyse = meptl.addNodeSautTitre(nodEnfantSujet, PourAnalyse,nodmenu,a);
//***************************************************
//** Recherche le node correspondant de l'étudiant **
@ -68,7 +68,7 @@ public class analyseLesNodesEnfants {
//*******************************
if(nameNode.contains("text:") && nodEnfantSujet.getAttributs().get("analyseStyle")!=null && nodSujetParagraphs!=null) {
if(nodEnfantSujet.getAttributs().get("analyseStyle").equalsIgnoreCase("true")) {
PourAnalyse = analyseStyle(PourAnalyse, nomDuNodePourAnalyse, nodEnfantSujet,nodStudentCorrespondantAuNodSujet, nodSujetParagraphs,nodStudentParagraphes);
PourAnalyse = analyseStyle(PourAnalyse, nomDuNodePourAnalyse, nodEnfantSujet,nodStudentCorrespondantAuNodSujet, nodSujetParagraphs,nodStudentParagraphes, nodmenu, a);
}
}
@ -76,7 +76,7 @@ public class analyseLesNodesEnfants {
//** Analyse les nodes enfants du node enfant - Récursivité **
//************************************************************
if(nodEnfantSujet!=null) {
PourAnalyse = nodeNext(PourAnalyse, nomDuNodePourAnalyse, nodStudentCorrespondantAuNodSujet, nod2Student, nod1Student, nodEnfantSujet, nodSujetParagraphs, nodStudentParagraphes, a);
PourAnalyse = nodeNext(PourAnalyse, nomDuNodePourAnalyse, nodStudentCorrespondantAuNodSujet, nod2Student, nod1Student, nodEnfantSujet, nodSujetParagraphs, nodStudentParagraphes, nodmenu,a);
}
}
@ -95,7 +95,7 @@ public class analyseLesNodesEnfants {
* @param nodStudentParagraphs : le node contenant l'ensemble des style de l'étudiant.
* @return
*/
public static node analyseStyle(node PourAnalyse, String nomDuNodePourAnalyse, node nodSujet, node nodStudent, node nodSujetParagraphs, node nodStudentParagraphs ) {
public static node analyseStyle(node PourAnalyse, String nomDuNodePourAnalyse, node nodSujet, node nodStudent, node nodSujetParagraphs, node nodStudentParagraphs, node nodmenu, Run a ) {
node StyleParagraphSujet = null;
node StyleParagraphStudent = null;
@ -115,10 +115,10 @@ public class analyseLesNodesEnfants {
// ajoute les valeurs par héritage.
if(StyleParagraphSujet!=null) {
if(StyleParagraphStudent!=null) StyleParagraphStudent = meptl.ajouteValeurLesValeursDuStyleParagraphParent(nodStudentParagraphs , StyleParagraphStudent);
// if(StyleParagraphStudent!=null) StyleParagraphStudent = meptl.ajouteValeurLesValeursDuStyleParagraphParent(nodStudentParagraphs , StyleParagraphStudent);
//ajoute les valeurs par défaut.
if(StyleParagraphStudent!=null) StyleParagraphStudent = meptl.ajouteValeurParDefautAuStyleParagraph(nodStudentParagraphs , StyleParagraphStudent);
// if(StyleParagraphStudent!=null) StyleParagraphStudent = meptl.ajouteValeurParDefautAuStyleParagraph(nodStudentParagraphs , StyleParagraphStudent);
//*****************************
//** Ajoute un saut de ligne **
@ -128,7 +128,7 @@ public class analyseLesNodesEnfants {
//********************************
//** Ajoute des sauts et titres **
//********************************
PourAnalyse = meptl.addNodeSautTitre(StyleParagraphSujet, PourAnalyse);
PourAnalyse = meptl.addNodeSautTitre(StyleParagraphSujet, PourAnalyse, nodmenu, a);
//**************************************************************

View File

@ -55,7 +55,7 @@ public class analyseLesNodesPrincipaux {
//*********************
//** Ajoute un titre **
//*********************
biblio = meptl.addNodeSautTitre(nodSujetBibio,biblio);
biblio = meptl.addNodeSautTitre(nodSujetBibio,biblio,nodmenu,a);
String TitreTable = outils.withoutCodeAndPoint(nodSujetBibio.retourneFirstEnfantsByName("text:index-title").retourneLesContenusEnfants(""));
@ -151,7 +151,7 @@ public class analyseLesNodesPrincipaux {
//*********************
//** Ajoute un titre **
//*********************
numerotation = meptl.addNodeSautTitre(numerotationSujet,numerotation);
numerotation = meptl.addNodeSautTitre(numerotationSujet,numerotation,nodmenu,a);
//*******************************
//** Recherche le node Student **
@ -167,7 +167,7 @@ public class analyseLesNodesPrincipaux {
//************************************
//** analyse tous les nodes enfants **
//************************************
numerotation = analyseLesNodesEnfants.nodeNext(numerotation, "ana:numerotation", numerotationStudent, null, null, numerotationSujet, null, null, a);
numerotation = analyseLesNodesEnfants.nodeNext(numerotation, "ana:numerotation", numerotationStudent, null, null, numerotationSujet, null, null, nodmenu,a);
//****************************************************************
//** Insère les attributs des points dans les node de l'analyse **
@ -237,7 +237,7 @@ public class analyseLesNodesPrincipaux {
//*********************
//** Ajoute un titre **
//*********************
frame = meptl.addNodeSautTitre(frameSujet,frame);
frame = meptl.addNodeSautTitre(frameSujet,frame,nodmenu,a);
//*******************************
//** Recherche le node Student **
@ -252,7 +252,7 @@ public class analyseLesNodesPrincipaux {
//************************************
//** analyse tous les nodes enfants **
//************************************
frame = analyseLesNodesEnfants.nodeNext(frame, "ana:frame", frameStudent, null, null, frameSujet, null, null, a);
frame = analyseLesNodesEnfants.nodeNext(frame, "ana:frame", frameStudent, null, null, frameSujet, null, null, nodmenu,a);
//****************************************************************
//** Insère les attributs des points dans les node de l'analyse **
@ -315,7 +315,7 @@ public class analyseLesNodesPrincipaux {
//*********************
//** Ajoute un titre **
//*********************
nodmeta = meptl.addNodeSautTitre(nodSujet,nodmeta);
nodmeta = meptl.addNodeSautTitre(nodSujet,nodmeta,nodmenu,a);
// parcours les attributs du node "meta:user-defined"
@ -410,7 +410,7 @@ public class analyseLesNodesPrincipaux {
//*********************
//** Ajoute un titre **
//*********************
section = meptl.addNodeSautTitre(sectionSujet,section);
section = meptl.addNodeSautTitre(sectionSujet,section,nodmenu,a);
//*******************************
//** Recherche le node Student **
@ -425,7 +425,7 @@ public class analyseLesNodesPrincipaux {
//************************************
//** analyse tous les nodes enfants **
//************************************
section = analyseLesNodesEnfants.nodeNext(section, "ana:section", sectionStudent, null, null, sectionSujet, null, null, a);
section = analyseLesNodesEnfants.nodeNext(section, "ana:section", sectionStudent, null, null, sectionSujet, null, null,nodmenu, a);
// // les enfants du premier niveau du node
@ -563,7 +563,7 @@ public class analyseLesNodesPrincipaux {
//*********************
//** Ajoute un titre **
//*********************
seq = meptl.addNodeSautTitre(seqSujet,seq);
seq = meptl.addNodeSautTitre(seqSujet,seq,nodmenu,a);
//*******************************
//** Recherche le node Student **
@ -573,7 +573,7 @@ public class analyseLesNodesPrincipaux {
//*********************
//** Ajoute un titre **
//*********************
seq = meptl.addNodeSautTitre(seqSujet, seq);
seq = meptl.addNodeSautTitre(seqSujet, seq,nodmenu,a);
//***********************************************
//** analyse les attributs des nodes <section> **
@ -647,7 +647,7 @@ public class analyseLesNodesPrincipaux {
//*********************
//** Ajoute un titre **
//*********************
tableau = meptl.addNodeSautTitre(tableSujet,tableau);
tableau = meptl.addNodeSautTitre(tableSujet,tableau,nodmenu,a);
//*******************************
//** Recherche le node Student **
@ -662,7 +662,7 @@ public class analyseLesNodesPrincipaux {
//************************************
//** analyse tous les nodes enfants **
//************************************
tableau = analyseLesNodesEnfants.nodeNext(tableau, "ana:tableau", tableauStudent, null, null, tableSujet, null, null, a);
tableau = analyseLesNodesEnfants.nodeNext(tableau, "ana:tableau", tableauStudent, null, null, tableSujet, null, null,nodmenu, a);
// // les enfants du premier niveau du node
// for(int j = 0 ; j < tableSujet.getNodes().size();j++ ) { //niveau 2
@ -788,7 +788,7 @@ public class analyseLesNodesPrincipaux {
//*********************
//** Ajoute un titre **
//*********************
table = meptl.addNodeSautTitre(nodSujet,table);
table = meptl.addNodeSautTitre(nodSujet,table,nodmenu,a);
//*******************************
//** Recherche le node Student **
@ -888,7 +888,7 @@ public class analyseLesNodesPrincipaux {
//*********************
//** Ajoute un titre **
//*********************
table = meptl.addNodeSautTitre(nodSujet,table);
table = meptl.addNodeSautTitre(nodSujet,table,nodmenu,a);
//*******************************
//** Recherche le node Student **
@ -992,7 +992,7 @@ public class analyseLesNodesPrincipaux {
//*********************
//** Ajoute un titre **
//*********************
page = meptl.addNodeSautTitre(pageSujet,page);
page = meptl.addNodeSautTitre(pageSujet,page,nodmenu,a);
//*******************************
//** Recherche le node Student **
@ -1007,7 +1007,7 @@ public class analyseLesNodesPrincipaux {
//**********************************************
//** Analyse de tous les autres nodes enfants **
//**********************************************
page=analyseLesNodesEnfants.nodeNext(page, "ana:page", pageStudent, null, null, pageSujet, nodSujetParagraphes, nodStudentParagraphes, a);
page=analyseLesNodesEnfants.nodeNext(page, "ana:page", pageStudent, null, null, pageSujet, nodSujetParagraphes, nodStudentParagraphes, nodmenu,a);
//*****************************************************************
//** Insère les attributs des points dans les nodes de l'analyse **
@ -1073,23 +1073,13 @@ public class analyseLesNodesPrincipaux {
//*********************
//** Ajoute un titre **
//*********************
paragraph = meptl.addNodeSautTitre(paragraphSujet,paragraph);
paragraph = meptl.addNodeSautTitre(paragraphSujet,paragraph,nodmenu,a);
//*******************************
//** Recherche le node Student **
//*******************************
node paragraphStudent = a.retourneFirstNodeByNameAttributValue(nodStudentParagraph, "style:style", "style:name", nomDuParagraph);
//**************************************************************
//** Ajoute les valeurs par héritage au node paragraphStudent **
//**************************************************************
if(paragraphStudent!=null) paragraphStudent = meptl.ajouteValeurLesValeursDuStyleParagraphParent(nodStudentParagraph, paragraphStudent);
//************************************************************
//** Ajoute les valeurs par défaut au node paragraphStudent **
//************************************************************
if(paragraphStudent!=null) paragraphStudent = meptl.ajouteValeurParDefautAuStyleParagraph(nodStudentParagraph, paragraphStudent);
//*************************************************
//** analyse les attributs des nodes <paragraph> **
//*************************************************
@ -1098,61 +1088,7 @@ public class analyseLesNodesPrincipaux {
//************************************
//** analyse tous les nodes enfants **
//************************************
paragraph = analyseLesNodesEnfants.nodeNext(paragraph, "ana:paragraph", paragraphStudent, null, null, paragraphSujet, null, null, a);
// // 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());
// }
//
// }
//
// }
paragraph = analyseLesNodesEnfants.nodeNext(paragraph, "ana:paragraph", paragraphStudent, null, null, paragraphSujet, null, null, nodmenu,a);
//****************************************************************
//** Insère les attributs des points dans les node de l'analyse **
@ -1229,7 +1165,7 @@ public class analyseLesNodesPrincipaux {
//*********************
//** Ajoute un titre **
//*********************
page = meptl.addNodeSautTitre(pageSujet,page);
page = meptl.addNodeSautTitre(pageSujet,page,nodmenu,a);
//*******************************
//** Recherche le node Student **
@ -1244,7 +1180,7 @@ public class analyseLesNodesPrincipaux {
//************************************
//** analyse tous les nodes enfants **
//************************************
page = analyseLesNodesEnfants.nodeNext(page, "ana:page", pageStudent, null, null, pageSujet, nodSujetParagraphs, nodStudentParagraphs, a);
page = analyseLesNodesEnfants.nodeNext(page, "ana:page", pageStudent, null, null, pageSujet, nodSujetParagraphs, nodStudentParagraphs,nodmenu, a);
//****************************************************************
//** Insère les attributs des points dans les node de l'analyse **

View File

@ -161,7 +161,7 @@ public class commandes {
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();}
if(args.length>=3 && !Command.contains("-f")) {System.out.println("\n\n***\nLa commande -a suivi du nom du fichier d'analyse doit être la seule commande, à l'exception de la commande -f.\n***");clotureWithError();}
ecritNodeAnalyse=true;
}
if(args[i].equals("-sujet")) {

View File

@ -281,24 +281,13 @@ public class feedbacks {
fichier.append(HTML.SautLigne());
fichier.append(HTML.H2("Synthèse"));
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("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 {
IdError = IdError + nodana.getNodes().get(k).getAttributs().get("id");
}
}
}
}
//**************************************
//** Table de synthèse avec les liens **
//***************************************
fichier.append(HTML.H2("Synthèse"));
fichier.append(HTML.TableEnteteTableurSynthese());
fichier = SyntheseTable(nodana,fichier);
//Metadonnées
if(nodana.retourneFirstEnfantsByName("meta")!=null) if(nodana.retourneFirstEnfantsByName("meta").isClose()) {
@ -308,9 +297,10 @@ public class feedbacks {
//style de paragraphe
if(nodana.retourneFirstEnfantsByName("paragraphs")!=null) if(nodana.retourneFirstEnfantsByName("paragraphs").isClose()) {
//il est possible qu'il n'y ai aucun point car passé par analyseStyle dans le node structurepage
if(!IdError.contains(nodana.retourneFirstEnfantsByName("paragraphs").getAttributs().get("id"))){
fichier.append(HTML.Table(nodana.retourneFirstEnfantsByName("paragraphs")));
}
// if(!IdError.contains(nodana.retourneFirstEnfantsByName("paragraphs").getAttributs().get("id"))){
// fichier.append(HTML.Table(nodana.retourneFirstEnfantsByName("paragraphs")));
// }
fichier.append(HTML.Table(nodana.retourneFirstEnfantsByName("paragraphs")));
}
//pages
@ -494,5 +484,63 @@ public class feedbacks {
}
private static StringBuilder SyntheseTable(node nodana, StringBuilder fichier) {
// 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")) {
node N = nodana.getNodes().get(k);
if(N.getAttributs().get("proportioncorrect")!=null) {
if(!N.getAttributs().get("proportioncorrect").equals("NaN")) {
if(N.getAttributs().get("titre")!=null) {
fichier.append(HTML.TablePointsSyntheseStyle(N.getAttributs().get("titre"),Double.valueOf(N.getAttributs().get("proportioncorrect")),N.getAttributs().get("pointtotal") + " pt",N.getAttributs().get("pointgagner") + " pt", N.getAttributs().get("poids"),N.getAttributs().get("id")));
}
if(N.getAttributs().get("titre1")!=null) {
fichier.append(HTML.TablePointsSyntheseStyle(N.getAttributs().get("titre1"),Double.valueOf(N.getAttributs().get("proportioncorrect")),N.getAttributs().get("pointtotal") + " pt",N.getAttributs().get("pointgagner") + " pt", N.getAttributs().get("poids"),N.getAttributs().get("id")));
}
if(N.getAttributs().get("titre2")!=null) {
fichier.append(HTML.TablePointsSyntheseStyle(N.getAttributs().get("titre2"),Double.valueOf(N.getAttributs().get("proportioncorrect")),N.getAttributs().get("pointtotal") + " pt",N.getAttributs().get("pointgagner") + " pt", N.getAttributs().get("poids"),N.getAttributs().get("id")));
}
if(N.getAttributs().get("titre3")!=null) {
fichier.append(HTML.TablePointsSyntheseStyle(N.getAttributs().get("titre3"),Double.valueOf(N.getAttributs().get("proportioncorrect")),N.getAttributs().get("pointtotal") + " pt",N.getAttributs().get("pointgagner") + " pt", N.getAttributs().get("poids"),N.getAttributs().get("id")));
}
}else {
// IdError = IdError + N.getAttributs().get("id");
// System.out.print("\t** Erreur menu, node : " + N.getNomElt());
}
}else {
if(N.getAttributs().get("titre")!=null) {
fichier.append(HTML.TablePointsSyntheseStyle(N.getAttributs().get("titre"),-1.0,"","", "",N.getAttributs().get("id")));
}
if(N.getAttributs().get("titre1")!=null) {
fichier.append(HTML.TablePointsSyntheseStyle(N.getAttributs().get("titre1"),-1.0,"","", "",N.getAttributs().get("id")));
}
if(N.getAttributs().get("titre2")!=null) {
fichier.append(HTML.TablePointsSyntheseStyle(N.getAttributs().get("titre2"),-1.0,"","", "",N.getAttributs().get("id")));
}
if(N.getAttributs().get("titre3")!=null) {
fichier.append(HTML.TablePointsSyntheseStyle(N.getAttributs().get("titre3"),-1.0,"","", "",N.getAttributs().get("id")));
}
}
}
}
for(int l=0; l < nodana.getNodes().get(k).getNodes().size();l++) {
fichier = SyntheseTable(nodana.getNodes().get(k).getNodes().get(l),fichier);
}
}
return fichier;
}
}

View File

@ -169,7 +169,6 @@ public class meptl {
nodeSujet.getAttributs().put("hash", commandes.hash);
nodeSujet.getAttributs().put("analysis_filename", commandes.nameSujet);
}
try {
@ -284,7 +283,7 @@ public class meptl {
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 nodStudent de l'étudiant
// Run.ecritureNodeEnXML(nodStudent, "fichier student","",false,""); //écriture du node nodStudent de l'étudiant
node ana = analyse(nodStudent, nodeSujet, i, a);
//**************************************************
@ -403,6 +402,102 @@ public class meptl {
return fichier;
}
/**
* Retourne le node menu qui est réalisé à partir de l'attibut "<b>addmenu=true</b>".<br>
* L'attribut "<b>addmenu=true</b>" se trouve uniquement dans les node de niveu 1 (les nodes principaux).<br>
*
* @param nod Le node dans lequel on recherche les node
* @param menu Le node menu.
* @param niv Le niveau du node.
* @param Compteur Le compteur permet d'incrémenter les niveaux des nodes.
* @return Le node menu est retourner avec des nodes "<b>item</b>" ajoutés.
*/
private static node retourneNodeMenu(node nod , node menu, Integer niv, Integer Compteur) {
if(nod==null) return null;
if(nod.getAttributs().get("addmenu")!=null) {
boolean erreur = false;
if(nod.getAttributs().get("addmenu").equals("true")) {
node newnode = new node();
newnode.setNomElt("item");
String titre ="";
if(nod.getAttributs().get("titre")!=null) {
titre = nod.getAttributs().get("titre");
newnode.getAttributs().put("titre",titre);
}
if(nod.getAttributs().get("titre1")!=null) {
titre = nod.getAttributs().get("titre1");
newnode.getAttributs().put("titre",titre);
}
if(nod.getAttributs().get("titre2")!=null) {
titre = nod.getAttributs().get("titre2");
newnode.getAttributs().put("titre",titre);
}
if(nod.getAttributs().get("titre3")!=null) {
titre = nod.getAttributs().get("titre3");
newnode.getAttributs().put("titre",titre);
}
newnode.getAttributs().put("niveau",String.valueOf(niv));
newnode.getAttributs().put("name",nod.getNomElt());
newnode.getAttributs().put("id","#M"+ titre.replace(" ", ""));
menu.getNodes().add(newnode);
}
if(nod.getAttributs().get("addmenu").equals("false") && niv==1) {
System.out.println();
System.out.println("** WARNING -- L'attribut \"addmenu\" n'est pas associé au node principal \"" + nod.getNomElt() + "\" dans le fichier d'analyse.");
System.out.println("** -- Changer la valeur de l'attribut \"addmenu\" à TRUE.");
System.out.println();
erreur =true;
}
if(nod.getAttributs().get("addmenu").equals("true") && nod.getAttributs().get("titre")==null && nod.getAttributs().get("titre1")==null && nod.getAttributs().get("titre2")==null && nod.getAttributs().get("titre3")==null) {
System.out.println();
System.out.println("** WARNING -- L'attribut \"addmenu\" n'est pas associé à un titre dans le node \"" + nod.getNomElt() + "\", dans le fichier d'analyse.");
if(nod.getAttributs().get("titre")==null && nod.getAttributs().get("titre1")==null && nod.getAttributs().get("titre2")==null && nod.getAttributs().get("titre3")==null){
System.out.println("** -- Ajouter l'attribut \"titre\" à ce node.");
}
if(nod.getAttributs().get("titre").isEmpty()){
System.out.println("** -- Ajouter l'attribut \"titre\" une valeur.");
}
if(nod.getAttributs().get("titre1").isEmpty()){
System.out.println("** -- Ajouter l'attribut \"titre1\" une valeur.");
}
if(nod.getAttributs().get("titre2").isEmpty()){
System.out.println("** -- Ajouter l'attribut \"titre2\" une valeur.");
}
if(nod.getAttributs().get("titre3").isEmpty()){
System.out.println("** -- Ajouter l'attribut \"titre2\" une valeur.");
}
System.out.println();
erreur =true;
}
//***************************
//** bye bye analyseWriter **
//***************************
if(erreur) commandes.clotureApplicationAvecErreur();
}
for(int i = 0 ; i < nod.getNodes().size();i++) {
menu = retourneNodeMenu(nod.getNodes().get(i), menu, niv+1, Compteur++);
}
return menu;
}
/**
* Lecture du fichier Writer des étudiants et fournir tous les nodes de la lecture dans un node nommé "fichier".
* @param nod Le node Writer de l'étudiant.
@ -463,6 +558,8 @@ public class meptl {
nodstyleparagraphe.setNomElt("style:paragraph");
nodstyleparagraphe.addNode(a.NodesAyantAttribut(nodstyle, "style:family","paragraph"));
nodstyleparagraphe.addNode(a.NodesAyantAttribut(nodstyle, "style:family","text"));
nodstyleparagraphe = ajouteValeurLesValeursDuStyleParagraphParent(nodstyleparagraphe);
nodstyleparagraphe = ajouteValeurParDefautAuStyleParagraph(nodstyleparagraphe);
// // le node des styles de formatage direct
// node nodstyleformatage = new node();
@ -957,7 +1054,6 @@ public class meptl {
/**
* Début de l'analyse par comparaison du node étudiant avec le node sujet.
* @param nodStudent, le node étudiant.
@ -1013,7 +1109,7 @@ public class meptl {
//Le menu
node nodmenu = new node();
nodmenu.setNomElt("menu");
nodmenu = a.retourneNodeMenu(nodSujet, nodmenu, 0, 0);
nodmenu = retourneNodeMenu(nodSujet, nodmenu, 0, 0);
nodmenu.setClose(true);
// verification de la métadonnées Sujet
@ -1093,7 +1189,11 @@ public class meptl {
// retourne le node analyse assemblé et calcul de la note avec le barème
return clotureNodeAnalyse(nodouverture, nodbodyetnotation, nodmenu, erreurs, nodmeta, nodpage, nodparagraph, nodsequence, nodnumerochapitre, nodframes, nodsections, nodtableaux, nodbiblio, nodtablematieres, nodtableillustrations, nodstructurepage,nodSujet.getContenu().get(0));
if(nodSujet.getContenu().size()>0) {
return clotureNodeAnalyse(nodouverture, nodbodyetnotation, nodmenu, erreurs, nodmeta, nodpage, nodparagraph, nodsequence, nodnumerochapitre, nodframes, nodsections, nodtableaux, nodbiblio, nodtablematieres, nodtableillustrations, nodstructurepage,nodSujet.getContenu().get(0));
}else {
return clotureNodeAnalyse(nodouverture, nodbodyetnotation, nodmenu, erreurs, nodmeta, nodpage, nodparagraph, nodsequence, nodnumerochapitre, nodframes, nodsections, nodtableaux, nodbiblio, nodtablematieres, nodtableillustrations, nodstructurepage,"");
}
}
@ -1802,13 +1902,19 @@ public class meptl {
* @param nod
* @return
*/
public static node addNodeSautTitre(node nodSujet, node nodanalyse) {
public static node addNodeSautTitre(node nodSujet, node nodanalyse, node nodmenu, Run a) {
if(nodSujet.getAttributs().get("titre")!=null) {
node N = new node();
N.setNomElt("saut");
N.getAttributs().put("titre", nodSujet.getAttributs().get("titre"));
N.setClose(true);
nodanalyse.getNodes().add(N);
if(nodSujet.getAttributs().get("addmenu")!=null) if(nodSujet.getAttributs().get("addmenu").equalsIgnoreCase("true")) {
if(a.retourneFirstNodeByNameAttributValue(nodmenu, "item", "titre", nodSujet.getAttributs().get("titre"))!=null) {
N.getAttributs().put("id", a.retourneFirstNodeByNameAttributValue(nodmenu, "item", "titre", nodSujet.getAttributs().get("titre")).getAttributs().get("id"));
N.getAttributs().put("addmenu", "true");
}
}
}
if(nodSujet.getAttributs().get("titre1")!=null) {
node N = new node();
@ -1816,6 +1922,12 @@ public class meptl {
N.getAttributs().put("titre1", nodSujet.getAttributs().get("titre1"));
N.setClose(true);
nodanalyse.getNodes().add(N);
if(nodSujet.getAttributs().get("addmenu")!=null) if(nodSujet.getAttributs().get("addmenu").equalsIgnoreCase("true")) {
if(a.retourneFirstNodeByNameAttributValue(nodmenu, "item", "titre", nodSujet.getAttributs().get("titre1"))!=null) {
N.getAttributs().put("id", a.retourneFirstNodeByNameAttributValue(nodmenu, "item", "titre", nodSujet.getAttributs().get("titre1")).getAttributs().get("id"));
N.getAttributs().put("addmenu", "true");
}
}
}
if(nodSujet.getAttributs().get("titre2")!=null) {
node N = new node();
@ -1823,6 +1935,12 @@ public class meptl {
N.getAttributs().put("titre2", nodSujet.getAttributs().get("titre2"));
N.setClose(true);
nodanalyse.getNodes().add(N);
if(nodSujet.getAttributs().get("addmenu")!=null) if(nodSujet.getAttributs().get("addmenu").equalsIgnoreCase("true")) {
if(a.retourneFirstNodeByNameAttributValue(nodmenu, "item", "titre", nodSujet.getAttributs().get("titre2"))!=null) {
N.getAttributs().put("id", a.retourneFirstNodeByNameAttributValue(nodmenu, "item", "titre", nodSujet.getAttributs().get("titre2")).getAttributs().get("id"));
N.getAttributs().put("addmenu", "true");
}
}
}
if(nodSujet.getAttributs().get("titre3")!=null) {
node N = new node();
@ -1830,6 +1948,12 @@ public class meptl {
N.getAttributs().put("titre3", nodSujet.getAttributs().get("titre3"));
N.setClose(true);
nodanalyse.getNodes().add(N);
if(nodSujet.getAttributs().get("addmenu")!=null) if(nodSujet.getAttributs().get("addmenu").equalsIgnoreCase("true")) {
if(a.retourneFirstNodeByNameAttributValue(nodmenu, "item", "titre", nodSujet.getAttributs().get("titre3"))!=null) {
N.getAttributs().put("id", a.retourneFirstNodeByNameAttributValue(nodmenu, "item", "titre", nodSujet.getAttributs().get("titre3")).getAttributs().get("id"));
N.getAttributs().put("addmenu", "true");
}
}
}
return nodanalyse;
@ -2472,26 +2596,20 @@ public class meptl {
return targetString;
}
/**
* Ajoute les valeurs par défauts pour les styles de paragraphes.<br>
* <br>
* @param LesStyleStudents : Tous les styles de paragraphes du fichiers de l'étudiants.
* @param styleParagraph : le node dont il faut ajouter les valerus par défauts.
* @return le node styleParagraph.
*/
public static node ajouteValeurParDefautAuStyleParagraph(node ensembleDesParagraphes , node styleParagraph) {
public static node ajouteValeurParDefautAuStyleParagraph(node ensembleDesParagraphes ) {
node LesStyleDefaut = null;
if(ensembleDesParagraphes.retourneEnfantsByNameExist("style:default-style")) {
LesStyleDefaut = ensembleDesParagraphes.retourneFirstEnfantsByName("style:default-style");
}
if(LesStyleDefaut!=null && styleParagraph!=null) {
for(int i =0 ; i < ensembleDesParagraphes.getNodes().size(); i++) {
node nodStyle = ensembleDesParagraphes.getNodes().get(i);
//le paragarph properties
node nodeStyleParDefautParagraphProperties = LesStyleDefaut.retourneFirstEnfantsByName("style:paragraph-properties");
node LesNodesStyleParagraph = styleParagraph.retourneFirstEnfantsByName("style:paragraph-properties");
node LesNodesStyleParagraph = nodStyle.retourneFirstEnfantsByName("style:paragraph-properties");
Enumeration<String > K = nodeStyleParDefautParagraphProperties.getAttributs().keys();
while(K.hasMoreElements()){
String Key = K.nextElement();
@ -2503,14 +2621,14 @@ public class meptl {
node n = new node();
n.setNomElt("style:paragraph-properties");
n.setAttributs(nodeStyleParDefautParagraphProperties.getAttributs());
styleParagraph.getNodes().add(n);
nodStyle.getNodes().add(n);
break;
}
}
//le text properties
node nodeStyleParDefautTextProperties = LesStyleDefaut.retourneFirstEnfantsByName("style:text-properties");
node LesNodesStyleText = styleParagraph.retourneFirstEnfantsByName("style:text-properties");
node LesNodesStyleText = nodStyle.retourneFirstEnfantsByName("style:text-properties");
K = nodeStyleParDefautTextProperties.getAttributs().keys();
while(K.hasMoreElements()){
String Key = K.nextElement();
@ -2522,78 +2640,204 @@ public class meptl {
node n = new node();
n.setNomElt("style:text-properties");
n.setAttributs(nodeStyleParDefautTextProperties.getAttributs());
styleParagraph.getNodes().add(n);
nodStyle.getNodes().add(n);
break;
}
}
}
return styleParagraph;
return ensembleDesParagraphes;
}
/**
* Même méthode que "ajouteValeurParDefautAuStyleParagraph".<br>
* <br>
* @param ensembleDesParagraphes
* @param styleParagraph
* @return
*/
public static node ajouteValeurLesValeursDuStyleParagraphParent(node ensembleDesParagraphes , node styleParagraph) {
// /**
// * Ajoute les valeurs par défauts pour les styles de paragraphes.<br>
// * <br>
// * @param LesStyleStudents : Tous les styles de paragraphes du fichiers de l'étudiants.
// * @param styleParagraph : le node dont il faut ajouter les valerus par défauts.
// * @return le node styleParagraph.
// */
// public static node ajouteValeurParDefautAuStyleParagraph(node ensembleDesParagraphes , node styleParagraph) {
//
// node LesStyleDefaut = null;
//
// if(ensembleDesParagraphes.retourneEnfantsByNameExist("style:default-style")) {
// LesStyleDefaut = ensembleDesParagraphes.retourneFirstEnfantsByName("style:default-style");
// }
//
// if(LesStyleDefaut!=null && styleParagraph!=null) {
//
// //le paragarph properties
// node nodeStyleParDefautParagraphProperties = LesStyleDefaut.retourneFirstEnfantsByName("style:paragraph-properties");
// node LesNodesStyleParagraph = styleParagraph.retourneFirstEnfantsByName("style:paragraph-properties");
// Enumeration<String > K = nodeStyleParDefautParagraphProperties.getAttributs().keys();
// while(K.hasMoreElements()){
// String Key = K.nextElement();
// if(LesNodesStyleParagraph.getNomElt().equals("style:paragraph-properties")) {
// if(LesNodesStyleParagraph.getAttributs().get(Key)==null) {
// LesNodesStyleParagraph.getAttributs().put(Key, nodeStyleParDefautParagraphProperties.getAttributs().get(Key));
// }
// }else {
// node n = new node();
// n.setNomElt("style:paragraph-properties");
// n.setAttributs(nodeStyleParDefautParagraphProperties.getAttributs());
// styleParagraph.getNodes().add(n);
// break;
// }
// }
//
// //le text properties
// node nodeStyleParDefautTextProperties = LesStyleDefaut.retourneFirstEnfantsByName("style:text-properties");
// node LesNodesStyleText = styleParagraph.retourneFirstEnfantsByName("style:text-properties");
// K = nodeStyleParDefautTextProperties.getAttributs().keys();
// while(K.hasMoreElements()){
// String Key = K.nextElement();
// if(LesNodesStyleText.getNomElt().equals("style:text-properties")) {
// if(LesNodesStyleText.getAttributs().get(Key)==null) {
// LesNodesStyleText.getAttributs().put(Key, nodeStyleParDefautTextProperties.getAttributs().get(Key));
// }
// }else {
// node n = new node();
// n.setNomElt("style:text-properties");
// n.setAttributs(nodeStyleParDefautTextProperties.getAttributs());
// styleParagraph.getNodes().add(n);
// break;
// }
// }
//
//
//
// }
// return styleParagraph;
// }
//
public static node ajouteValeurLesValeursDuStyleParagraphParent(node ensembleDesParagraphes) {
node parent = null;
if(styleParagraph.getAttributs().get("style:parent-style-name")!=null) {
String nameStyleParent = styleParagraph.getAttributs().get("style:parent-style-name");
if(ensembleDesParagraphes.retourneFirstNodeByNameAndAttributValue("style:style", "style:name", nameStyleParent)!=null) {
parent = ensembleDesParagraphes.retourneFirstNodeByNameAndAttributValue("style:style", "style:name", nameStyleParent);
}
}
if(parent!=null) {
for(int i = 0 ; i < ensembleDesParagraphes.getNodes().size(); i++) {
//le paragarph properties
node nodeStyleParDefautParagraphProperties = parent.retourneFirstEnfantsByName("style:paragraph-properties");
node LesNodesStyleParagraph = styleParagraph.retourneFirstEnfantsByName("style:paragraph-properties");
Enumeration<String > K = nodeStyleParDefautParagraphProperties.getAttributs().keys();
while(K.hasMoreElements()){
String Key = K.nextElement();
if(LesNodesStyleParagraph.getNomElt().equals("style:paragraph-properties")) {
if(LesNodesStyleParagraph.getAttributs().get(Key)==null) {
LesNodesStyleParagraph.getAttributs().put(Key, nodeStyleParDefautParagraphProperties.getAttributs().get(Key));
}
}else {
node n = new node();
n.setNomElt("style:paragraph-properties");
n.setAttributs(nodeStyleParDefautParagraphProperties.getAttributs());
styleParagraph.getNodes().add(n);
break;
node nodStyle = ensembleDesParagraphes.getNodes().get(i);
node parent = null;
if(nodStyle.getAttributs().get("style:parent-style-name")!=null) {
String nameStyleParent = nodStyle.getAttributs().get("style:parent-style-name");
if(ensembleDesParagraphes.retourneFirstNodeByNameAndAttributValueExactStrict("style:style", "style:name", nameStyleParent)!=null) {
parent = ensembleDesParagraphes.retourneFirstNodeByNameAndAttributValueExactStrict("style:style", "style:name", nameStyleParent);
}
}
//le text properties
node nodeStyleParDefautTextProperties = parent.retourneFirstEnfantsByName("style:text-properties");
node LesNodesStyleText = styleParagraph.retourneFirstEnfantsByName("style:text-properties");
K = nodeStyleParDefautTextProperties.getAttributs().keys();
while(K.hasMoreElements()){
String Key = K.nextElement();
if(LesNodesStyleText.getNomElt().equals("style:text-properties")) {
if(LesNodesStyleText.getAttributs().get(Key)==null) {
LesNodesStyleText.getAttributs().put(Key, nodeStyleParDefautTextProperties.getAttributs().get(Key));
if(parent!=null) {
//le paragraph properties
node nodeStyleParentParagraphProperties = parent.retourneFirstEnfantsByName("style:paragraph-properties");
node LesNodesStyleParagraph = nodStyle.retourneFirstEnfantsByName("style:paragraph-properties");
Enumeration<String > K = nodeStyleParentParagraphProperties.getAttributs().keys();
while(K.hasMoreElements()){
String Key = K.nextElement();
if(LesNodesStyleParagraph.getNomElt().equals("style:paragraph-properties")) {
if(LesNodesStyleParagraph.getAttributs().get(Key)==null) {
LesNodesStyleParagraph.getAttributs().put(Key, nodeStyleParentParagraphProperties.getAttributs().get(Key));
}
}else {
node n = new node();
n.setNomElt("style:paragraph-properties");
n.setAttributs(nodeStyleParentParagraphProperties.getAttributs());
nodStyle.getNodes().add(n);
break;
}
}else {
node n = new node();
n.setNomElt("style:text-properties");
n.setAttributs(nodeStyleParDefautTextProperties.getAttributs());
styleParagraph.getNodes().add(n);
break;
}
//le text properties
node nodeStyleParDefautTextProperties = parent.retourneFirstEnfantsByName("style:text-properties");
node LesNodesStyleText = nodStyle.retourneFirstEnfantsByName("style:text-properties");
K = nodeStyleParDefautTextProperties.getAttributs().keys();
while(K.hasMoreElements()){
String Key = K.nextElement();
if(LesNodesStyleText.getNomElt().equals("style:text-properties")) {
if(LesNodesStyleText.getAttributs().get(Key)==null) {
LesNodesStyleText.getAttributs().put(Key, nodeStyleParDefautTextProperties.getAttributs().get(Key));
}
}else {
node n = new node();
n.setNomElt("style:text-properties");
n.setAttributs(nodeStyleParDefautTextProperties.getAttributs());
nodStyle.getNodes().add(n);
break;
}
}
}
}
return styleParagraph;
return ensembleDesParagraphes;
}
// /**
// * Même méthode que "ajouteValeurParDefautAuStyleParagraph".<br>
// * <br>
// * @param ensembleDesParagraphes
// * @param styleParagraph
// * @return
// */
// public static node ajouteValeurLesValeursDuStyleParagraphParent(node ensembleDesParagraphes , node styleParagraph) {
//
// node parent = null;
// if(styleParagraph.getAttributs().get("style:parent-style-name")!=null) {
// String nameStyleParent = styleParagraph.getAttributs().get("style:parent-style-name");
// if(ensembleDesParagraphes.retourneFirstNodeByNameAndAttributValue("style:style", "style:name", nameStyleParent)!=null) {
// parent = ensembleDesParagraphes.retourneFirstNodeByNameAndAttributValue("style:style", "style:name", nameStyleParent);
// }
// }
//
//
// if(parent!=null) {
//
// //le paragraph properties
// node nodeStyleParDefautParagraphProperties = parent.retourneFirstEnfantsByName("style:paragraph-properties");
// node LesNodesStyleParagraph = styleParagraph.retourneFirstEnfantsByName("style:paragraph-properties");
// Enumeration<String > K = nodeStyleParDefautParagraphProperties.getAttributs().keys();
// while(K.hasMoreElements()){
// String Key = K.nextElement();
// if(LesNodesStyleParagraph.getNomElt().equals("style:paragraph-properties")) {
// if(LesNodesStyleParagraph.getAttributs().get(Key)==null) {
// LesNodesStyleParagraph.getAttributs().put(Key, nodeStyleParDefautParagraphProperties.getAttributs().get(Key));
// }
// }else {
// node n = new node();
// n.setNomElt("style:paragraph-properties");
// n.setAttributs(nodeStyleParDefautParagraphProperties.getAttributs());
// styleParagraph.getNodes().add(n);
// break;
// }
// }
//
// //le text properties
// node nodeStyleParDefautTextProperties = parent.retourneFirstEnfantsByName("style:text-properties");
// node LesNodesStyleText = styleParagraph.retourneFirstEnfantsByName("style:text-properties");
// K = nodeStyleParDefautTextProperties.getAttributs().keys();
// while(K.hasMoreElements()){
// String Key = K.nextElement();
// if(LesNodesStyleText.getNomElt().equals("style:text-properties")) {
// if(LesNodesStyleText.getAttributs().get(Key)==null) {
// LesNodesStyleText.getAttributs().put(Key, nodeStyleParDefautTextProperties.getAttributs().get(Key));
// }
// }else {
// node n = new node();
// n.setNomElt("style:text-properties");
// n.setAttributs(nodeStyleParDefautTextProperties.getAttributs());
// styleParagraph.getNodes().add(n);
// break;
// }
// }
// }
// return styleParagraph;
// }
//