Optimisation du code.
This commit is contained in:
parent
86aca27ef3
commit
13d7f4c70f
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -237,9 +237,10 @@ public class HTML {
|
||||
if(nod.getNodes().get(k).getAttributs().get("niveau")!=null) {
|
||||
|
||||
String Tst = nod.getNodes().get(k).getAttributs().get("resultat");
|
||||
// String Key = outils.Traduction(nod.getNodes().get(k).getAttributs().get("elt") + " " + outils.withoutCodeAndPoint(nod.getNodes().get(k).getAttributs().get("attribut")));
|
||||
|
||||
String Key = outils.traduction.get(nod.getNodes().get(k).getAttributs().get("elt") + " " + outils.withoutCodeAndPoint(nod.getNodes().get(k).getAttributs().get("attribut")));
|
||||
if(Key==null) Key = nod.getNodes().get(k).getAttributs().get("elt") + " " + outils.withoutCodeAndPoint(nod.getNodes().get(k).getAttributs().get("attribut"));
|
||||
|
||||
if(Key==null) Key = nod.getNodes().get(k).getAttributs().get("elt") + " " + outils.withoutCodeAndPoint(nod.getNodes().get(k).getAttributs().get("attribut"));
|
||||
|
||||
String valueStudent = nod.getNodes().get(k).getAttributs().get("valueStudent");
|
||||
String valueSujet = outils.withoutCodeAndPoint(nod.getNodes().get(k).getAttributs().get("valueSujet"));
|
||||
@ -275,6 +276,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"));
|
||||
}
|
||||
|
||||
|
@ -3,7 +3,7 @@ package MEPTL;
|
||||
import cXML.node;
|
||||
import cXML.Run;
|
||||
|
||||
public class analyseLesNodesEnants {
|
||||
public class analyseLesNodesEnfants {
|
||||
|
||||
/**
|
||||
* Cette méthode récursive permet d'analyser et d'évaluer les nodes enfants.</br>
|
||||
@ -66,9 +66,9 @@ public class analyseLesNodesEnants {
|
||||
}
|
||||
}
|
||||
|
||||
//**********************************************
|
||||
//** Analyse les nodes enfants du node enfant **
|
||||
//**********************************************
|
||||
//************************************************************
|
||||
//** Analyse les nodes enfants du node enfant - Récursivité **
|
||||
//************************************************************
|
||||
if(nodEnfantSujet!=null) {
|
||||
PourAnalyse = nodeNext(PourAnalyse, nomDuNodePourAnalyse, nodStudentCorrespondantAuNodSujet, nod2Student, nod1Student, nodEnfantSujet, nodSujetParagraphs, nodStudentParagraphes, a);
|
||||
}
|
||||
@ -80,13 +80,13 @@ public class analyseLesNodesEnants {
|
||||
|
||||
|
||||
/**
|
||||
* Permet d'analyser les styles depuis l'attribut analyseStyle.</br>
|
||||
* Permet d'analyser les styles depuis l'attribut <b>analyseStyle</b>.</br>
|
||||
* @param PourAnalyse : node pour le node analyse
|
||||
* @param : Le nom du node de l'analyse pour cette partie (exemple ana:page)
|
||||
* @param nodSujet
|
||||
* @param nodStudent
|
||||
* @param nodSujetParagraphs
|
||||
* @param nodStudentParagraphs
|
||||
* @param : Le nom du node de l'analyse pour cette partie de l'analyse(exemple ana:page)
|
||||
* @param nodSujet : le node du sujet (consignes).
|
||||
* @param nodStudent : le node de l'étudiant.
|
||||
* @param nodSujetParagraphs : le node contenant l'ensemble des styles du sujet.
|
||||
* @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 ) {
|
@ -603,12 +603,28 @@ public class commandes {
|
||||
System.out.println("\t\t┌────────────────────────────────────────────────────┐");
|
||||
System.out.println("\t\t│ (')_(') │");
|
||||
System.out.println("\t\t│ ( `.° ) Bravo, vous avez travaillé très dur! │");
|
||||
System.out.println("\t\t│ (\")__(\") .. Bye Bye analyseWriter. │");
|
||||
System.out.println("\t\t│ (\")__(\") ... Bye Bye analyseWriter. │");
|
||||
System.out.println("\t\t└────────────────────────────────────────────────────┘");
|
||||
System.out.println();
|
||||
System.exit(0);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public static void clotureApplicationAvecErreur() {
|
||||
System.out.println();
|
||||
System.out.println("\t\t┌────────────────────────────────────────────────────┐");
|
||||
System.out.println("\t\t│ (')_(') │");
|
||||
System.out.println("\t\t│ ( ;.; ) Une erreur c'est produite. │");
|
||||
System.out.println("\t\t│ (\")__(\") ... Bye Bye analyseWriter. │");
|
||||
System.out.println("\t\t└────────────────────────────────────────────────────┘");
|
||||
System.out.println();
|
||||
System.exit(0);
|
||||
}
|
||||
|
||||
|
||||
|
||||
public static void clotureWithHelp() {
|
||||
System.out.println();
|
||||
System.out.println("\t\t┌─────────────────────────────────────────────────────┐");
|
||||
|
@ -300,7 +300,7 @@ public class ecritureSujet {
|
||||
if(no.get(k)!=null) {
|
||||
no.get(k).getAttributs().put("evaluer", "false");
|
||||
if(listeDesNodesAvecEvalNode(no.get(k).getNomElt())) no.get(k).getAttributs().put("evalNameNode", "0");
|
||||
if(listeDesNodesSautEtTitre(no.get(k).getNomElt())) {no.get(k).getAttributs().put("saut", "false"); no.get(k).getAttributs().put("titre", ""); no.get(k).getAttributs().put("styletitre", "nostyle");}
|
||||
if(listeDesNodesSautEtTitre(no.get(k).getNomElt())) {no.get(k).getAttributs().put("saut", "false"); no.get(k).getAttributs().put("titre", "");}
|
||||
if(listeDesNodesRechercheIndex(no.get(k).getNomElt())) {no.get(k).getAttributs().put("recherche_index", "false"); no.get(k).getAttributs().put("recherche_contenu_exact", "false");}
|
||||
if(listeDesNodesAnalyseStyle(no.get(k).getNomElt())) no.get(k).getAttributs().put("analyseStyle", "false");
|
||||
if(listeDesNodesAllContent(no.get(k).getNomElt())) no.get(k).getAttributs().put("allContent", "strict0");
|
||||
@ -354,6 +354,7 @@ public class ecritureSujet {
|
||||
* @return
|
||||
*/
|
||||
private static boolean listeDesNodesAnalyseStyle(String nameNode) {
|
||||
if(nameNode.contains("text:database-display")) return false;
|
||||
if(nameNode.contains("text:")) return true;
|
||||
return false;
|
||||
}
|
||||
|
@ -142,8 +142,17 @@ public class meptl {
|
||||
if(commandes.analyse) {
|
||||
nodeSujet = chargementsujet(commandes.nameSujet, true);
|
||||
|
||||
if(nodeSujet==null) {
|
||||
//***************************
|
||||
//** bye bye analyseWriter **
|
||||
//***************************
|
||||
commandes.clotureApplicationAvecErreur();
|
||||
}
|
||||
|
||||
//** Chargement de la culture **
|
||||
commandes.culture = nodeSujet.retourneFirstEnfantsByName("setting").getAttributs().get("culture"); //récupère la culture de l'utilisateur
|
||||
if(nodeSujet.retourneFirstEnfantsByName("setting").isHasAttributs()) {
|
||||
commandes.culture = nodeSujet.retourneFirstEnfantsByName("setting").getAttributs().get("culture"); //récupère la culture de l'utilisateur
|
||||
}
|
||||
|
||||
//** La méthode verificationFichier Analyse permet de détecter des erreurs dans le fichier d'analyse
|
||||
new verificationFichierAnalyse(nodeSujet);
|
||||
@ -318,32 +327,33 @@ public class meptl {
|
||||
}
|
||||
}
|
||||
|
||||
//*****************************************************
|
||||
//** Exportation au format CSV si -csv ou -verifcsv **
|
||||
//*****************************************************
|
||||
if(commandes.ecritNoteCSV && !commandes.fourniCSV) {
|
||||
if(!commandes.verifHisto2) ecritureCSV(ensembleanalyse);
|
||||
if(commandes.verifHisto2) ecritureCSV(ensembleanalyse,verif,a,nodeSujet.retourneFirstEnfantsByName("setting"));
|
||||
//a.ecritureNodeEnXML(ensembleanalyse, "ensembleAnalyse"); //écriture du node de l'étudiant
|
||||
}
|
||||
if(nodeSujet!=null) {
|
||||
//*****************************************************
|
||||
//** Exportation au format CSV si -csv ou -verifcsv **
|
||||
//*****************************************************
|
||||
if(commandes.ecritNoteCSV && !commandes.fourniCSV) {
|
||||
if(!commandes.verifHisto2) ecritureCSV(ensembleanalyse);
|
||||
if(commandes.verifHisto2) ecritureCSV(ensembleanalyse,verif,a,nodeSujet.retourneFirstEnfantsByName("setting"));
|
||||
//a.ecritureNodeEnXML(ensembleanalyse, "ensembleAnalyse"); //écriture du node de l'étudiant
|
||||
}
|
||||
|
||||
//***********************************************************************
|
||||
//** Exportation au format CSV si -csv file.csv ou -verifcsv file.csv **
|
||||
//***********************************************************************
|
||||
if(commandes.ecritNoteCSV && commandes.fourniCSV) {
|
||||
ecritureCSV(ensembleanalyse,verif,a,nodeCSV, nodeSujet.retourneFirstEnfantsByName("setting"));
|
||||
//a.ecritureNodeEnXML(ensembleanalyse, "ensembleAnalyse"); //écriture du node de l'étudiant
|
||||
}
|
||||
//***********************************************************************
|
||||
//** Exportation au format CSV si -csv file.csv ou -verifcsv file.csv **
|
||||
//***********************************************************************
|
||||
if(commandes.ecritNoteCSV && commandes.fourniCSV) {
|
||||
ecritureCSV(ensembleanalyse,verif,a,nodeCSV, nodeSujet.retourneFirstEnfantsByName("setting"));
|
||||
//a.ecritureNodeEnXML(ensembleanalyse, "ensembleAnalyse"); //écriture du node de l'étudiant
|
||||
}
|
||||
|
||||
//**************************************
|
||||
//** Mise à jour du fichier d'analyse **
|
||||
//**************************************
|
||||
if(commandes.MAJFichierAnalyse||commandes.MAJnameAnalysisFile) {
|
||||
verificationFichierAnalyse.MiseAJourFichierAnalyse();
|
||||
verificationFichierAnalyse.messagMiseAJourFichierAnalyseAprèsAnalyse();
|
||||
//**************************************
|
||||
//** Mise à jour du fichier d'analyse **
|
||||
//**************************************
|
||||
if(commandes.MAJFichierAnalyse||commandes.MAJnameAnalysisFile) {
|
||||
verificationFichierAnalyse.MiseAJourFichierAnalyse();
|
||||
verificationFichierAnalyse.messagMiseAJourFichierAnalyseAprèsAnalyse();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//***************************
|
||||
//** bye bye analyseWriter **
|
||||
//***************************
|
||||
@ -1049,10 +1059,10 @@ public class meptl {
|
||||
nodouverture.setAttributs(nodSujet.getAttributs());
|
||||
nodouverture.getAttributs().put("dossier",a.getLectDossiers().getEC().getListeNomDossier().get(indexStudent));
|
||||
nodouverture.getAttributs().put("filename", a.getLectDossiers().getEC().getListeFichierodt().get(indexStudent));
|
||||
nodouverture.getAttributs().put("filenameAnalyse", nodSujet.getAttributs().get("filename"));
|
||||
nodouverture.getAttributs().put("producteur", nodStudent.getAttributs().get("producteur"));
|
||||
nodouverture.getAttributs().put("dureeEdition", nodStudent.getAttributs().get("dureeEdition"));
|
||||
nodouverture.getAttributs().put("dateModification", nodStudent.getAttributs().get("dateModification"));
|
||||
if(nodSujet.getAttributs().get("analysis_filename")!=null) nodouverture.getAttributs().put("filenameAnalyse", nodSujet.getAttributs().get("analysis_filename"));
|
||||
if(nodStudent.getAttributs().get("producteur")!=null) nodouverture.getAttributs().put("producteur", nodStudent.getAttributs().get("producteur"));
|
||||
if(nodStudent.getAttributs().get("dureeEdition")!=null) nodouverture.getAttributs().put("dureeEdition", nodStudent.getAttributs().get("dureeEdition"));
|
||||
if(nodStudent.getAttributs().get("dateModification")!=null) nodouverture.getAttributs().put("dateModification", nodStudent.getAttributs().get("dateModification"));
|
||||
nodouverture.getAttributs().put("patch", a.getPatch());
|
||||
if(nodSujet.getAttributs().get("historiquePresent")!=null) nodouverture.getAttributs().put("historiquePresent", nodSujet.getAttributs().get("historiquePresent"));
|
||||
if(nodSujet.getAttributs().get("controleDateCreation")!=null) nodouverture.getAttributs().put("controleDateCreation", nodSujet.getAttributs().get("controleDateCreation"));
|
||||
@ -1200,17 +1210,6 @@ public class meptl {
|
||||
manqueValeurMetaSujet=true;
|
||||
}
|
||||
}
|
||||
}else {
|
||||
|
||||
}
|
||||
}else {
|
||||
b = a.retourneFirstNodeByNameAttributValue(nodStudent, "meta:user-defined", "meta:name", "Sujet");
|
||||
if(b==null) {
|
||||
manqueMetaSujet=true;
|
||||
}else {
|
||||
if(!nodSujet.getAttributs().get("metaSujet").equals(b.getContenu().get(0))) {
|
||||
manqueValeurMetaSujet=true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1631,7 +1630,7 @@ public class meptl {
|
||||
//**********************************************
|
||||
//** Analyse de tous les autres nodes enfants **
|
||||
//**********************************************
|
||||
page=analyseLesNodesEnants.nodeNext(page, "ana:page", pageStudent, null, null, pageSujet, nodSujetParagraphes, nodStudentParagraphes, a);
|
||||
page=analyseLesNodesEnfants.nodeNext(page, "ana:page", pageStudent, null, null, pageSujet, nodSujetParagraphes, nodStudentParagraphes, a);
|
||||
|
||||
page.getAttributs().put("point", String.valueOf(outils.getPointsClass()-pointDebut));
|
||||
page.getAttributs().put("pointTotal", String.valueOf(outils.getPointTotal()-pointTotalDebut));
|
||||
@ -1817,7 +1816,7 @@ public class meptl {
|
||||
}
|
||||
|
||||
/**
|
||||
* Analyse du node <b>numerotationchapitre</b>.
|
||||
* Analyse du node <b>numerotationchapitre</b>.</br>
|
||||
* @param nodStudentNumerotation
|
||||
* @param nodSujetNumerotation
|
||||
* @param a
|
||||
@ -1830,13 +1829,21 @@ public class meptl {
|
||||
nodnumerotations.setAttributs(nodSujetNumerotation.getAttributs());//ajoute tous les attributs du sujet
|
||||
nodnumerotations.setContenu(nodSujetNumerotation.getContenu()); //ajoute le commantaire du sujet
|
||||
|
||||
//ajoute l'identifiant pour le menu
|
||||
//***************************************
|
||||
//** Ajoute l'identifiant pour le menu **
|
||||
//***************************************
|
||||
if(a.retourneFirstNodeByNameAttributValue(nodmenu, "item", "name", "numerotationchapitre")!=null) {
|
||||
nodnumerotations.getAttributs().put("id", a.retourneFirstNodeByNameAttributValue(nodmenu, "item", "name", "numerotationchapitre").getAttributs().get("id"));
|
||||
}
|
||||
|
||||
//initialise les points
|
||||
//***************************
|
||||
//** initialise les points **
|
||||
//***************************
|
||||
outils.initiliseLesPoints();
|
||||
|
||||
//*******************************************************************
|
||||
//** Parcours les nodes enfants du node <text:outline-level-style> **
|
||||
//*******************************************************************
|
||||
for(int i = 0 ; i < nodSujetNumerotation.getNodes().size(); i++) {
|
||||
if(nodSujetNumerotation.getNodes().get(i).getNomElt().equals("text:outline-level-style")) {
|
||||
int pointDebut = outils.getPointsClass();
|
||||
@ -1850,68 +1857,29 @@ public class meptl {
|
||||
node numerotationStudent = a.retourneFirstNodeByNameAttributValue(nodStudentNumerotation, "text:outline-level-style", "text:level", levelnumrotation);
|
||||
node numerotationSujet = nodSujetNumerotation.getNodes().get(i);
|
||||
|
||||
// analyse les attributs du node
|
||||
//********************************************
|
||||
//** analyse les attributs des nodes <page> **
|
||||
//********************************************
|
||||
numerotation = analyseLesAttributEtContenuDuNode(numerotationStudent, numerotationSujet, numerotation, "ana:numerotation",numerotationSujet.getNomElt());
|
||||
|
||||
// les enfants du premier niveau du node
|
||||
for(int j = 0 ; j < numerotationSujet.getNodes().size();j++ ) {
|
||||
|
||||
node nodSujet = numerotationSujet.getNodes().get(j);
|
||||
String nameNode = nodSujet.getNomElt();
|
||||
node nodStudent = null;
|
||||
if(numerotationStudent!=null) if(numerotationStudent.retourneFirstEnfantsByName(nameNode).getNomElt().equals(nameNode)) {
|
||||
nodStudent = numerotationStudent.retourneFirstEnfantsByName(nameNode);
|
||||
}
|
||||
|
||||
//insère un saut si titre pas vide et saut=true
|
||||
numerotation=addNodeSautTitre(nodSujet, numerotation);
|
||||
|
||||
// analyse attribut et contenu des enfants du premier niveau
|
||||
numerotation = analyseLesAttributEtContenuDuNode(nodStudent, nodSujet, numerotation, "ana:numerotation",numerotationSujet.getNodes().get(j).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 = numerotationStudent.retourneFirstEnfantsByName(nameNode2);
|
||||
}
|
||||
|
||||
//insère un saut si titre pas vide et saut=true
|
||||
numerotation=addNodeSautTitre(nod2Sujet, numerotation);
|
||||
|
||||
// analyse attribut et contenu des enfants du second niveau
|
||||
numerotation = analyseLesAttributEtContenuDuNode(nod2Student, nod2Sujet, numerotation, "ana:numerotation",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 = numerotationStudent.retourneFirstEnfantsByName(nameNode3);
|
||||
}
|
||||
|
||||
//insère un saut si titre pas vide et saut=true
|
||||
numerotation=addNodeSautTitre(nod3Sujet, numerotation);
|
||||
|
||||
// analyse attribut et contenu des enfants du troisième niveau
|
||||
numerotation = analyseLesAttributEtContenuDuNode(nod3Student, nod3Sujet, numerotation, "ana:paragraph", nod3Sujet.getNomElt());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
//************************************
|
||||
//** analyse tous les nodes enfants **
|
||||
//************************************
|
||||
numerotation = analyseLesNodesEnfants.nodeNext(numerotation, "ana:numerotation", numerotationStudent, null, null, numerotationSujet, null, null, a);
|
||||
|
||||
//****************************************************************
|
||||
//** Insère les attributs des points dans les node de l'analyse **
|
||||
//****************************************************************
|
||||
numerotation.getAttributs().put("point", String.valueOf(outils.getPointsClass()-pointDebut));
|
||||
numerotation.getAttributs().put("pointTotal", String.valueOf(outils.getPointTotal()-pointTotalDebut));
|
||||
nodnumerotations.getNodes().add(numerotation);
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
//****************************************************************
|
||||
//** Insère les attributs des points dans les node de l'analyse **
|
||||
//****************************************************************
|
||||
nodnumerotations.getAttributs().put("pointgagner",String.valueOf(outils.getPointsClass()));
|
||||
nodnumerotations.getAttributs().put("pointtotal",String.valueOf(outils.getPointTotal()));
|
||||
nodnumerotations.getAttributs().put("proportioncorrect",String.valueOf(outils.getProportionCorrect()));
|
||||
@ -1934,14 +1902,22 @@ public class meptl {
|
||||
nodframes.setAttributs(nodSujetFrames.getAttributs()); //ajoute tous les attributs du sujet
|
||||
nodframes.setContenu(nodSujetFrames.getContenu()); //ajoute le commentaire du sujet
|
||||
|
||||
//ajoute l'identifiant pour le menu
|
||||
//***************************************
|
||||
//** Ajoute l'identifiant pour le menu **
|
||||
//***************************************
|
||||
if(a.retourneFirstNodeByNameAttributValue(nodmenu, "item", "name", "frames")!=null) {
|
||||
nodframes.getAttributs().put("id", a.retourneFirstNodeByNameAttributValue(nodmenu, "item", "name", "frames").getAttributs().get("id"));
|
||||
}
|
||||
|
||||
//initialise les points
|
||||
//***************************
|
||||
//** initialise les points **
|
||||
//***************************
|
||||
outils.initiliseLesPoints();
|
||||
for(int i = 0 ; i < nodSujetFrames.getNodes().size(); i++) { //niveau 1
|
||||
|
||||
//*****************************************************
|
||||
//** Parcours les nodes enfants du node <darw:frame> **
|
||||
//*****************************************************
|
||||
for(int i = 0 ; i < nodSujetFrames.getNodes().size(); i++) {
|
||||
if(nodSujetFrames.getNodes().get(i).getNomElt().equals("draw:frame")) {
|
||||
int pointDebut = outils.getPointsClass();
|
||||
int pointTotalDebut = outils.getPointTotal();
|
||||
@ -1954,103 +1930,28 @@ public class meptl {
|
||||
node frameStudent = a.retourneFirstNodeByNameAttributValue(nodStudentFrames, "draw:frame", "draw:name", nomDuFrame);
|
||||
node frameSujet = nodSujetFrames.getNodes().get(i);
|
||||
|
||||
// analyse les attributs du node
|
||||
//********************************************
|
||||
//** analyse les attributs des nodes <page> **
|
||||
//********************************************
|
||||
frame = analyseLesAttributEtContenuDuNode(frameStudent, frameSujet, frame, "ana:frame",frameSujet.getNomElt());
|
||||
|
||||
// les enfants du premier niveau du node
|
||||
for(int j = 0 ; j < frameSujet.getNodes().size();j++ ) { //niveau 2
|
||||
|
||||
node nodSujet = frameSujet.getNodes().get(j);
|
||||
String nameNode = nodSujet.getNomElt();
|
||||
node nodStudent = null;
|
||||
if(frameStudent!=null) if(frameStudent.retourneFirstEnfantsByName(nameNode).getNomElt().equals(nameNode)) {
|
||||
nodStudent = frameStudent.retourneFirstEnfantsByName(nameNode);
|
||||
}
|
||||
if(frameStudent!=null) if(nameNode.equals("text:p")) {
|
||||
|
||||
if(nodSujet.getAttributs().get("index")!=null) {
|
||||
nodStudent = a.retourneFirstNodeByNameAttributValue(frameStudent, nameNode, "text:p", frameSujet.getNodes().get(j).getAttributs().get("index"));
|
||||
}
|
||||
|
||||
if(nodStudent==null)if(nodSujet.retourneLesContenusEnfants("").isEmpty()) { //si il n'y a pas de contenu, passe par l'index
|
||||
nodStudent = a.retourneFirstNodeByNameAttributValue(frameStudent, nameNode, "index", outils.withoutCodeAndPoint(nodSujet.getAttributs().get("index")));
|
||||
}else {
|
||||
nodStudent = a.retourneFirstNodeByFindContent2(frameStudent.getNodes(), nodSujet.retourneLesContenusEnfants(""), commandes.tolerance_characters,commandes.tolerance_text);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//insère un saut si titre pas vide et saut=true
|
||||
frame=addNodeSautTitre(nodSujet, frame);
|
||||
//************************************
|
||||
//** analyse tous les nodes enfants **
|
||||
//************************************
|
||||
frame = analyseLesNodesEnfants.nodeNext(frame, "ana:frame", frameStudent, null, null, frameSujet, null, null, a);
|
||||
|
||||
|
||||
// analyse attribut et contenu des enfants du premier niveau
|
||||
frame = analyseLesAttributEtContenuDuNode(nodStudent, nodSujet, frame, "ana:frame",nodSujet.getNomElt());
|
||||
|
||||
|
||||
for(int k = 0 ; k < nodSujet.getNodes().size();k++) { //niveau 3
|
||||
node nod2Sujet = nodSujet.getNodes().get(k);
|
||||
String nameNode2 = nod2Sujet.getNomElt();
|
||||
node nod2Student = null;
|
||||
if(nodStudent!=null) if(nodStudent.retourneFirstEnfantsByName(nameNode2).getNomElt().equals(nameNode2)) {
|
||||
nod2Student = nodStudent.retourneFirstEnfantsByName(nameNode2);
|
||||
}
|
||||
if(nodStudent!=null) if(nameNode2.equals("text:p")) {
|
||||
if(nod2Sujet.getAttributs().get("index")!=null) {
|
||||
nod2Student = a.retourneFirstNodeByNameAttributValue(nodStudent, nameNode2, "index", nod2Sujet.getAttributs().get("index"));
|
||||
}
|
||||
}
|
||||
if(nodStudent!=null) if(nameNode2.equals("text:database-display")) {
|
||||
if(nod2Sujet.getAttributs().get("text:column-name")!=null) {
|
||||
nod2Student = a.retourneFirstNodeByNameAttributValue(nodStudent, nameNode2, "text:column-name", outils.withoutCodeAndPoint(nod2Sujet.getAttributs().get("text:column-name")));
|
||||
}
|
||||
}
|
||||
|
||||
//insère un saut si titre pas vide et saut=true
|
||||
frame=addNodeSautTitre(nod2Sujet, frame);
|
||||
|
||||
// analyse attribut et contenu des enfants du second niveau
|
||||
frame = analyseLesAttributEtContenuDuNode(nod2Student, nod2Sujet, frame, "ana:frame",nod2Sujet.getNomElt() );
|
||||
|
||||
|
||||
for(int l = 0 ; l < nod2Sujet.getNodes().size();l++) { //niveau 4
|
||||
node nod3Sujet = nod2Sujet.getNodes().get(l);
|
||||
String nameNode3 = nod3Sujet.getNomElt();
|
||||
node nod3Student = null;
|
||||
if(nod2Student!=null) if(nod2Student.retourneFirstEnfantsByName(nameNode3).getNomElt().equals(nameNode3)) {
|
||||
nod3Student = nod2Student.retourneFirstEnfantsByName(nameNode3);
|
||||
}
|
||||
if(nod2Student!=null) if(nameNode3.equals("text:database-display")) {
|
||||
if(nod3Sujet.getAttributs().get("text:column-name")!=null) {
|
||||
nod3Student = a.retourneFirstNodeByNameAttributValue(nod2Student, nameNode3, "text:column-name", outils.withoutCodeAndPoint(nod3Sujet.getAttributs().get("text:column-name")));
|
||||
}
|
||||
}
|
||||
|
||||
// analyse attribut et contenu des enfants du troisième niveau
|
||||
if(nod3Student!=null) if(nod3Sujet.getNomElt().equals("text:sequence") && nod3Student.getNomElt().equals("text:sequence")) {
|
||||
ArrayList<node> changements = nod2Student.retourneEnfantsByName("text:change", new ArrayList<node>());
|
||||
nod3Student.setNodes(changements);
|
||||
}
|
||||
|
||||
//insère un saut si titre pas vide et saut=true
|
||||
frame=addNodeSautTitre(nod3Sujet, frame);
|
||||
|
||||
// analyse attribut et contenu des enfants du second niveau
|
||||
frame = analyseLesAttributEtContenuDuNode(nod3Student, nod3Sujet, frame, "ana:frame", nod3Sujet.getNomElt());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//****************************************************************
|
||||
//** Insère les attributs des points dans les node de l'analyse **
|
||||
//****************************************************************
|
||||
frame.getAttributs().put("point", String.valueOf(outils.getPointsClass()-pointDebut));
|
||||
frame.getAttributs().put("pointTotal", String.valueOf(outils.getPointTotal()-pointTotalDebut));
|
||||
nodframes.getNodes().add(frame);
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
//****************************************************************
|
||||
//** Insère les attributs des points dans les node de l'analyse **
|
||||
//****************************************************************
|
||||
nodframes.getAttributs().put("pointgagner",String.valueOf(outils.getPointsClass()));
|
||||
nodframes.getAttributs().put("pointtotal",String.valueOf(outils.getPointTotal()));
|
||||
nodframes.getAttributs().put("proportioncorrect",String.valueOf(outils.getProportionCorrect()));
|
||||
@ -2598,7 +2499,7 @@ public class meptl {
|
||||
//************************************
|
||||
//** analyse tous les nodes enfants **
|
||||
//************************************
|
||||
page = analyseLesNodesEnants.nodeNext(page, "ana:page", pageStudent, null, null, pageSujet, nodSujetParagraphs, nodStudentParagraphs, a);
|
||||
page = analyseLesNodesEnfants.nodeNext(page, "ana:page", pageStudent, null, null, pageSujet, nodSujetParagraphs, nodStudentParagraphs, a);
|
||||
|
||||
//****************************************************************
|
||||
//** Insère les attributs des points dans les node de l'analyse **
|
||||
@ -2983,29 +2884,32 @@ public class meptl {
|
||||
* @return
|
||||
*/
|
||||
public static node addNodeSautTitre(node nodSujet, node nodanalyse) {
|
||||
if(nodSujet.getAttributs().get("saut")!=null) if(Boolean.valueOf(nodSujet.getAttributs().get("saut"))) {
|
||||
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("titre2")!=null) {
|
||||
node N = new node();
|
||||
N.setNomElt("saut");
|
||||
N.getAttributs().put("titre2", nodSujet.getAttributs().get("titre2"));
|
||||
N.setClose(true);
|
||||
nodanalyse.getNodes().add(N);
|
||||
}
|
||||
if(nodSujet.getAttributs().get("titre3")!=null) {
|
||||
node N = new node();
|
||||
N.setNomElt("saut");
|
||||
N.getAttributs().put("titre3", nodSujet.getAttributs().get("titre3"));
|
||||
N.setClose(true);
|
||||
nodanalyse.getNodes().add(N);
|
||||
if(nodSujet.getAttributs().get("saut")!=null) {
|
||||
if(Boolean.valueOf(nodSujet.getAttributs().get("saut"))) {
|
||||
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("titre2")!=null) {
|
||||
node N = new node();
|
||||
N.setNomElt("saut");
|
||||
N.getAttributs().put("titre2", nodSujet.getAttributs().get("titre2"));
|
||||
N.setClose(true);
|
||||
nodanalyse.getNodes().add(N);
|
||||
}
|
||||
if(nodSujet.getAttributs().get("titre3")!=null) {
|
||||
node N = new node();
|
||||
N.setNomElt("saut");
|
||||
N.getAttributs().put("titre3", nodSujet.getAttributs().get("titre3"));
|
||||
N.setClose(true);
|
||||
nodanalyse.getNodes().add(N);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return nodanalyse;
|
||||
}
|
||||
|
||||
|
@ -680,11 +680,11 @@ public class outils {
|
||||
public static String withoutCodeAndPointPourRechercheContenuExact(String B) {
|
||||
if(B!=null) {
|
||||
if(B.contains("‽")) B=B.replaceAll("‽[0-9]{0,}", ""); //B=B.substring(0, B.indexOf("‽"));
|
||||
if(B.contains("↑")) B=B.replace("↑", "");
|
||||
if(B.contains("↕")) B=B.replace("↕", "");
|
||||
if(B.contains("≡")) B=B.replace("≡", "");
|
||||
if(!B.isEmpty()) B=B.replace("¢", "");
|
||||
B=B.replaceAll("‽[0-9]{1,}", "");
|
||||
if(!B.isEmpty()) if(B.contains("↑")) B=B.replace("↑", "");
|
||||
if(!B.isEmpty()) if(B.contains("↕")) B=B.replace("↕", "");
|
||||
if(!B.isEmpty()) if(B.contains("≡")) B=B.replace("≡", "");
|
||||
if(!B.isEmpty()) if(B.contains("¢")) B=B.replace("¢", "");
|
||||
if(!B.isEmpty()) B=B.replaceAll("‽[0-9]{1,}", "");
|
||||
}
|
||||
return B;
|
||||
}
|
||||
|
@ -27,207 +27,138 @@ public class rechercherUnNodeStudent {
|
||||
|
||||
node nodStudent =null;
|
||||
|
||||
//** Priorité à la recherche par contenu
|
||||
//************************************************************************************************
|
||||
//** Recherche le node par le contenu exact du node en intégrant les contenus des nodes enfants **
|
||||
//************************************************************************************************
|
||||
if(nodSujet.getAttributs().get("recherche_contenu_exact")!=null){
|
||||
nodStudent = findNodeParContenuEXACT(nameNode, nodSujet, nod0Student, nod1Student, nod2Student, a);
|
||||
if(nodStudent != null) return nodStudent;
|
||||
}
|
||||
|
||||
// recherche le node par index uniquement
|
||||
//***********************************
|
||||
//** Recherche le node par l'index **
|
||||
//***********************************
|
||||
if(nodSujet.getAttributs().get("recherche_index")!=null){
|
||||
nodStudent = findNodeParIndex(nameNode, nodSujet, nod0Student, nod1Student, nod2Student, a);
|
||||
if(nodStudent != null) return nodStudent;
|
||||
if(nodSujet.getAttributs().get("recherche_index").equalsIgnoreCase("true")) return nodStudent;
|
||||
}
|
||||
|
||||
//*****************************************************************
|
||||
//** Recherche Le node text:p par les différents contenu du node **
|
||||
//** Recherche le node text:p par les différents contenu du node **
|
||||
//*****************************************************************
|
||||
if(nameNode.equals("text:p")) {
|
||||
if(nameNode.equals("text:p")||nameNode.equals("text:span")) {
|
||||
nodStudent = findLeNodeTextpParDesNodesEnfantsSpecifique(nameNode, nodSujet,nod0Student, nod1Student, nod2Student, a );
|
||||
}
|
||||
|
||||
|
||||
if(nameNode.equals("text:title")) {
|
||||
if(nod2Student!=null) nodStudent = nod2Student.retourneFirstEnfantsByName("text:title");
|
||||
if(nod1Student!=null) if(nodStudent==null) nodStudent = nod1Student.retourneFirstEnfantsByName("text:title");
|
||||
if(nod0Student!=null) if(nodStudent==null) nodStudent = nod0Student.retourneFirstEnfantsByName("text:title");
|
||||
return nodStudent;
|
||||
}
|
||||
|
||||
if(nameNode.equals("text:subject")) {
|
||||
if(nod2Student!=null) nodStudent = nod2Student.retourneFirstEnfantsByName("text:subject");
|
||||
if(nod1Student!=null) if(nodStudent==null) nodStudent = nod1Student.retourneFirstEnfantsByName("text:subject");
|
||||
if(nod0Student!=null) if(nodStudent==null) nodStudent = nod0Student.retourneFirstEnfantsByName("text:subject");
|
||||
}
|
||||
|
||||
if(nameNode.equals("text:initial-creator")) {
|
||||
if(nod2Student!=null) nodStudent = nod2Student.retourneFirstEnfantsByName("text:initial-creator");
|
||||
if(nod1Student!=null) if(nodStudent==null) nodStudent = nod1Student.retourneFirstEnfantsByName("text:initial-creator");
|
||||
if(nod0Student!=null) if(nodStudent==null) nodStudent = nod0Student.retourneFirstEnfantsByName("text:initial-creator");
|
||||
}
|
||||
|
||||
if(nameNode.equals("text:user-defined")) {
|
||||
if(nod2Student!=null) nodStudent = a.retourneFirstNodeByNameAttributValue(nod2Student, nameNode, "text:name", outils.withoutCodeAndPoint(nodSujet.getAttributs().get("text:name")));
|
||||
if(nod1Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByNameAttributValue(nod1Student, nameNode, "text:name", outils.withoutCodeAndPoint(nodSujet.getAttributs().get("text:name")));
|
||||
if(nod0Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByNameAttributValue(nod0Student, nameNode, "text:name", outils.withoutCodeAndPoint(nodSujet.getAttributs().get("text:name")));
|
||||
}
|
||||
|
||||
|
||||
//recherche par le contenu enfant du node les titres par défaut
|
||||
if(nameNode.equals("text:h")) {
|
||||
String contenuSujet = nodSujet.retourneLesContenusEnfants("");
|
||||
if(nod2Student!=null) nodStudent = a.retourneFirstNodeByFindContent2(nod2Student.getNodes(), contenuSujet,commandes.tolerance_characters,commandes.tolerance_text);
|
||||
if(nod1Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByFindContent2(nod1Student.getNodes(), contenuSujet,commandes.tolerance_characters,commandes.tolerance_text);
|
||||
if(nod0Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByFindContent2(nod0Student.getNodes(), contenuSujet,commandes.tolerance_characters,commandes.tolerance_text);
|
||||
}
|
||||
|
||||
//recherche par text:name
|
||||
if(nameNode.equals("text:section")) {
|
||||
if(nodSujet.getAttributs().get("recherche_index")==null) {
|
||||
if(nod2Student!=null) nodStudent = a.retourneFirstNodeByNameAttributValueNetTexte(nod2Student, nameNode, "text:name", outils.withoutCodeAndPoint(nodSujet.getAttributs().get("text:name")));
|
||||
if(nod1Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByNameAttributValueNetTexte(nod1Student, nameNode, "text:name", outils.withoutCodeAndPoint(nodSujet.getAttributs().get("text:name")));
|
||||
if(nod0Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByNameAttributValueNetTexte(nod0Student, nameNode, "text:name", outils.withoutCodeAndPoint(nodSujet.getAttributs().get("text:name")));
|
||||
}else {
|
||||
if(nodSujet.getAttributs().get("recherche_index").equals("false")) {
|
||||
if(nod2Student!=null) nodStudent = a.retourneFirstNodeByNameAttributValueNetTexte(nod2Student, nameNode, "text:name", outils.withoutCodeAndPoint(nodSujet.getAttributs().get("text:name")));
|
||||
if(nod1Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByNameAttributValueNetTexte(nod1Student, nameNode, "text:name", outils.withoutCodeAndPoint(nodSujet.getAttributs().get("text:name")));
|
||||
if(nod0Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByNameAttributValueNetTexte(nod0Student, nameNode, "text:name", outils.withoutCodeAndPoint(nodSujet.getAttributs().get("text:name")));
|
||||
}
|
||||
if(nodSujet.getAttributs().get("recherche_index").equals("true")) {
|
||||
if(nod2Student!=null) nodStudent = a.retourneFirstNodeByNameAttributValueNetTexte(nod2Student, nameNode, "index", nodSujet.getAttributs().get("index"));
|
||||
if(nod1Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByNameAttributValueNetTexte(nod1Student, nameNode, "index", nodSujet.getAttributs().get("index"));
|
||||
if(nod0Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByNameAttributValueNetTexte(nod0Student, nameNode, "index", nodSujet.getAttributs().get("index"));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//recherche par le nom de la colonne dans les database
|
||||
if(nameNode.equals("text:database-display")) {
|
||||
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")));
|
||||
}
|
||||
|
||||
//recherche par le nom de l'objet draw:name ou par text:anchor-page-number si ancrer à la page
|
||||
//********************************************************************************
|
||||
//** Recherche le node draw:frame par draw:name ou recherche_anchor-page-number **
|
||||
//********************************************************************************
|
||||
if(nameNode.equals("draw:frame")) {
|
||||
if(nodSujet.getAttributs().get("recherche_anchor-page-number")==null) {
|
||||
if(nod2Student!=null) nodStudent = a.retourneFirstNodeByNameAttributValueNetTexte(nod2Student, nameNode, "draw:name", outils.withoutCodeAndPointPourRechercheContenuExact(nodSujet.getAttributs().get("draw:name")));
|
||||
if(nod1Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByNameAttributValueNetTexte(nod1Student, nameNode, "draw:name", outils.withoutCodeAndPointPourRechercheContenuExact(nodSujet.getAttributs().get("draw:name")));
|
||||
if(nod0Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByNameAttributValueNetTexte(nod0Student, nameNode, "draw:name", outils.withoutCodeAndPointPourRechercheContenuExact(nodSujet.getAttributs().get("draw:name")));
|
||||
}else {
|
||||
if(nodSujet.getAttributs().get("recherche_anchor-page-number").equals("false")) {
|
||||
if(nod2Student!=null) nodStudent = a.retourneFirstNodeByNameAttributValueNetTexte(nod2Student, nameNode, "draw:name", outils.withoutCodeAndPointPourRechercheContenuExact(nodSujet.getAttributs().get("draw:name")));
|
||||
if(nod1Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByNameAttributValueNetTexte(nod1Student, nameNode, "draw:name", outils.withoutCodeAndPointPourRechercheContenuExact(nodSujet.getAttributs().get("draw:name")));
|
||||
if(nod0Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByNameAttributValueNetTexte(nod0Student, nameNode, "draw:name", outils.withoutCodeAndPointPourRechercheContenuExact(nodSujet.getAttributs().get("draw:name")));
|
||||
}
|
||||
if(nodSujet.getAttributs().get("recherche_anchor-page-number").equals("true")) {
|
||||
if(nod2Student!=null) nodStudent = a.retourneFirstNodeByNameAttributValue(nod2Student, nameNode, "text:anchor-page-number", outils.withoutCodeAndPointPourRechercheContenuExact(nodSujet.getAttributs().get("text:anchor-page-number")));
|
||||
if(nod1Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByNameAttributValue(nod1Student, nameNode, "text:anchor-page-number", outils.withoutCodeAndPointPourRechercheContenuExact(nodSujet.getAttributs().get("text:anchor-page-number")));
|
||||
if(nod0Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByNameAttributValue(nod0Student, nameNode, "text:anchor-page-number", outils.withoutCodeAndPointPourRechercheContenuExact(nodSujet.getAttributs().get("text:anchor-page-number")));
|
||||
//si recherche l'ancrage de la page pas trouvé alors recherche par draw:name
|
||||
if(nodStudent==null) {
|
||||
if(nod2Student!=null) nodStudent = a.retourneFirstNodeByNameAttributValueNetTexte(nod2Student, nameNode, "draw:name", outils.withoutCodeAndPointPourRechercheContenuExact(nodSujet.getAttributs().get("draw:name")));
|
||||
if(nod1Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByNameAttributValueNetTexte(nod1Student, nameNode, "draw:name", outils.withoutCodeAndPointPourRechercheContenuExact(nodSujet.getAttributs().get("draw:name")));
|
||||
if(nod0Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByNameAttributValueNetTexte(nod0Student, nameNode, "draw:name", outils.withoutCodeAndPointPourRechercheContenuExact(nodSujet.getAttributs().get("draw:name")));
|
||||
}
|
||||
}
|
||||
}
|
||||
nodStudent = findDrawFrame(nameNode, nodSujet, nod0Student, nod1Student, nod2Student, a);
|
||||
}
|
||||
|
||||
//***********************************************
|
||||
//** Recherche le nodes text:xxx par text:name **
|
||||
//***********************************************
|
||||
if(nameNode.equals("text:section") || nameNode.equals("text:user-defined") || nameNode.equals("text:table-of-content")) {
|
||||
nodStudent = findByTextName(nameNode, nodSujet, nod0Student, nod1Student, nod2Student, a);
|
||||
}
|
||||
|
||||
//******************************************************************
|
||||
//** Recherche le node text:database-display par text:column-name **
|
||||
//******************************************************************
|
||||
if(nameNode.equals("text:database-display")) {
|
||||
nodStudent = findDataBase(nameNode, nodSujet, nod0Student, nod1Student, nod2Student, a);
|
||||
}
|
||||
|
||||
//**************************************************
|
||||
//** Recherche le node table:table par table:name **
|
||||
//**************************************************
|
||||
if(nameNode.equals("table:table")) {
|
||||
nodStudent = findTable(nameNode, nodSujet, nod0Student, nod1Student, nod2Student, a);
|
||||
}
|
||||
|
||||
//*************************************************************************
|
||||
//** Recherche le node text:h par le contenu avec tolérance de carcatère **
|
||||
//*************************************************************************
|
||||
if(nameNode.equals("text:h")) {
|
||||
nodStudent = findByContentWithTolerance(nameNode, nodSujet, nod0Student, nod1Student, nod2Student, a);
|
||||
}
|
||||
|
||||
//*******************************************************
|
||||
//** Recherche le node par l'index mais si pas demandé **
|
||||
//*******************************************************
|
||||
if(nameNode.equals("table:table-row") || nameNode.equals("table:table-cell") || nameNode.equals("text:tab") || nameNode.equals("text:span")) {
|
||||
nodStudent = findByIndexEvenIsFalse(nameNode, nodSujet, nod0Student, nod1Student, nod2Student, a);
|
||||
}
|
||||
|
||||
|
||||
//recherche par le nom de l'objet
|
||||
if(nameNode.equals("style:graphic-properties")) {
|
||||
if(!nodSujet.getContenu().isEmpty()) {
|
||||
if(nod2Student!=null) nodStudent = a.retourneFirstNodeByNameContent(nod2Student, nameNode, nodSujet.getContenu().get(0));
|
||||
if(nod1Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByNameContent(nod1Student, nameNode, nodSujet.getContenu().get(0));
|
||||
if(nod0Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByNameContent(nod0Student, nameNode, nodSujet.getContenu().get(0));
|
||||
}
|
||||
//***************************************************************
|
||||
//** Recherche le node table:table-column par table:style-name **
|
||||
//***************************************************************
|
||||
if(nameNode.equals("table:table-column")) {
|
||||
nodStudent = findTableByStyleName(nameNode, nodSujet, nod0Student, nod1Student, nod2Student, a);
|
||||
}
|
||||
|
||||
//*********************************************
|
||||
//** Recherche le node par le contenu simple **
|
||||
//*********************************************
|
||||
if(nameNode.equals("text:tab") || nameNode.equals("style:graphic-properties")) {
|
||||
nodStudent = findByContentZero(nameNode, nodSujet, nod0Student, nod1Student, nod2Student, a);
|
||||
}
|
||||
|
||||
|
||||
//Recherche un node table
|
||||
if(nameNode.contains("table")) {
|
||||
//recherche par le nom de la table
|
||||
if(nameNode.equals("table:table")) {
|
||||
if(nod2Student!=null) nodStudent = a.retourneFirstNodeByNameAttributValue(nod2Student, nameNode, "table:name", outils.withoutCodeAndPointPourRechercheContenuExact(nodSujet.getAttributs().get("table:name")));
|
||||
if(nod1Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByNameAttributValue(nod1Student, nameNode, "table:name", outils.withoutCodeAndPointPourRechercheContenuExact(nodSujet.getAttributs().get("table:name")));
|
||||
if(nod0Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByNameAttributValue(nod0Student, nameNode, "table:name", outils.withoutCodeAndPointPourRechercheContenuExact(nodSujet.getAttributs().get("table:name")));
|
||||
}
|
||||
|
||||
//recherche par l'index
|
||||
if(nameNode.equals("table:table-row")) {
|
||||
if(nod2Student!=null) nodStudent = a.retourneFirstNodeByNameAttributValue(nod2Student, nameNode, "index", nodSujet.getAttributs().get("index"));
|
||||
if(nod1Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByNameAttributValue(nod1Student, nameNode, "index", nodSujet.getAttributs().get("index"));
|
||||
if(nod0Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByNameAttributValue(nod0Student, nameNode, "index", nodSujet.getAttributs().get("index"));
|
||||
}
|
||||
|
||||
//recherche par l'index
|
||||
if(nameNode.equals("table:table-cell")) {
|
||||
if(nod2Student!=null) nodStudent = a.retourneFirstNodeByNameAttributValue(nod2Student, nameNode, "index", nodSujet.getAttributs().get("index"));
|
||||
if(nod1Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByNameAttributValue(nod1Student, nameNode, "index", nodSujet.getAttributs().get("index"));
|
||||
if(nod0Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByNameAttributValue(nod0Student, nameNode, "index", nodSujet.getAttributs().get("index"));
|
||||
}
|
||||
|
||||
//recherche par le nom du style qui est toujours formé par nomtable.colonne
|
||||
if(nameNode.equals("table:table-column")) {
|
||||
if(nod2Student!=null) nodStudent = a.retourneFirstNodeByNameAttributValue(nod2Student, nameNode, "table:style-name", nodSujet.getAttributs().get("table:style-name"));
|
||||
if(nod1Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByNameAttributValue(nod1Student, nameNode, "table:style-name", nodSujet.getAttributs().get("table:style-name"));
|
||||
if(nod0Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByNameAttributValue(nod0Student, nameNode, "table:style-name", nodSujet.getAttributs().get("table:style-name"));
|
||||
}
|
||||
|
||||
//recherche par texte:name
|
||||
if(nameNode.equals("text:table-of-content")) {
|
||||
if(nod2Student!=null) nodStudent = a.retourneFirstNodeByNameAttributValue(nod2Student, nameNode, "text:name", outils.withoutCodeAndPoint(nodSujet.getAttributs().get("text:name")));
|
||||
if(nod1Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByNameAttributValue(nod1Student, nameNode, "text:name", outils.withoutCodeAndPoint(nodSujet.getAttributs().get("text:name")));
|
||||
if(nod0Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByNameAttributValue(nod0Student, nameNode, "text:name", outils.withoutCodeAndPoint(nodSujet.getAttributs().get("text:name")));
|
||||
}
|
||||
//*****************************************************************
|
||||
//** Recherche Le node text:p par les différents contenu du node **
|
||||
//** text:title - text:subject - text:initial-creator - text:tab **
|
||||
//*****************************************************************
|
||||
if(nodStudent==null) {
|
||||
nodStudent = findByNameNode(nameNode, nodSujet, nod0Student, nod1Student, nod2Student, a);
|
||||
}
|
||||
|
||||
|
||||
//recherche par contenu
|
||||
if(nameNode.equals("text:span")) {
|
||||
String contenuSujet = nodSujet.retourneLesContenusEnfants("");
|
||||
if(nod2Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByFindContent2(nod2Student.getNodes(), contenuSujet,commandes.tolerance_characters,commandes.tolerance_text);
|
||||
if(nod1Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByFindContent2(nod1Student.getNodes(), contenuSujet,commandes.tolerance_characters,commandes.tolerance_text);
|
||||
if(nod0Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByFindContent2(nod0Student.getNodes(), contenuSujet,commandes.tolerance_characters,commandes.tolerance_text);
|
||||
//*********************************************
|
||||
//** Recherche le node par le contenu simple **
|
||||
//*********************************************
|
||||
if(nodStudent==null){
|
||||
nodStudent = findByContentZero(nameNode, nodSujet, nod0Student, nod1Student, nod2Student, a);
|
||||
}
|
||||
|
||||
//recherche par contenu
|
||||
if(nameNode.equals("text:tab")) {
|
||||
String contenuSujet = nodSujet.retourneLesContenusEnfants("");
|
||||
if(!contenuSujet.trim().isEmpty()) {
|
||||
if(nod2Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByFindContent2(nod2Student.getNodes(), contenuSujet,commandes.tolerance_characters,commandes.tolerance_text);
|
||||
if(nod1Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByFindContent2(nod1Student.getNodes(), contenuSujet,commandes.tolerance_characters,commandes.tolerance_text);
|
||||
if(nod0Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByFindContent2(nod0Student.getNodes(), contenuSujet,commandes.tolerance_characters,commandes.tolerance_text);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// dernière tentative si le node est vide, recherche par le nom du node
|
||||
if(nodStudent==null && !nameNode.equals("text:p")) {
|
||||
if(nod2Student!=null) if(nod2Student.retourneEnfantsByNameExist(nameNode)) nodStudent = nod2Student.retourneFirstEnfantsByName(nameNode);
|
||||
if(nod1Student!=null) if(nodStudent==null) if(nod1Student.retourneEnfantsByNameExist(nameNode)) nodStudent = nod1Student.retourneFirstEnfantsByName(nameNode);
|
||||
if(nod0Student!=null) if(nodStudent==null) if(nod0Student.retourneEnfantsByNameExist(nameNode)) nodStudent = nod0Student.retourneFirstEnfantsByName(nameNode);
|
||||
}
|
||||
|
||||
|
||||
|
||||
return nodStudent;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Recherche par le contenu exact du node. Englobe les contenus des nodes enfants.</br>
|
||||
* @param nameNode
|
||||
* @param nodSujet
|
||||
* @param nod0Student
|
||||
* @param nod1Student
|
||||
* @param nod2Student
|
||||
* @param a
|
||||
* @return
|
||||
*/
|
||||
private static node findNodeParContenuEXACT(String nameNode, node nodSujet,node nod0Student, node nod1Student, node nod2Student, Run a ) {
|
||||
node nodStudent = null;
|
||||
if(nodSujet.getAttributs().get("recherche_contenu_exact").equals("true")) {
|
||||
String valueAttribut = outils.withoutCodeAndPointPourRechercheContenuExact(nodSujet.getContenu().get(0));
|
||||
if(nod2Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByFindContentExact(nod2Student.getNodes(), valueAttribut, nodSujet.getNomElt());
|
||||
if(nod1Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByFindContentExact(nod1Student.getNodes(), valueAttribut, nodSujet.getNomElt());
|
||||
if(nod0Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByFindContentExact(nod0Student.getNodes(), valueAttribut, nodSujet.getNomElt());
|
||||
if(!nodSujet.retourneLesContenusEnfants("").isEmpty()) {
|
||||
String valueAttribut = outils.withoutCodeAndPointPourRechercheContenuExact(nodSujet.retourneLesContenusEnfants(""));
|
||||
if(nod2Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByFindContentExact(nod2Student.getNodes(), valueAttribut, nodSujet.getNomElt());
|
||||
if(nod1Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByFindContentExact(nod1Student.getNodes(), valueAttribut, nodSujet.getNomElt());
|
||||
if(nod0Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByFindContentExact(nod0Student.getNodes(), valueAttribut, nodSujet.getNomElt());
|
||||
}
|
||||
}
|
||||
return nodStudent;
|
||||
}
|
||||
|
||||
/**
|
||||
* Recherche par l'attribut index.</br>
|
||||
* @param nameNode
|
||||
* @param nodSujet
|
||||
* @param nod0Student
|
||||
* @param nod1Student
|
||||
* @param nod2Student
|
||||
* @param a
|
||||
* @return
|
||||
*/
|
||||
private static node findNodeParIndex(String nameNode, node nodSujet,node nod0Student, node nod1Student, node nod2Student, Run a ) {
|
||||
node nodStudent = null;
|
||||
if(nodSujet.getAttributs().get("recherche_index").equals("true")) {
|
||||
@ -303,42 +234,212 @@ public class rechercherUnNodeStudent {
|
||||
if(nod0Student!=null) if(nodStudent==null) nodStudent = nod0Student.retourneFirstEnfantsByNameNode1ContainNameNode2("text:p","text:creator");
|
||||
}
|
||||
|
||||
if(nodSujet.getAttributs().get("recherche_contenu_exact")!=null) {
|
||||
if(nodSujet.getAttributs().get("recherche_contenu_exact").equalsIgnoreCase("true")) {
|
||||
if(nod2Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByNameAttributValue(nod2Student, nameNode, "index", outils.withoutCodeAndPoint(nodSujet.getAttributs().get("index")));
|
||||
if(nod1Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByNameAttributValue(nod1Student, nameNode, "index", outils.withoutCodeAndPoint(nodSujet.getAttributs().get("index")));
|
||||
if(nod0Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByNameAttributValue(nod0Student, nameNode, "index", outils.withoutCodeAndPoint(nodSujet.getAttributs().get("index")));
|
||||
}
|
||||
|
||||
//** Recherche par contenu
|
||||
if(!nodSujet.getContenu().isEmpty()) {
|
||||
String valueAttribut = outils.withoutCodeAndPointPourRechercheContenuExact(nodSujet.getContenu().get(0));
|
||||
if(nod2Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByFindContentExact(nod2Student.getNodes(), valueAttribut, nodSujet.getNomElt());
|
||||
if(nod1Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByFindContentExact(nod1Student.getNodes(), valueAttribut, nodSujet.getNomElt());
|
||||
if(nod0Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByFindContentExact(nod0Student.getNodes(), valueAttribut, nodSujet.getNomElt());
|
||||
}
|
||||
|
||||
|
||||
// if(nodSujet.getAttributs().get("recherche_index")!=null) {
|
||||
// if(nodSujet.getAttributs().get("recherche_index").equalsIgnoreCase("true")) {
|
||||
// if(nod2Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByNameAttributValue(nod2Student, nameNode, "index", outils.withoutCodeAndPoint(nodSujet.getAttributs().get("index")));
|
||||
// if(nod1Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByNameAttributValue(nod1Student, nameNode, "index", outils.withoutCodeAndPoint(nodSujet.getAttributs().get("index")));
|
||||
// if(nod0Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByNameAttributValue(nod0Student, nameNode, "index", outils.withoutCodeAndPoint(nodSujet.getAttributs().get("index")));
|
||||
// }
|
||||
// }
|
||||
//
|
||||
//
|
||||
// if(nodStudent==null) {
|
||||
// if(nodSujet.retourneLesContenusEnfants("").isEmpty()) { //s'il n'y a pas de contenu, passe par l'index
|
||||
// if(nodSujet.getAttributs().get("index")!=null) {
|
||||
// if(nod2Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByNameAttributValue(nod2Student, nameNode, "index", outils.withoutCodeAndPoint(nodSujet.getAttributs().get("index")));
|
||||
// if(nod1Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByNameAttributValue(nod1Student, nameNode, "index", outils.withoutCodeAndPoint(nodSujet.getAttributs().get("index")));
|
||||
// if(nod0Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByNameAttributValue(nod0Student, nameNode, "index", outils.withoutCodeAndPoint(nodSujet.getAttributs().get("index")));
|
||||
// }
|
||||
// }else {
|
||||
// String contenuSujet = nodSujet.retourneLesContenusEnfants("");
|
||||
// if(nod2Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByFindContent2(nod2Student.getNodes(),contenuSujet ,commandes.tolerance_characters,commandes.tolerance_text);
|
||||
// if(nod1Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByFindContent2(nod1Student.getNodes(), contenuSujet,commandes.tolerance_characters,commandes.tolerance_text);
|
||||
// if(nod0Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByFindContent2(nod0Student.getNodes(), contenuSujet,commandes.tolerance_characters,commandes.tolerance_text);
|
||||
// }
|
||||
// }
|
||||
//** Recherche le node par index uniquement. Si trouve pa 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);
|
||||
if(nod1Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByNameAttributValue(nod1Student.getNodes(), nodSujet.getNomElt(),"index",valueAttribut);
|
||||
if(nod0Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByNameAttributValue(nod0Student.getNodes(), nodSujet.getNomElt(),"index",valueAttribut);
|
||||
}
|
||||
|
||||
|
||||
return nodStudent;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Recherche Le node draw:frame par l'attribut draw:name ou recherche_anchor-apge-number.</br>
|
||||
* @param nameNode
|
||||
* @param nodSujet
|
||||
* @param nod0Student
|
||||
* @param nod1Student
|
||||
* @param nod2Student
|
||||
* @param a
|
||||
* @return
|
||||
*/
|
||||
private static node findDrawFrame(String nameNode, node nodSujet,node nod0Student, node nod1Student, node nod2Student, Run a) {
|
||||
node nodStudent = null;
|
||||
//recherche par le nom de l'objet draw:name par défaut
|
||||
if(nod2Student!=null) nodStudent = a.retourneFirstNodeByNameAttributValueNetTexte(nod2Student, nameNode, "draw:name", outils.withoutCodeAndPointPourRechercheContenuExact(nodSujet.getAttributs().get("draw:name")));
|
||||
if(nod1Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByNameAttributValueNetTexte(nod1Student, nameNode, "draw:name", outils.withoutCodeAndPointPourRechercheContenuExact(nodSujet.getAttributs().get("draw:name")));
|
||||
if(nod0Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByNameAttributValueNetTexte(nod0Student, nameNode, "draw:name", outils.withoutCodeAndPointPourRechercheContenuExact(nodSujet.getAttributs().get("draw:name")));
|
||||
|
||||
if(nodStudent!=null) return nodStudent;
|
||||
|
||||
if(nodSujet.getAttributs().get("recherche_anchor-page-number")!=null) if(nodSujet.getAttributs().get("recherche_anchor-page-number").equalsIgnoreCase("true")) {
|
||||
if(nod2Student!=null) nodStudent = a.retourneFirstNodeByNameAttributValue(nod2Student, nameNode, "text:anchor-page-number", outils.withoutCodeAndPointPourRechercheContenuExact(nodSujet.getAttributs().get("text:anchor-page-number")));
|
||||
if(nod1Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByNameAttributValue(nod1Student, nameNode, "text:anchor-page-number", outils.withoutCodeAndPointPourRechercheContenuExact(nodSujet.getAttributs().get("text:anchor-page-number")));
|
||||
if(nod0Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByNameAttributValue(nod0Student, nameNode, "text:anchor-page-number", outils.withoutCodeAndPointPourRechercheContenuExact(nodSujet.getAttributs().get("text:anchor-page-number")));
|
||||
}
|
||||
|
||||
return nodStudent;
|
||||
}
|
||||
|
||||
/**
|
||||
* Recherche Le node text:section par l'attribut text:name;</br>
|
||||
* @param nameNode
|
||||
* @param nodSujet
|
||||
* @param nod0Student
|
||||
* @param nod1Student
|
||||
* @param nod2Student
|
||||
* @param a
|
||||
* @return
|
||||
*/
|
||||
private static node findByTextName(String nameNode, node nodSujet,node nod0Student, node nod1Student, node nod2Student, Run a) {
|
||||
node nodStudent = null;
|
||||
if(nod2Student!=null) nodStudent = a.retourneFirstNodeByNameAttributValue(nod2Student, nameNode, "text:name", outils.withoutCodeAndPoint(nodSujet.getAttributs().get("text:name")));
|
||||
if(nod1Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByNameAttributValue(nod1Student, nameNode, "text:name", outils.withoutCodeAndPoint(nodSujet.getAttributs().get("text:name")));
|
||||
if(nod0Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByNameAttributValue(nod0Student, nameNode, "text:name", outils.withoutCodeAndPoint(nodSujet.getAttributs().get("text:name")));
|
||||
|
||||
return nodStudent;
|
||||
}
|
||||
|
||||
/**
|
||||
* Recherche le node par son nom. Retourne le premier node qui correspond au nom du node.</br>
|
||||
* @param nameNode
|
||||
* @param nodSujet
|
||||
* @param nod0Student
|
||||
* @param nod1Student
|
||||
* @param nod2Student
|
||||
* @param a
|
||||
* @return
|
||||
*/
|
||||
private static node findByNameNode(String nameNode, node nodSujet,node nod0Student, node nod1Student, node nod2Student, Run a) {
|
||||
node nodStudent = null;
|
||||
if(nod2Student!=null) if(nod2Student.retourneEnfantsByNameExist(nameNode)) nodStudent = nod2Student.retourneFirstEnfantsByName(nameNode);
|
||||
if(nod1Student!=null) if(nodStudent==null) if(nod1Student.retourneEnfantsByNameExist(nameNode)) nodStudent = nod1Student.retourneFirstEnfantsByName(nameNode);
|
||||
if(nod0Student!=null) if(nodStudent==null) if(nod0Student.retourneEnfantsByNameExist(nameNode)) nodStudent = nod0Student.retourneFirstEnfantsByName(nameNode);
|
||||
|
||||
return nodStudent;
|
||||
}
|
||||
|
||||
/**
|
||||
* Recherche le node text:database-display par text:column-name.</br>
|
||||
* @param nameNode
|
||||
* @param nodSujet
|
||||
* @param nod0Student
|
||||
* @param nod1Student
|
||||
* @param nod2Student
|
||||
* @param a
|
||||
* @return
|
||||
*/
|
||||
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")));
|
||||
|
||||
return nodStudent;
|
||||
}
|
||||
|
||||
/**
|
||||
* Recherche le node par le contenu simple get(0).</br>
|
||||
* @param nameNode
|
||||
* @param nodSujet
|
||||
* @param nod0Student
|
||||
* @param nod1Student
|
||||
* @param nod2Student
|
||||
* @param a
|
||||
* @return
|
||||
*/
|
||||
private static node findByContentZero(String nameNode, node nodSujet,node nod0Student, node nod1Student, node nod2Student, Run a) {
|
||||
node nodStudent = null;
|
||||
if(!nodSujet.getContenu().isEmpty()) {
|
||||
if(nod2Student!=null) nodStudent = a.retourneFirstNodeByNameContent(nod2Student, nameNode, nodSujet.getContenu().get(0));
|
||||
if(nod1Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByNameContent(nod1Student, nameNode, nodSujet.getContenu().get(0));
|
||||
if(nod0Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByNameContent(nod0Student, nameNode, nodSujet.getContenu().get(0));
|
||||
}
|
||||
|
||||
return nodStudent;
|
||||
}
|
||||
|
||||
/**
|
||||
* Rechercher le node table:table par table:name.</br>
|
||||
* @param nameNode
|
||||
* @param nodSujet
|
||||
* @param nod0Student
|
||||
* @param nod1Student
|
||||
* @param nod2Student
|
||||
* @param a
|
||||
* @return
|
||||
*/
|
||||
private static node findTable(String nameNode, node nodSujet,node nod0Student, node nod1Student, node nod2Student, Run a) {
|
||||
node nodStudent = null;
|
||||
if(nod2Student!=null) nodStudent = a.retourneFirstNodeByNameAttributValue(nod2Student, nameNode, "table:name", outils.withoutCodeAndPointPourRechercheContenuExact(nodSujet.getAttributs().get("table:name")));
|
||||
if(nod1Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByNameAttributValue(nod1Student, nameNode, "table:name", outils.withoutCodeAndPointPourRechercheContenuExact(nodSujet.getAttributs().get("table:name")));
|
||||
if(nod0Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByNameAttributValue(nod0Student, nameNode, "table:name", outils.withoutCodeAndPointPourRechercheContenuExact(nodSujet.getAttributs().get("table:name")));
|
||||
|
||||
return nodStudent;
|
||||
}
|
||||
|
||||
/**
|
||||
* Recherche le node par son contenu avec une tolérance de carcatère.</br>
|
||||
* @param nameNode
|
||||
* @param nodSujet
|
||||
* @param nod0Student
|
||||
* @param nod1Student
|
||||
* @param nod2Student
|
||||
* @param a
|
||||
* @return
|
||||
*/
|
||||
private static node findByContentWithTolerance(String nameNode, node nodSujet,node nod0Student, node nod1Student, node nod2Student, Run a) {
|
||||
node nodStudent = null;
|
||||
String contenuSujet = nodSujet.retourneLesContenusEnfants("");
|
||||
if(nod2Student!=null) nodStudent = a.retourneFirstNodeByFindContent2(nod2Student.getNodes(), contenuSujet,commandes.tolerance_characters,commandes.tolerance_text);
|
||||
if(nod1Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByFindContent2(nod1Student.getNodes(), contenuSujet,commandes.tolerance_characters,commandes.tolerance_text);
|
||||
if(nod0Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByFindContent2(nod0Student.getNodes(), contenuSujet,commandes.tolerance_characters,commandes.tolerance_text);
|
||||
|
||||
return nodStudent;
|
||||
}
|
||||
|
||||
/**
|
||||
* Rechreche le node par son index même si pas demandé.</br>
|
||||
* @param nameNode
|
||||
* @param nodSujet
|
||||
* @param nod0Student
|
||||
* @param nod1Student
|
||||
* @param nod2Student
|
||||
* @param a
|
||||
* @return
|
||||
*/
|
||||
private static node findByIndexEvenIsFalse(String nameNode, node nodSujet,node nod0Student, node nod1Student, node nod2Student, Run a) {
|
||||
node nodStudent = null;
|
||||
if(nodSujet.getAttributs().get("index")!=null){
|
||||
if(nod2Student!=null) nodStudent = a.retourneFirstNodeByNameAttributValue(nod2Student, nameNode, "index", nodSujet.getAttributs().get("index"));
|
||||
if(nod1Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByNameAttributValue(nod1Student, nameNode, "index", nodSujet.getAttributs().get("index"));
|
||||
if(nod0Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByNameAttributValue(nod0Student, nameNode, "index", nodSujet.getAttributs().get("index"));
|
||||
}
|
||||
return nodStudent;
|
||||
}
|
||||
|
||||
/**
|
||||
* Recherche le node par table:style-name.</br>
|
||||
* @param nameNode
|
||||
* @param nodSujet
|
||||
* @param nod0Student
|
||||
* @param nod1Student
|
||||
* @param nod2Student
|
||||
* @param a
|
||||
* @return
|
||||
*/
|
||||
private static node findTableByStyleName(String nameNode, node nodSujet,node nod0Student, node nod1Student, node nod2Student, Run a) {
|
||||
node nodStudent = null;
|
||||
if(nod2Student!=null) nodStudent = a.retourneFirstNodeByNameAttributValue(nod2Student, nameNode, "table:style-name", nodSujet.getAttributs().get("table:style-name"));
|
||||
if(nod1Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByNameAttributValue(nod1Student, nameNode, "table:style-name", nodSujet.getAttributs().get("table:style-name"));
|
||||
if(nod0Student!=null) if(nodStudent==null) nodStudent = a.retourneFirstNodeByNameAttributValue(nod0Student, nameNode, "table:style-name", nodSujet.getAttributs().get("table:style-name"));
|
||||
|
||||
return nodStudent;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user